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

Entornos GráficosAplicaciones

Administradores de SesionesAdministradores de VentanasEscritoriosUtilidades de Escritorio

Editar los temas de FluxboxInstalar Window Maker desde cero

Instalar IceWM desde cero

Página - 1Página - 2




Instalar IceWM desde cero




Copyright

Copyright © José Luis Lara Carrascal  2006-2024   http://manualinux.es



Sumario

Introducción
Características
Preliminares
Instalación
Directorio de configuración personal
Configurar el inicio de IceWM
Configuración global de IceWM
Añadir aplicaciones al inicio de IceWM
Fondo de Escritorio
Atajos de teclado predefinidos
Iniciamos IceWM
Aplicaciones auxiliares de IceWM
Configurar los eventos de sonido de IceWM
Editar el menú de IceWM
Editar la barra de inicio rápido
Editar los atajos de teclado de IceWM
Personalizar el comportamiento de las ventanas
Enlaces




Introducción

IceWM es un administrador de ventanas creado por Marco Macek, cuya propósito principal era el de desarrollar un entorno gráfico de manejo sencillo que emulara mediante el uso de temas, el aspecto de sistemas operativos tan conocidos como OS/2 Warp 4, OS/2 Warp 3 y Windows 95, y manteniendo una compatibilicad con el administrador de ventanas, MWM, cuyo aspecto también era seleccionable desde el menú. Sin llegar a la calidad técnica de otros administradores de ventanas como Fluxbox o Pekwm, IceWM ha sido siempre uno de los entornos gráficos más utilizados en GNU/Linux, por su aspecto y manejo similar al escritorio de Windows, y por el hecho de que se podía seleccionar como administrador de ventanas predefinido en entornos de escritorio como KDE o GNOME.

Esa sencillez inicial, plausible en usuarios que no necesiten mucho, se termina convirtiendo en un importante inconveniente para aquellos usuarios que requieren de un uso más avanzado del manejo de las ventanas de las aplicaciones. Desde el 29-04-2017 se incluye una versión derivada de la original que recoge todos los parches de corrección de errores y mejoras publicados por diferentes distribuciones de nuestro sistema, además de nuevas funcionalidades añadidas. Tras la cancelación del dominio icewm.org, esta versión pasa a ser de facto, la versión oficial del programa, con nuevo dominio que sustituye al anterior.



Características    

* Barra de herramientas configurable con menú de aplicaciones, barra de inicio rápido, botones de selección de escritorio, barra de tareas, bandeja de sistema y reloj incluidos.
* Menú de aplicaciones con soporte de iconos en formato XPM y PNG.
* Soporte de eventos de sonido.
* Atajos de teclado configurables.
* Soporte de creación de scripts de inicio automático de aplicaciones y cierre de sesión.
* Programa de gestión de la imagen del fondo de la pantalla integrado.
* Personalización del comportamiento de las ventanas de las aplicaciones.
* Aplicaciones auxiliares de gran calidad que mejoran la experiencia de uso del programa.
* Soporte de temas.
* Soporte nativo de dockapps a partir de la versión 2.4.0.
* Soporte de agrupamiento automático de las ventanas de las aplicaciones, a partir de la versión 3.1.0.



Preliminares

1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH


Abrimos una ventana de terminal y ejecutamos el siguiente comando:

[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin

Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.

$ su -c "install -m755 variables.sh /etc/profile.d"

Tenemos que cerrar el emulador de terminal y volverlo a abrir para que la variable de entorno aplicada sea efectiva. Es conveniente guardar una copia de este script para posteriores instalaciones de nuestro sistema, teniendo en cuenta que es el que se va a utilizar a partir de ahora en todos los manuales de esta web, para establecer variables de entorno globales, excepto en aquellas que sólo afectan al usuario, en las que se utilizará el archivo de configuración personal, ~/.bashrc.

La ventaja de utilizar el directorio /etc/profile.d es que es común a todas las distribuciones y nos evita tener que editar otros archivos del sistema como por ejemplo, /etc/profile.

2) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr

Aún en el caso de que la versión a compilar la vayamos a instalar en el mismo directorio que la que proporciona la distribución, siempre se debe desinstalar previamente la versión antigua, para evitar conflictos innecesarios.



Instalación  

Dependencias

Herramientas de Compilación


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

* GCC - (13.2.0) o Clang - (18.1.2)
* Gawk - (5.3.0)
* M4 - (1.4.19)
* Make - (4.4.1)
* Automake - (1.16.5)
* Gettext - (0.22.5)
* Autoconf - (2.72)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.11)
   LibICE - (1.1.1)
   LibSM - (1.2.4)
   LibX11 - (1.8.8)
   LibXcomposite - (0.4.6)
   LibXext - (1.3.6)
   LibXdamage - (1.1.6)
   LibXfixes - (6.0.1)
   LibXinerama - (1.1.5)
   LibXft - (2.3.8)
   LibXpm - (3.5.17)
   LibXrandr - (1.5.4)
   LibXrender - (0.9.11)
* ALSA - (1.2.11)
* Fontconfig - (2.15.0)
* GLib - (2.74.7)
* Imlib2 - (1.12.2)
* Librsvg - (2.58.0)
* Libsndfile - (1.2.2)



Descarga 

icewm-3.4.7.tar.lz

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
Clang
Polly
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
LTO
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX}FLAGS+=' -flto'
ThinLTO
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ 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.
Unified LTO
LTO >> ThinLTO
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX}FLAGS+=' -flto -funified-lto'
$ export LDFLAGS+=' -Wl,--lto=thin'
ThinLTO >> LTO
$ export AR=llvm-ar RANLIB=llvm-ranlib NM=llvm-nm
$ export {C,CXX}FLAGS+=' -flto=thin -funified-lto'
$ export LDFLAGS+=' -Wl,--lto=full'
La aplicación de esta optimización es aplicable, a partir de Clang 17, y sólo es combinable con LLD.

Parámetros adicionales

Parámetros adicionales de eliminación de avisos en el proceso de compilación
$ export {C,CXX}FLAGS+=' -w'

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 librería estándar de C++ para Libc++
Clang
$ export CXXFLAGS+=" -stdlib=libc++ -I$(llvm-config --includedir)/c++/v1"
$ export LDFLAGS+=" -L$(llvm-config --libdir)"

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 de LLD
$ export LDFLAGS+=' -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt'
Optimizaciones complementarias LTO de LLD
$ export LDFLAGS+=" -Wl,--lto-partitions=$(expr $(nproc) / 2)"
Optimizaciones complementarias ThinLTO de LLD
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(expr $(nproc) / 2)"

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

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

$ tar axvf icewm-3.4.7.tar.lz
$ cd icewm-3.4.7
$ ./configure --with-icesound=ALSA,OSS --sysconfdir=/etc \
--disable-fribidi --prefix=/usr/local

Explicación de los comandos

--with-icesound=ALSA,OSS : Activa el soporte de ALSA y OSS para los eventos de sonido.
--sysconfdir=/etc : Instala los archivos de configuración globales del programa en /etc/icewm en lugar de /usr/local/etc/icewm.

--disable-fribidi : Desactiva el soporte de texto bidireccional, cuyo uso es sólo necesario en idiomas como el hebreo o el árabe.

--prefix=/usr/local : Instala el programa en /usr/local.

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"

Borrar las locales adicionales instaladas con la utilidad BleachBit

$ su -c "bleachbit -c system.localizations"

Instalación de los archivos de configuración personal en nuestro home

$ mkdir -p ~/.icewm/{icons,sounds,themes}
$ cp -f /usr/local/share/icewm/* ~/.icewm

Creación de los scripts de inicio y cierre de sesión

$ echo -e '#!/bin/sh''\n\n' > ~/.icewm/startup
$ echo -e '#!/bin/sh''\n\n' > ~/.icewm/shutdown
$ chmod +x ~/.icewm/{startup,shutdown}

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

Estadísticas de Compilación e Instalación de IceWM
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Tarjeta gráfica AMD Radeon RX 580 2048SP
Controlador de gráficos AMDGPU 23.0.0
Sistema de archivos XFS
Versión del Kernel 6.8.1-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Planificador de CPU BMQ
Versión de Glibc 2.39
Librería estándar de C++ Libc++ 18.1.2
Enlazador dinámico LLD 18.1.2
Compilador Clang 18.1.2
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto -funified-lto -Wl,--lto=thin -Wl,--thinlto-jobs=6 -Wl,--lto-aa-pipeline=globals-aa -Wl,--lto-newpm-passes=memcpyopt
Parámetros de compilación -j12
Tiempo de compilación 8"
Archivos instalados 612
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 5,8 MB

Consumo inicial de CPU y RAM de IceWM

Consumo inicial de CPU y RAM de IceWM
Programa
CPU RAM
icewmbg 0 % 8,6 MB
icewm 0 % 5,0 MB
icesound 0 % 3,1 MB
icewm-session 0 % 0,3 MB
TOTAL 0 % 17,0 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

~/.icewm Es el directorio de configuración personal de IceWM en nuestro home.
~/.icewm/icons Es el subdirectorio donde podemos colocar nuestros iconos personalizados, esto nos ahorra tener que añadir la ruta completa a la ubicación del icono correspondiente que utilizemos en el menú o en los lanzadores que nos aparecen en el panel inferior, es decir, que si en este directorio tenemos un icono con el nombre firefox.xpm, en el menú o en la toolbar sólo tendremos que poner firefox, para hacer referencia a este icono.
~/.icewm/sounds Es el subdirectorio que contiene los archivos de sonido para los eventos de sonido de IceWM, y la forma de añadirlos la explico más abajo.
~/.icewm/themes Es el subdirectorio donde podemos colocar los temas que nos bajemos de internet y los que queramos personalizar de los ya existentes.
~/.icewm/keys Es el archivo de configuración de los atajos de teclado de IceWM.
~/.icewm/menu Es el archivo de configuración del menú de IceWM, recomendable utilizar el editor icemc de la aplicación auxiliar IceWM Control Center para su edición.
~/.icewm/preferences Es el archivo de configuración principal de IceWM.
~/.icewm/prefoverride Este archivo no existe y debemos de crearlo para poder sobreescribir los valores predefinidos de cada tema, por ejemplo el uso de una fuente específica para todos los temas.
~/.icewm/toolbar Es el archivo de configuración de la barra lanzadora de aplicaciones que está al lado del menú de inicio, también se edita con el editor icemc de la aplicación auxiliar IceWM Control Center.
~/.icewm/winoptions Es el archivo de configuración que contiene las opciones individuales de cada aplicación en todo lo que concierne a las opciones de ventana. Este archivo es el que tendremos que utilizar (en versiones inferiores a la 2.4.0) para poder integrar las dockapps con IceWM ya que éste no las soporta por defecto, pero esto lo explico más abajo.
~/.icewm/theme Es el archivo de configuración que contiene el nombre del tema que estemos usando en ese momento.
~/.icewm/startup Este script de inicio no se crea por defecto, así que si queremos lanzar aplicaciones al inicio de IceWM lo tendremos que crear y guardarlo con este nombre dentro del directorio de configuración personal y posteriormente darle permisos de ejecución. Más abajo explico cómo crearlo.
~/.icewm/shutdown Este script de cierre de sesión tampoco se crea por defecto, es recomendable colocar en el mismo, el comando de terminación de las aplicaciones que configuremos en el script startup, para asegurarnos de una correcta terminación de éstas. La forma de crearlo es la misma que el anterior script comentado.

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "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.

icewm-3.4.7-scripts.tar.gz

$ su
# tar zxvf icewm-3.4.7-scripts.tar.gz
# cd icewm-3.4.7-scripts
# ./Desinstalar_icewm-3.4.7

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 icewm-3.4.7-scripts.tar.gz
# cd icewm-3.4.7-scripts
# ./Respaldar_icewm-3.4.7

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_icewm-3.4.7



Configurar el inicio de IceWM  Bloc de Notas

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/local/bin/icewm-session


2) XDM

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

exec /usr/local/bin/icewm-session


3) GDM/LightDM/SDDM

Creamos un enlace simbólico de /usr/local/share/xsessions/icewm-session.desktop a /usr/share/xsessions:

$ su -c "ln -s /usr/local/share/xsessions/icewm-session.desktop /usr/share/xsessions"


4) Qingy

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

/usr/local/bin/icewm-session

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

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


5) 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,E16,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 IceWM, 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=icewm-session

case $1 in
XFce4)
    exec startxfce4
    ;;
IceWM)
    exec icewm-session
    ;;

WindowMaker)
    exec wmaker
    ;;
Blackbox)
    exec startblackbox
    ;;
Fluxbox)
    exec startfluxbox
    ;;
E17)
    exec enlightenment_start
    ;;
E16)
    exec starte16
    ;;
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.



Configuración global de IceWM  Bloc de Notas

Mediante la edición del archivo de configuración, ~/.icewm/preferences definimos la mayoría de las opciones más importantes de configuración de IceWM, a continuación pongo un ejemplo de las más importantes con los comentarios traducidos al español. Los valores definidos en las opciones, por ejemplo ClickToFocus=1, aunque estén comentados (#), son los valores que IceWM utiliza por defecto, es decir, que no es necesario descomentarlas si tenemos pensado utilizarlas como opciones de uso de IceWM.

# preferences(3.4.7) - generado por genpref

# Este archivo debe copiarse al directorio /etc/icewm/ o $HOME/.icewm/
# NOTA: Todas las opciones están comentadas (#) por defecto, descomentarlas
# si tiene pensado hacer cambios. 1, activa las opciones; 0, las desactiva.

#  Utiliza un visual de 32 bits para la mezcla alfa
# Alpha=0 # 0/1

#  Activa el registro de eventos para depuración
# LogEvents=0 # 0/1

#  Redirige toda la salida de icewm a un archivo.
# OutputFile=""

#  Imagen de bienvenida al inicio (IceWM.jpg)
# Splash=""

#  Sincroniza X11 para depuración (lento)
# Synchronize=0 # 0/1

#  Activa el seguimiento de los módulos dados
# Trace=""

#  Listado de nombres de batería (directorios) en /proc/acpi/battery para ignorar.
#  Útil cuando hay muchos slots y sólo una batería en uso
# AcpiIgnoreBatteries=""

#  Comando a ejecutar para las entradas de la barra de direcciones
# AddressBarCommand=""

#  Permite poner una ventana a pantalla completa
# AllowFullscreen=1 # 0/1

#  Ordenar automáticamente las ventanas cuando cambie el tamaño de la pantalla
# ArrangeWindowsOnScreenSizeChange=1 # 0/1

#  Retardo (ms) antes de que la barra de tareas se oculte
# AutoHideDelay=300 # [0-5000]

#  Elevado automático de ventanas después de un retardo
# AutoRaise=0 # 0/1

#  Retardo (ms) antes de que las ventanas sean elevadas de forma automática
# AutoRaiseDelay=400 # [0-5000]

#  Recarga los archivos del menú de forma automática
# AutoReloadMenus=1 # 0/1
 
#  Retardo (ms) del desplazamiento automático
# AutoScrollDelay=60 # [0-5000]

#  Retardo (ms) del inicio del desplazamiento automático
# AutoScrollStartDelay=500 # [0-5000]

#  Retardo (ms) antes de que la barra de tareas se muestre
# AutoShowDelay=500 # [0-5000]

#  Retardo entre las actualizaciones del estado de la batería en segundos
# BatteryPollingPeriod=10 # [2-3600]

#  Máscara de bits de los botones que elevan la ventana cuando son presionados
# ButtonRaiseMask=1 # [0-255]

#  WM_CLASS para permitir runonce para CPUStatusCommand
# CPUStatusClassHint="top.XTerm"

#  Combina todas las CPU en una
# CPUStatusCombine=1 # 0/1

#  Comando a ejecutar en el estado de la CPU
# CPUStatusCommand="xterm -name top -title Process\ Status -e top"

#  Muestra la temperatura ACPI en una descripción emergente mostrada
#  sobre el elemento del estado de la CPU, en la barra de tareas
# CPUStatusShowAcpiTemp=1 # 0/1

#  Muestra la temperatura ACPI en el elemento del estado de la CPU en la barra de tareas
# CPUStatusShowAcpiTempInGraph=0 # 0/1

#  Muestra la frecuencia de la CPU en una descripción emergente mostrada
#  sobre el elemento del estado de la CPU, en la barra de tareas
# CPUStatusShowCpuFreq=1 # 0/1

#  Muestra el uso de RAM en una descripción emergente mostrada
#  sobre el elemento del estado de la CPU, en la barra de tareas
# CPUStatusShowRamUsage=1 # 0/1

#  Muestra el uso de Swap en una descripción emergente mostrada
#  sobre el elemento del estado de la CPU, en la barra de tareas
# CPUStatusShowSwapUsage=1 # 0/1

#  Centra en la pantalla, las ventanas grandes
# CenterLarge=0 # 0/1

#  Maximizado centrado de las ventanas que no puedan encajar en la pantalla (como las terminales)
# CenterMaximizedWindows=0 # 0/1

#  Diálogos centrados en la ventana del dueño
# CenterTransientsOnOwner=1 # 0/1

#  Retardo (ms) antes de que el clic se interprete como arrastre
# ClickMotionDelay=200 # [0-2000]

#  Distancia (ms) del movimiento del puntero antes de que el clic se interprete como arrastre
# ClickMotionDistance=4 # [0-32]

#  Enfoque de las ventanas mediante clics del ratón
# ClickToFocus=1 # 0/1

#  Permite acciones del ratón en el cliente de las ventanas (produce fallos con muchos programas)
# ClientWindowMouseActions=1 # 0/1

#  WM_CLASS para permitir runonce para ClockCommand
# ClockClassHint="icewm.XClock"

#  Comando a ejecutar en el reloj
# ClockCommand="xclock -name icewm -title Clock"

#  Confirmar el cierre de sesión
# ConfirmLogout=1 # 0/1

#  Tener en cuenta el borde de los marcos de las ventanas al maximizar de forma horizontal
# ConsiderHBorder=0 # 0/1

#  Tener en cuenta XSizeHints si el marco de la ventana está maximizado
# ConsiderSizeHintsMaximized=1 # 0/1

#  Tener en cuenta el borde de los marcos de las ventanas al maximizar de forma vertical
# ConsiderVBorder=0 # 0/1

#  Cambio de escritorio continuo al mover el ratón por el borde de la pantalla
# ContinuousEdgeSwitch=1 # 0/1

#  Formato de fecha del reloj para el tooltip (formato de cadena strftime)
# DateFormat="%c"

#  Retardo suavizado (ms), para permitir la fusión de múltiples tiempos de espera
#  de temporizador en uno, del ahorro de energía en el portátil
# DelayFuzziness=0 # [0-100]

#  Retardo del enfoque del puntero cuando se mueva el ratón
# DelayPointerFocus=1 # 0/1

#  Clic del botón del ratón en el escritorio para mostrar el menú raíz
# DesktopMenuButton=3 # [0-20]

#  Clic del botón del ratón en el escritorio para mostrar la lista de ventana
# DesktopWinListButton=2 # [0-20]

#  Clic del botón del ratón en el escritorio para mostrar el menú de lista de ventana
# DesktopWinMenuButton=0 # [0-20]

#  Soporte de Aplicaciones dock (right [a la derecha], left [a la izquierda], center [en el centro], down [abajo], high [arriba], above [por encima], below [debajo], desktop [escritorio], o empty [vacío] para desactivar). Se controlan con el atajo de teclado Ctrl+Ratón.
# DockApps="right high desktop"

#  No rotar el cursor de los menús emergentes
# DontRotateMenuPointer=1 # 0/1

#  Usar doble búfer al redibujar la pantalla
# DoubleBuffer=1 # 0/1

#  Resistencia en píxeles cuando se intente mover las ventanas fuera de la pantalla (10000 = infinito)
# EdgeResistance=32 # [0-10000]

#  Cambia de escritorio al mover el ratón por el borde izquierdo/derecho de la pantalla
# EdgeSwitch=0 # 0/1

#  Retardo (ms) al cambiar de escritorio en los bordes de la pantalla
# EdgeSwitchDelay=600 # [0-5000]

#  Activa la funcionalidad de barra de dirección en la barra de tareas
# EnableAddressBar=1 # 0/1

#  Cambiar al escritorio de la ventana nueva enfocada
# FocusChangesWorkspace=0 # 0/1

#  Mover la ventana nueva enfocada al escritorio actual
# FocusCurrentWorkspace=0 # 0/1

#  Enfoque de las ventanas cuando la aplicación lo demande para elevar
# FocusOnAppRaise=0 # 0/1

#  Enfocar la ventana cuando se haga clic sobre el contenido de la misma
# FocusOnClickClient=1 # 0/1

#  Enfoque normal de la ventana cuando se inicialice el mapeado
# FocusOnMap=1 # 0/1

#  Enfoque del diálogo de la ventana cuando se inicialice el mapeado
# FocusOnMapTransient=0 # 0/1

#  Enfoque del diálogo de la ventana cuando se inicialice el mapeado, sólo si el marco superior está enfocado
# FocusOnMapTransientActive=1 # 0/1

#  Intervalo de parpadeo en ms. de la barra de tareas cuando reciba el enfoque (0 = parpadeo desactivado)
# FocusRequestFlashInterval=250 # [0-30000]

#  Número de segundos en los que la aplicación de la barra de tareas parpadeará cuando reciba el enfoque
# FocusRequestFlashTime=0 # [0-86400]

#  Amplia todas las pantallas disponibles si la ventana entra en pantalla completa
# FullscreenUseAllMonitors=0 # 0/1

#  Gestiona la ventana raíz (¡EXPERIMENTAL - normalmente activado!)
# GrabRootWindow=1 # 0/1

#  Comando para hibernar el sistema.
# HibernateCommand="test -e /run/systemd/system && systemctl hibernate || loginctl hibernate"

#  Ocultar los bordes de la ventana cuando sea maximizada
# HideBordersMaximized=0 # 0/1

#  Ocultar el título de la ventana cuando sea maximizada
# HideTitleBarWhenMaximized=0 # 0/1

#  Cambia de escritorio al mover el ratón por el borde izquierdo/derecho de la pantalla
# HorizontalEdgeSwitch=0 # 0/1

#  Lista de rutas de ubicación de iconos separadas por ':'. Soporta también comodines (*). 
# IconPath="/usr/local/share/icons:/usr/local/share/pixmaps:/usr/share/icons:/usr/share/pixmaps"

#  Lista de temas de iconos separados por ':'. Soporta también comodines (*) y se puede utilizar el prefijo - para excluir temas de iconos. 
# IconThemes="*:HighContrast"

#  Dejar que la capa Dock limite con el escritorio virtual (incompatible con el panel de GNOME)
# LimitByDockLayer=1 # 0/1

#  Limitar la posición de las ventanas a la pantalla
# LimitPosition=1 # 0/1

#  Limitar el tamaño de las ventanas a la pantalla
# LimitSize=1 # 0/1

#  Comando para bloquear la pantalla/salvapantallas
# LockCommand=""

#  Comando para cancelar el cierre de sesión
# LogoutCancelCommand=""

#  Comando a iniciar en el cierre de sesión
# LogoutCommand=""

#  Minimizar la ventana activar cuando se haga clic de nuevo
# LowerOnClickWhenRaised=0 # 0/1

#  Lista de rutas de ubicación de buzones de correo (usar $MAIL o $MAILPATH en su lugar)
# MailBoxPath=""

#  Retardo entre la comprobación de nuevos mensajes de correo en segundos
# MailCheckDelay=30 # [0-86400]

#  WM_CLASS para permitir runonce para MailCommand
# MailClassHint="mutt.XTerm"

#  Comando a ejecutar en el buzón de correo
# MailCommand="xterm -name mutt -e mutt"

#  Ubicación inicial de la ventana de forma manual por el usuario
# ManualPlacement=0 # 0/1

#  Poner las ventanas nuevas por encima, aún cuando no estén enfocadas
# MapInactiveOnTop=1 # 0/1

#  Retardo (ms) antes de la activación de los elementos del menú
# MenuActivateDelay=40 # [0-5000]

#  Anchura máxima de los menús emergentes, 2/3 de la pantalla si la anchura es cero
# MenuMaximalWidth=0 # [0-16384]

#  Los menús siguen al ratón, incluso si los botones no están presionados
# MenuMouseTracking=0 # 0/1

#  Coloca mini-iconos nuevos desde abajo hacia arriba
# MiniIconsBottomToTop=0 # 0/1

#  Coloca los mini-iconos en posición horizontal antes que en vertical
# MiniIconsPlaceHorizontal=0 # 0/1

#  Coloca mini-iconos nuevos de derecha a izquierda
# MiniIconsRightToLeft=0 # 0/1

#  Muestra mini-iconos en el escritorio de las ventanas minimizadas
# MinimizeToDesktop=0 # 0/1

#  Trata el modificador Super/Win como Ctrl+Alt
# ModSuperIsCtrlAlt=0 # 0/1

#  Atajo del ratón para descender la ventana
# MouseWinLower="Ctrl+Alt+Pointer_Button1"

#  Atajo del ratón para mover la ventana
# MouseWinMove="Alt+Pointer_Button1"

#  Atajo del ratón para elevar la ventana
# MouseWinRaise="Ctrl+Alt+Pointer_Button1"

#  Atajo del ratón para redimensionar la ventana
# MouseWinSize="Alt+Pointer_Button3"

#  Atajo del ratón para crear pestañas de ventana.
# MouseWinTabbing="Shift+Pointer_Button2"

#  Botón preseleccionado en la caja de mensajes para Cancelar (0) o Aceptar (1)
# MsgBoxDefaultAction=0 # [0-1]

#  Sobreescribe la detección automática de múltiplos de byte
# MultiByte=1 # 0/1

#  Duración del clic múltiple en milisegundos
# MultiClickTime=400 # [0-5000]

#  Número mínimo de temas después de que, el menú de los Temas se anide (0=desactivado)
# NestedThemeMenuMinNumber=21 # [0-1234]

#  WM_CLASS para permitir runonce para NetStatusCommand
# NetStatusClassHint="netstat.XTerm"

#  Comando a ejecutar en el estado de tráfico de red
# NetStatusCommand="xterm -name netstat -title 'Network Status' -e netstat -c"

#  Muestra el estado de la red sólo para los dispositivos conectados.
# NetStatusShowOnlyRunning=0 # 0/1

#  Comportamiento de NET_WORKAREA: 0 (simple/multimonitor con información STRUT, como metacity), 1 (siempre escritorio completo), 2 (monitor simple con STRUT, multimonitor sin STRUT)
# NetWorkAreaBehaviour=0 # [0-2]

#  Dispositivo de red a mostrar en el estado de tráfico de red
# NetworkStatusDevice="[ew]*"

#  Comando a ejecutar cuando se reciban nuevos mensajes
# NewMailCommand=""

#  Movimiento opaco de la ventana
# OpaqueMove=1 # 0/1

#  Redimensionado opaco de la ventana
# OpaqueResize=1 # 0/1

#  Comando a seleccionar para ejecutar un programa 
# OpenCommand=""

#  Dibuja bordes alrededor de los botones conmutadores de escritorio
#  (si está activado PagerShowPreview=1)
# PagerShowBorders=1 # 0/1

#  Muestra el nombre de etiqueta en el botón de escritorio (si está activado PagerShowPreview=1)
# PagerShowLabels=1 # 0/1

#  Muestra el número de escritorio en el botón de escritorio (si está activado PagerShowPreview=1)
# PagerShowNumbers=1 # 0/1

#  Muestra una vista previa en miniatura del escritorio en cada botón de escritorio
# PagerShowPreview=1 # 0/1

#  Dibuja iconos de las ventanas suficientemente grandes en la vista previa en miniatura del
#  escritorio (si está activado PagerShowPreview=1)
# PagerShowWindowIcons=1 # 0/1

#  Dibuja incluso minimizadas, las ventanas como rectángulos vacíos
#  (si está activado PagerShowPreview=1)
# PagerShowMinimized=1 # 0/1

#  Pasar el clic de enfoque del área del cliente al cliente
# PassFirstClickToClient=1 # 0/1

#  Límite de tiempo en segundos para que las aplicaciones respondan al protocolo _NET_WM_PING.
# PingTimeout=3 # [0-86400]

#  El enfoque del mapa de color sigue al puntero del ratón
# PointerColormap=1 # 0/1

#  Retardo (ms) para la conmutación del enfoque del puntero
# PointerFocusDelay=200 # [0-1000]

#  Utilizar siempre preferentemente fuentes suavizadas cuando sea posible
# PreferFreetypeFonts=1 # 0/1

#  Alt+Tab muestra el conmutador de ventana
# QuickSwitch=1 # 0/1

#  Muestra todos los iconos alcanzables en el conmutador de ventana
# QuickSwitchAllIcons=1 # 0/1

#  Dibuja un rectángulo resaltado en el icono actual
# QuickSwitchFillSelection=0 # 0/1

#  Alt+Tab: agrupa las ventanas en el escritorio actual
# QuickSwitchGroupWorkspaces=1 # 0/1

#  Muestra el icono grande (48x48) de ventana para la ventana activa
# QuickSwitchHugeIcon=0 # 0/1

#  Ir a través de todos los títulos de ventana y elegir la anchura de la más larga
# QuickSwitchMaxWidth=0 # 0/1

#  Tiempo en segundos para recordar el estado de Alt+Tab.
# QuickSwitchPersistence=0 # [0-86400]

#  Eleva una ventana seleccionada mientras esté Alt+Tabulando en el conmutador de ventana.
# QuickSwitchRaiseCandidate=0 # 0/1

#  Intentar crear una ventana pequeña del conmutador de ventana de 1/3 en lugar de 3/5 del ancho de la pantalla
# QuickSwitchSmallWindow=0 # 0/1

#  Muestra el título de la ventana sobre los iconos (todos los alcanzables)
# QuickSwitchTextFirst=0 # 0/1

#  Incluye las ventanas de todos los escritorios virtuales en Alt+Tab
# QuickSwitchToAllWorkspaces=0 # 0/1

#  Alt+Tab para ocultar las ventanas
# QuickSwitchToHidden=1 # 0/1

#  Alt+Tab para minimizar las ventanas
# QuickSwitchToMinimized=1 # 0/1

#  Priorizar Alt+Tab para las ventanas urgentes
# QuickSwitchToUrgent=1 # 0/1

#  Ubica los iconos y los títulos en vertical antes que en horizontal
# QuickSwitchVertical=1 # 0/1

#  Elevar la ventana cuando se haga clic sobre el botón del marco
# RaiseOnClickButton=1 # 0/1

#  Elevar la ventana cuando se haga clic sobre el contenido de la misma
# RaiseOnClickClient=1 # 0/1

#  Elevar la ventana cuando se haga clic sobre el borde del marco
# RaiseOnClickFrame=1 # 0/1

#  Elevar la ventana cuando se haga clic sobre la barra del título
# RaiseOnClickTitleBar=1 # 0/1

#  Elevar ventanas cuando estén enfocadas
# RaiseOnFocus=1 # 0/1

#  Comando de reinicio del sistema
# RebootCommand="test -e /run/systemd/system && systemctl reboot || loginctl reboot"

#  Envía los clics fuera de los menús a la ventana designada
# ReplayMenuCancelClick=0 # 0/1

#  Enfoque solicitado (destellos en la barra de tareas) cuando la aplicación lo demande para elevar
# RequestFocusOnAppRaise=1 # 0/1

#  Comando a seleccionar para ejecutar un programa
# RunCommand=""

#  Retardo (ms) del desplazamiento automático en la barra de desplazamiento
# ScrollBarDelay=30 # [0-5000]

#  Retardo (ms) del inicio del desplazamiento automático en la barra de desplazamiento
# ScrollBarStartDelay=500 # [0-5000]

#  No permitir que las ventanas cliente tengan las esquinas redondeadas
# ShapesProtectClientWindow=1 # 0/1

#  Muestra el elemento del menú, about (acerca de)
# ShowAbout=1 # 0/1

#  Muestra la barra de dirección en la barra de tareas
# ShowAddressBar=1 # 0/1

#  Muestra puntos suspensivos en los elementos de la barra de tareas como indicador de más contenido contraído.
# ShowEllipsis=1 # 0/1

#  Muestra el submenú de modo de enfoque (focus)
# ShowFocusModeMenu=1 # 0/1

#  Muestra el elemento del menú, help (ayuda)
# ShowHelp=1 # 0/1

#  Muestra el menú logout (Cierre de sesión)
# ShowLogoutMenu=1 # 0/1

#  Muestra el submenú logout (Cierre de sesión)
# ShowLogoutSubMenu=1 # 0/1

#  Muestra la ventana de estado de posición durante el movimiento/redimensionado
# ShowMoveSizeStatus=1 # 0/1

#  Muestra los menús emergentes sobre el puntero del ratón
# ShowPopupsAbovePointer=0 # 0/1

#  Muestra el submenú programs (programas)
# ShowProgramsMenu=0 # 0/1

#  Muestra el elemento del menú, ejecutar
# ShowRun=1 # 0/1

#  Muestra el submenú settings (opciones)
# ShowSettingsMenu=1 # 0/1

#  Muestra la barra de tareas
# ShowTaskBar=1 # 0/1

#  Muestra el submenú themes (temas)
# ShowThemesMenu=1 # 0/1

#  Muestra el elemento del menú, ventana
# ShowWindowList=1 # 0/1

#  Muestra el nombre del escritorio actual cuando se conmute
# ShowWorkspaceStatus=1 # 0/1

#  Comando de apagado del sistema
# ShutdownCommand="test -e /run/systemd/system && systemctl poweroff || loginctl poweroff"

#  Maximizado de las ventanas al ser redimensionadas
# SizeMaximized=0 # 0/1

#  Ubicación inteligente de la ventana con solapado mínimo
# SmartPlacement=1 # 0/1

#  Distancia en píxeles antes de que las ventanas sean ajustadas al mismo tiempo
# SnapDistance=8 # [0-64]

#  Ajustar a la pantalla el borde/ventana más cercano al mover las ventanas
# SnapMove=1 # 0/1

#  Mantener siempre el enfoque bajo la ventana del ratón (hace que algún soporte de teclado no sea funcional)
# StrongPointerFocus=0 # 0/1

#  Retardo (ms) antes de la activación de los submenús del menú
# SubmenuMenuActivateDelay=300 # [0-5000]

#  Comando de suspensión del sistema
# SuspendCommand="test -e /run/systemd/system && systemctl suspend || loginctl suspend"

#  Anchura del monitor de batería en píxeles
# TaskBarApmGraphWidth=10 # [1-1000]

#  La barra de tareas, arriba de la pantalla
# TaskBarAtTop=0 # 0/1

#  Ocultado automático de la barra de tareas después de un retardo
# TaskBarAutoHide=0 # 0/1

#  Retardo en ms. entre las muestras del monitor de CPU
# TaskBarCPUDelay=500 # [10-3600000]

#  Anchura del monitor de CPU en píxeles
# TaskBarCPUSamples=20 # [2-1000]

#  Uso de tamaño doble de la barra de tareas
# TaskBarDoubleHeight=0 # 0/1

#  Activa la bandeja de sistema en la barra de tareas
# TaskBarEnableSystemTray=1 # 0/1

#  Muestra de forma automática la barra de tareas cuando la ventana está a pantalla completa
# TaskBarFullscreenAutoShow=1 # 0/1

#  Barra de tareas fija a la izquierda (left), a la derecha (right) o centrada (center).
# TaskBarJustify="left"

#  Preserva la barra de tareas sobre las ventanas normales
# TaskBarKeepBelow=0 # 0/1

#  Ejecuta comandos de applet en la barra de tareas (como MailCommand, ClockCommand, ...) con un sólo clic
# TaskBarLaunchOnSingleClick=1 # 0/1

#  Retardo (ms) entre las muestras del monitor de memoria
# TaskBarMEMDelay=500 # [10-3600000]

#  Anchura del monitor de memoria en píxeles
# TaskBarMEMSamples=20 # [2-1000]

#  Pitido cuando lleguen mensajes de correo nuevos
# TaskBarMailboxStatusBeepOnNewMail=0 # 0/1

#  Número de mensajes en el buzón de correo
# TaskBarMailboxStatusCountMessages=0 # 0/1

#  Retardo (ms) entre las muestras del monitor de tráfico de red
# TaskBarNetDelay=500 # [10-3600000]

#  Anchura del monitor de tráfico de red en píxeles
# TaskBarNetSamples=20 # [2-1000]

#  Activa TaskBarShowAPMStatus si la batería está presente
# TaskBarShowAPMAuto=1 # 0/1

#  Muestra el estado de la batería en modo gráfico
# TaskBarShowAPMGraph=1 # 0/1

#  Muestra el monitor de estado de la batería en la barra de tareas
# TaskBarShowAPMStatus=0 # 0/1

#  Muestra el estado de la batería en formato de tiempo, en la barra de tareas
# TaskBarShowAPMTime=1 # 0/1

#  Muestra las ventanas de todos los escritorios en la barra de tareas
# TaskBarShowAllWindows=0 # 0/1

#  Muestra el estado de la CPU en la barra de tareas
# TaskBarShowCPUStatus=1 # 0/1

#  Muestra el reloj en la barra de tareas
# TaskBarShowClock=1 # 0/1

#  Muestra un botón para colasar la barra de tareas
# TaskBarShowCollapseButton=0 # 0/1

#  Muestra el estado del uso de memoria en la barra de estado (sólo Linux)
# TaskBarShowMEMStatus=1 # 0/1

#  Muestra el estado del buzón de correo electrónico en la barra de tareas
# TaskBarShowMailboxStatus=1 # 0/1

#  Muestra el estado del tráfico de red en la barra de tareas
# TaskBarShowNetStatus=1 # 0/1

#  Muestra el botón 'Mostrar escritorio' en la barra de tareas (un valor de 2 lo coloca después del reloj)
# TaskBarShowShowDesktopButton=1 # [0-2]

#  Muestra el menú 'Inicio' en la barra de tareas
# TaskBarShowStartMenu=1 # 0/1

#  Muestra las ventanas transitorias (diálogos, ...) en la barra de tareas
# TaskBarShowTransientWindows=1 # 0/1

#  Muestra los iconos de las aplicaciones en la bandeja
# TaskBarShowTray=1 # 0/1

#  Muestra los iconos de las ventanas en los botones de la barra de tareas
# TaskBarShowWindowIcons=1 # 0/1

#  Muestra el menú 'lista de ventana' en la barra de tareas
# TaskBarShowWindowListMenu=1 # 0/1

#  Muestra los títulos de las ventanas en los botones de la barra de tareas
# TaskBarShowWindowTitles=1 # 0/1

#  Muestra las ventanas en la barra de tareas
# TaskBarShowWindows=1 # 0/1

#  Muestra los botones de cambio de escritorio virtual en la barra de tareas
# TaskBarShowWorkspaces=1 # 0/1

#  Agrupa aplicaciones con el mismo nombre de clase en un único botón de tareas.
# TaskBarTaskGrouping=0 # [0-3]

#  Activa el uso del desplazamiento de la rueda del ratón sobre los botones de conmutación de
#  escritorio y de las ventanas de las aplicaciones en la barra de tareas.
# TaskBarUseMouseWheel=1 # 0/1

#  Anchura de la barra de tareas como porcentaje de la anchura de la pantalla
# TaskBarWidthPercentage=100 # [0-100]

#  Ubica el paginador de escritorio a la izquierda.
# TaskBarWorkspacesLeft=1 # 0/1

#  Limita el número de barras de tareas en los escritorios virtuales
# TaskBarWorkspacesLimit=""

#  Ubica el paginador de escritorio en la fila superior
#  cuando la barra de tareas utiliza doble altura
# TaskBarWorkspacesTop=0 # 0/1

#  Número por defecto de tareas en la barra de tareas
# TaskbarButtonWidthDivisor=3 # [1-50]

#  Emulador de terminal que acepte la opción -e
# TerminalCommand="xterm -hold"

#  Formato de tiempo del reloj (formato de cadena strftime)
# TimeFormat="%X"

# Formato de hora de reloj alternativo para efectos de parpadeo
# TimeFormatAlt=""

#  Doble clic del botón del ratón en la barra del título para maximizar la ventana
# TitleBarMaximizeButton=1 # [0-5]

#  Doble clic del botón del ratón en la barra del título para enrollar la ventana
# TitleBarRollupButton=2 # [0-5]

#  Retardo (ms) antes de que la ventana de la descripción emergente sea mostrada
# ToolTipDelay=500 # [0-5000]

#  Mostrar el icono de una aplicación en la barra de herramientas y en la bandeja de sistema.
# ToolTipIcon=1 # 0/1

#  Límite de tiempo (ms) antes de que la ventana de la descripción emergente se oculte (0 significa nunca)
# ToolTipTime=0 # [0-60000]

#  Muestra las ventanas de todos los escritorios en la bandeja
# TrayShowAllWindows=1 # 0/1

#  Soporte de la rueda del ratón en la navegación por el menú
# UseMouseWheel=0 # 0/1

#  Máscara de bits del clic del botón de la ventana raíz para usar en el gestor de ventanas
# UseRootButtons=255 # [0-255]

#  Cambia de escritorio al mover el ratón por el borde superior/inferior de la pantalla
# VerticalEdgeSwitch=0 # 0/1

#  Soporte de atajos de teclado win95 (Penguin/Meta/Win_L,R Muestra el menú)
# Win95Keys=1 # 0/1

#  La lista de elementos soportados en el menú de ventana (rmsnxfhualytieckw)
# WinMenuItems="rmsnxfhualytiecw"

#  Añade un escritorio.
WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4 "

#  Tiempo (ms) antes de que la ventana de estado del escritorio virtual se oculte
# WorkspaceStatusTime=2500 # [0-2500]

#  Desactiva el uso de la nueva API de XRANDR para cabezal doble (solución temporal para nvidia)
# XRRDisable=0 # 0/1

#  Nombre de la pantalla principal: pantalla/salida
# XRRPrimaryScreenName=""

#  Pantalla primaria donde se muestra la barra de tareas cuando se utiliza más de un monitor
# XineramaPrimaryScreen=0 # [0-63]

1) Apertura automática de los submenús


Para muchos usuarios acostumbrados a trabajar con menús de despliegue automático, el método (a golpe de clic) de apertura de los submenús que usa IceWM por defecto, se convierte en todo un martirio (no digo ya a los que somos usuarios de Fluxbox), para evitar esto sólo hay que modificar el siguiente parámetro del archivo de configuración anterior,

#  Los menús siguen al ratón, incluso si los botones no están presionados
MenuMouseTracking=1 # 0/1

2) Apagar y reiniciar el ordenador desde IceWM


Podemos también configurar los comandos de apagado y reinicio del ordenador en el archivo de configuración anterior, lo primero que debemos de saber es si tenemos permisos como usuarios para poder apagar y reiniciar el sistema. Como cada distribución es un mundo, explico a continuación la forma de hacerlo sin necesidad de depender de las posibles configuraciones que cada distribución tenga predefinidas. Para ello nos servimos del programa Sudo, abrimos el archivo /etc/sudoers y lo dejamos como se muestra a continuación.

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Changing the default settings
Defaults    !root_sudo
Defaults    timestamp_timeout=3

# Host alias specification

# User alias specification
User_Alias    USERS = jose

# Cmnd alias specification
Cmnd_Alias    SHUTDOWN = /sbin/shutdown, /sbin/halt, /sbin/reboot

# User privilege specification
root    ALL=(ALL) ALL
USERS    ALL = NOPASSWD: SHUTDOWN


Donde pone jose poner el nombre de usuario de cada uno, esta configuración nos permite apagar y reiniciar el ordenador, con sólo escribir sudo halt (apagar) ó sudo reboot (reiniciar) en la línea de comandos o en una entrada de cualquier menú, gestor de iconos, etc., sin necesidad de introducir la contraseña del root.

Ahora sólo nos queda editar las entradas correspondiente del archivo de configuración, ~/.icewm/preferences, de la siguiente forma, en las líneas 613 y 616.

#  Comando de apagado del sistema
ShutdownCommand="sudo halt"

#  Comando de reinicio del sistema
RebootCommand="sudo reboot"

Reiniciamos IceWM, y comprobamos que en el submenú de Cierre de Sesión aparecen las entradas Reiniciar y Apagar.

3) Utilizar las mismas fuentes de texto para todos los temas


El tema de las fuentes de texto, es algo tan personal como la ropa interior para un usuario de informática, si somos aficionados a cambiar de tema cada cierto tiempo y no nos gusta que nos toquen las fuentes, lo mejor es utilizar unas fuentes predefinidas que no sean nunca sobreescritas por las que lleven los temas de turno. Así que lanzamos un editor de texto cualquiera y copiamos lo que viene a continuación:

TitleFontNameXft="DejaVu Sans:size=12"

MenuFontNameXft="DejaVu Sans:size=10:bold"

StatusFontNameXft="DejaVu Sans Mono:monospace:size=12:bold"

QuickSwitchFontNameXft="DejaVu Sans Mono:monospace:size=12:bold"

NormalButtonFontNameXft="DejaVu Sans:size=12"

ActiveButtonFontNameXft="DejaVu Sans:size=12:bold"

NormalTaskBarFontNameXft="DejaVu Sans:size=12"

ActiveTaskBarFontNameXft="DejaVu Sans:size=12:bold"

ToolButtonFontNameXft="DejaVu Sans:size=12"

NormalWorkspaceFontNameXft="DejaVu Sans:size=12"

ActiveWorkspaceFontNameXft="DejaVu Sans:size=12"

ListBoxFontNameXft="DejaVu Sans:size=12"

ToolTipFontNameXft="DejaVu Sans:size=12"

ClockFontNameXft="DejaVu Sans Mono:monospace:size=12"

TempFontNameXft="DejaVu Sans Mono:monospace:size=12"

ApmFontNameXft="DejaVu Sans Mono:monospace:size=12"

InputFontNameXft="DejaVu Sans:size=12:bold"

LabelFontNameXft="DejaVu Sans:size=12"

Lo guardamos con el nombre prefoverride en ~./icewm, éstas son las predefinidas que vienen en el archivo de configuración, preferences, si queremos utilizar otras o cambiar el tamaño, el método de edición es siempre el mismo, Elemento configurable="fuente:size=tamaño en dígitos:bold (si la queremos en negrita)". Con el mismo editor de texto que hemos utilizado podemos saber las fuentes que tenemos en nuestro sistema y su nombre, no creo que tengamos muchos problemas para modificar estos parámetros.

Definición de los elementos de la configuración de las fuentes
TitleFontNameXft= Define la fuente de texto a utilizar en la barra de título de las ventanas.
MenuFontNameXft= Define la fuente de texto a utilizar en el menú de IceWM.
QuickSwitchFontNameXft= Define la fuente de texto a utilizar en el conmutador de ventana que se activa con la combinación de teclado 'Alt + Tabulador'.
NormalButtonFontNameXft= Define la fuente de texto a utilizar en los botones de la barra de tareas que no están activos.
ActiveButtonFontNameXft= Define la fuente de texto a utilizar en los botones de la barra de tareas que están activos.
NormalTaskBarFontNameXft= Define la fuente de texto a utilizar en los botones de la barra de tareas de las ventanas que no están enfocadas.
ActiveTaskBarFontNameXft= Define la fuente de texto a utilizar en los botones de la barra de tareas de las ventanas que están enfocadas.
ToolButtonFontNameXft= Define la fuente de texto a utilizar en los botones de la barra de tareas que no están activos. Este parámetro sólo es funcional si no está configurado 'NormalButtonFontNameXft='.
NormalWorkspaceFontNameXft= Define la fuente de texto a utilizar en los botones conmutadores de escritorio ubicados en la barra de tareas que no están activos. Este parámetro sólo es funcional si no está configurado 'NormalButtonFontNameXft='.
ActiveWorkspaceFontNameXft= Define la fuente de texto a utilizar en los botones conmutadores de escritorio ubicados en la barra de tareas que están activos. Este parámetro sólo es funcional si no está configurado 'ActiveButtonFontNameXft='.
ListBoxFontNameXft= Define la fuente de texto a utilizar en las ventanas que muestrán listas de elementos de IceWM.
TooltipFontNameXft= Define la fuente de texto a utilizar en las descripciones emergentes.
ClockFontNameXft= Define la fuente de texto a utilizar en el reloj de la barra de tareas.
TempFontNameXft= Define la fuente de texto a utilizar para la temperatura ACPI en el elemento del estado de la CPU en la barra de tareas.
ApmFontNameXft= Define la fuente de texto a utilizar en el monitor de estado de batería de la barra de tareas.
InputFontNameXft= Define la fuente de texto a utilizar en las cajas de texto de diálogo mostradas por IceWM.
LabelFontNameXft= Define la fuente de texto a utilizar en las etiquetas que se muestran cuando colocamos el puntero del ratón sobre los iconos de la barra de inicio rápido de IceWM.


Foro Galería Blog


Página - 1Página - 2

Actualizado el 26-03-2024

Instalar IceWM desde cero

Editar los temas de FluxboxInstalar Window Maker desde cero