return;
}
+ if (view->server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) {
+ wlr_log(WLR_DEBUG, "not focusing window while window switching");
+ return;
+ }
+
if (view->minimized) {
/*
* Unminimizing will map the view which triggers a call to this
void
foreign_request_activate(struct foreign_toplevel *toplevel)
{
- if (toplevel->view->server->input_mode
- == LAB_INPUT_STATE_WINDOW_SWITCHER) {
- wlr_log(WLR_INFO, "Preventing focus request while in window switcher");
- return;
- }
-
desktop_focus_view(toplevel->view, /*raise*/ true);
}
dnd_icons_move(seat, seat->cursor->x, seat->cursor->y);
}
- if ((ctx.view || ctx.surface) && rc.focus_follow_mouse
- && server->input_mode
- != LAB_INPUT_STATE_WINDOW_SWITCHER) {
+ if ((ctx.view || ctx.surface) && rc.focus_follow_mouse) {
desktop_focus_view_or_surface(seat, ctx.view, ctx.surface,
rc.raise_on_focus);
}
struct cursor_context ctx = get_cursor_context(server);
if ((ctx.view || ctx.surface) && rc.focus_follow_mouse
- && !rc.focus_follow_mouse_requires_movement
- && server->input_mode
- != LAB_INPUT_STATE_WINDOW_SWITCHER) {
+ && !rc.focus_follow_mouse_requires_movement) {
/*
* Always focus the surface below the cursor when
* followMouse=yes and followMouseRequiresMovement=no.
- *
- * We should ignore them while window-switching though, because
- * calling desktop_focus_view() un-minimizes previewed window.
*/
desktop_focus_view_or_surface(&server->seat, ctx.view,
ctx.surface, rc.raise_on_focus);
view_minimize(struct view *view, bool minimized)
{
assert(view);
+
+ if (view->server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) {
+ wlr_log(WLR_ERROR, "not minimizing window while window switching");
+ return;
+ }
+
/*
* Minimize the root window first because some xwayland clients send a
* request-unmap to sub-windows at this point (for example gimp and its
return;
}
- if (view->server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) {
- wlr_log(WLR_INFO, "Preventing focus request while in window switcher");
- return;
- }
-
wlr_log(WLR_DEBUG, "Activating surface");
desktop_focus_view(view, /*raise*/ true);
}
return;
}
- if (view->server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) {
- wlr_log(WLR_INFO, "Preventing focus request while in window switcher");
- return;
- }
-
desktop_focus_view(view, /*raise*/ true);
}