no need for ./scripts/xmonad-status.c, update run-xmonad.sh

This commit is contained in:
Don Stewart
2007-06-10 06:28:06 +00:00
parent 9ee0248221
commit ba6bcadcad
2 changed files with 6 additions and 61 deletions

View File

@@ -24,11 +24,13 @@ rm -f $PIPE
[ -p $PIPE ] || exit
# launch the external 60 second clock, and launch the workspace status bar
xmonad-clock | dzen2 -e '' -x 300 -w 768 -ta r -fg $FG -bg $BG -fn $FONT &
xmonad-status < $PIPE | dzen2 -e '' -w 300 -ta l -fg $FG -bg $BG -fn $FONT &
xmonad-clock | dzen2 -e '' -x 300 -w 768 -ta r -fg $FG -bg $BG -fn $FONT &
# now go for it
xmonad > $PIPE &
# and a workspace status bar (this `cat' shouldn't be needed!)
dzen2 -e '' -w 300 -ta l -fg $FG -bg $BG -fn $FONT < $PIPE &
# go forit
xmonad > $PIPE &
# wait for xmonad
wait $!

View File

@@ -1,57 +0,0 @@
/*
Module : xmonad-workspace.c
Copyright : (c) Don Stewart 2007
License : BSD3-style (see LICENSE)
Maintainer : dons@cse.unsw.edu.au
Stability : stable
Portability : portable
C parser for new workspace format
*/
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
#define WORKSPACES 9
int main(void) {
char buf[1024];
char *s, current, *rest;
int i;
signal(SIGPIPE, SIG_IGN);
while (fgets(buf, sizeof(buf), stdin) != NULL) {
i = strlen(buf);
buf[i-1] = '\0';
s = buf;
/* extract tag of current workspace */
current = *(char *)strsep(&s,"|");
rest = s;
/* split up workspace list */
/* extract just the tags of the workspace list */
for (i = 0; i < WORKSPACES; i++) {
s = (char *)strsep(&rest, ",");
if (*s == current) {
printf("[%c]", *s);
} else if (s[2] != ':') { /* filter empty workspaces */
printf(" %c ", *s);
}
}
putchar('\n');
fflush(stdout);
}
return EXIT_SUCCESS;
}