| 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(); |