tabbed-autohide-0.6.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
tabbed-autohide-0.6.diff (1340B)
---
1 diff --git a/tabbed.c b/tabbed.c
2 index ff3ada0..c41db0c 100644
3 --- a/tabbed.c
4 +++ b/tabbed.c
5 @@ -152,7 +152,7 @@ static void (*handler[LASTEvent]) (const XEvent *) = {
6 [MapRequest] = maprequest,
7 [PropertyNotify] = propertynotify,
8 };
9 -static int bh, wx, wy, ww, wh;
10 +static int bh, wx, wy, ww, wh, vbh;
11 static unsigned int numlockmask = 0;
12 static Bool running = True, nextfocus, doinitspawn = True,
13 fillagain = False, closelastclient = False;
14 @@ -307,6 +307,6 @@ void
15 drawbar(void) {
16 unsigned long *col;
17 - int c, fc, width, n = 0;
18 + int c, fc, width, n = 0, nbh, i;
19 char *name = NULL;
20
21 if (nclients == 0) {
22 @@ -314,10 +314,19 @@ drawbar(void)
23 dc.w = ww;
24 XFetchName(dpy, win, &name);
25 drawtext(name ? name : "", dc.norm);
26 - XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, bh, 0, 0);
27 + XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, vbh, 0, 0);
28 XSync(dpy, False);
29
30 return;
31 }
32
33 + nbh = nclients > 1 ? vbh : 0;
34 + if (bh != nbh) {
35 + bh = nbh;
36 + for (i = 0; i < nclients; i++)
37 + XMoveResizeWindow(dpy, clients[i]->win, 0, bh, ww, wh - bh);
38 + }
39 + if (bh == 0)
40 + return;
41 +
42 width = ww;
43 @@ -920,6 +929,6 @@ setup(void)
44 screen = DefaultScreen(dpy);
45 root = RootWindow(dpy, screen);
46 initfont(font);
47 - bh = dc.h = dc.font.height + 2;
48 + vbh = dc.h = dc.font.height + 2;
49
50 /* init atoms */