prevent fullscreen focus thievery

I believe this fixes #1102
master
Zandr Martin 8 years ago
parent 856984a7f6
commit 2d46fc5602
No known key found for this signature in database
GPG Key ID: AA2BB8EF77F7BBDC

@ -310,7 +310,7 @@ static void positioner_place_window(wlc_handle handle) {
/* default */ /* default */
} else { } else {
geo.origin.x -= geo.size.w / 2; geo.origin.x -= geo.size.w / 2;
} }
sway_log(L_DEBUG, "xdg-positioner: placing window %" PRIuPTR " " sway_log(L_DEBUG, "xdg-positioner: placing window %" PRIuPTR " "
"sized (%u,%u) offset by (%d,%d), " "sized (%u,%u) offset by (%d,%d), "
@ -605,10 +605,13 @@ static void handle_view_state_request(wlc_handle view, enum wlc_view_state_bit s
sway_log(L_DEBUG, "setting view %" PRIuPTR " %s, fullscreen %d", view, c->name, toggle); sway_log(L_DEBUG, "setting view %" PRIuPTR " %s, fullscreen %d", view, c->name, toggle);
arrange_windows(c->parent, -1, -1); arrange_windows(c->parent, -1, -1);
// Set it as focused window for that workspace if its going fullscreen // Set it as focused window for that workspace if its going fullscreen
swayc_t *ws = swayc_parent_by_type(c, C_WORKSPACE);
if (toggle) { if (toggle) {
swayc_t *ws = swayc_parent_by_type(c, C_WORKSPACE);
// Set ws focus to c // Set ws focus to c
set_focused_container_for(ws, c); set_focused_container_for(ws, c);
ws->fullscreen = c;
} else {
ws->fullscreen = NULL;
} }
} }
break; break;

Loading…
Cancel
Save