Mercurial > dwm-meillo
comparison draw.c @ 73:c2ddb9dbbd10
rearranged
author | Anselm R. Garbe <garbeam@wmii.de> |
---|---|
date | Fri, 14 Jul 2006 22:33:38 +0200 |
parents | 50450aa24a46 |
children | 5370ef170cc9 |
comparison
equal
deleted
inserted
replaced
72:d0eb0bb63c40 | 73:c2ddb9dbbd10 |
---|---|
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include <X11/Xlocale.h> | 9 #include <X11/Xlocale.h> |
10 | 10 |
11 #include "dwm.h" | 11 #include "dwm.h" |
12 | |
13 void | |
14 draw_bar() | |
15 { | |
16 int i; | |
17 | |
18 dc.x = dc.y = 0; | |
19 dc.w = bw; | |
20 drawtext(NULL, False, False); | |
21 | |
22 if(arrange == floating) { | |
23 dc.w = textw("~"); | |
24 drawtext("~", False, False); | |
25 } | |
26 else | |
27 dc.w = 0; | |
28 for(i = 0; i < TLast; i++) { | |
29 dc.x += dc.w; | |
30 dc.w = textw(tags[i]); | |
31 drawtext(tags[i], i == tsel, True); | |
32 } | |
33 if(sel) { | |
34 dc.x += dc.w; | |
35 dc.w = textw(sel->name); | |
36 drawtext(sel->name, True, True); | |
37 } | |
38 dc.w = textw(stext); | |
39 dc.x = bx + bw - dc.w; | |
40 drawtext(stext, False, False); | |
41 | |
42 XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); | |
43 XFlush(dpy); | |
44 } | |
45 | |
46 void | |
47 draw_client(Client *c) | |
48 { | |
49 int i; | |
50 if(c == sel) { | |
51 draw_bar(); | |
52 XUnmapWindow(dpy, c->title); | |
53 XSetWindowBorder(dpy, c->win, dc.fg); | |
54 return; | |
55 } | |
56 | |
57 XSetWindowBorder(dpy, c->win, dc.bg); | |
58 XMapWindow(dpy, c->title); | |
59 | |
60 dc.x = dc.y = 0; | |
61 | |
62 dc.w = 0; | |
63 for(i = 0; i < TLast; i++) { | |
64 if(c->tags[i]) { | |
65 dc.x += dc.w; | |
66 dc.w = textw(c->tags[i]); | |
67 drawtext(c->tags[i], False, True); | |
68 } | |
69 } | |
70 dc.x += dc.w; | |
71 dc.w = textw(c->name); | |
72 drawtext(c->name, False, True); | |
73 XCopyArea(dpy, dc.drawable, c->title, dc.gc, | |
74 0, 0, c->tw, c->th, 0, 0); | |
75 XFlush(dpy); | |
76 } | |
12 | 77 |
13 static void | 78 static void |
14 drawborder(void) | 79 drawborder(void) |
15 { | 80 { |
16 XPoint points[5]; | 81 XPoint points[5]; |
101 } | 166 } |
102 | 167 |
103 unsigned int | 168 unsigned int |
104 textw(char *text) | 169 textw(char *text) |
105 { | 170 { |
106 return textnw(text, strlen(text)); | 171 return textnw(text, strlen(text)) + dc.font.height; |
107 } | 172 } |
108 | 173 |
109 void | 174 void |
110 initfont(const char *fontstr) | 175 initfont(const char *fontstr) |
111 { | 176 { |