El lado oscuro del mosaico (IV) : Scrotwm

Así que continuamos. En la anterior entrega hicimos pedazos un archivo xmonad.hs y nos quitamos de encima la idea de Haskell como lenguaje alienígena. Hoy vamos a ver algo más simple, Spectrwm; anteriormente conocido como Scrotwm. Para propósitos de este artículo, le vamos a llamar Scrotwm por que estoy en Debian estable y todavía el paquete no ha sido rebautizado. Como sea, es una instalación regular.

sudo aptitude install scrotwm dmenu conky

¿Para qué queremos conky? ¿dmenu otra vez? Los usarémos más adelante, ya verán.

Básicos

Realmente no hay mucho que explicar, pues al correr scrotwm como sesión nos encontramos con una barra en el borde superior de la pantalla y un color sólido como fondo. Alt + P lanzará dmenu, como siempre, pero con la peculiaridad de que ahora los colores de dmenu corresponden a los de nuestra barra de estado.
Esto sucede por que no lanzamos dmenu a secas, si no que lanzamos una orden algo más compleja específicada en el archivo de configuración de Scrotwm: ~/.scrotwm.conf (esto cambia en futuras versiones a ~/.spectrwm.conf). La orden va así:

dmenu_run -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color

Las palabras marcadas con un $ no son más que variables propias de un scripts sh, y son configuradas en el mismo archivo. Te recomiendo no tocar esta parte por que una vez configurados los colores, se integra bastante bien.

Configurando

El archivo de configuración es muy simple y está bien comentado. Debería servir para todos, pero hagamos algunas modificaciones:

  • Cambiaremos la tecla Mod por la tecla Super, dándole un buen uso a la banderita privativa del teclado
  • Cambiaremos los colores de las ventanas
  • Añadiremos unos cuantos quirks para manejar ventanas especiales
  • Unos atajos de teclado.
  • Nos enfrentaremos a las carencias de Scrotwm

Así que casi haremos lo mismo que en artículo anterior.

Cara a cara con el archivo

Hay que abrir el archivo ~/.scrotwm.conf pero para eso antes hay que crearlo. Si estuvieron moviendo XMonad (así lo espero) a partir de las configuraciones que les proporcioné antes, habrán visto que cuando se equivocan XMonad mantiene las últimas configuraciones anteriores válidas y te manda un bonito -depende de como lo veas- mensaje de error diciéndote que hiciste mal. En Scrotwm no hay eso y tomará de nuevo la configuración global escrita en el archivo /etc/scrotwm.conf. Un simple copiado y pegado basta:

cp /etc/scrotwm.conf ~/.scrotwm.conf

Parece que no hay que cambiar el usuario, pero se puede hacer con un chown común y corriente:

chown aquí-va-tu-usuario ~/.scrotwm.conf

Encontramos esta línea:

modkey   = Mod1

y la dejamos en Mod4, para asignarla a nuestra nueva tecla favorita. Primera tarea realizada.

Colores

En capítulo anterior escogí la paleta SolarizedLight por que quedaba bien con mi intento de un escritorio café, amigable con la vista. Pero esa paleta ya me aburrió y era hora de cambiarla. Como quería algo azul, me dí una vuelta por Vivify y encontré el esquema Doorhinge aunque bien pude usar SolarizedDark o asmdev, también disponibles allí. El archivo en cuestión está aquí.
Scrotwm tiene un método algo extraño para definir el color. Hay que escribirlo separando los componentes rojo, verde y azul, como en estas líneas:

color_focus		= rgb:80/c9/ff
color_unfocus		= rgb:0b/10/22
bar_border[1]		= rgb:80/c9/ff
bar_color[1]		= rgb:0b/10/22
bar_font_color[1]	= rgb:ff/ff/ff

Estos son los colores que escogí para las ventanas basandome en el esquema de colores doorhinge. Podemos notar dos cosas. Primero, aquí aparecen las variables que usaba la orden de dmenu de hace rato. Y la segunda es que obtendrémos unos bordes sin foco que harán parecer a múltiples terminales como una sola. Algo así:


Para convertir nuestros valores tradicionales (como las cadenas del artículo previo), solo lo cortamos en tres partes y metemos los valores entre las barras. Y aquí no está la función moodColor que hicimos con un poco de Haskell la vez pasada.
Segunda tarea terminada.

Quirks, o lo que eso signifique

Es inevitable seguir comparando Scrotwm con XMonad. La misma página del proyecto nos dice que está inspirado por ideas de éste y de DWM. Antes no metimos ninguna configuración especial con las ventanas, pues XMonad las maneja por defecto bastante bien. Scrotwm tiene los quirks para solucionar los problemas del tiling en algunas aplicaciones como Gimp. Vamos hasta casi el final del archivo y encontramos la sección de quirks. Descomentamos esta línea:

#quirk[Gimp:gimp]			= FLOAT + ANYWHERE

Cómo buen trabajo de Hércules, las cosas se empiezan a complicar. ¿Ya notaste que Scrotwm acomoda en el mosaico a las notificaciones también? Es un poco más dificil de resolver esto. Para empezar necesitamos correr el siguiente comando:

xprop | grep WM_CLASS

Nuestra flechita mutará en una especie de puntero y damos click a la ventana de las notificaciones. En la terminal estará algo cómo esto:

WM_CLASS(STRING) = "xfce4-notifyd", "Xfce4-notifyd"

Ignoramos la primera parte de la salida del comando e invertimos los resultados para escribir esto:

quirk[Xfce4-notifyd:xfce4-notifyd] = FLOAT + ANYWHERE

Atención, las mayúsculas son importantes. Podemos aplicar el mismo truco, por ejemplo; para conseguir que cb-exit, un cómodo gestor de apagado, también sea flotante siempre:
quirk[Cb-exit:cb-exit]  = FLOAT + ANYWHERE

Tercera tarea terminada. Ahora estos programas deben de verse así:

Así si.

Atajos

Ya casi acabamos. Pondré los mismos atajos que la vez anterior:

program[gvim]           = gvim
bind[gvim]              = MOD+v
program[mpd-p]          = mpc toggle
bind[mpd-p]             = MOD+c
program[mpd-n]          = mpc next
bind[mpd-n]             = MOD+s
program[mpd-b]          = mpc prev
bind[mpd-b]             = MOD+a

La sintaxis es bastante simple. Cuarta tarea finalizada.

El problema del inicio

Llegamos al momento incómodo de hoy. Scrtowm es excelente, pero no puede manejar algo parecido a un inicio automático. Hay una forma de resolverlo. El archivo ~/.xinitrc ponemos esto:

nitrogen --restore &
xfce4-volumed &
mpd &
exec scrotwm

Y ya, aunque solo funcionará si arrancamos desde startx o con slim, que lo usa. Aqui hay un problema y es que en Debian estable ni slim ni gdm respetan esto, así que no funciona realmente. Debería trabajar en ArchLinux y en cualquier distribución más vainilla que Debian.
Si esto funciona, deberíamos haber terminado la última de nuestras tareas.

¿Y para qué era conky entonces?

Pues, para poner algunas cosas más en la barra de estado. Copía esto a tu archivo ~/.conkyrc. El archivo de configuración que les regalo ya viene configurado para esto. Requiere de mpd.

out_to_x no
out_to_console yes
update_interval 1.0
total_run_times 0
use_spacer none
TEXT
${mpd_artist} - ${mpd_title} | Up:${uptime_short} | Temp:${acpitemp}C | RAM:$memperc% | CPU:${cpu}% |

Y eso es todo. Es mucho más fácil jugar con las configuraciones de conky que de las de xmobar. En las capturas anteriores pueden ver como trabaja.

Conclusiones

Scrotwm es un gran producto. Antes de quejarnos de sus carencias, hay que recordar que está desarrollándose. Por lo menos yo me quedó con él en esta máquina. Creo que es el fin de esta serie, por que a partir de ahora puedes hacerlo por tí mismo. Por cierto, el archivo de configuración está aquí.


11 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   tarantonio dijo

    Me gustaría probar este wm, ¿cual es la base de la que partes?
    A mi me gustaría partir de una debian sin entorno gráfico, entiendo que solo me haría falta instalar xorg y luego podría continuar con lo que comentas. ¿la fuente que se ve en los screenshots esta definida en el archivo de configuracion?

    1.    anti dijo

      Efectivamente, la fuente se define en el archivo de configuración. Es Terminus y se instala automáticamente con el paquete. Cambié la fuente de GVim y de la terminal para ajustarse, por que se ve bastante bien.
      Yo también partí de un Debian mínimo, pero cuando hice la instalación le puse Openbox, y apenas cambié a Scrotwm. Instalar xorg no me representó ningún problema.

  2.   elav dijo

    Magistral anti, como ya nos tienes acostumbrados… ^^

    1.    anti dijo

      Gracias elav. 😀

  3.   tarantonio dijo

    Por cierto, hace poco que he descubierto i3 (http://i3wm.org/) y me parece excelente. Solo quería recomendarlo por lo intuitivo y accesible para novatos.

  4.   elendilnarsil dijo

    me parece extraordinario lo que se puede lograr. gracias por todo el trabajo que hay detrás de este post.

  5.   msx dijo

    Very very good tutorial. Si ya no me hubiera asentado en KDE SC / Awesome seguramente lo instalaba.
    +1

  6.   Xykyz dijo

    No soy el único que lee Scroto verdad? no? si? :okay:

    1.    anti dijo

      Esa fue una de las razones por las que se cambiaron el nombre a Spectwm. Hubo gente a la que no le gustó y se hicieron forks y todo, pero si buscas el paquete, por ejemplo en Arch; ya te sale como spectrwm.

  7.   Agustingauna529 dijo

    Muchas gracias!! Con este tutoríal y la wiki de Arch lo pude configurar bien. Mirá como me quedó ^^

    http://i.minus.com/iVwrtZ0BXuCYd.png

    1.    anti dijo

      Me alegra que te haya servido 🙂