Patch tabbed
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
diff --git a/tabbed.c b/tabbed.c
|
||||
index eafe28a..b0b9662 100644
|
||||
--- a/tabbed.c
|
||||
+++ b/tabbed.c
|
||||
@@ -152,7 +152,7 @@ static void (*handler[LASTEvent]) (const XEvent *) = {
|
||||
[MapRequest] = maprequest,
|
||||
[PropertyNotify] = propertynotify,
|
||||
};
|
||||
-static int bh, obh, wx, wy, ww, wh;
|
||||
+static int bh, obh, wx, wy, ww, wh, vbh;
|
||||
static unsigned int numlockmask;
|
||||
static Bool running = True, nextfocus, doinitspawn = True,
|
||||
fillagain = False, closelastclient = False,
|
||||
@@ -324,7 +324,7 @@ void
|
||||
drawbar(void)
|
||||
{
|
||||
XftColor *col;
|
||||
- int c, cc, fc, width;
|
||||
+ int c, cc, fc, width, nbh, i;
|
||||
char *name = NULL;
|
||||
|
||||
if (nclients == 0) {
|
||||
@@ -332,12 +332,21 @@ drawbar(void)
|
||||
dc.w = ww;
|
||||
XFetchName(dpy, win, &name);
|
||||
drawtext(name ? name : "", dc.norm);
|
||||
- XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, bh, 0, 0);
|
||||
+ XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, vbh, 0, 0);
|
||||
XSync(dpy, False);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
+ nbh = nclients > 1 ? vbh : 0;
|
||||
+ if (bh != nbh) {
|
||||
+ bh = nbh;
|
||||
+ for (i = 0; i < nclients; i++)
|
||||
+ XMoveResizeWindow(dpy, clients[i]->win, 0, bh, ww, wh - bh);
|
||||
+ }
|
||||
+ if (bh == 0)
|
||||
+ return;
|
||||
+
|
||||
width = ww;
|
||||
cc = ww / tabwidth;
|
||||
if (nclients > cc)
|
||||
@@ -984,7 +993,7 @@ setup(void)
|
||||
screen = DefaultScreen(dpy);
|
||||
root = RootWindow(dpy, screen);
|
||||
initfont(font);
|
||||
- bh = dc.h = dc.font.height + 2;
|
||||
+ vbh = dc.h = dc.font.height + 2;
|
||||
|
||||
/* init atoms */
|
||||
wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
|
||||
Reference in New Issue
Block a user