changeset 817 | 90435b444620 |
parent 794 | 6fa07beba3a7 |
child 818 | 013954d9fe7a |
816:f52272c62eb9 | 817:90435b444620 |
---|---|
3 */ |
3 */ |
4 #include "dwm.h" |
4 #include "dwm.h" |
5 #include <string.h> |
5 #include <string.h> |
6 |
6 |
7 /* static */ |
7 /* static */ |
8 |
|
9 static void |
|
10 drawcaret(unsigned long col[ColLast]) { |
|
11 int x; |
|
12 XGCValues gcv; |
|
13 XPoint pt[3]; |
|
14 |
|
15 gcv.foreground = col[ColFG]; |
|
16 XChangeGC(dpy, dc.gc, GCForeground, &gcv); |
|
17 x = (dc.font.ascent + dc.font.descent) / 2; |
|
18 pt[0].x = dc.x + 1; |
|
19 pt[0].y = dc.y + 1 + x; |
|
20 pt[1].x = 0; |
|
21 pt[1].y = -x; |
|
22 pt[2].x = x; |
|
23 pt[2].y = 0; |
|
24 XDrawLines(dpy, dc.drawable, dc.gc, pt, 3, CoordModePrevious); |
|
25 } |
|
8 |
26 |
9 static void |
27 static void |
10 drawsquare(Bool filled, Bool empty, unsigned long col[ColLast]) { |
28 drawsquare(Bool filled, Bool empty, unsigned long col[ColLast]) { |
11 int x; |
29 int x; |
12 XGCValues gcv; |
30 XGCValues gcv; |
77 dc.w = sw - x; |
95 dc.w = sw - x; |
78 } |
96 } |
79 drawtext(stext, dc.norm); |
97 drawtext(stext, dc.norm); |
80 if((dc.w = dc.x - x) > bh) { |
98 if((dc.w = dc.x - x) > bh) { |
81 dc.x = x; |
99 dc.x = x; |
82 drawtext(sel ? sel->name : NULL, sel ? dc.sel : dc.norm); |
100 if(sel) { |
101 drawtext(sel->name, dc.sel); |
|
102 if(sel->isversatile) |
|
103 drawcaret(dc.sel); |
|
104 } |
|
105 else |
|
106 drawtext(NULL, dc.norm); |
|
83 } |
107 } |
84 XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, sw, bh, 0, 0); |
108 XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, sw, bh, 0, 0); |
85 XSync(dpy, False); |
109 XSync(dpy, False); |
86 } |
110 } |
87 |
111 |