Skip to content

Fix Alt+Space setup conflicts after unbinding dictation - #83

Open
ccenturionn wants to merge 1 commit into
typecraft-dev:mainfrom
ccenturionn:fix/hyprland-active-shortcut-conflicts
Open

ccenturionn wants to merge 1 commit into
typecraft-dev:mainfrom
ccenturionn:fix/hyprland-active-shortcut-conflicts

Conversation

@ccenturionn

Copy link
Copy Markdown

Summary

omacast setup hyprland rejects Alt+Space even after a user removes the default dictation binding with hl.unbind("ALT + SPACE"). Its recursive search matches both the unbind call and the disabled default.

 setup hyprland
-  scan config files for Alt+Space text
+  query active bindings with hyprctl -j binds
+  reject active conflicts before writing config

The check recognizes key names and keycodes, ignores unrelated modifiers and submaps, and allows reruns with an existing omacast or legacy oma-cast shortcut. If Hyprland cannot return a JSON binding array, setup exits without changing config.

Evidence

  • Before the fix, the regression fixture with a default dictation binding and a user unbind failed with Alt+Space is already bound.
  • After the fix, all 14 setup regression tests pass. They cover real conflicts, universal submaps, repeated setup, legacy migration, and unavailable or malformed binding output.
  • node --test tests/*.test.js reports 152 passing tests, zero failures, and three skips.
  • bash -n bin/omacast, omarchy plugin validate ., and git diff --check pass.

Merge danger

Door: two-way. Reverting restores the previous conflict check.

Blast radius: setup. Hotkey setup now requires a running Hyprland session. The README documents that requirement. Existing launcher behavior does not change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant