timplemented dwm reading status text from stdin - dwm - [fork] customized build… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 0e5c8198bc5a69e87b0114b81d6569188828edfa | |
parent 6458d72572a30d2cc4af3385755033b2cca93057 | |
Author: Anselm R. Garbe <[email protected]> | |
Date: Fri, 14 Jul 2006 11:57:33 +0200 | |
implemented dwm reading status text from stdin | |
Diffstat: | |
M config.mk | 10 +++++----- | |
M dev.c | 15 ++++++--------- | |
M dwm.1 | 16 +++++++++++++++- | |
M dwm.h | 4 ++-- | |
M dwm.html | 4 ++-- | |
M main.c | 34 +++++++++++++++++++++++++----… | |
6 files changed, 58 insertions(+), 25 deletions(-) | |
--- | |
diff --git a/config.mk b/config.mk | |
t@@ -14,12 +14,12 @@ VERSION = 0.0 | |
LIBS = -L${PREFIX}/lib -L/usr/lib -lc -L${X11LIB} -lX11 | |
# Linux/BSD | |
-CFLAGS = -Os -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \ | |
- -DVERSION=\"${VERSION}\" | |
-LDFLAGS = ${LIBS} | |
-#CFLAGS = -g -Wall -O2 -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \ | |
+#CFLAGS = -Os -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \ | |
# -DVERSION=\"${VERSION}\" | |
-#LDFLAGS = -g ${LIBS} | |
+#LDFLAGS = ${LIBS} | |
+CFLAGS = -g -Wall -O2 -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \ | |
+ -DVERSION=\"${VERSION}\" | |
+LDFLAGS = -g ${LIBS} | |
# Solaris | |
diff --git a/dev.c b/dev.c | |
t@@ -27,16 +27,14 @@ static Key key[] = { | |
{ Mod1Mask, XK_m, max, … | |
{ Mod1Mask, XK_0, view, … | |
{ Mod1Mask, XK_1, view, … | |
- { Mod1Mask, XK_2, view, … | |
- { Mod1Mask, XK_3, view, … | |
- { Mod1Mask, XK_4, view, … | |
+ { Mod1Mask, XK_2, view, … | |
+ { Mod1Mask, XK_3, view, … | |
{ Mod1Mask, XK_space, tiling, … | |
{ Mod1Mask|ShiftMask, XK_space, floating, { 0 } }… | |
{ Mod1Mask|ShiftMask, XK_0, ttrunc, … | |
{ Mod1Mask|ShiftMask, XK_1, ttrunc, … | |
- { Mod1Mask|ShiftMask, XK_2, ttrunc, … | |
- { Mod1Mask|ShiftMask, XK_3, ttrunc, … | |
- { Mod1Mask|ShiftMask, XK_4, ttrunc, … | |
+ { Mod1Mask|ShiftMask, XK_2, ttrunc, … | |
+ { Mod1Mask|ShiftMask, XK_3, ttrunc, … | |
{ Mod1Mask|ShiftMask, XK_c, ckill, … | |
{ Mod1Mask|ShiftMask, XK_q, quit, … | |
{ Mod1Mask|ShiftMask, XK_Return, spawn, {… | |
t@@ -44,9 +42,8 @@ static Key key[] = { | |
{ Mod1Mask|ShiftMask, XK_l, spawn, … | |
{ ControlMask, XK_0, tappend, … | |
{ ControlMask, XK_1, tappend, … | |
- { ControlMask, XK_2, tappend, … | |
- { ControlMask, XK_3, tappend, … | |
- { ControlMask, XK_4, tappend, … | |
+ { ControlMask, XK_2, tappend, … | |
+ { ControlMask, XK_3, tappend, … | |
}; | |
/********** CUSTOMIZE **********/ | |
diff --git a/dwm.1 b/dwm.1 | |
t@@ -81,4 +81,18 @@ Append | |
.B nth | |
tag to cureent | |
.B window | |
- | |
+.SS Default Mouse Bindings | |
+.TP | |
+.B Mod1-Button1 | |
+Moves current | |
+.B window | |
+while dragging | |
+.TP | |
+.B Mod1-Button2 | |
+Lowers current | |
+.B window | |
+.TP | |
+.B Mod1-Button3 | |
+Resizes current | |
+.B window | |
+while dragging | |
diff --git a/dwm.h b/dwm.h | |
t@@ -9,13 +9,13 @@ | |
#define FONT "-*-terminus-medium-*-*-*-13-*-*-*… | |
#define BGCOLOR "#666699" | |
-#define FGCOLOR "#ffffff" | |
+#define FGCOLOR "#eeeeee" | |
#define BORDERCOLOR "#9999CC" | |
#define MASTERW 52 /* percent */ | |
#define WM_PROTOCOL_DELWIN 1 | |
/* tags */ | |
-enum { Tscratch, Tdev, Tirc, Twww, Twork, TLast }; | |
+enum { Tscratch, Tdev, Twww, Twork, TLast }; | |
/********** CUSTOMIZE **********/ | |
diff --git a/dwm.html b/dwm.html | |
t@@ -69,7 +69,7 @@ | |
clients. | |
</li> | |
<li> | |
- dwm reads from <b>stdin</b> to print arbirary status t… | |
+ dwm reads from <b>stdin</b> to print arbitrary status … | |
date, load, battery charge). That's much simpler than … | |
wmiir and what not... | |
</li> | |
t@@ -83,7 +83,7 @@ | |
</ul> | |
<h3>Screenshot</h3> | |
<p> | |
- <a href="http://wmii.de/shots/dwm-20060713.png">Click here for… | |
+ <a href="http://wmii.de/shots/dwm-20060714.png">Click here for… | |
</p> | |
<h3>Development</h3> | |
<p> | |
diff --git a/main.c b/main.c | |
t@@ -3,10 +3,12 @@ | |
* See LICENSE file for license details. | |
*/ | |
+#include <errno.h> | |
#include <stdarg.h> | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
+#include <unistd.h> | |
#include <X11/cursorfont.h> | |
#include <X11/Xatom.h> | |
t@@ -19,7 +21,6 @@ | |
char *tags[TLast] = { | |
[Tscratch] = "scratch", | |
[Tdev] = "dev", | |
- [Tirc] = "irc", | |
[Twww] = "www", | |
[Twork] = "work", | |
}; | |
t@@ -185,13 +186,13 @@ quit(Arg *arg) | |
int | |
main(int argc, char *argv[]) | |
{ | |
- int i; | |
+ int i, n; | |
+ fd_set rd; | |
XSetWindowAttributes wa; | |
unsigned int mask; | |
Window w; | |
XEvent ev; | |
- /* command line args */ | |
for(i = 1; (i < argc) && (argv[i][0] == '-'); i++) { | |
switch (argv[i][1]) { | |
case 'v': | |
t@@ -278,10 +279,31 @@ main(int argc, char *argv[]) | |
scan_wins(); | |
draw_bar(); | |
+ /* main event loop, reads status text from stdin as well */ | |
while(running) { | |
- XNextEvent(dpy, &ev); | |
- if(handler[ev.type]) | |
- (handler[ev.type])(&ev); /* call handler */ | |
+ FD_ZERO(&rd); | |
+ FD_SET(0, &rd); | |
+ FD_SET(ConnectionNumber(dpy), &rd); | |
+ | |
+ i = select(ConnectionNumber(dpy) + 1, &rd, 0, 0, 0); | |
+ if(i == -1 && errno == EINTR) | |
+ continue; | |
+ if(i < 0) | |
+ error("select failed\n"); | |
+ else if(i > 0) { | |
+ if(FD_ISSET(ConnectionNumber(dpy), &rd) && XPending(dp… | |
+ XNextEvent(dpy, &ev); | |
+ if(handler[ev.type]) | |
+ (handler[ev.type])(&ev); /* call handl… | |
+ } | |
+ if(FD_ISSET(0, &rd)) { | |
+ i = n = 0; | |
+ while((i = getchar()) != '\n' && n < sizeof(st… | |
+ stext[n++] = i; | |
+ stext[n] = 0; | |
+ draw_bar(); | |
+ } | |
+ } | |
} | |
cleanup(); |