summaryrefslogtreecommitdiff
path: root/modules/session/Content.qml
diff options
context:
space:
mode:
Diffstat (limited to 'modules/session/Content.qml')
-rw-r--r--modules/session/Content.qml22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/session/Content.qml b/modules/session/Content.qml
index d90c0bc..4c0bc88 100644
--- a/modules/session/Content.qml
+++ b/modules/session/Content.qml
@@ -98,6 +98,28 @@ Column {
Keys.onEnterPressed: Quickshell.execDetached(button.command)
Keys.onReturnPressed: Quickshell.execDetached(button.command)
Keys.onEscapePressed: root.visibilities.session = false
+ Keys.onPressed: event => {
+ if (!Config.session.vimKeybinds)
+ return;
+
+ if (event.modifiers & Qt.ControlModifier) {
+ if (event.key === Qt.Key_J && KeyNavigation.down) {
+ KeyNavigation.down.focus = true;
+ event.accepted = true;
+ } else if (event.key === Qt.Key_K && KeyNavigation.up) {
+ KeyNavigation.up.focus = true;
+ event.accepted = true;
+ }
+ } else if (event.key === Qt.Key_Tab && KeyNavigation.down) {
+ KeyNavigation.down.focus = true;
+ event.accepted = true;
+ } else if (event.key === Qt.Key_Backtab || (event.key === Qt.Key_Tab && (event.modifiers & Qt.ShiftModifier))) {
+ if (KeyNavigation.up) {
+ KeyNavigation.up.focus = true;
+ event.accepted = true;
+ }
+ }
+ }
StateLayer {
radius: parent.radius