opt: optimize viewcrossmon

This commit is contained in:
DreamMaoMao 2025-10-30 22:20:13 +08:00
parent eedff5b085
commit 633a11b225

View file

@ -186,7 +186,7 @@ int focusmon(const Arg *arg) {
return 0; return 0;
} }
if (!m || !m->wlr_output->enabled) if (!m || !m->wlr_output->enabled || m == selmon)
return 0; return 0;
old_selmon_sel = selmon->sel; old_selmon_sel = selmon->sel;
@ -1426,10 +1426,7 @@ int viewtoright_have_client(const Arg *arg) {
} }
int viewcrossmon(const Arg *arg) { int viewcrossmon(const Arg *arg) {
// Don't switch monitors if monitor is already focused focusmon(&(Arg){.v = arg->v, .i = UNDIR});
// 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); view_in_mon(arg, true, selmon, true);
return 0; return 0;
} }