Add a Linger NumberField to the menu

Native qs.Ui.NumberField (SpinBox) for lingerMs: mouse wheel, +/- buttons
and typing, 0-10000ms in 500ms steps, writing config.json like Mode and
Position so the display updates live. 0 selects the always-show behavior
from the previous commit.
This commit is contained in:
felixzsh
2026-08-11 16:23:34 -05:00
parent a5c31aaef7
commit e7232840cb
3 changed files with 17 additions and 1 deletions
+13
View File
@@ -219,6 +219,19 @@ Panel {
] ]
onChanged: function(v) { root.writeConfig({ position: v }) } onChanged: function(v) { root.writeConfig({ position: v }) }
} }
// Linger --------------------------------------------------------
NumberField {
id: lingerField
width: parent.width
label: "Linger"
value: root.lingerMs
from: 0
to: 10000
stepSize: 500
// 0 = always show (keep the last combo until the next key).
onModified: function(v) { root.writeConfig({ lingerMs: v }) }
}
} }
} }
} }
+3
View File
@@ -65,6 +65,9 @@ menu, following the native bar-widget pattern:
- **Mode** — `All keys` or `Bindings only` (only combos with a modifier). - **Mode** — `All keys` or `Bindings only` (only combos with a modifier).
- **Position** — a dropdown with all nine placements (top/middle/bottom - **Position** — a dropdown with all nine placements (top/middle/bottom
× left/center/right) of the screen. × left/center/right) of the screen.
- **Linger** — a numeric field (wheel, +/ buttons, or typing) for how long
a released combo stays, 010s in 500ms steps; `0` keeps the last combo on
screen until the next key.
The menu writes the same pause flag and `config.json` that the display The menu writes the same pause flag and `config.json` that the display
panel watches, so it stays in sync across monitors. You can also drive it panel watches, so it stays in sync across monitors. You can also drive it
+1 -1
View File
@@ -2,7 +2,7 @@
"schemaVersion": 1, "schemaVersion": 1,
"id": "felixzsh.key-visualizer", "id": "felixzsh.key-visualizer",
"name": "Key Visualizer", "name": "Key Visualizer",
"version": "1.4.0", "version": "1.5.0",
"description": "Shows the keys you press on screen. Great for keybinding tutorials, demos, and screencasts.", "description": "Shows the keys you press on screen. Great for keybinding tutorials, demos, and screencasts.",
"kinds": [ "kinds": [
"panel", "panel",