Bugfix: Don’t allow ConfigureRequests while in fullscreen (Thanks Piotr)

This fixes a compatibility issue with gnome-terminal and xfce’s
terminal, where fullscreening would lead to moving the window and not
displaying the contents properly.

fixes #788
This commit is contained in:
Michael Stapelberg 2012-09-04 20:21:07 +02:00
parent 2ac3b08cf6
commit 5b95e20a62
1 changed files with 13 additions and 1 deletions

View File

@ -374,7 +374,19 @@ static void handle_configure_request(xcb_configure_request_event_t *event) {
} }
DLOG("Configure request!\n"); DLOG("Configure request!\n");
if (con_is_floating(con) && con_is_leaf(con)) {
Con *workspace = con_get_workspace(con),
*fullscreen = NULL;
/* There might not be a corresponding workspace for dock cons, therefore we
* have to be careful here. */
if (workspace) {
fullscreen = con_get_fullscreen_con(workspace, CF_OUTPUT);
if (!fullscreen)
fullscreen = con_get_fullscreen_con(workspace, CF_GLOBAL);
}
if (fullscreen != con && con_is_floating(con) && con_is_leaf(con)) {
/* find the height for the decorations */ /* find the height for the decorations */
int deco_height = config.font.height + 5; int deco_height = config.font.height + 5;
/* we actually need to apply the size/position changes to the *parent* /* we actually need to apply the size/position changes to the *parent*