M .config/x11/xprofile => .config/x11/xprofile +11 -1
@@ 30,7 30,17 @@ setfan & # Set case fan RGB (ice blue)
eval $(echo -n "kris" | gnome-keyring-daemon --replace --unlock --components=pkcs11,secrets,ssh)
export SSH_AUTH_SOCK
-autostart="mpd picom dunst unclutter pipewire wireplumber conky protonmail-bridge"
+# Audio: on systemd distros (Fedora) PipeWire is socket-activated by the user
+# manager -- hand-starting it steals /run/user/UID/pipewire-0 and makes
+# pipewire.socket hit its start limit, killing audio. Only hand-start on
+# non-systemd inits (e.g. Artix runit).
+if [ -d /run/systemd/system ]; then
+ systemctl --user start pipewire.socket pipewire-pulse.socket wireplumber.service 2>/dev/null
+else
+ for p in pipewire wireplumber; do pgrep -x "$p" >/dev/null 2>&1 || "$p" & done
+fi
+
+autostart="mpd picom dunst unclutter conky protonmail-bridge blueman-applet"
for program in $autostart; do
pgrep -x "$program" >/dev/null 2>&1 || "$program" &
M .local/bin/statusbar/sb-internet => .local/bin/statusbar/sb-internet +4 -1
@@ 19,7 19,10 @@ esac
# Wifi
if [ "$(cat /sys/class/net/w*/operstate 2>/dev/null)" = 'up' ] ; then
- wifiicon="$(awk '/^\s*w/ { print " ", int($3 * 100 / 70) "% " }' /proc/net/wireless)"
+ # /proc/net/wireless is absent on some drivers (e.g. Asahi brcmfmac); fall
+ # back to a plain wifi icon with no strength rather than erroring.
+ wifiicon="$(awk '/^\s*w/ { print " ", int($3 * 100 / 70) "% " }' /proc/net/wireless 2>/dev/null)"
+ [ -z "$wifiicon" ] && wifiicon=" "
elif [ "$(cat /sys/class/net/w*/operstate 2>/dev/null)" = 'down' ] ; then
[ "$(cat /sys/class/net/w*/flags 2>/dev/null)" = '0x1003' ] && wifiicon=" " || wifiicon=" "
fi