-.Índice.-
-.Consideraciones iniciales.-
Por ahora llevamos algunas cosas aprendida. Hemos puesto una barra de tareas y un paginador. Hemos modificado su aspecto y comportamiento pasando opciones a FvwmIconMan y a FvwmPager, y también hemos cambiado su estilo de ventana usando comandos Style de fvwm. También hemos puesto un fondo y hemos visto como funciona StartFunction.
También hemos creado nuestras propias funciones, y hemos alterado el comportamiento de fvwm ligando dichas funciones a los botones de la barra de título de nuestras ventanas. Y hemos aprendido a definir acciones o atajos de teclado y ratón, con los que podemos lanzar directamente comandos de fvwm o incluso aplicaciones externas a éste. A estas horas ya deberíamos tener una configuración medianamente usable (aunque quizás no muy bonita, pero eso lo arreglaremos pronto). Sin embargo, ha llegado la hora de sentarse delante de nuestro archivo de configuración y pararnos a limpiar un poco la paja y a reorganizarlo. Así como de detectar posibles en nuestra errores en nuestra configuración. También podemos aprovechar para añadir unos cuantos atajos de teclado más, y rellenar los huecos más urgentes que hayamos notado durante el uso de nuestro wm (es lo bueno de ir usando tu configuración mientras la creas).
-.La configuración revisada.-
Esta es la configuración en su estado actual, con todo lo que llevamos. Me he tomado la libertad de añadir algunas cosas, que ya explicaré más abajo:
# Función de inicio, se ejecuta al iniciar y reiniciar
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Exec fvwm-root --retain-pixmap ~/wallpapers/mywallpaper.png
+ I Module FvwmIconMan MyTaskbar
+ I Module FvwmPager MyPager 0 4
# Acción asociada al ratón: ventanas
Mouse 1 2 N FvwmClose
Mouse 1 4 N FvwmMaximize
Mouse 1 6 N FvwmIconify
Mouse 4 T N WindowShade true
Mouse 5 T N WindowShade false
Mouse 1 W M Move
# Acción asociada al ratón: ventanas iconificadas
Mouse 1 I N FvwmIconHandle
# Funciones básicas
DestroyFunc FvwmClose
AddToFunc FvwmClose
+ C Close
DestroyFunc FvwmMaximize
AddToFunc FvwmMaximize
+ C Maximize
DestroyFunc FvwmIconify
AddToFunc FvwmIconify
+ C Iconify
DestroyFunc FvwmIconHandle
AddToFunc FvwmIconHandle
+ C Iconify off
+ M Move
# Atajos de teclado para fvwm
Key F1 A M Menu MenuFvwmRoot
Key F2 A M Exec exe=$(dmenu_path | dmenu -p 'Launch: ' -fn '-*-dejavu sans-bold-r-*-*-*-*-*-*-*-*-*-*' -nb '#4186BE' -nf
'#FFFFFF' -sb midnightblue -sf '#4186BE') && exec $exe
Key F4 W M Close
Key Z A CM Restart
Key Q A 4 Quit
Key M A 4 Maximize
Key I A 4 Iconify
Key Up A 4 GotoPage 0p -1p
Key Down A 4 GotoPage 0p +1p
Key Left A 4 GotoPage -1p 0p
Key Right A 4 GotoPage +1p 0p
# Atajos de teclado para aplicaciones
Key T A 4 Exec urxvtc
Key B A 4 Exec firefox
# FvwmIconMan: barra de tareas
DestroyModuleConfig MyTaskbar: *
*MyTaskbar: Resolution global
*MyTaskbar: ManagerGeometry 1600x1+0-0
*MyTaskbar: ButtonGeometry 1x28
*MyTaskbar: Action Mouse 1 N sendcommand Iconify
*MyTaskbar: Action Mouse 2 N sendcommand Raise, sendcommand Focus, sendcommand "WarpToWindow 50 50"
# FvwmPager: paginador de escritorio
DestroyModuleConfig MyPager: *
*MyPager: Geometry 128x480-0+0
*MyPager: MiniIcons
*MyPager: Balloons
*MyPager: Rows 5
*MyPager: Columns 1
# Área de trabajo
EwmhBaseStruts 0 128 0 28
# Escritorios y páginas
DesktopSize 2x2
DesktopName 0 Primero
DesktopName 1 Segundo
DesktopName 2 Tercero
DesktopName 3 Cuarto
DesktopName 4 Quinto
# Estilos
Style FvwmIconMan BorderWidth 0, HandleWidth 0, !Title, Sticky, WindowListSkip
Style FvwmPager BorderWidth 0, HandleWidth 0, !Title, Sticky, WindowListSkip
Algunas cositas nuevas:
Atajo "Mouse 1 W M Move" que nos permite mover las ventanas pulsando Alt+Click.
Atajo Alt+F2 para el lanzador de aplicaciones. Yo he usado dmenu, pero se pueden usar grun, fbrun, gmrun o cualquier otro.
Atajos Win+Cursores para moverse por las diferentes páginas de un escritorio. Nótese el uso del comando GotoPage, que explico más abajo.
Atajo Win+q para cerrar fvwm.
Gotopage es un comando que nos permite movernos de página. Existen varias formas de usarlo. La más básica es especificar la página a la que se quiere ir. Por ejemplo, "GotoPage 0 0" nos llevará a la página superior izquierda en nuestro escritorio de 2x2, "GotoPage 1 1" nos llevará a la inferior derecha. Serían referencias de tipo absoluto.
En el ejemplo de la configuración, sin embargo, uso referencias de tipo relativo (es decir, en relación a la página actual). Por ejemplo, "GotoPage +1p +0p" nos lleva a la página que hay a la derecha de la actual. Si no hay ninguna, no se produce ninguna acción. "GotoPage +1p -1p" nos llevaría a la página que hay a la derecha y encima de la actual, es decir, mirándolo en el pager, sería un movimiento en diagonal. GotoPage puede hacer algunas cosas más, pero por ahora, nos conformamos con ésto.
Ahora es un buen momento para que revises la configuración, veas que todo anda como era de esperar, y añadas tus propios atajos de teclado o ratón, o modifiques los míos para que se ajusten a tu modo de trabajo o tus preferencias. Relájate, fúmate lo que normalmente fumes, o si no fumas nada ve a por un vaso de agua (o lo que normalmente bebas :P ). En próximo capítulo lo dedicaremos a hacer fvwm algo más bonito.