mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-08-03 05:31:53 -07:00
no need for ./scripts/xmonad-status.c, update run-xmonad.sh
This commit is contained in:
@@ -25,9 +25,11 @@ rm -f $PIPE
|
|||||||
|
|
||||||
# launch the external 60 second clock, and launch the workspace status bar
|
# 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-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 &
|
|
||||||
|
|
||||||
# now go for it
|
# 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 &
|
xmonad > $PIPE &
|
||||||
|
|
||||||
# wait for xmonad
|
# wait for xmonad
|
||||||
|
@@ -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;
|
|
||||||
}
|
|
Reference in New Issue
Block a user