changeset 818 | 013954d9fe7a |
parent 817 | 90435b444620 |
child 830 | 5a4fd8fec414 |
817:90435b444620 | 818:013954d9fe7a |
---|---|
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 } |
|
26 |
8 |
27 static void |
9 static void |
28 drawsquare(Bool filled, Bool empty, unsigned long col[ColLast]) { |
10 drawsquare(Bool filled, Bool empty, unsigned long col[ColLast]) { |
29 int x; |
11 int x; |
30 XGCValues gcv; |
12 XGCValues gcv; |
97 drawtext(stext, dc.norm); |
79 drawtext(stext, dc.norm); |
98 if((dc.w = dc.x - x) > bh) { |
80 if((dc.w = dc.x - x) > bh) { |
99 dc.x = x; |
81 dc.x = x; |
100 if(sel) { |
82 if(sel) { |
101 drawtext(sel->name, dc.sel); |
83 drawtext(sel->name, dc.sel); |
102 if(sel->isversatile) |
84 drawsquare(sel->ismax, sel->isversatile, dc.sel); |
103 drawcaret(dc.sel); |
|
104 } |
85 } |
105 else |
86 else |
106 drawtext(NULL, dc.norm); |
87 drawtext(NULL, dc.norm); |
107 } |
88 } |
108 XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, sw, bh, 0, 0); |
89 XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, sw, bh, 0, 0); |