handle_configure_request: check for scratchpad once

This commit is contained in:
Orestis Floros 2018-08-22 14:23:01 +03:00
parent 9190a9ab70
commit e1a83d057f
No known key found for this signature in database
GPG Key ID: E9AD9F32E401E38F
1 changed files with 4 additions and 11 deletions

View File

@ -311,6 +311,10 @@ static void handle_configure_request(xcb_configure_request_event_t *event) {
DLOG("Configure request!\n"); DLOG("Configure request!\n");
Con *workspace = con_get_workspace(con); Con *workspace = con_get_workspace(con);
if (workspace && (strcmp(workspace->name, "__i3_scratch") == 0)) {
DLOG("This is a scratchpad container, ignoring ConfigureRequest\n");
goto out;
}
Con *fullscreen = con_get_fullscreen_covering_ws(workspace); Con *fullscreen = con_get_fullscreen_covering_ws(workspace);
if (fullscreen != con && con_is_floating(con) && con_is_leaf(con)) { if (fullscreen != con && con_is_floating(con) && con_is_leaf(con)) {
@ -324,12 +328,6 @@ static void handle_configure_request(xcb_configure_request_event_t *event) {
bsr.height -= deco_height; bsr.height -= deco_height;
} }
Con *floatingcon = con->parent; Con *floatingcon = con->parent;
if (strcmp(con_get_workspace(floatingcon)->name, "__i3_scratch") == 0) {
DLOG("This is a scratchpad container, ignoring ConfigureRequest\n");
goto out;
}
Rect newrect = floatingcon->rect; Rect newrect = floatingcon->rect;
if (event->value_mask & XCB_CONFIG_WINDOW_X) { if (event->value_mask & XCB_CONFIG_WINDOW_X) {
@ -410,11 +408,6 @@ static void handle_configure_request(xcb_configure_request_event_t *event) {
goto out; goto out;
} }
if (strcmp(workspace->name, "__i3_scratch") == 0) {
DLOG("This is a scratchpad container, ignoring ConfigureRequest\n");
goto out;
}
if (config.focus_on_window_activation == FOWA_FOCUS || (config.focus_on_window_activation == FOWA_SMART && workspace_is_visible(workspace))) { if (config.focus_on_window_activation == FOWA_FOCUS || (config.focus_on_window_activation == FOWA_SMART && workspace_is_visible(workspace))) {
DLOG("Focusing con = %p\n", con); DLOG("Focusing con = %p\n", con);
workspace_show(workspace); workspace_show(workspace);