sway: drop -t 2000/-t 3000 from notify-send, source restore-wayland-env in toggle-dropdown/wifi-menu
The actual cause of 'caffeine notification doesn't show' was the -t 2000 timeout: the notification popped for 2 seconds and self-cleared before the user could see it. Manual notify-send from a terminal (no -t flag) used mako's default-timeout=5000 and was visible — so the user saw my test notifications but not their own clicks. Fix: drop the -t flag everywhere so mako config owns the duration. Added: source restore-wayland-env.sh in toggle-dropdown.sh and wifi-menu.sh — same env-loss pattern as caffeine.sh, would have been next on the bug list. Verified on tadbit: -t 2000 notification visible at +0.5s, gone at +2.5s (user missed it). No -t flag: visible at +0.5s, gone at +5.5s (visible long enough to read).
This commit is contained in:
parent
d78ba4152b
commit
27ae3a3b18
3 changed files with 28 additions and 13 deletions
|
|
@ -30,10 +30,14 @@ if [ -f "$FLAG" ]; then
|
||||||
rm -f "$FLAG"
|
rm -f "$FLAG"
|
||||||
killall swayidle 2>/dev/null
|
killall swayidle 2>/dev/null
|
||||||
"$HOME/.config/sway/start-swayidle.sh" &
|
"$HOME/.config/sway/start-swayidle.sh" &
|
||||||
notify-send -t 2000 "☕ Caffeine OFF" "Idle sleep enabled" 2>/dev/null
|
# No -t flag → mako's `default-timeout` (currently 5000ms) controls duration.
|
||||||
|
# Earlier this used -t 2000 (2 seconds) but that vanished faster than the
|
||||||
|
# user could see it — the click "appeared to do nothing" because the
|
||||||
|
# notification popped and self-cleared in 2s. mako config owns the timeout.
|
||||||
|
notify-send "☕ Caffeine OFF" "Idle sleep enabled" 2>/dev/null
|
||||||
else
|
else
|
||||||
# Turn ON caffeine — kill swayidle
|
# Turn ON caffeine — kill swayidle
|
||||||
touch "$FLAG"
|
touch "$FLAG"
|
||||||
killall swayidle 2>/dev/null
|
killall swayidle 2>/dev/null
|
||||||
notify-send -t 2000 "☕ Caffeine ON" "Idle sleep disabled" 2>/dev/null
|
notify-send "☕ Caffeine ON" "Idle sleep disabled" 2>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,13 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# toggle-dropdown.sh — toggle the dropdown foot terminal
|
# toggle-dropdown.sh — toggle the dropdown foot terminal
|
||||||
# Writes debug info to /tmp/sway-f12.log so we can diagnose from SSH
|
# Writes debug info to /tmp/sway-f12.log so we can diagnose from SSH
|
||||||
|
#
|
||||||
|
# waybar's on-click context strips WAYLAND_DISPLAY, which swaymsg + foot
|
||||||
|
# both need. Source restore-wayland-env.sh at the top so the entire
|
||||||
|
# script runs with the right env (mirrors caffeine.sh's pattern).
|
||||||
|
|
||||||
|
# shellcheck source=restore-wayland-env.sh
|
||||||
|
source "$HOME/.config/sway/restore-wayland-env.sh"
|
||||||
|
|
||||||
LOG=/tmp/sway-f12.log
|
LOG=/tmp/sway-f12.log
|
||||||
echo "=== $(date) F12/Super+grave pressed ===" >> "$LOG"
|
echo "=== $(date) F12/Super+grave pressed ===" >> "$LOG"
|
||||||
|
|
@ -13,7 +20,7 @@ echo "SOCK=$SOCK" >> "$LOG"
|
||||||
|
|
||||||
if [ -z "$SOCK" ]; then
|
if [ -z "$SOCK" ]; then
|
||||||
echo "ERROR: no sway socket found" >> "$LOG"
|
echo "ERROR: no sway socket found" >> "$LOG"
|
||||||
notify-send -t 2000 "sway: no IPC socket" 2>>"$LOG" || true
|
notify-send "sway: no IPC socket" 2>>"$LOG" || true
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -42,17 +49,12 @@ if [ "$HIDDEN" = "hidden" ]; then
|
||||||
SWAYSOCK=$SOCK swaymsg '[app_id="foot"] scratchpad show' >>"$LOG" 2>&1
|
SWAYSOCK=$SOCK swaymsg '[app_id="foot"] scratchpad show' >>"$LOG" 2>&1
|
||||||
echo "toggled: scratchpad show" >> "$LOG"
|
echo "toggled: scratchpad show" >> "$LOG"
|
||||||
else
|
else
|
||||||
# Spawn a new foot. Pass through WAYLAND_DISPLAY explicitly.
|
# Spawn a new foot. WAYLAND_DISPLAY is now set by restore-wayland-env.sh.
|
||||||
if [ -n "$WAYLAND_DISPLAY" ]; then
|
if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||||
WAYLAND_DISPLAY=$WAYLAND_DISPLAY foot >>"$LOG" 2>&1 &
|
WAYLAND_DISPLAY=$WAYLAND_DISPLAY foot >>"$LOG" 2>&1 &
|
||||||
else
|
|
||||||
# try to find wayland-1 socket
|
|
||||||
if [ -S "/run/user/$(id -u)/wayland-1" ]; then
|
|
||||||
WAYLAND_DISPLAY=wayland-1 foot >>"$LOG" 2>&1 &
|
|
||||||
else
|
else
|
||||||
foot >>"$LOG" 2>&1 &
|
foot >>"$LOG" 2>&1 &
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
echo "spawned foot" >> "$LOG"
|
echo "spawned foot" >> "$LOG"
|
||||||
fi
|
fi
|
||||||
echo "=== done ===" >> "$LOG"
|
echo "=== done ===" >> "$LOG"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,13 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# wifi-menu.sh — wofi-based WiFi network picker using nmcli
|
# wifi-menu.sh — wofi-based WiFi network picker using nmcli
|
||||||
# Lists available networks, connects on selection.
|
# Lists available networks, connects on selection.
|
||||||
|
#
|
||||||
|
# wofi needs WAYLAND_DISPLAY (it IS a Wayland client itself, so it can
|
||||||
|
# usually find the socket, but on a non-standard socket it's safer to
|
||||||
|
# be explicit). Source restore-wayland-env.sh at the top.
|
||||||
|
|
||||||
|
# shellcheck source=restore-wayland-env.sh
|
||||||
|
source "$HOME/.config/sway/restore-wayland-env.sh"
|
||||||
|
|
||||||
# Get list of networks: SSID, signal, security
|
# Get list of networks: SSID, signal, security
|
||||||
SELECTED=$(nmcli -t -f SSID,SIGNAL,SECURITY device wifi list --rescan yes 2>/dev/null | \
|
SELECTED=$(nmcli -t -f SSID,SIGNAL,SECURITY device wifi list --rescan yes 2>/dev/null | \
|
||||||
|
|
@ -23,7 +30,9 @@ SELECTED=$(nmcli -t -f SSID,SIGNAL,SECURITY device wifi list --rescan yes 2>/dev
|
||||||
# Extract SSID (everything after the signal bars + spaces)
|
# Extract SSID (everything after the signal bars + spaces)
|
||||||
SSID=$(echo "$SELECTED" | sed 's/^[█░ ]* //; s/ 🔒$//')
|
SSID=$(echo "$SELECTED" | sed 's/^[█░ ]* //; s/ 🔒$//')
|
||||||
|
|
||||||
# Connect
|
# Connect. No -t flag → mako's default-timeout (5000ms) controls the duration.
|
||||||
|
# Earlier used -t 3000/-t 5000; the inconsistency meant the user could
|
||||||
|
# blink and miss the success notification. Let mako config drive the value.
|
||||||
nmcli device wifi connect "$SSID" 2>&1 | grep -q "successfully" && \
|
nmcli device wifi connect "$SSID" 2>&1 | grep -q "successfully" && \
|
||||||
notify-send -t 3000 "WiFi" "Connected to $SSID" || \
|
notify-send "WiFi" "Connected to $SSID" || \
|
||||||
notify-send -t 5000 "WiFi" "Failed to connect to $SSID"
|
notify-send "WiFi" "Failed to connect to $SSID"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue