Xinqi Bao's Git

set old WM_NAME content before exiting
[slstatus.git] / slstatus.c
index cb5f1f2..991334a 100644 (file)
@@ -580,7 +580,7 @@ wifi_essid(const char *wificard)
 }
 
 static void
-sighandler(int signo)
+sighandler(const int signo)
 {
        if (signo == SIGTERM || signo == SIGINT) {
                done = 1;
@@ -592,7 +592,7 @@ main(void)
 {
        size_t i;
        char status_string[4096];
-       char *res, *element;
+       char *res, *element, *status_old;
        struct arg argument;
        struct sigaction act;
 
@@ -603,6 +603,8 @@ main(void)
 
        dpy = XOpenDisplay(NULL);
 
+       XFetchName(dpy, DefaultRootWindow(dpy), &status_old);
+
        while (!done) {
                status_string[0] = '\0';
                for (i = 0; i < sizeof(args) / sizeof(args[0]); ++i) {
@@ -630,6 +632,9 @@ main(void)
                delay = 0;
        }
 
+       XStoreName(dpy, DefaultRootWindow(dpy), status_old);
+       XSync(dpy, False);
+
        XCloseDisplay(dpy);
 
        return 0;