Compare commits

...

5 Commits

3 changed files with 63 additions and 18 deletions

View File

@@ -123,7 +123,37 @@ riverctl map normal Mod1 F11 enter-mode passthrough
riverctl map passthrough Mod1 F11 enter-mode normal
# Lock screen
riverctl map normal Mod1+Shift L spawn waylock
#riverctl map normal Mod1+Shift L spawn waylock
riverctl map normal Mod1+Shift L spawn 'swaylock \
--clock \
--indicator-idle-visible \
--indicator-radius 100 \
--indicator-thickness 7 \
--ring-color 2D464D \
--key-hl-color be5046 \
--text-color ffffff \
--line-color 00000000 \
--inside-color 00000088 \
--separator-color 00000000 \
--fade-in 0.2 \
--effect-blur 7x1 \
--image ~/Pictures/bg-astronaut.jpg'
swayidle \
timeout 300 'swaylock \
--clock \
--indicator-idle-visible \
--indicator-radius 100 \
--indicator-thickness 7 \
--ring-color 2D464D \
--key-hl-color be5046 \
--text-color ffffff \
--line-color 00000000 \
--inside-color 00000088 \
--separator-color 00000000 \
--fade-in 0.2 \
--effect-blur 7x1 \
--image ~/Pictures/bg-astronaut.jpg' &
# Various media key mapping examples for both normal and locked mode which do
# not have a modifier
@@ -201,6 +231,9 @@ riverctl spawn "wlclock --layer background --background-colour '#00000000' --clo
#riverctl spawn "$HOME/.config/river/bar"
riverctl spawn waybar
# Start waybar audio listener
~/.local/bin/waybar_audio_event_bridge.sh &
# Idle configuration
riverctl spawn "swayidle -w timeout 1200 'wlopm --off \"*\"' resume 'wlopm --on \"*\"' before-sleep 'waylock -fork-on-lock'"

View File

@@ -71,21 +71,7 @@
"custom/audio": {
"exec": "~/.local/bin/waybar_audio.sh",
"return-type": "json",
"format": "{icon} {text}",
"format-icons": {
"speaker": " ",
"speaker-muted": "󰖁",
"headphones": "󰋋",
"headphones-muted": "󰟎"
},
"interval": 2,
"on-click": "~/.local/bin/toggle_audio",
"on-click-right": "pamixer --toggle-mute"
},
"custom/audio": {
"exec": "~/.local/bin/waybar_audio.sh",
"signal": 8,
"return-type": "json",
"format": "{icon} {text}",
"format-icons": {
@@ -95,8 +81,8 @@
"headphones-muted": "󰟎"
},
"interval": 2,
"on-click": "~/.local/bin/toggle_audio",
"on-click-right": "pamixer --toggle-mute",
"on-click": "pamixer --toggle-mute",
"on-click-right": "~/.local/bin/toggle_audio",
"on-scroll-up": "pamixer --increase 5",
"on-scroll-down": "pamixer --decrease 5"
},

View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -euo pipefail
SIG=8
get_waybar_pid() { pgrep -u "$USER" -x waybar | head -n1 || true; }
log() { echo "[waybar-audio-bridge] $*" >&2; }
WAYBAR_PID=""
while [[ -z "$WAYBAR_PID" ]]; do
WAYBAR_PID="$(get_waybar_pid)"
sleep 1
done
log "connected to Waybar PID $WAYBAR_PID"
# read pw-mon output, but only care about Audio nodes
pw-mon 2>/dev/null | grep --line-buffered -E "Audio|Sink|Source|Stream|Node" | while read -r _; do
# small debounce to avoid spamming CPU when multiple updates arrive fast
sleep 0.2
if ! kill -0 "$WAYBAR_PID" 2>/dev/null; then
WAYBAR_PID="$(get_waybar_pid)"
[[ -z "$WAYBAR_PID" ]] && continue
log "reconnected to Waybar PID $WAYBAR_PID"
fi
kill -RTMIN+"$SIG" "$WAYBAR_PID" 2>/dev/null || true
done