From 7728c35401cf53dc87832c9bb1b0bfe32fa1ed92 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Wed, 13 Jul 2011 17:21:35 +0200 Subject: correctly auto-detect the output format with zsh (Thanks mist) --- src/auto_detect_format.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/auto_detect_format.c b/src/auto_detect_format.c index 2df13f5..299614a 100644 --- a/src/auto_detect_format.c +++ b/src/auto_detect_format.c @@ -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) { -- cgit v1.2.3