Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make tray icon background color transparent instead of white #2846

Open
andrewdavidwong opened this issue Jun 4, 2017 · 10 comments
Open

Make tray icon background color transparent instead of white #2846

andrewdavidwong opened this issue Jun 4, 2017 · 10 comments
Labels
C: desktop-linux-xfce4 Support for XFCE4 P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience

Comments

@andrewdavidwong
Copy link
Member

If possible, it would be nice if system tray icons could have transparent backgrounds instead of solid white. This would make them look more like native dom0 tray icons in dark color schemes.

Here's a screenshot of how they currently look, courtesy of user Epitre:

white-tray-icons

(Compare the backgrounds of the the Skype and NetworkManager icons to the Volume and Qubes Manager icons.)

@andrewdavidwong andrewdavidwong added C: desktop-linux-xfce4 Support for XFCE4 T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience labels Jun 4, 2017
@andrewdavidwong andrewdavidwong added this to the Release 4.0 milestone Jun 4, 2017
@marmarek
Copy link
Member

There are different modes for handling icons - see man qubes-guid. None of them offer transparent background, but it could be easily added based on "bg" one.
But first we need to make sure it will be still clearly marked that the icon is from a VM.

@fepitre
Copy link
Member

fepitre commented Oct 3, 2017

I'm working on it. As a first step, I added the choice of having a background with a specific color for "bg" and "tint". From what I have seen and tested in the code, the "bg" mode seems to not color the background with respect to appvm color? In that case, I could adjust it.

@fepitre
Copy link
Member

fepitre commented Oct 3, 2017

@marmarek Do you know what is the best way to pass a value to vmside from xside? It is intended to pass a color for setting the background in vmside when XCreateSimpleWindow with WhitePixel as background. Without it, the icons look like badly stripped on their border due to the white.

@marmarek
Copy link
Member

marmarek commented Oct 3, 2017

You mean that vmside would fill the background with the color of actual tray background? What if the color changes? What about choosing some different than white (but static) color as a "transparent" one? Like 0xfefefe, or so. Also, in theory each pixel is 32 bits, but in practice only 24 bits are used. Maybe we can have RGBA, instead of RGB there?

@fepitre
Copy link
Member

fepitre commented Oct 3, 2017

Yes the vmside would fill the color of actual tray but if color change, the vm needs to restart...not a so good final way. I will try with a different static color but probably we will have a bad stripping. The best solution would be to use the RGBA indeed. I will investigate.

@abbluiz
Copy link

abbluiz commented Feb 25, 2019

Any updates on this?

Just a suggestion: what if, at least, you could round the corners of the icon or change the white background according to the VM label color? Even though is a small detail, I think dark theme users would benefit a lot from this.

@marmarek
Copy link
Member

You can set it to VM color in /etc/qubes/guid.conf. See man qubes-guid for available options.

@xjeanjean
Copy link

@marmarek This is just completely wrong - this thing doesn't even do anything anymore on 4.1.
The xfce4 theming looks amateurish and I stuck on an eye-hurting light mode just because I could not stand the weird icons with white background for the network manager.

@fepitre could you give us some pointer, even some random half working code ? I'd love to hardcode my preferred color but I have no clue where to start looking. If you already have something hacky able to force a color from the VM, it would be really useful.

XCreateSimpleWindow with WhitePixel as background.
Where is that ?

@fepitre
Copy link
Member

fepitre commented Nov 23, 2021

I need to dig the code again but I gave up long time ago for prior tasks. The problem is that it's not something you can customize as is. You need to modify the C code then build the gui-daemon by yourself. This is really not suitable. Anyway, I will try to find the thing you need.

@dud1337
Copy link

dud1337 commented Jul 8, 2022

https://github.com/QubesOS/qubes-gui-daemon/blob/master/gui-daemon/trayicon.c
Here is the code. It is quite short and one can see there is some special attention to white colours during the tinting functionality. I am not familiar with plane masks/etc to be able to help.

@andrewdavidwong andrewdavidwong removed this from the Release 4.2 milestone Aug 13, 2023
@andrewdavidwong andrewdavidwong added the P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. label Aug 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: desktop-linux-xfce4 Support for XFCE4 P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience
Projects
None yet
Development

No branches or pull requests

6 participants