Remove auto color for icons in VMs

I can’t stand this… I removed windows border colors because it hurts my eyes, but icons auto coloring is just pure evil… HOW DO I TURN IT OFF please???

First of all, consider that icon tinting is considered a security feature.

To disable tinting of running app icons, modify /usr/lib/qubes/icon-receiver and change this line from:

icon_tinted = icon.tint(color)

to

icon_tinted = icon

Just backup the file before modifying it, modifying it requires sudo. And everytime qubes-gui-daemon receives and update, you have to do it again.

To disable tinting of Appmenu icons, modify /usr/lib/python3.13/site-packages/qubesappmenus/__init__.py and change this line from:

qubesimgconverter.tint(src_icon, dst_icon, vm.label.color)

to

img = qubesimgconverter.Image.load_from_file_pil(src_icon)
img.save_pil(dst_icon)

Finally run:

qvm-appmenus --all --force

Just backup the file before modifying it. Modifying it requires sudo. The change is case-sensitive. Everytime qubes-desktop-linux-common gets updated, you have to do it again. And the python version might be different on your system (not 3.13).

3 Likes

Thanks! But… I changed the

icon_tinted = icon.tint(color)

to

icon_tinted = icon

And now I see a qube icon(generic) of any application I launch… with color…
I want the icon of the app without any additional coloring

One more note. You have to restart your system.
p.s.: Python is extremely sensitive to indentation. The white space (blank spaces) before the new icon_tinted = icon should be exactly same as the previous one.

1 Like

I marked the original line as a comment with the # and placed the exact same(in terms of indentation) thing under it… I think I did it right?

    icon_tinted = icon.tint(color)
    icon_tinted = icon

And yeah… I did the restart of course. Is it working for you though???

For my personal use (and some other users who are into testing new stuff), I have been working on new custom effects for a while. Here on my Github repo is a screenshot.

You can find other improvements (custom labels, Appmenu screenshots, …) in the repo. There is also a forum topic where I documented the development progress

1 Like

Yeah but I really don’t wanna do that, sorry!
All I want is normal icons… can I just do that somehow???
The

icon_tinted = icon

should take care of it or do I need to do somethin else, because it’s obviously not workin

Should work. If it does not, you can change this line:

icon_tinted_data = self._convert_rgba_to_argb(icon_tinted.data)

to

icon_tinted_data = self._convert_rgba_to_argb(icon.data)

And you will have to restart

1 Like

Just did that, but it didn’t help… it’s the same generic icon of a qube WITH a color…

It is working for me:

And also take note that it has no effect on XTerm. As its icon never gets transferred from qube and you will always see the generic qube icon for it. So you should test it with something else (e.g. xfce4-terminal)

2 Likes

YES!!! It is working now!!!
And yeah I’m aware of the xterm issue… I found your topic regarding it… did you figure out how do bring that icon by any chance?
AND THANK YOU ONE MORE TIME!!!

1 Like

It is in my TODO list. Too many items in the list, not enough time. I am working on them as a hobby :wink:

2 Likes

Got it!
Thanks for the help! I appreciate your work on this. Good luck with your TODO list!

1 Like