diff options
| Commit | bc663d5426b9f7c1065773553237688d550d19aa (patch) | |
|---|---|---|
| Author | 2025-06-18 13:55:04 +0300 | |
| Committer | 2025-06-18 13:55:04 +0300 | |
| Files | bb5c2398bb28e448ebc7df0da110310a95af12d0 | |
| nix-bc663d5426b9f7c1065773553237688d550d19aa.tar nix-bc663d5426b9f7c1065773553237688d550d19aa.tar.gz nix-bc663d5426b9f7c1065773553237688d550d19aa.zip | ||
| Parent | a79732d4fe0f66eb66f34b8d7f9af9483fa6e91e (diff) | |
fix(pkgs/tint2): Apply no panel replace patch
2 files changed, 52 insertions, 0 deletions
| -rw-r--r-- | overlays/tint2/default.nix | 13 | ||||
| -rw-r--r-- | overlays/tint2/no-panel-replace.patch | 39 |
diff --git a/overlays/tint2/default.nix b/overlays/tint2/default.nix new file mode 100644 index 0000000..c7f02ea --- /dev/null +++ b/overlays/tint2/default.nix @@ -0,0 +1,13 @@ +final: prev: let + tint2_override = prevAttrs: { + patches = [ + ./no-panel-replace.patch + ]; + }; + +in { + nixpkgs-2305 = prev.nixpkgs-2305 // { + tint2 = prev.nixpkgs-2305.tint2.overrideAttrs tint2_override; + }; + tint2 = prev.tint2.overrideAttrs tint2_override; +} diff --git a/overlays/tint2/no-panel-replace.patch b/overlays/tint2/no-panel-replace.patch new file mode 100644 index 0000000..f247824 --- /dev/null +++ b/overlays/tint2/no-panel-replace.patch @@ -0,0 +1,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 + |
