menuitem-checkbox-unchecked does not exist
Closed this issue · 6 comments
There is no icon for unchecked menu items. This fact produces displaying checked items when they are really unchecked. I noticed in Evolution when selecting labels for a message.
It's called menuitem-checkbox-checked-insensitive
. In GTK, deactivated UI elements are labelled insensitive. In GTK3 the Numix theme uses a gray checkmark in front of unchecked items and a colored checkmark in front of checked items. You can make the insensitive checkmark transparent by changing its fill-opacity
to 0
in src/assets/all-assets.svg
and then re-rendering it. You might want to do the same for menuitem-checkbox-mixed-insensitive
and menuitem-radio-checked-insensitive
. This way inactive items will appear not to have any symbol next to them, just like in GTK2.
Many thanks, but I am a dummy in themes management and I have no idea about how to do what you have explained, what tool to use, etc...
Can you PLEASE send me more info?
Sure! Until recently I had no clue myself, so I'll gladly share what I've learned.
First, you need to be able to build the theme yourself. Download the source files by issuing a git clone https://github.com/numixproject/numix-gtk-theme
in your terminal or pressing the green Clone or download
button on the main page. Then follow these instructions and see if you can succesfully build the theme.
Once you got that far, open the locally stored src/assets/all-assets.svg
file with a plain text editor and search for menuitem-checkbox-checked-insensitive
. You'll end up at line 3311 where it says id="menuitem-checkbox-checked-insensitive"
. Thirtyfive lines down, on line 3346, change fill-opacity:1
to fill-opacity:0
.
Do the same for menuitem-checkbox-mixed-insensitive
(if you care; actually I think I've never encountered it in any menu) and menuitem-radio-checked-insensitive
.
Now if you save the file and then open it in a picture viewer, you'll see that the corresponding pictures have disappeared (become transparent).
Next delete the corresponding PNG files in the assets directory (or just delete all PNG files) and regenerate them by running render-assets.sh
from the scripts
folder in your terminal (I think this requires Inkscape to be installed, so install this if it tells you it's missing). After this, the files like menuitem-checkbox-checked-insensitive.png
should now be an empty image instead of it showing a gray checkmark/bullet/minus-sign.
Now run a sudo make install
again and re-apply the theme. You should now only see a colored checkmark or bullet in front of activated menu items, no gray ones should be seen in front of inactive menu items.
Finally, rename /usr/share/themes/Numix
to something different like Numix Customized, to avoid having it overwritten by an update from the Ubuntu repositories or the PPA from where you previously installed it (even better: uninstall that copy before doing everything described here). It's also nice to make a backup copy of the folder, so if you ever reinstall your system you can just copy it to /usr/share/themes/
or ~/.themes/
instead of performing all the steps above.
Good luck mate, let me know how it goes!
What about simply modifying the three files (svg and pngs) and reload the theme without re-building the whole theme?
It won't work. Even if you delete all the PNG files from the (installed) theme directory, they all show up just fine because they're being loaded from the gtk.gresource
files. (Only the GTK2 theme would load the files directly, but I don't think it uses any of them anyway.)
The readme also states:
If you change any assets, you'll need to regenerate the gtk.gresource.xml and gtk.gresource files.
It goes on to say that you can also use a tool named grrr to do this, so that may be an alternative to my approach.
Ok. I will try ASAP and let you know.