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

tray icons: fix the 'black hole' #127

Closed
marmarek opened this Issue Mar 8, 2015 · 12 comments

Comments

Projects
None yet
1 participant
@marmarek
Member

marmarek commented Mar 8, 2015

Reported by joanna on 24 Mar 2011 16:58 UTC
We should really use the tray's background instead of the ugly black background for displaying tray icons from AppVMs!

Migrated-From: https://wiki.qubes-os.org/ticket/127

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by joanna on 24 Mar 2011 20:52 UTC

Member

marmarek commented Mar 8, 2015

Modified by joanna on 24 Mar 2011 20:52 UTC

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by smoku on 27 Mar 2011 15:17 UTC

Member

marmarek commented Mar 8, 2015

Modified by smoku on 27 Mar 2011 15:17 UTC

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by smoku on 28 Mar 2011 12:51 UTC

Member

marmarek commented Mar 8, 2015

Modified by smoku on 28 Mar 2011 12:51 UTC

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by smoku on 30 Mar 2011 12:11 UTC

Member

marmarek commented Mar 8, 2015

Modified by smoku on 30 Mar 2011 12:11 UTC

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by smoku on 1 Apr 2011 01:58 UTC
Implemented in: http://git.qubes-os.org/?p=smoku/gui;a=commit;h=35647b9eb54c689e81aa5b9bdd4ab60fc1de41d2

Some comments though:
I do not have full alpha channel available. I do not even have ''any'' transparency info. So I assume that the color of the top-left pixel of the tray icon is a transparent color, then generate transparency mask accordingly.

It creates an issue with alpha blended (antialiased) icons. They are blended to vmside root window, which is black. This creates even more ugly "shadow" around the icon.

My idea to mitigate it is:

  • set the docked icon background to the VM color (as Joanna wished anyway)
  • xsetroot -solid VM_COLOR on the vmside
    This blends the icon to the color of the VM and paints on the same color background, which does not look ugly.
Member

marmarek commented Mar 8, 2015

Comment by smoku on 1 Apr 2011 01:58 UTC
Implemented in: http://git.qubes-os.org/?p=smoku/gui;a=commit;h=35647b9eb54c689e81aa5b9bdd4ab60fc1de41d2

Some comments though:
I do not have full alpha channel available. I do not even have ''any'' transparency info. So I assume that the color of the top-left pixel of the tray icon is a transparent color, then generate transparency mask accordingly.

It creates an issue with alpha blended (antialiased) icons. They are blended to vmside root window, which is black. This creates even more ugly "shadow" around the icon.

My idea to mitigate it is:

  • set the docked icon background to the VM color (as Joanna wished anyway)
  • xsetroot -solid VM_COLOR on the vmside
    This blends the icon to the color of the VM and paints on the same color background, which does not look ugly.

@marmarek marmarek closed this Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by joanna on 4 Apr 2011 12:40 UTC
I have never wished to set the icon's background to the VM color (I said we could repain the icon in "grayscale" colored to the VM color) -- this not only looks bad, but is also insecure, as the AppVM controls the background!

Member

marmarek commented Mar 8, 2015

Comment by joanna on 4 Apr 2011 12:40 UTC
I have never wished to set the icon's background to the VM color (I said we could repain the icon in "grayscale" colored to the VM color) -- this not only looks bad, but is also insecure, as the AppVM controls the background!

@marmarek marmarek added P: critical and removed P: major labels Mar 8, 2015

@marmarek marmarek reopened this Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by joanna on 4 Apr 2011 12:46 UTC
If nothing better was possible, we could just set the bgd of the parent (root) window to white. And still draw the frame in Dom0 around the icon using the VM.color.

Member

marmarek commented Mar 8, 2015

Comment by joanna on 4 Apr 2011 12:46 UTC
If nothing better was possible, we could just set the bgd of the parent (root) window to white. And still draw the frame in Dom0 around the icon using the VM.color.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by joanna on 4 Apr 2011 12:47 UTC
Set bgd to white in the VM. I think white is the safefest color, assuring most icons would just look good. Or some light gray.

Member

marmarek commented Mar 8, 2015

Comment by joanna on 4 Apr 2011 12:47 UTC
Set bgd to white in the VM. I think white is the safefest color, assuring most icons would just look good. Or some light gray.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by joanna on 4 Apr 2011 12:59 UTC
Actually the tray icon (as of v1.2.1) is transparent to Dom0 root window, not to VM root window. I.e. if I move a window in Dom0 beneath the tray, I can see it through the icon's bgd.

Member

marmarek commented Mar 8, 2015

Comment by joanna on 4 Apr 2011 12:59 UTC
Actually the tray icon (as of v1.2.1) is transparent to Dom0 root window, not to VM root window. I.e. if I move a window in Dom0 beneath the tray, I can see it through the icon's bgd.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by marmarek on 4 Apr 2011 15:47 UTC

Member

marmarek commented Mar 8, 2015

Modified by marmarek on 4 Apr 2011 15:47 UTC

@marmarek marmarek self-assigned this Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by smoku on 5 Apr 2011 11:12 UTC

Member

marmarek commented Mar 8, 2015

Modified by smoku on 5 Apr 2011 11:12 UTC

@marmarek marmarek removed their assignment Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by smoku on 5 Apr 2011 19:31 UTC
White tray and vm background implemented in: http://git.qubes-os.org/?p=smoku/gui;a=commit;h=329128f313738c42c5a7a21638c13855cff7b23a

Member

marmarek commented Mar 8, 2015

Comment by smoku on 5 Apr 2011 19:31 UTC
White tray and vm background implemented in: http://git.qubes-os.org/?p=smoku/gui;a=commit;h=329128f313738c42c5a7a21638c13855cff7b23a

@marmarek marmarek closed this Mar 8, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment