diff -r f8f6841b3c1c config.def.h --- a/config.def.h Mon Aug 09 11:59:13 2010 +0100 +++ b/config.def.h Thu Nov 25 14:13:50 2010 +0100 @@ -7,6 +7,7 @@ static const char *after = ">"; static const int tabwidth = 200; static const Bool foreground = False; +static const Bool topbar = False; #define MODKEY ControlMask static Key keys[] = { \ diff -r f8f6841b3c1c tabbed.c --- a/tabbed.c Mon Aug 09 11:59:13 2010 +0100 +++ b/tabbed.c Thu Nov 25 14:13:50 2010 +0100 @@ -237,7 +237,7 @@ if((c = getclient(ev->window))) { wc.x = 0; - wc.y = bh; + wc.y = topbar ? bh : 0; wc.width = ww; wc.height = wh - bh; wc.border_width = 0; @@ -286,7 +286,7 @@ 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, bh, 0, topbar ? 0 : wh - bh); XSync(dpy, False); return; } @@ -323,7 +323,7 @@ dc.x += dc.w; c->tabx = dc.x; } - XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, bh, 0, 0); + XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, ww, bh, 0, topbar ? 0 : wh - bh); XSync(dpy, False); } @@ -569,7 +569,7 @@ XEvent e; XWithdrawWindow(dpy, w, 0); - XReparentWindow(dpy, w, win, 0, bh); + XReparentWindow(dpy, w, win, 0, topbar ? bh : 0); XSelectInput(dpy, w, PropertyChangeMask|StructureNotifyMask|EnterWindowMask); XSync(dpy, False); for(i = 0; i < LENGTH(keys); i++) { @@ -639,7 +639,7 @@ XWindowChanges wc; ce.x = 0; - ce.y = bh; + ce.y = topbar ? bh : 0; ce.width = wc.width = w; ce.height = wc.height = h; ce.type = ConfigureNotify;