Adds a Do-Not-Disturb story on top of swaync: - Waybar `custom/notification` module via `swaync-client -swb` — streams the notification count + DND state (no polling). Left-click toggles the panel, right-click toggles DND; bell-off glyph + muted color when DND is on, accent when notifications are waiting. - `nomarchy-menu dnd` toggle in the root picker and bound to SUPER+CTRL+D (so it shows in the SUPER+? cheatsheet). Turning DND off confirms with a toast; turning it on is silent — notifications are suppressed and the bell-off icon is the cue. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
69 lines
4.8 KiB
Nix
69 lines
4.8 KiB
Nix
# Canonical keybind list — the single source of truth for BOTH the
|
|
# Hyprland `bind` strings (hyprland.nix) and the SUPER+? cheatsheet
|
|
# rendered by nomarchy-menu (rofi.nix). One place, no second renderer to
|
|
# keep in sync — the same rule the theme pipeline follows.
|
|
#
|
|
# mods — modifier string, Hyprland syntax ("$mod", "$mod SHIFT", "")
|
|
# key — the key name
|
|
# action — the Hyprland dispatcher (+args) that the bind runs
|
|
# desc — human label, shown in the cheatsheet
|
|
#
|
|
# `extra` holds cheatsheet-only rows for binds generated elsewhere
|
|
# (per-workspace numbers, mouse drags) so they still show up under SUPER+?.
|
|
{
|
|
binds = [
|
|
{ mods = "$mod"; key = "Return"; action = "exec, $terminal"; desc = "Open terminal"; }
|
|
{ mods = "$mod"; key = "Space"; action = "exec, rofi -show drun"; desc = "Quick launch (apps)"; }
|
|
{ mods = "$mod"; key = "D"; action = "exec, rofi -show drun"; desc = "App launcher"; }
|
|
{ mods = "$mod"; key = "M"; action = "exec, nomarchy-menu"; desc = "Main menu"; }
|
|
{ mods = "$mod"; key = "E"; action = "exec, $terminal -e yazi"; desc = "File manager (yazi)"; }
|
|
{ mods = "$mod"; key = "Q"; action = "killactive"; desc = "Close window"; }
|
|
{ mods = "$mod"; key = "F"; action = "fullscreen"; desc = "Fullscreen"; }
|
|
{ mods = "$mod"; key = "V"; action = "togglefloating"; desc = "Toggle floating"; }
|
|
{ mods = "$mod SHIFT"; key = "E"; action = "exit"; desc = "Exit Hyprland"; }
|
|
|
|
# Theme picker (menu dispatcher): apply writes the state and runs
|
|
# home-manager switch (progress via notify-send).
|
|
{ mods = "$mod"; key = "T"; action = "exec, nomarchy-menu theme"; desc = "Theme picker"; }
|
|
# Cycle the current theme's wallpapers (instant, no rebuild).
|
|
{ mods = "$mod SHIFT"; key = "T"; action = "exec, nomarchy-theme-sync bg next"; desc = "Next wallpaper"; }
|
|
|
|
# Power menu via the dispatcher. Not Escape: Super+Escape gets
|
|
# swallowed before reaching the dispatcher on some setups.
|
|
{ mods = "$mod"; key = "X"; action = "exec, nomarchy-menu power"; desc = "Power menu"; }
|
|
|
|
{ mods = "$mod"; key = "N"; action = "exec, swaync-client -t"; desc = "Notification centre"; }
|
|
# SUPER+? (the "question" keysym already implies Shift on most layouts).
|
|
{ mods = "$mod"; key = "question"; action = "exec, nomarchy-menu keybinds"; desc = "Keybindings cheatsheet"; }
|
|
|
|
# Menu functions — SUPER+CTRL+<mnemonic> jumps straight to a
|
|
# nomarchy-menu module (all also reachable from the SUPER+M picker).
|
|
{ mods = "$mod CTRL"; key = "V"; action = "exec, nomarchy-menu clipboard"; desc = "Clipboard history"; }
|
|
{ mods = "$mod CTRL"; key = "C"; action = "exec, nomarchy-menu calc"; desc = "Calculator"; }
|
|
{ mods = "$mod CTRL"; key = "W"; action = "exec, nomarchy-menu web"; desc = "Web search"; }
|
|
{ mods = "$mod CTRL"; key = "F"; action = "exec, nomarchy-menu files"; desc = "File search"; }
|
|
{ mods = "$mod CTRL"; key = "E"; action = "exec, nomarchy-menu emoji"; desc = "Emoji picker"; }
|
|
{ mods = "$mod CTRL"; key = "N"; action = "exec, nomarchy-menu network"; desc = "Network (nmtui)"; }
|
|
{ mods = "$mod CTRL"; key = "B"; action = "exec, nomarchy-menu bluetooth"; desc = "Bluetooth"; }
|
|
{ mods = "$mod CTRL"; key = "S"; action = "exec, nomarchy-menu capture"; desc = "Screenshot / capture"; }
|
|
{ mods = "$mod CTRL"; key = "A"; action = "exec, nomarchy-menu ask"; desc = "Ask Claude"; }
|
|
{ mods = "$mod CTRL"; key = "D"; action = "exec, nomarchy-menu dnd"; desc = "Do Not Disturb toggle"; }
|
|
|
|
# Focus
|
|
{ mods = "$mod"; key = "H"; action = "movefocus, l"; desc = "Focus left"; }
|
|
{ mods = "$mod"; key = "L"; action = "movefocus, r"; desc = "Focus right"; }
|
|
{ mods = "$mod"; key = "K"; action = "movefocus, u"; desc = "Focus up"; }
|
|
{ mods = "$mod"; key = "J"; action = "movefocus, d"; desc = "Focus down"; }
|
|
|
|
# Screenshot region to clipboard (the menu's Capture module has more).
|
|
{ mods = ""; key = "Print"; action = "exec, grim -g \"$(slurp)\" - | wl-copy"; desc = "Screenshot region → clipboard"; }
|
|
];
|
|
|
|
extra = [
|
|
{ keys = "SUPER + 1-9"; desc = "Switch to workspace 1-9"; }
|
|
{ keys = "SUPER + SHIFT + 1-9"; desc = "Move window to workspace 1-9"; }
|
|
{ keys = "SUPER + drag"; desc = "Move (LMB) / resize (RMB) window"; }
|
|
{ keys = "Volume / Brightness"; desc = "Hardware keys, shown via the OSD"; }
|
|
];
|
|
}
|