aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config/sway
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-07-02 11:35:35 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-07-02 11:35:35 +0100
commit9c34010e1dce016d1b31d651dbcd332e747844e7 (patch)
tree1eedb7c98a2493e097b5a3eb1dff296527f51e20 /dot_config/sway
parentf0c626059451e1f8621600e610240739d5633560 (diff)
downloaddotfiles-9c34010e1dce016d1b31d651dbcd332e747844e7.tar.gz
dotfiles-9c34010e1dce016d1b31d651dbcd332e747844e7.tar.bz2
dotfiles-9c34010e1dce016d1b31d651dbcd332e747844e7.zip
Update Proton Bridge desktop integration
Diffstat (limited to 'dot_config/sway')
-rw-r--r--dot_config/sway/config3
-rw-r--r--dot_config/sway/executable_tb-autostart.sh12
2 files changed, 9 insertions, 6 deletions
diff --git a/dot_config/sway/config b/dot_config/sway/config
index 3e8a179..bfdfed1 100644
--- a/dot_config/sway/config
+++ b/dot_config/sway/config
@@ -264,8 +264,7 @@ exec systemctl --user import-environment PATH DISPLAY WAYLAND_DISPLAY SWAYSOCK X
exec dbus-update-activation-environment --systemd PATH DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_TYPE XDG_SESSION_DESKTOP PASSWORD_STORE_DIR GNUPGHOME GPG_TTY
exec "sleep 2 && ~/.config/sway/display-toggle.sh apply"
exec systemctl --user start sway-session.target
-# Disabled while Proton Mail Bridge auth refresh is broken.
-# exec ~/.config/sway/tb-autostart.sh
+exec ~/.config/sway/tb-autostart.sh
# GTK4 reads dark mode from gsettings (settings.ini's prefer-dark is GTK3 only).
exec gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
diff --git a/dot_config/sway/executable_tb-autostart.sh b/dot_config/sway/executable_tb-autostart.sh
index 3a85dc5..b7b9b78 100644
--- a/dot_config/sway/executable_tb-autostart.sh
+++ b/dot_config/sway/executable_tb-autostart.sh
@@ -8,22 +8,26 @@ set -eu
MARK=tb-main
BRIDGE_HOST=127.0.0.1
-BRIDGE_PORT=1143
+BRIDGE_IMAP_PORT=1144
+BRIDGE_SMTP_PORT=1016
# protonmail-bridge opens the IMAP socket early (before the keyring is
# unlocked), so "port is listening" is not enough — TB will race and pop up
# "failed to login to 127.0.0.1". Wait for the real IMAP '* OK' greeting,
# which the bridge only sends once it can actually service logins.
for _ in $(seq 1 300); do
- banner=$(ncat -w 1 -i 1 "$BRIDGE_HOST" "$BRIDGE_PORT" </dev/null 2>/dev/null | head -c 64)
+ banner=$(ncat -w 1 -i 1 "$BRIDGE_HOST" "$BRIDGE_IMAP_PORT" </dev/null 2>/dev/null | head -c 64)
case "$banner" in
"* OK"*) break ;;
esac
sleep 0.2
done
-# Small grace period so the SMTP listener (1025) catches up too.
-sleep 10
+# SMTP tends to come up after IMAP; wait briefly so TB sees both local servers.
+for _ in $(seq 1 50); do
+ ncat -z -w 1 "$BRIDGE_HOST" "$BRIDGE_SMTP_PORT" 2>/dev/null && break
+ sleep 0.2
+done
flatpak run org.mozilla.thunderbird &