anybar: adding experimental support for having both anybar + dwm bar(s) in play
This commit is contained in:
@@ -2,17 +2,32 @@ void
|
||||
managealtbar(Window win, XWindowAttributes *wa)
|
||||
{
|
||||
Monitor *m;
|
||||
Bar *bar;
|
||||
int i;
|
||||
if (!(m = recttomon(wa->x, wa->y, wa->width, wa->height)))
|
||||
return;
|
||||
|
||||
m->bar->win = win;
|
||||
m->bar->by = wa->y;
|
||||
bh = m->bar->bh = wa->height;
|
||||
for (i = 0, bar = m->bar; bar && bar->win && bar->next; bar = bar->next, ++i); // find last bar
|
||||
if (!bar) {
|
||||
bar = m->bar = ecalloc(1, sizeof(Bar));
|
||||
bar->topbar = topbar;
|
||||
} else if (bar && bar->win) {
|
||||
bar->next = ecalloc(1, sizeof(Bar));
|
||||
bar->next->topbar = !bar->topbar;
|
||||
bar = bar->next;
|
||||
}
|
||||
bar->external = 1;
|
||||
bar->showbar = 1;
|
||||
bar->mon = m;
|
||||
bar->idx = i;
|
||||
bar->borderpx = 0;
|
||||
bar->win = win;
|
||||
bar->bh = wa->height;
|
||||
updatebarpos(m);
|
||||
arrange(m);
|
||||
XSelectInput(dpy, win, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
|
||||
XMoveResizeWindow(dpy, win, wa->x, wa->y, wa->width, wa->height);
|
||||
XMapWindow(dpy, win);
|
||||
XMoveResizeWindow(dpy, bar->win, bar->bx, -bar->by, wa->width, bar->bh);
|
||||
arrange(selmon);
|
||||
XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend,
|
||||
(unsigned char *) &win, 1);
|
||||
}
|
||||
@@ -27,16 +42,21 @@ spawnbar()
|
||||
void
|
||||
unmanagealtbar(Window w)
|
||||
{
|
||||
Monitor *m = wintomon(w);
|
||||
Monitor *m = wintomon(w);
|
||||
Bar *bar;
|
||||
|
||||
if (!m)
|
||||
return;
|
||||
if (!m)
|
||||
return;
|
||||
|
||||
m->bar->win = 0;
|
||||
m->bar->by = 0;
|
||||
m->bar->bh = 0;
|
||||
updatebarpos(m);
|
||||
arrange(m);
|
||||
for (bar = m->bar; bar && bar->win; bar = bar->next)
|
||||
if (bar->win == w) {
|
||||
bar->win = 0;
|
||||
bar->by = 0;
|
||||
bar->bh = 0;
|
||||
break;
|
||||
}
|
||||
updatebarpos(m);
|
||||
arrange(m);
|
||||
}
|
||||
|
||||
int
|
||||
|
Reference in New Issue
Block a user