Notificación al cambiar el volumen o silenciar el micro

Las teclas de audio solo llamaban a wpctl y refrescaban slstatus, sin
avisar. Ahora pasan por el script volumen (home/.local/bin), que hace lo
mismo y además muestra una notificación con icono y barra de nivel. Se
sustituye a sí misma en vez de apilarse. Los clics en VOL de la barra
usan el mismo script.

Se añade rtkit a install.sh: sin él, cada llamada a wpctl (también las
de slstatus cada 2 s) llenaba el log de avisos de RTKit, y el audio no
tenía prioridad de tiempo real.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
This commit is contained in:
Alejandro Guerrero 2026-09-27 20:42:30 +02:00
parent 16125211fe
commit 53498b8cd3
4 changed files with 53 additions and 6 deletions

View file

@ -79,12 +79,14 @@ static const char *termcmd[] = { "st", NULL };
static const char *clipcmd[] = { "clipmenu", "-fn", dmenufont, "-nb", col_bg, "-nf", col_fg, "-sb", col_accent, "-sf", col_accent_fg, NULL };
static const char *lockcmd[] = { "slock", NULL };
/* Audio: tras cada cambio se avisa a slstatus (SIGUSR1) para que refresque la barra al momento */
/* Tras cambiar algo de la barra se avisa a slstatus (SIGUSR1) para que la refresque al momento */
#define STATUSREFRESH "; pkill -USR1 -x slstatus"
#define VOLUPCMD "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+" STATUSREFRESH
#define VOLDOWNCMD "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" STATUSREFRESH
#define VOLMUTECMD "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" STATUSREFRESH
#define MICMUTECMD "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" STATUSREFRESH
/* Audio: el script volumen (home/.local/bin) cambia el volumen con wpctl,
* refresca slstatus y lo muestra en una notificación */
#define VOLUPCMD "volumen subir"
#define VOLDOWNCMD "volumen bajar"
#define VOLMUTECMD "volumen silenciar"
#define MICMUTECMD "volumen micro"
#define VOLUP SHCMD(VOLUPCMD)
#define VOLDOWN SHCMD(VOLDOWNCMD)
#define VOLMUTE SHCMD(VOLMUTECMD)