diff options
author | clsr <clsr@clsr.net> | 2018-12-27 10:37:07 +0100 |
---|---|---|
committer | clsr <clsr@clsr.net> | 2018-12-27 10:37:07 +0100 |
commit | ffd6ffe68781a88d2711399ef74772b7fa0ecdcb (patch) | |
tree | cfd7ed4556ba147cd4a9abaae733d88c6c49fb53 /dwmclock.c | |
parent | cedca7b8b843413217b399ea1323c727994237ce (diff) | |
download | dwmclock-ffd6ffe68781a88d2711399ef74772b7fa0ecdcb.tar.gz dwmclock-ffd6ffe68781a88d2711399ef74772b7fa0ecdcb.zip |
Restore previous root window name on exitv1.3.0
Diffstat (limited to 'dwmclock.c')
-rw-r--r-- | dwmclock.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -81,6 +81,7 @@ int main(void) Display *disp; int screen; Window root; + char *origname = NULL; act.sa_handler = handler; act.sa_flags = 0; @@ -90,19 +91,16 @@ int main(void) sigaction(SIGQUIT, &act, NULL); sigaction(SIGTERM, &act, NULL); - disp = XOpenDisplay(NULL); + screen = DefaultScreen(disp); + root = RootWindow(disp, screen); + XFetchName(disp, root, &origname); + #ifdef BATTERY for (i=0; !stop; ++i) { #else while (!stop) { #endif /* BATTERY */ - if (!disp) { - puts("Cannot open display!"); - return 1; - } - screen = DefaultScreen(disp); - root = RootWindow(disp, screen); #ifdef BATTERY if (i % (BAT_REFRESH_SECONDS) == 0) { curr = getnum(ENERGY_NOW) * MUL; @@ -151,8 +149,11 @@ int main(void) sleep(1); #endif /* EXACT_SLEEP */ } - XCloseDisplay(disp); + if (origname) { + XStoreName(disp, root, origname); + } + XCloseDisplay(disp); return 0; } |