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.