Ajustando Tumbleweed y aprendideno iceWM.

La verdad es que el verano es tiempo de relajación, así que cómo os conté en esta entrada anterior he seguido jugueteando con mi portátil y tratando de acercarme más a mi sistema ideal, si es que existe.

La verdad es que Tumbleweed con MATE va un poco arrastras en mi portátil y tarda una vida en arrancar, así que pensé en la posibilidad de instalar Openbox pero recordé unas entradas sobre iceWM que había visto en @victorhckinthefreeworld, y ya que lo tenía instalado, allá que me lancé, y lo cierto es que ahora va cómo la seda, aunque aún es lento de arranque.

En cuanto a las entradas que comentaba antes, que os dejo en las referencias, solo os comento que las veáis, y me permito avisar que el programa de configuración que cita iceWMCP a mi me ha vuelto loco y no ha sido capaz ni de ponerme la barra de en la parte superior sin estropearla, así que he optado por configurar a mano.

Os cuento …

Que es iceWM.

La presentación la veréis mejor en el la primera entrada de @victor, yo solo os comento que este WM se diseñó para dotar al entorno gráfico X11 de un sistema de ventanas ligero, rápido, basado fundamentalmente en el uso del teclado y la verdad es que lo he visto bastante más simple que por ejemplo Openbox, sin llegar a los extremos de un dwm o i3.

A mí, lo que más me ha gustado ha sido su sencillez de entender y la facilidad de configuración, que como os he dicho he realizado a mano.   De todas formas por la Web aparte el programa que os indicaba al principio me ha parecido ver algún otro programa para configurarlo, pero en general se trata de proyectos, más bien parados que no me han ofrecido mucha confianza.

Cómo podéis ver en el gráfico adjunto su consumo está entre un I3 y un Openboxy por supuesto muy por debajo del de cualquier DM.

Es importante también destacar que la página que aparece, incluso en Wikipidia, como página del proyecto – icewm.org – no existe, siendo, a mi entender, esta la que parece estar activa.

Componentes de iceWM.

Entender el funcionamiento me ha costado leer bastante, aunque ha habido un fichero que recomiendo a todos y que ha sido el fundamental:

file:///usr/share/doc/packages/icewm/icewm.html#_introduction

Vamos lo que viene siendo la documentación oficial, en la que se pueden encontrar todas las teclas por defecto y mucho más.

En cualquier caso voy a ver si soy capaz de resumir.

El sistema de iceWM consiste en varias aplicaciones que corren juntas realizando diferentes tareas.  Estas son:

  • icewm – Es el manejador de ventanas, es decir quien se ocupa de colocarlas en su sitio y adornarlas.
  • icewmbg – Un pequeño programa que facilita que podamos disponer de un fondo de pantalla, que puede incluso ser diferente para cada área de trabajo.
  • icewmtray – Manejas los diferentes applets que podamos instalar desde otras aplicaciones.
  • icewm-session – El programa para iniciar sesión, aunque en mi caso sigo usando Lightdm que fue instalado por mate.
  • icewm-menu-gnome2 – Se usa internamente para generar el menú de programas ajustado a los criterios de  Freedesktop.
  • icewmhint – Usado internamente 😕

Elementos de icewm.

Todo el sistema esta construido para hacer funcionar estos elementos básicos:

  • Barra de tareas: El equivalente a los paneles de GNOME y es el elemento que sirve para aglutina todos los demás, que siguen citados de izquierda a derecha.
  • Botón de inicio: El botón de menú del sistema, se activa simplemente con la tecla <Super>
  • Áreas de trabajo: Indicadores de las 4 áreas de trabajo de que disponemos. Incluye dos botones, para mi innecesarios, ya que se puede acceder desde teclado, uno para despejar el escritorio y otro para presentar una estupenda lista de ventanas con lo que hay abierto en cada área de trabajo.  También nos permite incluir lanzadores para las aplicaciones que queramos.
  • Linea de comando: En ella aparecen las aplicaciones activas en el área de trabajo. Pulsando <Super>+<Espacio> es el equivalente al <Alt>+F2 de otros escritorios y podemos lanzar programas directamente.
  • Indicador de memoria: Un pequeño applet que indica el estado de la memoria del equipo.
  • Indicador de CPU: Un indicados del estado de consumo de la CPU.
  • Indicador de correo: Pues eso, si hay o no correo.
  • Reloj: ¿a que ya lo sabes?. 😉

Es importante entender que al tratarse de un WM no disponemos de cosas cómo iconos en el escritorio, que pueden ser instaladas aparte,  pero en mi caso, que odio tener nada que no sea un fondo no me preocupa en absoluto.

Los ficheros de configuración.

El último elemento y el más importante a la hora de atacar la configuración son los ficheros necesario para hacerla que son:

  • preferences Es el fichero más importante para la configuración y el que más me ha costado entender, por que openSUSE lo ha retocado.
  • menu  Es el fichero que nos permite controlar lo que aparecerá en nuestro menú.
  • keys El fichero para definir nuestros propios atajos de teclado.
  • toolbar Indica que aplicaciones aparecerán en la zona de áreas de trabajo de la barra, así cómo en un apartado especial del menú.
  • winoptions Configuración de las ventanas.
  • theme Guarda el tema activo.
  • startup Script para ejecutar al inicio – no olvidar que sea ejecutable -.
  • shutdown Lo mismo que el anterior pero para el cierre.

iceWm en mi Tubleweed.

Cómo he dicho la instalación de iceWM en Tubleweed es innecesaria ya que el programa viene instalado por defecto, aún así instale un paquete más de temas para ajustar la apariencia y descargué tres temas más para instalar a mano, basándome en el segundo de lo videos de @victohck, con lo que me quedaron estos paquetes instalados:

  • icewm: el propio WM
  • icewm-default  su configuración por defecto
  • icewm-lang la traduciión del paquete
  • icewm-theme-branding el ajuste para SLES or openSUSE
  • icewm-themes los temas extra incluidosen la distro

No hay que olvidar que una instalación desde 0 será algo más compleja que esta en la que al tener instalado simultáneamente MATE hay muchos elementos que ya están en nuestro sistema, pero en una instalación limpia habría que instalar al menos:

  • Programa para tener iconos en el escritorio (si eres tan osado de querer eso)
  • Un screensaver
  • Network Manager y applet
  • Un applet para el audio
  • Un gestor de archivos
  • Un programa que monte los USB al conectarlos

Pero eso sera historia para otra entada cuando lo haga.  En cualquier caso lo primero que me tocó entender fue como se estructuraba su configuración dentro del equipo, para lo que recurrí a esta instrucción:

$ icewm --directories
icewm directorios de configuración:
XdgConfDir=/home/asim/.config/icewm
PrivConfDir=/home/asim/.icewm
CFGDIR=/etc/icewm
LIBDIR=/usr/share/icewm
LOCDIR=/usr/share/locale
DOCDIR=/usr/share/doc/packages/icewm

Con todo esto opté por copiar el contenido de /etc/icewm a mi carpeta .icewm y ponerme a la tarea.

Mi configuración.

theme.

La primera opción obvia es seleccionar el tema, algo muy sencillo, ya que se hace desde el propio menu.

En mi caso este fichero ha quedado así de simple:

Theme="Shades of Grey/default.theme"

preferences.

Este fue el primer quebradero de cabeza porque no lo encontraba ni vivo ni muerto.  Me despistaba que no apareciese este fichero, y si un preferences.yast2, una carpeta yast2 y un prefoverride.

Después de una vueltas, entendí que OpenSUSE instala un tema por defecto (yast2), no entiendo por que fuera de la carpeta theme, pero los programadores suelen ser así, van a lo suyo ;).

Después de bastante rebuscar entendí que prefoverride no es más que un preferences, completo, que se superpone a cualquier tema que se instale, lo que venía bien, ya que el tema (Shades of Grey) tenía la letra algo pequeña.

No lo incluyo por que es un fichero bastante largo y yo solo toqué:

  • Incluir mi fondo de pantalla y configurar su ajuste.
  • Ubicar la barra en la parte superior de la pantalla.
  • Ajustar algunas fuentes a mi nuevo tipo de letra favorita de que os hablaré más adelante, lo que soluciona el tema tamaño.

startup.

Este fichero que no existía lo he creado incluyendo lo que necesitaba ejecutar cada inicio de sesión:

#!/bin/sh
# -----------------------------------------------------
# Fichero que incluye los programa a arrancar con iceWm
# -----------------------------------------------------

# Intercambiar Ctrl y Bloq-Mayús

xmodmap .modctrl

# Activar el applet de NerworkManager

sleep 1 &&
nm-applet &

# Arrancar DropBox

dropbox start &

Lo único que me costó algo de trabajo fue que había que hacerlo ejecutable para que funcionase y tardé un poco en darme cuenta. 🙁

menu.

Algún pequeño retoque le hice para quitar opciones innecesarias y poner más a mano las que suelo usar, pero sin mucha atención, ya que no suelo usarlo.  En cualquier caso esto queda:

# This is an example for IceWM's menu definition file.
#
# Place your variants in @[email protected] or in $HOME/.icewm
# since modifications to this file will be discarded when you
# (re)install icewm.
#
prog Xterm xterm xterm
prog Emacs emacs emacs
separator
# prog rxvt xterm rxvt -bg black -cr green -fg white -C -fn 9x15 -sl 500
# prog fte fte fte
# prog NEdit nedit nedit
# prog Mozilla mozilla mozilla
# prog XChat xchat xchat
# prog Gimp gimp gimp
prog Firefox firefox firefox
prog Thunderbird thunderbird thunderbird
prog GnuCash gnucash gnucash
prog Darktable darktable darktable
prog Gramps gramps gramps
separator
menuprog "Desktop Apps" folder icewm-menu-fdo
#menufile Programs folder programs
# menufile Tool_bar folder toolbar
menuprog SUSE folder xdg_menu --format icewm

En azul están señaladas las líneas que he incluido para tener mis programas principales en el primer nivel y no andar buscando.

En rojo están las dos entradas que dan lugar a dos menús completos, diferentes.

El de SUSE entiendo que es el que genera la propia distro y es un ficero applications.menu en /etc/xdg/menus.

El otro parece el menú de mate, pero no consigo encontrar el fichero.

keys.

Un fichero importante para mí ya que siempre quiero tener al alcance de la teclas lo que más uso, y así lo dejé:

# key "Alt+Ctrl+t" xterm
# key "Alt+Ctrl+b" xdg-open about:blank
# key "Alt+Ctrl+s" xdg-open http://www.google.com

##############
# Mis Teclas #
##############

key "Super+F1" xterm
key "Super+F2" firefox
key "Super+F3" thunderbird
key "Super+F4" gnucash
key "Super+F5" emacs
key "Super+F6" calibre
key "Super+F7" darktable

key "Print" scrot -e 'mv $f ~/Imágenes/Capturas'
key "Super+Print" scrot -ue 'mv $f ~/Imágenes/Capturas'
key "Ctrl+Print" scrot -se 'mv $f ~/Imágenes/Capturas'


key "Alt+Ctrl+s" xdg-open https://www.duckduckgo.com
key "Alt+Ctrl+c" galculator

Con todo ello he conseguido llegar a este escritorio, ligero, rápido, muy sencillo de manejar sin el ratón y que, a pesar de las cortas prestaciones de mi portátil, me resulta muy fácil de usar y queda así de bonito, sobre todo gracias al estupendo tema “Shades of Grey” de Marcus Moeller y de un gran fondo:

Otros ajustes, fuente básica.

Aparte de estos ajustes y cambio de entorno de trabajo he hecho un descubrimiento excepcional, gracias a mi hijo, la fuente Mozilla Fira Mono una fuente que resulta increíblemente clara y que gracias a él se ha convertido en la mi fuente por defecto, tanto en iceWM, cómo en la terminal, cómo en Emacs, lo que ha mejorado la legibilidad de mi portátil de forma extraordinaria.

Para los usuarios de openSUSE la podéis encontrar aquí, desde donde podéis llegar al instalador.

En xterm.

La verdad es que no tenía muchas ganas de ponerme a estudiar este tema, pero @devmsv – mi hijo – se tomó el trabajo de pasarme su .Xresources que os adjunto, ya que lo uso tal cual:

XTerm*loginShell: true
XTerm*utf8: 1
XTerm.underlineURLs:    true

XTerm.TtyModes: status 

/* Correct use of Alt */
XTerm.VT100.MetaSendsEscape: true

XTerm.VT100.Translations: #override \
     <Key>Delete: string("\033[3~")\n\
     Shift <KeyPress> Insert: insert-selection(CLIPBOARD)\n\
     Ctrl Shift <Key>V:    insert-selection(CLIPBOARD)\n\
     Ctrl Shift <Key>C:    copy-selection(CLIPBOARD)

/* Theme */
XTerm*cursorBlink: true
/* XTerm*CursorUnderLine: true */
XTerm*faceName: Inconsolata
XTerm*faceSize: 14
XTerm*termName: xterm-256color
XTerm*visualBell: false
XTerm*scrollBar: false
XTerm*saveLines: 1024
XTerm*background: #000000
XTerm*foreground: #FFFFFF

/* Xidle */
XIdle.Program: /usr/X11R6/bin/xlock
XIdle.Timeout: 420
XIdle.Delay: 5
XIdle.Position: nw

/* Xlock */
XLock.startCmd: doas -L;ssh-add -D;gpgconf --kill gpg-agent
/* XLock.endCmd: ssh-add </dev/null */
XLock.mousemotion: on
XLock.mode: blank

Un hard link de ese fichero a .Xdefaults y mi Xterm ha empezado a verse gloria bendita.

En Emacs.

Ahí si que yo ya me atrevo a tocar, que no me olvido de mi querido Emacs, incluso creo ya estoy a punto de poder organizar mi .Emacs con org-mode. 😉

Así que, tras un poco de lectura, ver algunos ejemplos, olvidarme del modo inverso, desactivar el tema oscuro que venía usando, y tras aprender a ver los colores que Emacs maneja con:

M-x list-colors-display

he incluido estas tres lineas en mi .emacs:

'(default ((t (:family "Fira Mono" :foundry "CTDB" :slant normal :weight normal :height 113 :width normal))))
(set-foreground-color "#f5f5f5")
(set-background-color "#000000")

y así se ve mi Emacs, con sus nuevos ajustes: 🙂

Esto es todo amigos, un fuerte abrazo virtual y ya sabéis:

¡No dudéis en criticar, corregir o sugerir!, así aprendemos todos.

Referencias.

Más allá de las citas que puedan aparecer en el artículo, dejo aquí, los enlaces sin los que esta entrada nunca hubiese sido posible, como agradecimiento y reconocimiento al trabajo de sus autores.

Si hubiese alguna omisión solo es fruto de mi despiste decirlo y se resolverá de inmediato.

8 pensamientos en “Ajustando Tumbleweed y aprendideno iceWM.

    • Pues te lo recomiendo encarecidamente, para mi es un punto intermedio entre los dos que citas, muy simple, aunque ciertamente menos conocido que Openbox, que es sin embargo más difícil de ajustar.
      Por lo que yo he visto hay gente trabajando en él aunque tienen el problema del dominio que no sé como resolverán, pero están en ello.
      Gracias por tu comentario.

  1. Hola!
    Gracias por las menciones! Me alegro que te gustara y veo que además has hecho más progresos y has investigado más al respecto!!
    La verdad es que tu escritorio tiene muy buena pinta y theme elegante y un fondo que encaja muy bien!! 😉
    IceWM es el entorno que YaST carga cuando estás instalando openSUSE, quizás por eso tiene las peculiaridades que comentas.
    Saludos!!

    • No tienes por que darlas, sabes que es lo justo.
      Lo cierto es que yo ahora estoy solo con iceWM, rumiando si al terminar el verano lo pongo en mi Debian, tengo en mente una entrada sobre su cacareada obsolescencia, y aunque me esta gustando Tumbleweed, me tira el mundo Debian.
      Pero bueno que me enrollo iceWM me ha parecido un entorno muy ligero y usable y me ha abierto un poco el gusanillo de tratar de programar algo, visto como esta el proyecto, pero esto no podrá ser este año.
      Gracias por comentar.

  2. No conocía esos tipos de letra. En OpenSuse también los puedes descargar como paquete de TeX, están todas las variantes de la fuente (no sólo las «mono»). Las acabo de instalar y puesto por defecto en i3wm (que es lo que utilizo por defecto).

    En «emacs» he añadido sólo el cambio de letra, el resto de los parámetros lo confío en el «theme». Me gustan más los temas claros.

    Muy buena entrada, muchas gracias.

    • Gracias a ti, por comentar.
      Me alegro te haya servido. Yo el verano pasado le dí a I3, pero el tema del dmenu me tiraba para atrás y no llegue a poder configurar la barra a mi gusto, aparte que me molestaba tener que usar el ratón para cerrarlo.
      Un saludo.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.