Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Administradores de Ventanas - TwindyInstalar AfterStep desde cero

Administradores de Ventanas - WeeWM




Administradores de Ventanas - WeeWM




Copyright

Copyright © José Luis Lara Carrascal  2011-2023   http://manualinux.es



Sumario

Introducción
Características
Instalación
Configuración
Personalizar la ejecución de las aplicaciones
Añadir aplicaciones al inicio de WeeWM
Configurar el inicio de WeeWM
Iniciamos WeeWM
Paquetes binarios
Enlaces




Introducción  

WeeWM es un administrador de ventanas orientado a los usuarios que priorizan el uso del teclado respecto al uso normal del ratón para manejar las ventanas en un entorno gráfico, no tiene decoración de ventana ni tampoco proporciona menú alguno. Parte de su código está basado en Evilwm. Aunque su desarrollo está abandonado desde hace bastantes años, sigue siendo funcional. Sin lugar a dudas, otra opción más, un poco retro, para los usuarios alternativos de GNU/Linux.



Características    

* Decoraciones de ventanas minimalistas.
* Soporte de dockapps.
* Ubicación inteligente de las ventanas.
* Escritorios virtuales.
* Control absoluto del manejo de las ventanas mediante atajos de teclado.
* Atajos de teclado configurables.
* Soporte de arrastre opaco de las ventanas.
* Una sola tecla para algunos comandos.



Instalación  

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado WeeWM para la elaboración de este documento.

* GCC - (13.1.0) o Clang - (16.0.6)
* Make - (4.4.1)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.8)
   LibX11 - (1.8.6)



Descarga 

weewm-0.0.2.tar.xz

Firma Digital  Clave pública PGP

weewm-0.0.2.tar.xz.asc

Verificar la firma digital del paquete

$ gpg --import manualinux.asc
$ gpg --verify weewm-0.0.2.tar.xz.asc weewm-0.0.2.tar.xz

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'

Donde pone znver3 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
Nota informativa sobre las optimizaciones para GCC
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Nota informativa sobre las optimizaciones para Clang
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.

* Los valores de color azul no son compatibles con Clang.

* Las filas con el fondo de color amarillo son valores exclusivos de Clang y, por lo tanto, no son aplicables con GCC.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
GCC
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto
PGO
1) Fase inicial de compilación e instalación del paquete.
$ export {C,CXX}FLAGS+=' -O2 -g1 -fprofile-generate=/var/pgo/weewm'
2) Ejecución y testeo del programa.
3) Fase final de compilación e instalación del paquete.
$ export {C,CXX}FLAGS+=' -fprofile-use=/var/pgo/weewm -Wno-error=coverage-mismatch'
Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
LTO
$ export {C,CXX}FLAGS+=' -flto'
ThinLTO
$ export {C,CXX}FLAGS+=' -flto=thin'
La aplicación de esta optimización es alternativa a la tradicional LTO, a partir de Clang 3.9 y, por lo tanto, no es combinable con la misma.
PGO
1) Fase inicial de compilación e instalación del paquete.
$ export {C,CXX}FLAGS+=' -O2 -g1 -fprofile-generate=/var/pgo/weewm'
2) Ejecución y testeo del programa.
3) Conversión del perfil de optimización a un formato legible por Clang.
$ PGODIR=/var/pgo/weewm; llvm-profdata merge $PGODIR/default_*.profraw --output=$PGODIR/default.profdata
4) Fase final de compilación e instalación del paquete.
$ export {C,CXX}FLAGS+=' -fprofile-use=/var/pgo/weewm'

Parámetros adicionales

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=' -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc13/lib64'
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

Establecer el uso de enlazador dinámico para LLD
Clang
$ export LDFLAGS+=' -fuse-ld=lld'
Optimizaciones complementarias LTO/ThinLTO/PGO de LLD
$ export LDFLAGS+=' -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=pgo-memop-opt'
Optimizaciones complementarias LTO de LLD
$ export LDFLAGS+=" -Wl,--lto-partitions=$(nproc)"
Optimizaciones complementarias ThinLTO de LLD
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(nproc)"

Establecer la variable de entorno de uso de compilador para Clang
$ export CC=clang CXX=clang++

Extracción  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf weewm-0.0.2.tar.xz
$ cd weewm-0.0.2

Compilación

$ make

Parámetros de compilación opcionales

-j$(nproc) : Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Instalación como root

$ su -c "make install-strip"

Estadísticas de Compilación e Instalación de WeeWM

Estadísticas de Compilación e Instalación de WeeWM
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Sistema de archivos XFS
Versión del Kernel 6.4.2-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Versión de Glibc 2.37
Enlazador dinámico LLD 16.0.6
Compilador Clang 16.0.6
Parámetros de optimización -03 -march=znver2 -mtune=znver2 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto=thin -fprofile-use=/var/pgo/weewm -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=pgo-memop-opt
Parámetros de compilación -j12
Tiempo de compilación > 1"
Archivos instalados 3
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 68 KB

Consumo inicial de CPU y RAM de WeeWM

Consumo inicial de CPU y RAM de WeeWM
Programa
CPU RAM
weewm 0 % 1,4 MB
Para medir el consumo de CPU se utiliza el programa top, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.

Directorio de configuración personal   

~/.weewm Es el directorio de configuración personal de WeeWM en nuestro home.
~/.weewm/config.rc Es el archivo de configuración principal del programa.
~/.weewm/keys.rc Es el archivo de configuración de los atajos de teclado del programa.

Desinstalación como root

1) MODO TRADICIONAL

Este programa no tiene soporte para desinstalación con el comando 'make uninstall'

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

weewm-0.0.2-scripts.tar.gz

$ su
# tar zxvf weewm-0.0.2-scripts.tar.gz
# cd weewm-0.0.2-scripts
# ./Desinstalar_weewm-0.0.2

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf weewm-0.0.2-scripts.tar.gz
# cd weewm-0.0.2-scripts
# ./Respaldar_weewm-0.0.2

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_weewm-0.0.2



Configuración de WeeWM

1) ~/weewm/config.rc
2) ~/weewm/keys.rc




1) ~/weewm/config.rc

Es el archivo de configuración principal del programa, del que a continuación pongo el que trae por defecto con los comentarios traducidos al español.

# Configuración de WeeWM
# Leer el archivo README para la sintaxis.

# ===== Configuración WeeWM =====

# anchura del borde (en píxeles)
border               1

# espacio entre la ventana y el borde (en píxeles)
space                1

# número de escritorios virtuales
desktops             5

# anchura mínima de la ventana
minwidth             15

# altura mínima de la ventana
minheight            15

# espacio reservado para mover las ventanas (en píxeles)
move_offset          16

# color del borde activo
color.border.active  green

# color del borde inactivo
color.border.inactive black

# color del borde para la ventana visible en todos los escritorios
color.sticky         blue

# anchura de la ventana de información - ¡NO DESARROLLADO!
info.width           100

# altura de la ventana de información - ¡NO DESARROLLADO!
info.height          50

# activación del dock (1=activar, 0=desactivar)
dock.use             1

# tamaño del dock (en píxeles)
dock.size            64

# posición del dock (1=arriba, 2=a la izquierda, 3=a la derecha, 4=abajo)
dock.position        3

# alineamiento del dock (0=arriba/a la izquierda, 1=centrado, 2=abajo/a la derecha)
dock.align           1


Definición de los elementos del archivo de configuración, ~/weewm/config.rc
Opción Descripción
border               1 Define en valor numérico la anchura en píxeles del borde de la ventana. El valor tiene que estar comprendido entre 1 y 3. Valor predefinido: 1.
space                1 Define en valor numérico el espacio en píxeles entre el borde de la ventana y la ventana. El valor tiene que estar comprendido entre 0 y 5. Valor predefinido: 1.
desktops           5 Define en valor numérico el número de escritorios virtuales que gestionará el programa. El valor tiene que estar comprendido entre 1 y 256. Valor predefinido: 5.
minwidth           15 Define en valor numérico la anchura mínima en píxeles de la ventana. El valor tiene que estar comprendido entre 1 y 4096. Valor predefinido: 15.
minheight          15 Define en valor numérico la altura mínima en píxeles de la ventana. El valor tiene que estar comprendido entre 1 y 4096. Valor predefinido: 15.
move_offset      16 Define en valor numérico el espacio reservado en píxeles para mover la ventana. El valor tiene que estar comprendido entre 1 y 256. Valor predefinido: 16.
color.border.active  green Define el color del borde de la ventana enfocada. Pueden ser nombres de colores en inglés que admita el servidor gráfico X. Valor predefinido: green (verde).
color.border.inactive black Define el color del borde de la ventana no enfocada. Pueden ser nombres de colores en inglés que admita el servidor gráfico X. Valor predefinido: black (negro).
color.sticky         blue Define el color del borde de la ventana visible en todos los escritorios. Pueden ser nombres de colores en inglés que admita el servidor gráfico X. Valor predefinido: blue (azul).
info.width           100 Define en valor numérico la anchura en píxeles de la ventana de información. El valor tiene que estar comprendido entre 10 y 4096. Valor predefinido: 100. Este parámetro no ha sido desarrollado todavía.
info.height          50 Define en valor numérico la altura en píxeles de la ventana de información. El valor tiene que estar comprendido entre 10 y 4096. Valor predefinido: 50. Este parámetro no ha sido desarrollado todavía.
dock.use             1 Si lo establecemos en 1, habilitaremos el soporte de dockapps. Valor predefinido: 1.
dock.size            64 Define el tamaño en píxeles del dock. El valor tiene que estar comprendido entre 8 y 512. Valor predefinido: 64.
dock.position        3 Define la ubicación del dock en la pantalla, que puede ser: 1 (arriba), 2 (a la izquierda), 3 (a la derecha) o 4 (abajo). Valor predefinido: 3 (a la derecha).
dock.align           1 Define el alineamiento del dock en la pantalla, que puede ser: 0 (desde arriba hacia la izquierda), 1 (centrado) o 2 (desde abajo hacia la derecha). Valor predefinido: 0 (desde arriba hacia la izquierda). Es recomendable dejar el valor en 1, porque en 0 y en 2, la mayoría de dockapps se quedarán fuera del dock de WeeWM.


2) ~/weewm/keys.rc

Es el archivo de configuración de los atajos de teclado del programa, y es muy configurable, permitiendo lanzar aplicaciones modificando las propiedades de las ventanas de forma directa.

# Atajos de teclado de WeeWM
# Leer el archivo README para la sintaxis.

# ===== Atajos de teclado de WeeWM =====

mouse_mask                Mod4     
Mod1|Control              Left       prev_desktop
Mod1|Control              Right      next_desktop
Mod4                      Left       send_prev_desktop
Mod4                      Right      send_next_desktop
Mod4                      F1         desktop_1
Mod4                      F2         desktop_2
Mod4                      F3         desktop_3
Mod4                      F4         desktop_4
Mod4                      F5         desktop_5
Mod4                      F6         desktop_6
Mod4                      F7         desktop_7
Mod4                      F8         desktop_8
Mod4                      F9         desktop_9
Mod4                      F10        desktop_10
Mod4                      F11        desktop_11
Mod4                      F12        desktop_12
Mod4                      Home       pos_top_left
Mod4                      End        pos_bottom_left
Mod4                      Prior      pos_top_right
Mod4                      Next       pos_bottom_right
Mod4|Control              Up         pos_top
Mod4|Control              Down       pos_bottom
Mod4|Control              Left       pos_left
Mod4|Control              Right      pos_right
Mod4                      i          move_win_up
Mod4                      k          move_win_down
Mod4                      j          move_win_left
Mod4                      l          move_win_right
Mod1                      Tab        next_win
Mod1|Shift                Tab        prev_win
Mod4                      space      win_max
Mod4|Control              h          win_max_horizontal
Mod4|Control              v          win_max_vertical
Mod4|Control              f          win_fix
Mod4|Control              p          win_memo_pos
Mod4|Control              d          win_memo_desktop
Mod4|Mod1                 p          win_forget_pos
Mod4|Mod1                 d          win_forget_desktop
Mod4                      Escape     win_kill
Mod1|Control              Escape     quit
Mod4                      Return     run   xterm 0 7913 xterm

Definición de los elementos del archivo de configuración, ~/weewm/config.rc
Definición Comando
Combinación Acción
mouse_mask  Mod4
Win + clic izquierdo del ratón Prende la ventana, permitiendo su desplazamiento por la pantalla.
Mod1 | Control  Left prev_desktop Alt + Ctrl + Flecha izquierda Ir al escritorio anterior.
Mod1 | Control  Right next_desktop Alt + Ctrl + Flecha derecha Ir al siguiente escritorio.
Mod4  Left send_prev_desktop Win + Flecha izquierda Envía la ventana al escritorio anterior.
Mod4  Right send_next_desktop Win + Flecha derecha Envía la ventana al siguiente escritorio.
Mod4  F1 desktop_1 Win + F1 Ir al escritorio nº 1
Mod4  F2 desktop_2 Win + F2 Ir al escritorio nº 2
Mod4  F3 desktop_3 Win + F3 Ir al escritorio nº 3
Mod4  F4 desktop_4 Win + F4 Ir al escritorio nº 4
Mod4  F5 desktop_5 Win + F5 Ir al escritorio nº 5
Mod4  F6 desktop_6 Win + F6 Ir al escritorio nº 6
Mod4  F7 desktop_7 Win + F7 Ir al escritorio nº 7
Mod4  F8 desktop_8 Win + F8 Ir al escritorio nº 8
Mod4  F9 desktop_9 Win + F9 Ir al escritorio nº 9
Mod4  F10 desktop_10 Win + F10 Ir al escritorio nº 10
Mod4  F11 desktop_11 Win + F11 Ir al escritorio nº 11
Mod4  F12 desktop_12 Win + F12 Ir al escritorio nº 12
Mod4  Home pos_top_left Win + Inicio Mueve la ventana hacia la esquina superior izquierda de la pantalla.
Mod4  End pos_bottom_left Win + Fin Mueve la ventana hacia la esquina inferior izquierda de la pantalla.
Mod4  Prior pos_top_right Win + Repág Mueve la ventana hacia la esquina superior derecha de la pantalla.
Mod4  Next pos_bottom_right Win + Avpág Mueve la ventana hacia la esquina inferior derecha de la pantalla.
Mod4 | Control  Up pos_top Win + Ctrl + Flecha arriba Mueve la ventana hacia la parte superior de la pantalla.
Mod4 | Control  Down pos_bottom Win + Ctrl + Flecha abajo Mueve la ventana hacia la parte inferior de la pantalla.
Mod4 | Control  Left pos_left Win + Ctrl + Flecha izquierda Mueve la ventana hacia la parte izquierda de la pantalla.
Mod4 | Control  Right pos_right Win + Ctrl + Flecha derecha Mueve la ventana hacia la parte derecha de la pantalla.
Mod4  i move_win_up Win + I Mueve la ventana de forma vertical hacia arriba utilizando coordenadas de posición (-X píxeles).
Mod4  k move_win_down Win + K Mueve la ventana de forma vertical hacia abajo utilizando coordenadas de posición (+X píxeles).
Mod4  j move_win_left Win + J Mueve la ventana de forma horizontal hacia la izquierda utilizando coordenadas de posición (-X píxeles).
Mod4  l move_win_right Win + L Mueve la ventana de forma horizontal hacia la derecha utilizando coordenadas de posición (+X píxeles).
Mod1  Tab next_win Alt + Tabulador Enfoca la siguiente ventana.
Mod1 | Shift  Tab prev_win Alt + Mayús + Tabulador Enfoca la ventana anterior.
Mod4  space win_max Win + Espacio Maximiza la ventana.
Mod4 | Control  h win_max_horizontal Win + Ctrl + H Maximiza la ventana de forma horizontal.
Mod4 | Control  v win_max_vertical Win + Ctrl + V Maximiza la ventana de forma vertical.
Mod4 | Control  f win_fix Win + Ctrl + F Enfoca/desenfoca la ventana.
Mod4 | Control  p win_memo_pos Win + Ctrl + P Memoriza el tamaño y la posición de la ventana.
Mod4 | Control  d win_memo_desktop Win + Ctrl + D Memoriza el escritorio en el que está ubicada la ventana.
Mod4 | Mod1  p win_forget_pos Win + Alt + P Anula el tamaño y posición memorizados de la ventana.
Mod4 | Mod1  d win_forget_desktop Win + Alt + D Anula el escritorio memorizado para la ventana.
Mod4  Escape win_kill Win + Esc Mata la ventana actual.
Mod1 | Control  Escape quit Alt + Ctrl + Esc Salir de WeeWM.
Comandos adicionales no incluidos en el archivo de configuración
pos_center Centra la ventana en la pantalla.

Si tenemos activado el bloqueo numérico, los atajos de teclado de WeeWM no funcionarán correctamente, lo que viene a significar, que el programa será incontrolable. Todos los atajos de teclado son configurables, y para saber exactamente la tecla real que corresponde a su definición, abrimos una ventana de terminal y ejecutamos el programa xev. Se abrirá una miniventana, y sólo nos quedará pulsar la tecla correspondiente, por ejemplo, 'Repág', de la información que nos muestre en la ventana de terminal, nos quedamos con lo que está en rojo.

KeyRelease event, serial 34, synthetic NO, window 0x1e00001,
    root 0x121, subw 0x0, time 1747491, (212,-18), root:(345,71),
    state 0x10, keycode 112 (keysym 0xff55, Prior), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Y ya sabemos que la definición de la tecla 'Repág' en el mapa de teclado correspondiente se identifica con el nombre de 'Prior'. La forma de averiguar las otras es exactamente la misma.

Conviene modificar el atajo de teclado que mata las ventanas, porque es el que tendremos que utilizar para cerrarlas, ya que éstas carecen de botones. La configuración predefinida del mismo es poco manejable, al utilizar la combinación de la tecla 'Windows' más 'Escape'. Si queremos acelerar el proceso de cierre de ventanas tendremos que utilizar un atajo lo más accesible posible, es decir, dos teclas juntas y a ser posible en la parte inferior del teclado. Un ejemplo:

Mod4|Mod1                 p          win_forget_pos
Mod4|Mod1                 d          win_forget_desktop
Mod1                      z          win_kill
Mod1|Control              Escape     quit
Mod4                      Return     run   xterm 0 7913 xterm

Con esta combinación, cerraremos las ventanas con 'Alt + Z'. 



Personalizar la ejecución de las aplicaciones  Nota importante

Podemos configurar los atajos de teclado de WeeWM, no sólo para ejecutar aplicaciones cómo sucedería con cualquier otro administrador de ventanas, sino también para personalizar la posición y el escritorio virtual en el que se mostrará la ventana de la aplicación a lanzar. Para este cometido se utilizan los comandos run o run1, y la forma de configurar el atajo de teclado es la siguiente:

<Atajo de teclado> <run o run1> <nombre_aplicación> <escritorio> <posición> <comando> <parámetros> 

Un ejemplo:
Mod1  p  run1 pcmanfm 0 5 pcmanfm 

Esto haría que con la combinación de teclado Alt + P, ejecutaríamos el administrador de archivos, PCMan, en el escritorio actual, 0, y posicionado en el centro de la pantalla, 5. Normalmente el nombre de la aplicación es el mismo que el del ejecutable. Para la posición en la pantalla podemos tomar valores de coordenadas de posición o en su lugar los números equivalentes del teclado numérico, teniendo en cuenta que el 5 es el centro de la pantalla, no cuesta deducir mucho, dónde ubicarán la ventana el resto de valores numéricos. Si ponemos 0, no se establecerá ningún tipo de posición.



Añadir aplicaciones al inicio de WeeWM  Bloc de Notas

WeeWM no tiene script de inicio personal para añadir las aplicaciones que queremos que se inicien al mismo tiempo que el programa. Para este cometido crearemos un script con el nombre startweewm y lo instalaremos en /usr/bin, posteriormente crearemos un script de inicio personal con el nombre de autostart en el directorio de configuración personal de WeeWM, para evitar tener que editar como root, el script de inicio del programa, cada vez que queramos añadir o quitar una aplicación para que se inicie junto a WeeWM, la desinstalación y respaldo del script startweewm viene incluida en los scripts correspondientes publicados con este manual. No olvidar que la última línea de comandos del script siempre tiene que estar ocupada por el comando de ejecución del administrador de ventanas.

Abrimos un editor de texto y añadimos lo siguiente:

$HOME/.weewm/autostart
exec weewm

Lo guardamos como startweewm, y lo instalamos en /usr/bin.

$ su -c "install -m755 startweewm /usr/bin"

Luego, en el mismo editor de texto borramos lo antes escrito y añadimos por ejemplo, lo siguiente:

#!/bin/sh

xbindkeys &
idesk &
cwallpaper -l
sleep 1.2; wbar &
sleep 1.5; stalonetray -t &
sleep 1.5; wmix &
sleep 2; asclock -d &
sleep 2.5; gai-bgswitcher &
sleep 3; asmail -withdrawn &
sleep 3.5; bluecombo &

Lo guardamos como autostart, lo copiamos a ~/.weewm y le damos permisos de ejecución.

$ mkdir -p ~/.weewm
$ cp autostart ~/.weewm
$ chmod +x ~/.weewm/autostart

Como he puesto en el ejemplo, le añado una utilidad de atajos de teclado que mejore y amplíe las funciones de WeeWM, por ejemplo XbindKeys y un menú que podamos activar mediante un atajo de teclado+ratón, y que solvente las carencias que tiene WeeWM en este apartado, por ejemplo myGtkMenu.

El comando de ejecución de myGtkMenu lo añadimos al archivo de configuración de XbindKeys, ~/.xbindkeysrc, a partir de la línea 49, más o menos.

# specify a mouse button
"myGtkMenu ~/.myGtkMenu/Menu.txt"
Mod1+b:1
"claws-mail"
Mod1+s
"rox ~/"

Con esta configuración, cada vez que ejecutemos la combinación Alt + Clic izquierdo del ratón, el menú se desplegará en el lugar donde tengamos situado el puntero del ratón, con la importante ventaja, de que siempre se colocará por encima de cualquier aplicación que tengamos abierta.

Procurar siempre que los atajos de teclado configurados en XbindKeys no estén repetidos en WeeWM, teniendo en cuenta que el modificador más común utilizado en WeeWM, es Mod4 (Win), configurar los atajos de XbindKeys, utilizando de forma preferente Mod1 (Alt), sobre todo para lanzar aplicaciones, que es la finalidad para la cual vamos a utilizar el programa.

El uso de paneles es contraproducente por varios motivos: estos se suelen mostrar sólo en el primer escritorio virtual, el paginador de los mismos sólo muestra un escritorio virtual, y otra cosa fundamental, WeeWM no soporta minimizado de las ventanas, por lo que el uso de una barra de tareas resulta completamente inútil.



Configurar el inicio de WeeWM  

1) Para los que inician X desde terminal con el comando startx


Editamos el archivo ~/.xinitrc que se encuentra en nuestro home, si no existe lo creamos, y añadimos lo siguiente:

exec /usr/bin/startweewm


2) XDM

Editamos el archivo ~/.xsession que se encuentra en nuestro home, si no existe lo creamos, y añadimos lo siguiente:

exec /usr/bin/startweewm


3) GDM/LightDM/SDDM

Abrimos un editor de texto y añadimos lo siguiente:

[Desktop Entry]
Name=WeeWM
Comment=
Exec=/usr/bin/startweewm
Terminal=False
TryExec=/usr/bin/startweewm

Lo guardamos con el nombre weewm.desktop y lo instalamos en /usr/share/xsessions.

$ su -c "install -m644 weewm.desktop /usr/share/xsessions"


8) Qingy

Abrimos un editor de texto y añadimos lo siguiente:

/usr/bin/startweewm

Lo guardamos con el nombre WeeWM, y lo instalamos en /etc/qingy/Xsessions.

$ su -c "install -m755 WeeWM /etc/qingy/Xsessions"


9) SLiM

Primero editamos el archivo /etc/slim.conf y añadimos el nombre del entorno a la lista de los que tengamos en el sistema instalados, si queremos que sea el entorno que se inicie por defecto hay que colocarlo en el primer lugar de la lista.

# Sesiones disponibles (la primera es la predefinida).
# El actual nombre de sesión es reemplazado en el login_cmd
# anterior, para que su comando de acceso pueda manejar diferentes sesiones.
# vea el archivo xinitrc.ejemplo proporcionado con el código fuente de slim.
sessions            Fluxbox,WindowMaker,Blackbox,XFce4,E17,WeeWM,IceWM,Openbox,ROX,Pekwm,AfterStep

Para finalizar editamos el archivo .xinitrc de nuestro home y añadimos la configuración del mismo, la variable DEFAULT_SESSION sobreescribe el entorno gráfico de inicio predefinido que pueda existir en el archivo /etc/slim.conf, permitiendo añadir el ejecutable de otro entorno que no esté configurado en el apartado anterior para ser iniciado por defecto, si queremos que sea WeeWM, añadimos su script de ejecución, aunque si lo tenemos configurado el primero de la lista, esto no es necesario.

# La siguiente variable define la sesión que será iniciada si el usuario
# no elige de forma explícita una sesión
DEFAULT_SESSION=startweewm

case $1 in
XFce4)
    exec startxfce4
    ;;
IceWM)
    exec icewm-session
    ;;
WindowMaker)
    exec wmaker
    ;;
Blackbox)
    exec startblackbox
    ;;
Fluxbox)
    exec startfluxbox
    ;;
E17)
    exec enlightenment_start
    ;;
WeeWM)
    exec startweewm
    ;;

Openbox)
    exec openbox-session
    ;;
Pekwm)
    exec pekwm
    ;;
ROX)
    exec rox-session
    ;;
AfterStep)
    exec afterstep
    ;;
*)
    exec $DEFAULT_SESSION
    ;;
esac

Con pulsar F1 ya podremos seleccionarlo de la lista e iniciarlo, si es el predefinido no es necesario seleccionarlo de la lista, se iniciará por defecto.



Iniciamos WeeWM  


Captura WeeWM - 1


Captura WeeWM - 2


Captura WeeWM - 3




Enlaces


https://flashtux.org/weewm >> La web de WeeWM.


Foro Galería Blog


Actualizado el 09-07-2023

Administradores de Ventanas - WeeWM

Administradores de Ventanas - TwindyInstalar AfterStep desde cero