Summary Files Commits Branches @commit @diff @stats
path: root / overlays / tint2 / no-panel-replace.patch
blob: f247824be7ea1c4d2715150acadfa687479737c7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From 257faa2170e0ce9d59e20a22c0ebf853f2e9e9bc Mon Sep 17 00:00:00 2001
From: Syndamia <kamen@syndamia.com>
Date: Wed, 18 Jun 2025 13:29:29 +0300
Subject: [PATCH] fix: Do not replace panels on all windows

This allows you to move (with wmctrl for example) a non-autohide panel
to another workspace (virtual desktop) for good.

Before, this loop would make it global (shown on all desktops)
immediately after moving.

As mentioned, this check didn't move the panel when it is set to
autohide. I'm not certain why.
---
 src/main.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/src/main.c b/src/main.c
index 1d4ceb4..5ecfd64 100644
--- a/src/main.c
+++ b/src/main.c
@@ -87,14 +87,6 @@ void handle_event_property_notify(XEvent *e)
 
     if (xsettings_client)
         xsettings_client_process_event(xsettings_client, e);
-    for (int i = 0; i < num_panels; i++) {
-        Panel *p = &panels[i];
-        if (win == p->main_win) {
-            if (at == server.atom._NET_WM_DESKTOP && get_window_desktop(p->main_win) != ALL_DESKTOPS)
-                replace_panel_all_desktops(p);
-            return;
-        }
-    }
     if (win == server.root_win) {
         if (!server.got_root_win) {
             XSelectInput(server.display, server.root_win, PropertyChangeMask | StructureNotifyMask);
-- 
2.47.2