diff options
| author | 2026-05-13 13:43:29 +0100 | |
|---|---|---|
| committer | 2026-05-13 13:43:29 +0100 | |
| commit | e331fd63eaa51a51a6af06560bbe226a6d47fa16 (patch) | |
| tree | 0c6bb57823f1710b297c6e83e618715f6659ca7f /dot_config/wofi | |
| parent | 0af53da3eb2574ca23758e6658b7683bcee4d6da (diff) | |
| download | dotfiles-e331fd63eaa51a51a6af06560bbe226a6d47fa16.tar.gz dotfiles-e331fd63eaa51a51a6af06560bbe226a6d47fa16.tar.bz2 dotfiles-e331fd63eaa51a51a6af06560bbe226a6d47fa16.zip | |
feat(notifications): persistent-pending model + wofi history picker
Notifications now behave like a phone: pop briefly, auto-disappear, and
remain "pending" until the user explicitly acknowledges them. The waybar
count reflects pending only; idle uses a quieter glyph.
State model:
pending = ids in mako history/list MINUS dismissed-set
state file: $XDG_RUNTIME_DIR/mako-dismissed (per-session id list)
Glyph change:
idle (0 pending) bell_outline U+F009C
has pending bell_ring U+F009E
(the previous bell_check_outline U+F11E8 "history present but nothing
pending" branch is gone — there is no separate history concept now)
Bindings (all now go through wrappers that maintain the dismissed-set):
Super+n dismiss top visible + mark seen
Super+Shift+n dismiss all visible + mark seen
Super+Ctrl+n restore most recent + pop it from dismissed-set
XF86Favorites history picker (rewritten on wofi)
History picker (dot_config/waybar/executable_mako-history.py):
- wofi --hide-search: arrow-only navigation, no fuzzy input
- lines tagged [pending] / [seen] with app + summary + body
- Enter re-emit via notify-send (re-shows the bubble) + mark seen
- Alt-c copy "summary\nbody" to clipboard via wl-copy
- Alt-d mark seen without re-showing
- empty history shows a sentinel, no-op on Enter
New scripts:
executable_dismiss-visible.sh capture id(s) then makoctl dismiss
executable_restore-pending.sh capture top-of-history id, restore,
then drop that id from dismissed-set
executable_mako-history.py Python rewrite (parses makoctl text
output, drives wofi)
Other:
meta/wayland.txt add wofi (only used by this picker)
dot_config/wofi/style.css minimal gruvbox style; hides input row
as belt-and-suspenders even though
--hide-search already does it
Diffstat (limited to 'dot_config/wofi')
| -rw-r--r-- | dot_config/wofi/style.css | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/dot_config/wofi/style.css b/dot_config/wofi/style.css new file mode 100644 index 0000000..2e2a4ea --- /dev/null +++ b/dot_config/wofi/style.css @@ -0,0 +1,46 @@ +/* Minimal gruvbox style for wofi. + * Currently used only by ~/.config/waybar/mako-history.py for its + * arrow-only notification picker. The search input row is always hidden + * via --hide-search, but we still hide it here in case wofi falls back. + */ + +* { + font-family: monospace, "Symbols Nerd Font Mono"; + font-size: 11pt; +} + +window { + background-color: #282828; + color: #ebdbb2; + border: 1px solid #fabd2f; +} + +#input { + /* belt-and-suspenders: hidden via --hide-search too */ + min-height: 0; + margin: 0; + padding: 0; + border: 0; + opacity: 0; +} + +#inner-box { + padding: 4px; +} + +#entry { + padding: 2px 6px; + background-color: transparent; + color: #ebdbb2; +} + +#entry:selected, +#entry:focus, +#entry selected { + background-color: #3c3836; + color: #fabd2f; +} + +#text { + color: inherit; +} |
