diff options
| author | Joel R. <59534812+h0useofdupree@users.noreply.github.com> | 2025-07-28 05:08:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-28 13:08:54 +1000 |
| commit | 4feeaaabc68dd3fca32222db555dc9b9d670f913 (patch) | |
| tree | a1e2368a8d840b85374235d2d254788f32a8a78b /modules/launcher/Content.qml | |
| parent | bar: fix kb layout (diff) | |
| download | caelestia-shell-4feeaaabc68dd3fca32222db555dc9b9d670f913.tar.gz caelestia-shell-4feeaaabc68dd3fca32222db555dc9b9d670f913.tar.bz2 caelestia-shell-4feeaaabc68dd3fca32222db555dc9b9d670f913.zip | |
launcher: add optional vim-like keybinds (#282)
Diffstat (limited to 'modules/launcher/Content.qml')
| -rw-r--r-- | modules/launcher/Content.qml | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/launcher/Content.qml b/modules/launcher/Content.qml index e887bf9..0c41456 100644 --- a/modules/launcher/Content.qml +++ b/modules/launcher/Content.qml @@ -102,6 +102,27 @@ Item { Keys.onEscapePressed: root.visibilities.launcher = false + Keys.onPressed: event => { + if (!Config.launcher.vimKeybinds) + return; + + if (event.modifiers & Qt.ControlModifier) { + if (event.key === Qt.Key_J) { + list.currentList?.incrementCurrentIndex(); + event.accepted = true; + } else if (event.key === Qt.Key_K) { + list.currentList?.decrementCurrentIndex(); + event.accepted = true; + } + } else if (event.key === Qt.Key_Tab) { + list.currentList?.incrementCurrentIndex(); + event.accepted = true; + } else if (event.key === Qt.Key_Backtab || (event.key === Qt.Key_Tab && (event.modifiers & Qt.ShiftModifier))) { + list.currentList?.decrementCurrentIndex(); + event.accepted = true; + } + } + Connections { target: root.visibilities |