awesome

Welcome to awesome bug tracking system.
Tasklist

FS#513 - systray background not transparent

Attached to Project: awesome
Opened by josch (josch) - Tuesday, 28 April 2009, 21:46 GMT
Last edited by Julien Danjou (jd) - Saturday, 20 March 2010, 21:52 GMT
Task Type Bug Report
Category Lua libraries → beautiful
Status Unconfirmed   Reopened
Assigned To No-one
Operating System Linux
Severity Medium
Priority Normal
Reported Version 3.2.1
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 3
Private No

Details

I set:
bg_normal = #00000000
to get a transparent status bar

this works fine and i can see my wallpaper through it but all the icons in my systray are drawn with a black border as if alpha would've been FF.

the same icons work properly with transparency in gnome-panel: gajim, transmission, nm-applet..
This task depends upon

Comment by Julien Danjou (jd) - Wednesday, 29 April 2009, 07:10 GMT
Unfortunately, this is not a bug I guess but a limitation.

I don't think gnome-panel supports fake transparency.
Comment by josch (josch) - Wednesday, 29 April 2009, 07:25 GMT
at least things get drawn correctly in gnome panel when either selecting a transparent background color or transparent background png image.
what gnome-panel does is i think only drawing the wallpaper in the background - not real transparency
Comment by Uli Schlachter (psychon) - Friday, 11 December 2009, 16:39 GMT
Looking at the SystemTray Protocol Specification I find that tray icons should emulate transparency by setting their background pixmap to ParentRelative and the parent window should make sure this works correctly.
Since ( 02ea8feb54e56136a44eb0eab78e52d4d67c85c3 ) recently, awesome sets a wibox' background to be the wibox proper background color, so this bug might be hidden.

My pidgin icon looks fine to me anyway, can you still reproduce this?


(Now I see why wiboxes had a ParentRelative background pixmap...)
(And now I found 8ed6d60a25e5e14cce7219e0d5690381c61c60d1 "Make sure no garbage is painted to the screen"....)
Comment by M. J. W. (neva) - Saturday, 20 March 2010, 21:52 GMT
  • Task details edited
I experience the described issue of tray icon backgrounds ignoring transparency/alpha with awesome 3.4.3.
Why should this be a limitation?
The "caw" panel/bar depends on xcb and xpyb and does support fake transparency for the system tray icons. Even when run within awesome. So why should awesome not be able to do this?
Comment by Bert Deferme (bdeferme) - Wednesday, 10 November 2010, 10:28 GMT
I experience this issue too on awesome 3.4.8, my status bar is transparent but systray icons are drawn with a black background.
Comment by Uli Schlachter (psychon) - Friday, 12 November 2010, 16:26 GMT
> The "caw" panel/bar depends on xcb and xpyb and does support fake transparency for the system tray icons. Even when run within awesome. So why should awesome not be able to do this?

Well, we can make do this, too. We just have to set each wibox' background to be the wallpaper. However, when the wibox is repainted, this would make the wallpaper "flicker through". No idea how other tray providers handle this, but it is ugly.
The more proper way that is specified by the system tray specifications involves the RENDER and DAMAGE extensions and would need a way more complicated code. Just setting the background image of the system tray "container window" isn't easy either, because we'd then have to get the wallpaper and cut out the correct part of it. Nothing of this sounds like a terrible good approach to me.
Comment by Uli Schlachter (psychon) - Wednesday, 11 April 2012, 18:54 GMT
WIP patch for this (for git/master) is attached. However, for some weird reason, the background doesn't tile correctly. According to X11 docs, a child window with background-pixmap PARENT_RELATIVE should seamlessly appear on the parent (at least that's my understanding). However, with this patch, each icon has the same background and the background is a little to dark and... dunno.

Loading...