Commit Graph

6 Commits

Author SHA1 Message Date
felixzsh a22c8eaa78 Replace the position buttons with a native Dropdown (9 placements)
The three Position buttons (Bottom/Top/Center) overlapped the label in
the menu's width. Use qs.Ui.Dropdown with the full 3x3 grid — top /
middle / bottom by left / center / right — the display panel already
positions all of them.
2026-08-11 15:45:40 -05:00
felixzsh 7e079de572 Fix the bar glyph: \uF030C parsed as \uF030 + "C"
JS \u takes exactly 4 hex digits, so \uF030C rendered U+F030 (fa-camera
in the Nerd Font's Font Awesome range) followed by a literal C — a camera
with a trailing c, exactly what was on the bar. U+F030C is in PUA-A and
needs a UTF-16 surrogate pair: \uDB80\uDF0C. Also correct the comment
name (it is md-keyboard, not md-keyboard_outline).
2026-08-11 15:41:22 -05:00
felixzsh 34646dec28 Fix pause toggle: never delete the flag file
The FileView watcher fires on content changes but not on deletion, so
resuming (rm of the flag) left the panel and the menu stuck paused.
Rewrite the flag with 0 or 1 instead, matching the state-file pattern
that already works.
2026-08-11 14:03:12 -05:00
felixzsh f255fa05e9 Fix the Show keys toggle: flip the real paused state
ToggleSwitch does not flip checked on click — it only emits toggled()
and the caller owns the value. Reading !checked there yielded the
current bound state, so setPaused's guard always early-returned and the
toggle never did anything. Flip !root.paused instead; the checked
binding follows the flag file.
2026-08-11 13:58:48 -05:00
felixzsh 5670aca888 Move config out of the plugin dir so edits don't reload the plugin
The shell watches every file under ~/.config/omarchy/plugins/ with
inotify (no extension filter) and reloads all plugin code on any change,
so config.json there made every edit tear down and rebuild the panel and
bar widget. Config now lives at ~/.config/omarchy/key-visualizer.json, which
is not watched: edits update the display live. The panel migrates the
old plugin-dir config (values carried over, file removed) on first load
after the update.
2026-08-11 13:42:24 -05:00
felixzsh 949f41a6be Turn the bar widget into a menu with toggle and display options
Clicking the keyboard glyph now opens a KeyboardPanel popup (the native
bar pattern, e.g. omarchy.audio) instead of toggling pause directly:
Show keys toggle, Mode (all | bindings), and Position (bottom/top/
center). The toggle writes the pause flag and the options write
config.json, both watched by the display panel, so menu and overlay
stay in sync across monitors. Replaces BarWidget.qml with a Panel-based
widget (Panel + BarIconButton + KeyboardPanel).
2026-08-11 13:26:32 -05:00