]> git.sur5r.net Git - i3/i3/blobdiff - src/window.c
Implement support for WM_CLIENT_LEADER
[i3/i3] / src / window.c
index 93812b3f875bc5c4df761038300a0cc4fd73c446..e22fb1c03bb1dbcc7d0ffa46b719243cea25157d 100644 (file)
@@ -96,3 +96,22 @@ void window_update_name_legacy(i3Window *win, xcb_get_property_reply_t *prop) {
     win->name_json = strdup(new_name);
     win->name_len = strlen(new_name);
 }
+
+/**
+ * Updates the CLIENT_LEADER (logical parent window).
+ *
+ */
+void window_update_leader(i3Window *win, xcb_get_property_reply_t *prop) {
+    if (prop == NULL || xcb_get_property_value_length(prop) == 0) {
+        DLOG("prop == NULL\n");
+        return;
+    }
+
+    xcb_window_t *leader = xcb_get_property_value(prop);
+    if (leader == NULL)
+        return;
+
+    DLOG("Client leader changed to %08x\n", *leader);
+
+    win->leader = *leader;
+}