Skip to content

Move through results with Super+J/K - #84

Open
nchudleigh wants to merge 1 commit into
typecraft-dev:mainfrom
nchudleigh:feat/super-hjkl
Open

nchudleigh wants to merge 1 commit into
typecraft-dev:mainfrom
nchudleigh:feat/super-hjkl

Conversation

@nchudleigh

Copy link
Copy Markdown

Super+J and Super+K move the selection down and up in the list and in popups, in every navigation mode.

Hyprland handles its own Super bindings before a client sees the key (Omarchy binds Super+J to toggle split, and people often bind Super+K/L), so these never reached the launcher.

  • While the launcher is shown it dispatches hl.dsp.submap("omacast"), and "reset" when it hides or is destroyed while shown (omacast reload, disabling the plugin).
  • omacast setup hyprland now defines that submap and marks the launcher hotkey submap_universal, so the hotkey still closes the launcher.
  • The submap also holds back Omarchy's universal editing keys, so the two that mean something in the search field are handled directly: Super+V pastes into the query and Super+Backspace clears it.

An omacast.lua written before this has no submap. Hyprland rejects the dispatch, stays in its default submap and shows nothing, so nothing changes until setup is rerun or the lines are added. Setup won't rewrite an existing file.

Trade-off: while the launcher is open, every other Hyprland binding (media and volume keys too) waits until it closes.

H/L have no left/right movement to drive here yet; they fit the emoji grid in #73.

Checked:

  • Live on Hyprland 0.56 / Omarchy dev: the submap follows show and hide, and a reload while the launcher is shown returns Hyprland to the default submap.
  • On a fork build, Super+J/K move the selection without Omarchy's split toggle firing.
  • node --test tests/*.test.js and omarchy plugin validate . pass.

Not checked:

  • Super+V and Super+Backspace on this branch, live.
  • tests/smoke.sh fails with "no layer event seen". It fails the same way on main on this machine.

🤖 Generated with Claude Code

Super+J/K move the selection down and up in every navigation mode, in the
list and in popups. Hyprland handles its own Super bindings before a client
sees the key (Omarchy binds Super+J, and users often bind Super+K/L), so
while the launcher is shown it dispatches hl.dsp.submap("omacast"), and
"reset" when it hides. `omacast setup hyprland` now defines that submap and
marks the launcher hotkey submap_universal so it still closes the launcher.

The submap also holds back Omarchy's universal editing keys, so the two that
mean something in the search field are handled directly: Super+V pastes into
the query and Super+Backspace clears it.

An omacast.lua written before this has no submap: Hyprland rejects the
dispatch and stays in its default submap, so nothing changes until setup
is rerun or the lines are added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

2 participants