Orion/2. Areas/Home Personal/knowledge/hyprctl-dispatch-lua-shim-syntax.md
Avi a66996ac10 Orion vault — clean initial history
Knowledge vault (Orion/PARA) migrated from the pre-Orion 484vault on
2026-10-01. Deliberately orphaned: prior history contained a plaintext
password and stays local-only on branch archive/pre-boilerplate-history.
Secrets and live Hermes state are gitignored.
2026-10-02 08:34:48 -05:00

1.1 KiB

hyprctl dispatch fails with classic syntax (Lua shim on this box)

Date: 2026-09-13 · Machine: Framework Laptop (Omarchy, Hyprland)

Symptom

hyprctl dispatch focuswindow pid:N, bringactivetop, etc. silently fail or error — the usual Hyprland dispatch verbs don't resolve.

Diagnosis path

  1. which hyprctl / inspect the binary: on this machine hyprctl is wrapped in a Lua shim that only accepts Lua-form dispatches.
  2. Classic verb syntax will never work here regardless of quoting.

Fix

Use the Lua dispatch forms:

  • Focus by pid: hyprctl dispatch "hl.dsp.focus({window='pid:N'})"
  • Bring to top: hyprctl dispatch "hl.dsp.window.bring_to_top(...)"
  • Focus workspace: hyprctl dispatch "hl.dsp.focus({workspace='N'})"

Notes

  • Related quirk: omafiles is effectively single-instance via a shared ~/.local/state/omafiles/session.toml — to run a test instance side-by-side, give it an isolated XDG_STATE_HOME.
  • F2-rename feature for omafiles was built at ~/Projects/omafiles (release binary ready; installing over /usr/bin/omafiles needs sudo cp).

Related: Omarchy Commands