feat(hyprland): launch-or-focus binds (item 17)
All checks were successful
Check / eval (push) Successful in 3m4s
All checks were successful
Check / eval (push) Successful in 3m4s
nomarchy.launchOrFocus (opt-in, commented template example): each entry gives a key that FOCUSES the app's existing window (case-insensitive class match via jq + a "(?i)" focuswindow regex) or launches it when none is open. One shared nomarchy-focus-or-launch script; a bind whose command was removed from the suite fires a "not installed" toast instead of failing silently. The same entries render into the SUPER+? cheatsheet through prettyKeys — bind and documentation stay one source. README row added. Verified: V0; V1 — a scratch downstream with two entries renders both binds (default command = lowercased class; custom mods/command/desc honored), the script passes bash -n with a usage guard, and the cheatsheet carries both rows. Focus behaviour needs a session -> V3 (HARDWARE-QUEUE). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -125,6 +125,12 @@ let
|
||||
map (b: padRight 22 (prettyKeys b) + b.desc) (keybinds.binds
|
||||
++ lib.optionals (lib.hasInfix "," cfg.keyboard.layout)
|
||||
keybinds.multiLayoutBinds)
|
||||
# Launch-or-focus binds (nomarchy.launchOrFocus, generated in
|
||||
# hyprland.nix) — same renderer, so they land in the cheatsheet too.
|
||||
++ map (e: padRight 22 (prettyKeys e)
|
||||
+ (if e.desc != "" then e.desc
|
||||
else "Focus or launch ${if e.command == "" then lib.toLower e.class else e.command}"))
|
||||
cfg.launchOrFocus
|
||||
++ map (e: padRight 22 e.keys + e.desc) keybinds.extra;
|
||||
cheatsheetFile = pkgs.writeText "nomarchy-keybinds.txt"
|
||||
(lib.concatStringsSep "\n" cheatRows + "\n");
|
||||
|
||||
Reference in New Issue
Block a user