Opened 2 years ago

Closed 2 years ago

#127 closed defect (implemented)

tray icons: fix the 'black hole'

Reported by: joanna Owned by: smoku
Priority: critical Milestone: Release 1 Beta 1
Component: gui-virtualization Keywords:
Cc: smoku

Description

We should really use the tray's background instead of the _ugly_ black background for displaying tray icons from AppVMs!

Change History (12)

comment:1 Changed 2 years ago by joanna

  • Owner changed from rafal to smoku
  • Status changed from new to assigned

comment:2 Changed 2 years ago by smoku

  • Status changed from assigned to accepted

comment:3 Changed 2 years ago by smoku

  • Status changed from accepted to assigned

comment:4 Changed 2 years ago by smoku

  • Status changed from assigned to accepted

comment:5 Changed 2 years ago by smoku

  • Resolution set to fixed
  • Status changed from accepted to closed

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.

Last edited 2 years ago by smoku (previous) (diff)

comment:6 Changed 2 years ago by joanna

  • Priority changed from major to critical
  • Resolution fixed deleted
  • Status changed from closed to reopened

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!

comment:7 Changed 2 years ago by joanna

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.

comment:8 Changed 2 years ago by joanna

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.

comment:9 Changed 2 years ago by joanna

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.

comment:10 Changed 2 years ago by marmarek

  • Owner changed from smoku to marmarek
  • Status changed from reopened to assigned

comment:11 Changed 2 years ago by smoku

  • Owner changed from marmarek to smoku
  • Status changed from assigned to accepted

comment:12 Changed 2 years ago by smoku

  • Resolution set to implemented
  • Status changed from accepted to closed
Last edited 2 years ago by smoku (previous) (diff)
Note: See TracTickets for help on using tickets.