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 }) }
}
// 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).
- **Position** — a dropdown with all nine placements (top/middle/bottom
× 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
panel watches, so it stays in sync across monitors. You can also drive it
+1 -1
View File
@@ -2,7 +2,7 @@
"schemaVersion": 1,
"id": "felixzsh.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.",
"kinds": [
"panel",