diff --git a/src/wayland/handlers/toplevel_management.rs b/src/wayland/handlers/toplevel_management.rs index 2b1232d5..3da39952 100644 --- a/src/wayland/handlers/toplevel_management.rs +++ b/src/wayland/handlers/toplevel_management.rs @@ -111,8 +111,10 @@ impl ToplevelManagementHandler for State { std::mem::drop(shell); // move pointer to window if it’s on a different monitor/output - let switching_output = seat.active_output() != *output; - if switching_output && let Some(new_pos) = new_pos { + if seat.active_output() != *output + && self.common.config.cosmic_conf.cursor_follows_focus + && let Some(new_pos) = new_pos + { seat.set_active_output(output); if let Some(ptr) = seat.get_pointer() { let serial = SERIAL_COUNTER.next_serial();