Solventando los problemas de audio con I3blocks

sábado, junio 18, 2016 0 Comments


i3blocks es una barra de estado muy flexible para gestores de ventanas I3 o Sway (Wayland). Es capaz de interpretar clicks, señales y scripts, lo que lo hace más interesante frente otras alternativas como i3status.
Sigue las especificaciones del protocolo i3bar, proporcionando un alto grado de personalización.

Uno de los problemas que nos vamos a encontrar, es que cuando presionemos las teclas de volumen de nuestro portátil no actualizará el porcentaje de sonido la barra pero si subirá o ni siquiera lo ajustará.

Para solucionar este inconveniente basta con añadir lo siguiente al fichero config que se encuentra dentro del directorio ~/.config/i3 y añadir las siguientes líneas:

ALSA:

# volume
bindsym XF86AudioMute exec amixer set Master toggle;  exec pkill  -RTMIN+10 i3blocks
bindsym XF86AudioRaiseVolume exec amixer set Master 5%+; exec pkill  -RTMIN+10 i3blocks
bindsym XF86AudioLowerVolume exec amixer set Master 5%-; exec pkill  -RTMIN+10 i3blocks
PULSEAUDIO:

# volume
bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 5%+; exec pkill -RTMIN+10 i3blocks
bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%-; exec pkill -RTMIN+10 i3blocks
bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle; exec pkill -RTMIN+10
Ahora tenemos que comprobar que la configuración de i3blocks sea correcta, para ello deberemos editar su archivo de configuración, podemos hacerlo para todos los usuarios editando:

/etc/i3blocks.conf
o sólo para nuestro usuario generando un fichero en la ruta que mejor nos convenga y luego cargándolo del siguiente modo:

i3blocks -c /ruta/del/fichero
sea cual fuere la elección el fichero de configuración debe de quedar así dentro del apartado de [volume]:

[volume]
label=VOL
instance=Master
#instance=PCM
interval=once
signal=10
lo más importante es que el valor de signal coincida en ambos ficheros, es decir el config y el i3blocks.conf, en caso contrario no funcionará, en mi caso he elegido 10, aunque se puede poner otro.

El valor de intervalo debe de estar en ONCE, lo que viene a decir que ese valor solo se comprueba cuando se inicia la barra de estado, después escuchará los eventos a través de SIGNAL, siendo mejor desde el punto de vista de recursos.

0 comentarios: