From a2513e939aacf3584503cf82412eb6253e7cb126 Mon Sep 17 00:00:00 2001 From: purian23 Date: Fri, 3 Jul 2026 00:14:14 -0400 Subject: [PATCH] fix(NiriService): enhance column movement functions to focus on specified monitor - Fixes #2498 --- quickshell/Modules/DankBar/DankBarWindow.qml | 4 ++-- quickshell/Services/NiriService.qml | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/quickshell/Modules/DankBar/DankBarWindow.qml b/quickshell/Modules/DankBar/DankBarWindow.qml index 5b70ba40b..3b9901485 100644 --- a/quickshell/Modules/DankBar/DankBarWindow.qml +++ b/quickshell/Modules/DankBar/DankBarWindow.qml @@ -1158,9 +1158,9 @@ PanelWindow { if (!CompositorService.isNiri) return false; if (direction > 0) - NiriService.moveColumnRight(); + NiriService.moveColumnRight(barWindow.screenName); else - NiriService.moveColumnLeft(); + NiriService.moveColumnLeft(barWindow.screenName); return true; default: return false; diff --git a/quickshell/Services/NiriService.qml b/quickshell/Services/NiriService.qml index af31c3633..fc52e6a58 100644 --- a/quickshell/Services/NiriService.qml +++ b/quickshell/Services/NiriService.qml @@ -741,7 +741,19 @@ Singleton { }); } - function moveColumnLeft() { + function focusMonitor(outputName) { + return send({ + "Action": { + "FocusMonitor": { + "output": outputName + } + } + }); + } + + function moveColumnLeft(outputName) { + if (outputName && outputName !== currentOutput) + focusMonitor(outputName); return send({ "Action": { "FocusColumnLeft": {} @@ -749,7 +761,9 @@ Singleton { }); } - function moveColumnRight() { + function moveColumnRight(outputName) { + if (outputName && outputName !== currentOutput) + focusMonitor(outputName); return send({ "Action": { "FocusColumnRight": {}