diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-07 19:11:19 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-07 19:11:19 +0200 |
| commit | fe80b03136a141fb6832474e7dd6dc0ba822e454 (patch) | |
| tree | d5d9956c507279d9fdaa22e0687a2e7de105e274 /desktop/modules | |
| parent | aace0a7da95e8ed6d680df8a5b466b9d7b24e855 (diff) | |
| download | quickshell-fe80b03136a141fb6832474e7dd6dc0ba822e454.tar.gz quickshell-fe80b03136a141fb6832474e7dd6dc0ba822e454.zip | |
chore: remove waybar
The island replaces both bars: clock and VM dots in the clock pill, volume,
tray, layout flag and privacy in the status pill and its sliver, mail count
in the drawer. The icon switch no longer regenerates or reloads waybar, and
the mail pill's watcher script goes with it. Workspaces and the taskbar have
no persistent view by decision: the flick and the expose cover them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules')
| -rwxr-xr-x | desktop/modules/mail/mail-notify.sh | 6 | ||||
| -rwxr-xr-x | desktop/modules/mail/waybar-mail.sh | 68 |
2 files changed, 3 insertions, 71 deletions
diff --git a/desktop/modules/mail/mail-notify.sh b/desktop/modules/mail/mail-notify.sh index b132775..968799c 100755 --- a/desktop/modules/mail/mail-notify.sh +++ b/desktop/modules/mail/mail-notify.sh @@ -19,9 +19,9 @@ # mail, since reading and tagging also commit, which is why the revision # counter does the work rather than a count delta. # -# This is its own process rather than part of waybar-mail.sh, which already -# has the same arrival edge: waybar owns that process, so a bar restart would -# stop notifications with nothing reporting it. +# This is its own process rather than part of a bar: a bar restart would +# otherwise stop notifications with nothing reporting it. (It began next to +# waybar-mail.sh, which watched the same arrival edge and went with waybar.) # # Usage: # mail-notify.sh watch forever (what autostart runs) diff --git a/desktop/modules/mail/waybar-mail.sh b/desktop/modules/mail/waybar-mail.sh deleted file mode 100755 index 207a86e..0000000 --- a/desktop/modules/mail/waybar-mail.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2026 Danilo M. <danix@danix.xyz> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# Waybar custom module in continuous mode: prints one JSON line per notmuch -# commit, forever, and waybar redraws on each line. Waybar owns this process, -# which is why there is no daemon to supervise and no interval to tune. -# -# The count is the total across every account. A per account breakdown is the -# drawer's job; see desktop/modules/mail/README.md. - -set -u - -QUERY='tag:unread and tag:inbox' - -# notmuch knows where its own database is, so this follows a moved database -# without an edit here. -db="$(notmuch config get database.path 2>/dev/null)/xapian" - -emit() { - local n - n="$(notmuch count "$QUERY" 2>/dev/null)" - - # The output is the test, not the exit status. notmuch fails two different - # ways: a rejected query prints nothing and exits 1, while a query Xapian - # merely misparses ('tag:unread and ((') returns a plausible wrong number - # and exits 0. Only the first is detectable, and it is the one that matters - # here, because empty output would otherwise render as "no new mail". The - # second is why QUERY is a fixed string and not built from anything. - if [[ ! "$n" =~ ^[0-9]+$ ]]; then - printf '{"text":"!","tooltip":"notmuch count failed","class":"error"}\n' - return - fi - - if [[ "$n" -eq 0 ]]; then - printf '{"text":"","class":"empty"}\n' - else - printf '{"text":"%s","class":"unread"}\n' "$n" - fi -} - -if [[ ! -d "$db" ]]; then - printf '{"text":"!","tooltip":"no notmuch database","class":"error"}\n' - exit 1 -fi - -emit - -while inotifywait -qq -e close_write,moved_to "$db" 2>/dev/null; do - # One commit touches several files. Without this the module redraws three - # or four times per sync with intermediate counts. - sleep 0.3 - emit -done - -# Falling out of the loop means inotifywait itself failed. Say so rather than -# exiting silently, which looks like an empty inbox. -printf '{"text":"!","tooltip":"mail watcher stopped","class":"error"}\n' -exit 1 |
