Multimonitor, Muerte, Y Resurrección
====================================
21 de Marzo, 2021

En lo que creo/espero que AHORA SI sea la última parte de esta 
saga, voy a documentar como estoy manejando este tema por estos 
días, luego de tantas idas y venidas y de probar cosas.

La experiencia ha sido por demás interesante y entretenida por 
momentos, y en esta entrega ve la llegada de un "nuevo" 
participante del que no había dicho nada antes porque no era 
particularmente relevante para todo este tema, pero de repente se 
ha encontrado en el foco de toda esta historia.

La manera en la cual yo uso bspwm en mi instalación de Void es a 
través de un servicio de usuario que se activa en cuanto arranco la 
sesión de X via `startx`.
Varios experimentos que vine haciendo con bspwm y con inicio de 
sesión en un solo monitor, y a veces sin X (tema para un futuro 
artículo) me han llevado a esta conclusión.

Cuando estoy a dos monitores usando la laptop, empleo otro servicio 
de usuario para cambiar mi fondo de pantalla 1 vez por hora.
Pero tener wallpapers solamente en la laptop me parece un 
desperdicio porque el 99% no puedo verlos, y tener el terminal con 
transparencias es algo que me aburre medio rápido así que me puse a 
investigar una manera de solo tener el servicio de wallpapers 
exclusivamente cuando estoy usando el segundo monitor.

Me puse a leer e intentar varias cosas para tal fin. Paralelamente 
también estaba haciendo experimentos con mi configuración de bspwm 
porque descubrí que se podía aplicar distinto grosor de bordes y 
espaciado entre ventanas a cada monitor, con lo cual empezó a ser 
todo una tarea conjunta lo de tener 2 configuraciones distintas 
según fuera el caso.

Así fue como llegue al estado actual de cosas, a saber:

- No uso mas los scripts de antes, pero no los borré porque son 
  útiles y funcionan lo más bien. 
- Todo el chequeo de cantidad de monitores ahora se hace en un 
  único lugar en vez de hacerlo varias veces según los scripts.
- La configuración de bspwm es o una u otra. Seguramente se pueda 
  recargar en caliente llegado el caso, pero eso es una exploración 
  para otro momento.


El fragmento relevante de mi `xinitrc` es este:

```
conectados=$(xrandr | awk '( $2 == "connected" ) { count++ } END { print count }')
if [ "$conectados" = 2 ]; then
	monis &
	exec runsvdir -P ~/.local/service.2x
else
	exec runsvdir -P ~/.local/service.x
fi
```

`service.2x` es la carpeta que contiene los servicios que se ejecutan
cuando se detecta el segundo monitor, que en este caso son el de 
fondo de pantalla y bspwm con la configuración para ambos monitores.