Feature #16: _COMPTON_SHADOW window property support
- Add support for reading _COMPTON_SHADOW property from windows (--respect-attr-shadow). Presently the only defined behavior is, if _COMPTON_SHADOW is set on the highest ancestor below root window of a window (usually the WM frame), it's format is 32-bit, type is CADINAL, value is 0, the window will not get a shadow. The format and behavior could change in the future without prior notification. - Fix an issue in fork_after() that may cause some streams to remain open. My mistake. - Attempt to reduce determine_shadow() calls from map_win() by separating some raw handler functions out.
This commit is contained in:
@ -318,6 +318,9 @@ typedef struct _win {
|
||||
Picture shadow_pict;
|
||||
/// Alpha mask Picture to render shadow. Affected by shadow opacity.
|
||||
Picture shadow_alpha_pict;
|
||||
/// The value of _COMPTON_SHADOW attribute of the window. Below 0 for
|
||||
/// none.
|
||||
long attr_shadow;
|
||||
|
||||
// Dim-related members
|
||||
/// Whether the window is to be dimmed.
|
||||
@ -391,6 +394,8 @@ typedef struct _options {
|
||||
wincond *shadow_blacklist;
|
||||
/// Whether bounding-shaped window should be ignored.
|
||||
Bool shadow_ignore_shaped;
|
||||
/// Whether to respect _COMPTON_SHADOW.
|
||||
Bool respect_attr_shadow;
|
||||
|
||||
// Fading
|
||||
Bool wintype_fade[NUM_WINTYPES];
|
||||
@ -1063,9 +1068,18 @@ set_focused(Display *dpy, win *w, Bool focused) {
|
||||
static void
|
||||
determine_fade(Display *dpy, win *w);
|
||||
|
||||
static void
|
||||
win_update_shape_raw(Display *dpy, win *w);
|
||||
|
||||
static void
|
||||
win_update_shape(Display *dpy, win *w);
|
||||
|
||||
static void
|
||||
win_update_attr_shadow_raw(Display *dpy, win *w);
|
||||
|
||||
static void
|
||||
win_update_attr_shadow(Display *dpy, win *w);
|
||||
|
||||
static void
|
||||
determine_shadow(Display *dpy, win *w);
|
||||
|
||||
|
Reference in New Issue
Block a user