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 }