From 2764b1103a287be7d949fe201b3a7a4a9d70f019 Mon Sep 17 00:00:00 2001 From: reDpz Date: Wed, 29 Oct 2025 14:41:29 +0000 Subject: [PATCH] Set arg.i = UNDIR so that focusmon uses arg.v to select monitor --- src/dispatch/bind_define.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index e487473..d628970 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -1426,7 +1426,10 @@ int viewtoright_have_client(const Arg *arg) { } int viewcrossmon(const Arg *arg) { - focusmon(arg); + // Don't switch monitors if monitor is already focused + // This also prevents cursorwarp + if (!regex_match(arg->v, selmon->wlr_output->name)) + focusmon(&(Arg){.v = arg->v, .i = UNDIR}); view_in_mon(arg, true, selmon, true); return 0; }