From f4ecdada45354c19e46d860a4563305780060635 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Mon, 9 Jul 2012 05:41:38 +0000 Subject: [PATCH] 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. --- sys-x11.c | 4 ++++ 1 file changed, 4 insertions(+) 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); -- 2.43.2