From 3b976653cc83480600f785aa90182f814dda0c4d Mon Sep 17 00:00:00 2001 From: TrudeEH Date: Sat, 8 Jun 2024 14:23:22 +0100 Subject: [PATCH] Patch tabbed --- .../tabbed-autohide-20201222-dabf6a2.diff | 54 ++++++++++++++++++ programs/tabbed/tabbed | Bin 43360 -> 43424 bytes programs/tabbed/tabbed.c | 17 ++++-- 3 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 programs/tabbed/patches/tabbed-autohide-20201222-dabf6a2.diff diff --git a/programs/tabbed/patches/tabbed-autohide-20201222-dabf6a2.diff b/programs/tabbed/patches/tabbed-autohide-20201222-dabf6a2.diff new file mode 100644 index 00000000..d9f71bae --- /dev/null +++ b/programs/tabbed/patches/tabbed-autohide-20201222-dabf6a2.diff @@ -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); diff --git a/programs/tabbed/tabbed b/programs/tabbed/tabbed index 851e79c7e095b78755c57ce40e66877d1f576a1a..267bb9f5472fe9f9fe7d17f215c523c514c17981 100755 GIT binary patch delta 13487 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

VwvH@vBao|a+!VE8h6 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 IoGq>YA7uUEWdHyG diff --git a/programs/tabbed/tabbed.c b/programs/tabbed/tabbed.c index 81be5e41..555d0b29 100644 --- a/programs/tabbed/tabbed.c +++ b/programs/tabbed/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) @@ -991,7 +1000,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);