awesome/objects
Uli Schlachter 1acae2aa6c Make alpha work on window borders
Up to now, we always asked the X11 server for color allocation ("which
pixel value corresponds to (r,g,b)?", an AllocCollor request).

This commit adds direct support for TrueColor and DirectColor visuals.
In such a visual, the X11 server gives tells us where the red, green,
and blue color components are in a pixel value and we can then just
directly compute the pixel value.

Additionally, this commit adds code that assumes that in a depth=32
visual, the remaining values (after handling red, green, blue) is the
alpha channel for colors. Thus, this adds support for transparent client
borders.

This commit also touches code for the systray. However, the systray must
always use the X11 server's default visual and that one always(?) has
depth=24, i.e. does not support an alpha channel. Thus, the systray
background still cannot be transparent.

Also, in theory this commit should support visuals where some color
component does not have 8 bits, for example RGB565. However, this is
just theoretic and I have no idea how to actually test this (without
jumping through too many hoops).

Fixes: https://github.com/awesomeWM/awesome/issues/162
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-03-03 10:57:48 +01:00
..
button.c Remove @release @AWESOME_VERSION@ everywhere (#1157) 2016-10-09 22:36:20 +02:00
button.h Clean up header includes 2014-03-30 20:07:48 +02:00
client.c Merge pull request #2096 from psychon/iconic_state_across_restart 2017-10-31 19:20:37 +01:00
client.h C code: save all instead of just one client icons 2017-03-07 22:45:49 +01:00
drawable.c Remove @release @AWESOME_VERSION@ everywhere (#1157) 2016-10-09 22:36:20 +02:00
drawable.h drawable/drawin: Pass both lua_State and stack index around 2014-12-06 10:46:45 +01:00
drawin.c drawin: add a `get()` function. (#2013) 2017-08-21 21:15:18 +02:00
drawin.h Partly fix removal of systray from a wibox 2017-03-11 18:14:38 +01:00
key.c Remove obsolete include and Xlib comment. 2017-01-05 23:17:11 +01:00
key.h remove encoding=utf-8 from modelines 2011-09-11 17:34:09 +02:00
screen.c screen_refresh: Protect against globalconf.screens changing 2017-11-19 15:53:07 +01:00
screen.h client_resize(): Stop trying to force on screen 2017-05-15 08:15:38 +02:00
tag.c tags: specify layout in add_tag doc snippet (#1950) 2017-08-07 14:35:39 -04:00
tag.h Attempt at better handling of NET_CURRENT_DESKTOP property. 2016-06-04 16:42:54 +03:00
window.c Make alpha work on window borders 2018-03-03 10:57:48 +01:00
window.h geometry: Use the relevant rounding functions instead of integers 2016-04-18 04:20:22 -04:00