Mercurial > dwm-meillo
comparison client.c @ 43:989178822938
changed default colors
author | Anselm R. Garbe <garbeam@wmii.de> |
---|---|
date | Thu, 13 Jul 2006 11:43:05 +0200 |
parents | cd30cce52b78 |
children | a36f95a4841a |
comparison
equal
deleted
inserted
replaced
42:040a7074d23c | 43:989178822938 |
---|---|
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 #include <string.h> | 8 #include <string.h> |
9 #include <X11/Xatom.h> | 9 #include <X11/Xatom.h> |
10 #include <X11/Xutil.h> | 10 #include <X11/Xutil.h> |
11 | 11 |
12 #include "wm.h" | 12 #include "dwm.h" |
13 | 13 |
14 static void floating(void); | 14 static void floating(void); |
15 static void tiling(void); | 15 static void tiling(void); |
16 static void (*arrange)(void) = tiling; | 16 static void (*arrange)(void) = tiling; |
17 | 17 |
123 int i; | 123 int i; |
124 | 124 |
125 c->tw = 0; | 125 c->tw = 0; |
126 for(i = 0; i < TLast; i++) | 126 for(i = 0; i < TLast; i++) |
127 if(c->tags[i]) | 127 if(c->tags[i]) |
128 c->tw += textw(&dc.font, c->tags[i]) + dc.font.height; | 128 c->tw += textw(c->tags[i]) + dc.font.height; |
129 c->tw += textw(&dc.font, c->name) + dc.font.height; | 129 c->tw += textw(c->name) + dc.font.height; |
130 if(c->tw > c->w) | 130 if(c->tw > c->w) |
131 c->tw = c->w + 2; | 131 c->tw = c->w + 2; |
132 c->tx = c->x + c->w - c->tw + 2; | 132 c->tx = c->x + c->w - c->tw + 2; |
133 c->ty = c->y; | 133 c->ty = c->y; |
134 XMoveResizeWindow(dpy, c->title, c->tx, c->ty, c->tw, c->th); | 134 XMoveResizeWindow(dpy, c->title, c->tx, c->ty, c->tw, c->th); |
224 if(*l) | 224 if(*l) |
225 *l = c->snext; | 225 *l = c->snext; |
226 c->snext = stack; | 226 c->snext = stack; |
227 stack = c; | 227 stack = c; |
228 if(old && old != c) { | 228 if(old && old != c) { |
229 XSetWindowBorder(dpy, old->win, dc.bg); | |
229 XMapWindow(dpy, old->title); | 230 XMapWindow(dpy, old->title); |
230 draw_client(old); | 231 draw_client(old); |
231 } | 232 } |
232 XUnmapWindow(dpy, c->title); | 233 XUnmapWindow(dpy, c->title); |
234 XSetWindowBorder(dpy, c->win, dc.fg); | |
233 draw_client(c); | 235 draw_client(c); |
234 XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | 236 XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); |
235 XFlush(dpy); | 237 XFlush(dpy); |
236 } | 238 } |
237 | 239 |
248 c->tw = c->w = wa->width; | 250 c->tw = c->w = wa->width; |
249 c->h = wa->height; | 251 c->h = wa->height; |
250 c->th = th; | 252 c->th = th; |
251 c->border = 1; | 253 c->border = 1; |
252 update_size(c); | 254 update_size(c); |
253 XSetWindowBorderWidth(dpy, c->win, 1); | |
254 XSetWindowBorder(dpy, c->win, dc.border); | |
255 XSelectInput(dpy, c->win, | 255 XSelectInput(dpy, c->win, |
256 StructureNotifyMask | PropertyChangeMask | EnterWindowMask); | 256 StructureNotifyMask | PropertyChangeMask | EnterWindowMask); |
257 XGetTransientForHint(dpy, c->win, &c->trans); | 257 XGetTransientForHint(dpy, c->win, &c->trans); |
258 twa.override_redirect = 1; | 258 twa.override_redirect = 1; |
259 twa.background_pixmap = ParentRelative; | 259 twa.background_pixmap = ParentRelative; |
267 | 267 |
268 update_name(c); | 268 update_name(c); |
269 for(l=&clients; *l; l=&(*l)->next); | 269 for(l=&clients; *l; l=&(*l)->next); |
270 c->next = *l; /* *l == nil */ | 270 c->next = *l; /* *l == nil */ |
271 *l = c; | 271 *l = c; |
272 XSetWindowBorderWidth(dpy, c->win, 1); | |
272 XMapRaised(dpy, c->win); | 273 XMapRaised(dpy, c->win); |
273 XMapRaised(dpy, c->title); | 274 XMapRaised(dpy, c->title); |
274 XGrabButton(dpy, Button1, Mod1Mask, c->win, False, ButtonPressMask, | 275 XGrabButton(dpy, Button1, Mod1Mask, c->win, False, ButtonPressMask, |
275 GrabModeAsync, GrabModeSync, None, None); | 276 GrabModeAsync, GrabModeSync, None, None); |
276 XGrabButton(dpy, Button2, Mod1Mask, c->win, False, ButtonPressMask, | 277 XGrabButton(dpy, Button2, Mod1Mask, c->win, False, ButtonPressMask, |
433 | 434 |
434 dc.w = 0; | 435 dc.w = 0; |
435 for(i = 0; i < TLast; i++) { | 436 for(i = 0; i < TLast; i++) { |
436 if(c->tags[i]) { | 437 if(c->tags[i]) { |
437 dc.x += dc.w; | 438 dc.x += dc.w; |
438 dc.w = textw(&dc.font, c->tags[i]) + dc.font.height; | 439 dc.w = textw(c->tags[i]) + dc.font.height; |
439 draw(True, c->tags[i]); | 440 draw(True, c->tags[i]); |
440 } | 441 } |
441 } | 442 } |
442 dc.x += dc.w; | 443 dc.x += dc.w; |
443 dc.w = textw(&dc.font, c->name) + dc.font.height; | 444 dc.w = textw(c->name) + dc.font.height; |
444 draw(True, c->name); | 445 draw(True, c->name); |
445 XCopyArea(dpy, dc.drawable, c->title, dc.gc, | 446 XCopyArea(dpy, dc.drawable, c->title, dc.gc, |
446 0, 0, c->tw, c->th, 0, 0); | 447 0, 0, c->tw, c->th, 0, 0); |
447 XFlush(dpy); | 448 XFlush(dpy); |
448 } | 449 } |