Introduction
Introduction Statistics Contact Development Disclaimer Help
tmade stdin reader more robust - dwm - [fork] customized build of dwm, the dyna…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit eb756ee169ad0c94167ff41a9ab2712b348afe4f
parent 0e5c8198bc5a69e87b0114b81d6569188828edfa
Author: Anselm R. Garbe <[email protected]>
Date: Fri, 14 Jul 2006 12:08:32 +0200
made stdin reader more robust
Diffstat:
M client.c | 13 +++++++++----
M main.c | 18 +++++++++++++-----
2 files changed, 22 insertions(+), 9 deletions(-)
---
diff --git a/client.c b/client.c
t@@ -404,8 +404,6 @@ manage(Window w, XWindowAttributes *wa)
c->next = *l; /* *l == nil */
*l = c;
- XMapRaised(dpy, c->win);
- XMapRaised(dpy, c->title);
XGrabButton(dpy, Button1, Mod1Mask, c->win, False, ButtonPressMask,
GrabModeAsync, GrabModeSync, None, None);
XGrabButton(dpy, Button2, Mod1Mask, c->win, False, ButtonPressMask,
t@@ -418,10 +416,17 @@ manage(Window w, XWindowAttributes *wa)
|| ((c->maxw == c->minw) && (c->maxh == c->minh));
arrange(NULL);
- if(c->tags[tsel])
+ /* mapping the window now prevents flicker */
+ if(c->tags[tsel]) {
+ XMapRaised(dpy, c->win);
+ XMapRaised(dpy, c->title);
focus(c);
- else
+ }
+ else {
ban_client(c);
+ XMapRaised(dpy, c->win);
+ XMapRaised(dpy, c->title);
+ }
}
void
diff --git a/main.c b/main.c
t@@ -264,6 +264,10 @@ main(int argc, char *argv[])
XDefineCursor(dpy, barwin, cursor[CurNormal]);
XMapRaised(dpy, barwin);
+ dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, scree…
+ dc.gc = XCreateGC(dpy, root, 0, 0);
+ draw_bar();
+
issel = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
wa.event_mask = SubstructureRedirectMask | EnterWindowMask \
t@@ -272,15 +276,12 @@ main(int argc, char *argv[])
XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa);
- dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, scree…
- dc.gc = XCreateGC(dpy, root, 0, 0);
-
strcpy(stext, "dwm-"VERSION);
scan_wins();
- draw_bar();
/* main event loop, reads status text from stdin as well */
while(running) {
+Mainloop:
FD_ZERO(&rd);
FD_SET(0, &rd);
FD_SET(ConnectionNumber(dpy), &rd);
t@@ -298,8 +299,15 @@ main(int argc, char *argv[])
}
if(FD_ISSET(0, &rd)) {
i = n = 0;
- while((i = getchar()) != '\n' && n < sizeof(st…
+ for(;;) {
+ if((i = getchar()) == EOF) {
+ stext[0] = 0;
+ goto Mainloop;
+ }
+ if(i == '\n' || n >= sizeof(stext) - 1)
+ break;
stext[n++] = i;
+ }
stext[n] = 0;
draw_bar();
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.