]> git.sur5r.net Git - i3/i3status/commitdiff
correctly auto-detect the output format with zsh (Thanks mist)
authorMichael Stapelberg <michael@stapelberg.de>
Wed, 13 Jul 2011 15:21:35 +0000 (17:21 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 13 Jul 2011 15:21:35 +0000 (17:21 +0200)
src/auto_detect_format.c

index 2df13f5f1782cae71fb5b65f1455ec238920af98..299614a0ba7ef6c27c57895d81d1630f0c3a4d11 100644 (file)
@@ -74,6 +74,19 @@ char *auto_detect_format() {
     if (!parentname)
         goto out;
 
+    /* Some shells, for example zsh, open a pipe in a way which will make the
+     * pipe target the parent process of i3status. If we detect that, we set
+     * the format and we are done. */
+    if (strcasecmp(parentname, "i3bar") == 0)
+        format = "none";
+    else if (strcasecmp(parentname, "dzen2") == 0)
+        format = "dzen2";
+    else if (strcasecmp(parentname, "xmobar") == 0)
+        format = "xmobar";
+
+    if (format)
+        goto out;
+
     rewinddir(dir);
 
     while ((entry = readdir(dir)) != NULL) {