global = default keybind layer #1988
Replies: 2 comments 2 replies
-
|
Yes |
Beta Was this translation helpful? Give feedback.
-
|
You can also add visual feedback to submaps by changing the active border color. I picked this up from a Reddit post by u/Economy_Cabinet_7719 and extended it across window, mouse, VM, and Emacs-driven workflows.Each mode enters a submap, updates the border color, and restores defaults on exit. Nested submaps are supported (e.g., resize → move → center). Note, these binds could probably be cleaned up and optimized better. ;These are aliases for active/inactive border colors general { ;Basic Submaps bind = ALT, R, exec, hyprctl keyword general:col.active_border "$border_colorize" && hyprctl dispatch submap resize submap = move submap = center bind = ALT, G, exec, hyprctl keyword general:col.active_border "$border_colorize" && hyprctl dispatch submap mousemode bind = ALT, M, exec, hyprctl keyword general:col.active_border "rgba(ff0000ee)" && hyprctl dispatch submap virtual-machine ; Emacs Submap (auto closes after bind execution) ; Enter Emacs submap + tint border (single hyprctl call) submap = emacs, global bind = , S, exec, bash -lc 'emacs >/dev/null 2>&1 & disown' && hyprctl keyword general:col.active_border "$border_normal" ; desc: New vterm frame (main terminal) ; desc: vterm-at-point inside project ; desc: Universal Launcher popup (replaces wofi/rofi) ; desc: Instant org-capture ; desc: Open notes.org ; desc: Open linux_commands.org ; desc: Org agenda dashboard ; desc: Password manager (pass) ; desc: Dirvish file browser ; desc: Bookmarks file ; desc: RSS reader (elfeed) ; desc: Emacs-everywhere (edit browser text) bind = , escape, exec, hyprctl keyword general:col.active_border "$border_normal" submap = global |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
After much meditation on the word
globalin line 6 of hyprland.conf, I came to the conclusion to useglobal, notreset, when exiting a submap.globalreturns you to the default keybind layer.Correct:
bind = ALT, P, submap, resize
submap = resize
binde = , right, resizeactive, 10 0
binde = , left, resizeactive,-10 0
binde = , up, resizeactive, 0 -10
binde = , down, resizeactive, 0 10
bind = , escape, submap, global
submap = global
Wrong:
bind = ALT, P, submap, resize
submap = resize
binde = , right, resizeactive, 10 0
binde = , left, resizeactive,-10 0
binde = , up, resizeactive, 0 -10
binde = , down, resizeactive, 0 10
bind = , escape, submap, reset
submap = reset
Is that right?

Beta Was this translation helpful? Give feedback.
All reactions