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
quirk[Cb-exit:cb-exit] = FLOAT + ANYWHERE
Tercera tarea terminada. Ahora estos programas deben de verse así:
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í.
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?
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.
Magistral anti, como ya nos tienes acostumbrados… ^^
Gracias elav. 😀
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.
me parece extraordinario lo que se puede lograr. gracias por todo el trabajo que hay detrás de este post.
Very very good tutorial. Si ya no me hubiera asentado en KDE SC / Awesome seguramente lo instalaba.
+1
No soy el único que lee Scroto verdad? no? si? :okay:
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.
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
Me alegra que te haya servido 🙂