summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorbakkeby <[email protected]>2022-06-17 16:58:47 +0200
committerbakkeby <[email protected]>2022-06-17 16:58:47 +0200
commit39fde74dfd48056094c4eddacd7baac9194e5c1e (patch)
treec0c6319aa67d68a48d2d6f463e80e84a3ca27f6d
parent82c72835f62132bb6ab62ad0d4b237e85681d73c (diff)
downloaddwm-flexipatch-39fde74dfd48056094c4eddacd7baac9194e5c1e.tar.gz
dwm-flexipatch-39fde74dfd48056094c4eddacd7baac9194e5c1e.zip
systray: allow systray icons to survive a restart by handing systray icons over to the root window before destroying the systray window
-rw-r--r--dwm.c3
-rw-r--r--patch/bar_systray.c1
2 files changed, 1 insertions, 3 deletions
diff --git a/dwm.c b/dwm.c
index 6b1ce9c..02dea6b 100644
--- a/dwm.c
+++ b/dwm.c
@@ -1234,9 +1234,6 @@ cleanup(void)
removesystrayicon(systray->icons);
if (systray->win) {
XUnmapWindow(dpy, systray->win);
- #if RESTARTSIG_PATCH
- if (!restart)
- #endif // RESTARTSIG_PATCH
XDestroyWindow(dpy, systray->win);
}
free(systray);
diff --git a/patch/bar_systray.c b/patch/bar_systray.c
index 36d569a..158dfa3 100644
--- a/patch/bar_systray.c
+++ b/patch/bar_systray.c
@@ -111,6 +111,7 @@ removesystrayicon(Client *i)
for (ii = &systray->icons; *ii && *ii != i; ii = &(*ii)->next);
if (ii)
*ii = i->next;
+ XReparentWindow(dpy, i->win, root, 0, 0);
free(i);
drawbarwin(systray->bar);
}