feat(dnd): swaync Do-Not-Disturb toggle + Waybar bell indicator
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>
This commit is contained in:
@@ -164,6 +164,14 @@ let
|
||||
[ -n "$q" ] || exit 0
|
||||
exec ${cfg.terminal} -e npx --yes @anthropic-ai/claude-code@latest "$q" ;;
|
||||
|
||||
dnd)
|
||||
# Toggle swaync Do-Not-Disturb (-d prints the new state). With DND
|
||||
# on, notifications are suppressed — the Waybar bell-off icon is the
|
||||
# cue — so only confirm with a toast when turning it back off.
|
||||
[ "$(swaync-client -d)" = "false" ] \
|
||||
&& notify-send "Do Not Disturb off" "Notifications resumed."
|
||||
exit 0 ;;
|
||||
|
||||
"")
|
||||
entries=(
|
||||
" Apps"
|
||||
@@ -178,6 +186,7 @@ let
|
||||
" Capture"
|
||||
" Keybindings"
|
||||
" Ask Claude"
|
||||
" Do Not Disturb"
|
||||
)
|
||||
# Power-profile picker only when this is a laptop (battery present)
|
||||
# running power-profiles-daemon — matches the Waybar indicator's
|
||||
@@ -201,12 +210,13 @@ let
|
||||
*Capture*) exec "$0" capture ;;
|
||||
*Keybindings*) exec "$0" keybinds ;;
|
||||
*Ask*) exec "$0" ask ;;
|
||||
*"Do Not Disturb"*) exec "$0" dnd ;;
|
||||
*"Power profile"*) exec "$0" power-profile ;;
|
||||
*Power*) exec "$0" power ;;
|
||||
esac ;;
|
||||
|
||||
*)
|
||||
echo "usage: nomarchy-menu [power|power-profile|theme|clipboard|calc|files|emoji|web|network|bluetooth|capture|keybinds|ask]" >&2
|
||||
echo "usage: nomarchy-menu [power|power-profile|theme|clipboard|calc|files|emoji|web|network|bluetooth|capture|keybinds|ask|dnd]" >&2
|
||||
exit 64 ;;
|
||||
esac
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user