Gtk3 apps close, minimize buttons dissappear

The solution in the topic above worked for me but temporarily. Because window_decoration.css reappears in the folder on restart and the issue comes back again.

I created a python script to delete that file . But it needs sudo permissions so i cannot run it in startup :frowning_face:

uh ā€¦
why do you need sudo to move or delete a file in your HOME?

also ā€¦ the solution was to ā€˜refreshā€™ the file from bad configuration. it being recreated is expected and desired.

if it keeps being recreated with bad values that is another issue ā€¦ such as a bad theme.

what do you mean refresh from bad configuration ?
the solution was to rename the file. but another file with the name it had before appeared.

The file is automatically generated.
It is expected to appear.
The command in the other thread renamed it so as to back it up.

Illustration:
ā€œfirefox cacheā€ >mv> ā€œold firefox cacheā€
-now there is no cache for firefox
-open firefox again
-now exist new ā€œfirefox cacheā€ in use and ā€œold firefox cacheā€ is saved

Out of curiosityā€¦ what is contained in your version of that file?

Ok got it . So you are saying that those buttons should be visible even if both of those files (window_decorations.css , window_decorations.css.bak) are in that folder. But thatā€™s not the case.

The bak version is just a backup of your file as it previously was (broken I suppose)
But what do you have in the new one that still doesnt work?

headerbar button.titlebutton.close, .titlebar button.titlebutton.close {
  background-image: url("assets/close-normal.svg"); }

headerbar button.titlebutton.close:hover, .titlebar button.titlebutton.close:hover {
  background-image: url("assets/close-hover.svg"); }

headerbar button.titlebutton.close:active, .titlebar button.titlebutton.close:active {
  background-image: url("assets/close-active.svg"); }

headerbar button.titlebutton.close:backdrop, .titlebar button.titlebutton.close:backdrop {
  background-image: url("assets/close-backdrop-normal.svg"); }

headerbar button.titlebutton.close:backdrop:hover, .titlebar button.titlebutton.close:backdrop:hover {
  background-image: url("assets/close-backdrop-hover.svg"); }

headerbar button.titlebutton.close:backdrop:active, .titlebar button.titlebutton.close:backdrop:active {
  background-image: url("assets/close-backdrop-active.svg"); }

headerbar button.titlebutton.maximize, .titlebar button.titlebutton.maximize {
  background-image: url("assets/maximize-normal.svg"); }

headerbar button.titlebutton.maximize:hover, .titlebar button.titlebutton.maximize:hover {
  background-image: url("assets/maximize-hover.svg"); }

headerbar button.titlebutton.maximize:active, .titlebar button.titlebutton.maximize:active {
  background-image: url("assets/maximize-active.svg"); }

headerbar button.titlebutton.maximize:backdrop, .titlebar button.titlebutton.maximize:backdrop {
  background-image: url("assets/maximize-backdrop-normal.svg"); }

headerbar button.titlebutton.maximize:backdrop:hover, .titlebar button.titlebutton.maximize:backdrop:hover {
  background-image: url("assets/maximize-backdrop-hover.svg"); }

headerbar button.titlebutton.maximize:backdrop:active, .titlebar button.titlebutton.maximize:backdrop:active {
  background-image: url("assets/maximize-backdrop-active.svg"); }

headerbar button.titlebutton.minimize, .titlebar button.titlebutton.minimize {
  background-image: url("assets/minimize-normal.svg"); }

headerbar button.titlebutton.minimize:hover, .titlebar button.titlebutton.minimize:hover {
  background-image: url("assets/minimize-hover.svg"); }

headerbar button.titlebutton.minimize:active, .titlebar button.titlebutton.minimize:active {
  background-image: url("assets/minimize-active.svg"); }

headerbar button.titlebutton.minimize:backdrop, .titlebar button.titlebutton.minimize:backdrop {
  background-image: url("assets/minimize-backdrop-normal.svg"); }

headerbar button.titlebutton.minimize:backdrop:hover, .titlebar button.titlebutton.minimize:backdrop:hover {
  background-image: url("assets/minimize-backdrop-hover.svg"); }

headerbar button.titlebutton.minimize:backdrop:active, .titlebar button.titlebutton.minimize:backdrop:active {
  background-image: url("assets/minimize-backdrop-active.svg"); }

.maximized headerbar button.titlebutton.maximize, .maximized .titlebar button.titlebutton.maximize {
  background-image: url("assets/maximized-normal.svg"); }

.maximized headerbar button.titlebutton.maximize:hover, .maximized .titlebar button.titlebutton.maximize:hover {
  background-image: url("assets/maximized-hover.svg"); }

.maximized headerbar button.titlebutton.maximize:active, .maximized .titlebar button.titlebutton.maximize:active {
  background-image: url("assets/maximized-active.svg"); }

.maximized headerbar button.titlebutton.maximize:backdrop, .maximized .titlebar button.titlebutton.maximize:backdrop {
  background-image: url("assets/maximized-backdrop-normal.svg"); }

.maximized headerbar button.titlebutton.maximize:backdrop:hover, .maximized .titlebar button.titlebutton.maximize:backdrop:hover {
  background-image: url("assets/maximized-backdrop-hover.svg"); }

.maximized headerbar button.titlebutton.maximize:backdrop:active, .maximized .titlebar button.titlebutton.maximize:backdrop:active {
  background-image: url("assets/maximized-backdrop-active.svg"); }

this is the generated file.
Anyway removing the sudo in my script fixed the issue.

File is identical to mine, and they look ok here. :woman_shrugging:

But yes. No more sudo in $HOME :wink:
(also maybe check your permissions are good if you have been doing that ā€¦ you may need to chown)

1 Like

i think iā€™ve found what the issue is svg files inside the assets are blank files. kde renders them blank . Opening them through gimp also showed empty transparent file . In my situation gtk 3 apps work fine if window_decorations.css doesnā€™t exist

In my case that directory is populated by readable/visible/working files that appear to be sourced from my GTK theme (files are shown as created at boot).
This again makes me think it is theme related ā€¦ what is your GTK theme?

Breeze

Can you try applying another, then breeze again?
If that doesnt work ā€¦

Oh aha, I found a slightly more in-depth explanation/solution in this thread.
Which is really just to combine the reapplying theme with a more drastic nuking or backing up of the whole gtk-3.0 folder.

tried both didnā€™t work .

The two possible solutions in my case are
1.script to delete that window_decorations.css
2.Use another theme instead of breeze

  1. Or use gtk3-nocsd-git

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.