From: Andy Spencer Date: Mon, 9 Jul 2012 05:41:38 +0000 (+0000) Subject: Configure window when set to stack mode X-Git-Url: http://pileus.org/git/?p=wmpus;a=commitdiff_plain;h=f4ecdada45354c19e46d860a4563305780060635;hp=388eb868a0d40f38d7dfdcfb4034524b9e494037 Configure window when set to stack mode This matches the win32 behavior and prevents stacked windows from overlapping each other. This causes some flickering in pidign, possibly because the text area overlaps the menu bar when the window is shaded. --- diff --git a/sys-x11.c b/sys-x11.c index c55e537..68baaee 100644 --- a/sys-x11.c +++ b/sys-x11.c @@ -32,6 +32,7 @@ /* Configuration */ static int border = 2; static int no_capture = 0; +static int stack = 25; /* Internal structures */ struct win_sys { @@ -584,6 +585,8 @@ void sys_show(win_t *win, state_t state) break; case ST_SHADE: printf("sys_show: shade %p\n", win); + XConfigureWindow(win->sys->dpy, win->sys->xid, CWHeight, + &(XWindowChanges){ .height = stack }); XMapWindow(win->sys->dpy, win->sys->xid); break; case ST_ICON: @@ -667,6 +670,7 @@ win_t *sys_init(void) Window xid; /* Load configuration */ + stack = conf_get_int("main.stack", stack); border = conf_get_int("main.border", border); no_capture = conf_get_int("main.no-capture", no_capture);