diff options
| author | bakkeby <[email protected]> | 2022-06-17 16:58:47 +0200 |
|---|---|---|
| committer | bakkeby <[email protected]> | 2022-06-17 16:58:47 +0200 |
| commit | 39fde74dfd48056094c4eddacd7baac9194e5c1e (patch) | |
| tree | c0c6319aa67d68a48d2d6f463e80e84a3ca27f6d | |
| parent | 82c72835f62132bb6ab62ad0d4b237e85681d73c (diff) | |
| download | dwm-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.c | 3 | ||||
| -rw-r--r-- | patch/bar_systray.c | 1 |
2 files changed, 1 insertions, 3 deletions
@@ -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); } |
