tMention override_redirect behavior in ewmh(1) - glazier - window management experiments
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit 2f6c882c7b51b0f7e67831f0678d9d4f29c41772
DIR parent 6e21721bd7d377745a3b711cce3ef1066c2c6bb4
HTML Author: Willy Goiffon <dev@z3bra.org>
Date: Mon, 15 Jun 2020 18:46:58 +0200
Mention override_redirect behavior in ewmh(1)
Diffstat:
M ewmh.1 | 5 +++++
M ewmh.c | 6 +++---
2 files changed, 8 insertions(+), 3 deletions(-)
---
DIR diff --git a/ewmh.1 b/ewmh.1
t@@ -81,6 +81,11 @@ _NET_WM_WINDOW_TYPE_NORMAL
Because we don't know the order in which the running window manager is
storing the windows, _NET_CLIENT_LIST also displays the window IDs in
their stacking order.
+.Pp
+All other windows will have their
+.Em override_redirect
+attribute forcely set to 1, so that window managers without support for
+EWMH atoms can ignore them.
.Ss _NET_ACTIVE_WINDOW
This hint is updated whenever an event of type
.Em FOCUS_IN
DIR diff --git a/ewmh.c b/ewmh.c
t@@ -189,9 +189,9 @@ ewmh_clientlist()
l = calloc(n, sizeof(*w));
for (i=0, c=0; i<n; i++) {
- if (ewmh_type(w[i]) != NORMAL) {
- xcb_change_window_attributes(conn, w[i], XCB_CW_OVERRIDE_REDIRECT, &(int[]){1});
- }
+ if (ewmh_type(w[i]) != NORMAL)
+ xcb_change_window_attributes(conn, w[i], XCB_CW_OVERRIDE_REDIRECT, &(int){1});
+
if (!wm_is_listable(w[i], 0))
l[c++] = w[i];
}