Basado en el administrador de ventanas, Aewm++, Pekwm
se caracteriza por su amplio número de opciones y
posibilidades igualando a otros administradores de ventanas
más conocidos como Fluxbox. A diferencia de éste y al igual que sucede con Openbox no posee barra de tareas, por lo que utilizaremos un programa auxiliar. En este caso y para variar respecto al manual de Openbox me decantaré por Fbpanel, una opción muy válida escrita en GTK2.
A partir de la versión 0.2.0, se han incluido nuevos elementos que convierten a Pekwm en
algo más que un simple administrador de ventanas, entre
ellos, un panel, bastante más díficil de configurar que
la opción rápida de recurrir a un panel de escritorio
independiente, que es lo que seguiremos haciendo en este manual.
Características
* Posibilidad de agrupar las ventanas en una sola.
* Menú configurable con soporte de iconos.
* Soporte de atajos de teclado.
* Acciones configurables del ratón.
* Posición de ventanas configurable.
* Soporte multipantalla Xinerama.
* Temas (instalables desde la web de Pekwm, con el programa pekwm_theme)
* Suavizado de fuentes.
* Posibilidad de memorizar las propiedades de las ventanas.
* Panel configurable con soporte de widgets y scripts.
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:
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 Pekwm para la elaboración de este documento.
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.
Produce un código binario optimizado para la mayor parte de procesadores existentes. Utilizar este valor si no sabemos el nombre del procesador que tenemos en nuestro equipo. Este valor sólo es aplicable en la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a partir de GCC 4.2.
native
Produce un código binario optimizado para el procesador que tengamos en nuestro sistema, siendo éste detectado utilizando la instrucción cpuid. Procesadores antiguos pueden no ser detectados utilizando este valor. Esta opción está disponible a partir de GCC 4.2.
x86-64
Procesador genérico con extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 1.9.
x86-64-v2
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12.
x86-64-v3
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C, FMA, LZCNT, MOVBE, XSAVE, XSAVEC, FMA4) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12.
x86-64-v4
Procesador genérico con con soporte de instrucciones X86-64 (MMX, SSE, SSE2, LAHFSAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3, AVX, AVX2, F16C, FMA, LZCNT, MOVBE, XSAVE, XSAVEC, AVX512*, FMA4) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12.
Intel Alderlake con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12.
arrowlake
Intel Arrow Lake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD y extensiones 64-bit. Esta opción está disponible a partir de GCC 14.
arrowlake-s
Intel Arrow Lake S con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4 y extensiones 64-bit. Esta opción está disponible a partir de GCC 14.
atom
Intel Atom con soporte de
instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y extensiones
64-bit. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición bonnell.
bonnell
Intel Bonnell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
broadwell
Intel Broadwell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9 y Clang 3.6.
cannonlake
Intel Cannonlake Server con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, UMIP y extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 3.9.
cascadelake
Intel Cascadelake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI y extensiones 64-bit. Esta opción está disponible a partir de GCC 9 y Clang 8.
clearwaterforest
Intel Clearwater Forest con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ENQCMD, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4, USER_MSR, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 14 y Clang 18.
cooperlake
Intel Cooper Lake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16 y extensiones 64-bit. Esta opción está disponible a partir de GCC 10 y Clang 9.
core2
Intel Core2 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.3.
core-avx2
Intel Core (Haswell). Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición haswell.
core-avx-i
Intel Core (ivyBridge) con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición ivybridge.
corei7
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 y SSE4.2 y extensiones 64-bit. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición nehalem.
corei7-avx
Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL y extensiones 64-bit. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6, hasta GCC 4.8. A partir de GCC 4.9 se utiliza la definición sandybridge.
emeraldrapids
Intel Emerald Rapids. Esta opción está disponible a partir de GCC 13 y Clang 16.
goldmont
Intel Goldmont con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE y extensiones 64-bit. Esta opción está disponible a partir de GCC 9 y Clang 5.
goldmont-plus
Intel Goldmont Plus con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, UMIP y extensiones 64-bit. Esta opción está disponible a partir de GCC 9 y Clang 7.
grandridge
Intel Grand Ridge con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, RAOINT y extensiones 64-bit. Esta opción está disponible a partir de GCC 13 y Clang 16.
graniterapids
Intel Grand Ridge con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512-FP16, AVX512BF16, AMX-FP16, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 13 y Clang 16.
graniterapids-d
Intel Granite Rapids D con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE, RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW, AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB, MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512FP16, AVX512BF16, AMX-FP16, PREFETCHI, AMX-COMPLEX y extensiones 64-bit. Esta opción está disponible a partir de GCC 14 y Clang 17.
haswell
Intel Haswell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
i386
Intel i386.
i486
Intel i486.
i586, pentium
Intel Pentium sin soporte de instrucciones MMX.
i686
Produce un código binario optimizado para la mayor parte de procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son.
icelake-client
Intel Icelake Client con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES y extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 7.
icelake-server
Intel Icelake Server con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES, PCONFIG, WBNOINVD y extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 7.
intel
Intel Haswell y Silvermont. Este valor sólo es aplicable en la opción '-mtune='. Esta opción está disponible a partir de GCC 4.9.
ivybridge
Intel Ivy Bridge con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
knl
Intel Knights Landing con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, AVX512F, AVX512PF, AVX512ER y extensiones 64-bit. Esta opción está disponible a partir de GCC 5 y Clang 3.4.
knm
Intel Knights Mill con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, AVX512F, AVX512PF, AVX512ER, AVX512CD, AVX5124VNNIW, AVX5124FMAPS, AVX512VPOPCNTDQ y extensiones 64-bit. Esta opción está disponible a partir de GCC 8 y Clang 6.
lakemont
Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir de GCC 6 y Clang 3.9.
lunarlake
Intel Lunar Lake. Esta opción está disponible a partir de GCC 14 y es equivalente a la opción arrowlake-s.
meteorlake
Intel Meteor Lake. Esta opción está disponible a partir de GCC 13 y Clang 16.
nehalem
Intel Nehalem con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
nocona
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit.
pantherlake
Intel Panther Lake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, UINTR, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, AVXVNNIINT16, SHA512, SM3, SM4, PREFETCHI y extensiones 64-bit. Esta opción está disponible a partir de GCC 14 y Clang 18.
penryn
Intel Penryn con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y SSE4.1.
pentiumpro
Intel PentiumPro.
pentium2
Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX.
pentium3, pentium3m
Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE.
pentium4, pentium4m
Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2.
pentium-m
Versión de bajo consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2. Utilizado por los portátiles Centrino.
pentium-mmx
Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX.
prescott
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
raptorlake
Intel Raptor Lake. Esta opción está disponible a partir de GCC 13 y Clang 16.
rocketlake
Intel Rocket Lake con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 13.
sandybridge
Intel Sandy Bridge con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9 y Clang 3.6.
sapphirerapids
Intel Sapphire Rapids con soporte de instrucciones x86-64 (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12.
silvermont
Intel Silvermont con soporte de instrucciones MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9 y Clang 3.6.
sierraforest
Intel Sierra Forest con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREFETCHW, PCLMUL, RDRND, XSAVE, XSAVEC, XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD y extensiones 64-bit. Esta opción está disponible a partir de GCC 13 y Clang 16.
skylake
Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir de GCC 6 y Clang 3.6.
skylake-avx512
Intel Skylake Server con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y extensiones 64-bit. Esta opción está disponible a partir de GCC 6 y Clang 3.9.
tigerlake
Intel Tiger Lake con soporte de instrucciones OVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, VAES, PCONFIG, WBNOINVD, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT y extensiones 64-bit. Esta opción está disponible a partir de GCC 10 y Clang 10.
tremont
Intel Tremont con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL, RDRND, XSAVE, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, UMIP, GFNI-SSE, CLWB, ENCLV y extensiones 64-bit. Esta opción está disponible a partir de GCC 9 y Clang 7.
westmere
Intel Westmere con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.
yonah
Procesadores basados en la microarquitectura de Pentium M, con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
Procesadores basados en AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.3. La definición barcelona está disponible a partir de Clang 3.6.
athlon, athlon-tbird
AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch.
athlon4, athlon-xp, athlon-mp
Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE.
bdver1
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.7.
bdver2
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.7.
bdver3
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.8 y Clang 3.4.
bdver4
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP, LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.9 y Clang 3.5.
btver1
Procesadores basados en AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.6.
btver2
Procesadores basados en AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C, BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3, SSE2, SSE, MMX y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.8.
geode
AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.
k6
AMD K6 con soporte de instrucciones MMX.
k6-2, k6-3
Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!.
k8, opteron, athlon64, athlon-fx
Procesadores basados en AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, 3DNow!, enhanced 3DNow! y extensiones 64-bit).
k8-sse3, opteron-sse3, athlon64-sse3
Versiones mejoradas de AMD K8 core con soporte de instrucciones SSE3. Esta opción está disponible a partir de GCC 4.3.
znver1
Procesadores basados en AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones 64-bit). Esta opción está disponible a partir de GCC 6 y Clang 4.
znver2
Procesadores basados en AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2, ,CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones 64-bit). Esta opción está disponible a partir de GCC 9 y Clang 9.
znver3
Procesadores basados en AMD Family 19h core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES) y extensiones 64-bit. Esta opción está disponible a partir de GCC 11 y Clang 12.
znver4
Procesadores basados en AMD Family 19h core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD, AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI, AVX512BITALG, AVX512VPOPCNTDQ, GFNI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 12.3 y Clang 16.
znver5
Procesadores basados en AMD Family 1ah core con soporte de instrucciones x86-64 (BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, PKU, VPCLMULQDQ, VAES, AVX512F, AVX512DQ, AVX512IFMA, AVX512CD, AVX512BW, AVX512VL, AVX512BF16, AVX512VBMI, AVX512VBMI2, AVX512VNNI, AVX512BITALG, AVX512VPOPCNTDQ, GFNI, AVXVNNI, MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, PREFETCHI) y extensiones 64-bit. Esta opción está disponible a partir de GCC 14.
Establecer la variable de entorno de uso de compilador para Clang
$ export CC=clang CXX=clang++
Extracción y Configuración
$ tar zxvf pekwm-0.3.0.tar.gz
$ cd pekwm-0.3.0
$ cmake -S . -B build -DCMAKE_INSTALL_SYSCONFDIR=/etc -G Ninja
Explicación de los comandos
-S . -B build : Establece el directorio del código fuente y crea de forma automática el directorio de compilación.
-DCMAKE_INSTALL_SYSCONFDIR=/etc: Instala los archivos de configuración en /etc/pekwm.
-G Ninja : Utiliza Ninja en lugar de GNU Make para compilar el paquete (opcional).
Compilación
$ ninja
Parámetros de compilación opcionales
-v : Muestra más información en el proceso de compilación.
-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 "ninja install-strip"
Instalación de los archivos de configuración personal en nuestro home
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.
Aplicaciones
instaladas
Ejecutable
Descripción
pekwm
Es el binario ejecutable lanzador del administrador de ventanas.
pekwm_bg
Utilidad encargada de colocar una imagen en el fondo de la pantalla. Es similar a Wallpaperd pero más simple, del mismo autor de Pekwm. Para más información ejecutar "man pekwm_bg".
Opciones de línea de comandos de pekwm_bg (traducidas al español)
[jose@localhost ~]$ pekwm_bg -h
uso: pekwm_bg [-hl] textura
-d --display dpy Establece el fondo de una determinada pantalla.
-D --daemon Se ejecuta en segundo plano
-h --help Muestra esta información
-l --load-dir ruta Ruta de búsqueda de las imágenes
-s --stop Detiene la ejecución de pekwm_bg
pekwm_ctrl
Utilidad inspirada en el programa wmctrl
con la que podremos controlar las ventanas de Pekwm, desde línea
de comandos. Para más información ejecutar "man
pekwm_ctrl".
Opciones de línea de comandos de pekwm_ctrl (traducidas al español)
Utilidad inspirada en el programa xmessage que muestra un cuadro de diálogo cuando algún tema de Pekwm produce un cuelge del mismo.
pekwm_panel
Un panel de escritorio,
aunque el término correcto sería barra de herramientas,
de características similares a la barra de herramientas de
Fluxbox, pero bastante más complicado de configurar.
pekwm_screenshot
Utilidad de captura de
pantalla muy simple y sin cuadro de diálogo, que podemos
ejecutar desde el menú de aplicaciones de Pekwm.
pekwm_theme
Utilidad de gestión
de los temas de Pekwm, permite descargarlos desde la web de Pekwm. Para
más información ejecutar "man pekwm_theme".
Opciones de línea de comandos de pekwm_theme (traducidas al español)
install [-a] nombre instalar un tema
uninstall nombre desinstalar un tema (suprime los cambios locales)
show nombre mostrar la vista previa de un tema
search [patrón] búsqueda de un tema
new nombre crear un nuevo tema
update
actualizar el indíce de los temas
Directorio de
configuración personal
~/.pekwm
Es
el directorio de configuración personal de Pekwm
en nuestro home.
~/.pekwm/themes
Es el
subdirectorio donde
podemos colocarlos
temas que nos bajemos de internet y los que queramos personalizar de
los ya existentes.
~/.pekwm/icons
Es el subdirectorio donde colocaremos los iconos que se muestren en el menú de Pekwm.
~/.pekwm/autoproperties
Es
el archivo de configuración que
permite modificar las propiedades de las ventanas de una
aplicación específica, para ello se vale de la
información proporcionada por xprop.
Para concretar, si quiero que una determinada aplicación se
muestre sin los bordes de la ventana, lo configuro en este archivo.
También contiene opciones de autoagrupramiento de ventanas,
similar a las que utiliza Fluxbox,
es decir, una sóla ventana para 2 aplicaciones o
más, o una sóla ventana para todas las ventanas nuevas
que se abran en una aplicación y el título de la
ventana para poder
cambiar
de una a otra.
~/.pekwm/autoproperties_typerules
Este archivo de configuración es nuevo desde la versión 0.1.17,
y contiene la configuración global de comportamiento de las
ventanas predefinido, que antes estaba incluida en el archivo de
configuración, autoproperties. Su edición no es necesaria.
~/.pekwm/config
Es el
archivo de configuración principal de Pekwm.
~/.pekwm/history
Es el archivo que almacena el historial del cuadro de diálogo de ejecución de comandos de Pekwm.
~/.pekwm/keys
Es el
archivo de configuración de los atajos de teclado
de Pekwm.
~/.pekwm/menu
Es el
archivo de configuración del menú de Pekwm.
~/.pekwm/mouse
Es el
archivo de configuración de los eventos y
atajos del ratón
de Pekwm.
~/.pekwm/panel
Es el archivo de configuración del panel de Pekwm (nuevo a partir de la versión 0.2.0).
~/.pekwm/start
Es el
script que permite añadir aplicaciones para que se
ejecuten en el inicio de Pekwm.
~/.pekwm/vars
Es el
archivo de
configuración de las variables de entorno a utilizar en los
archivos de configuración de Pekwm.
~/.pekwm/themes-v1.csv
Es el archivo que se crea
de forma automática cuando se ejecuta por primera vez, el gestor
de temas de Pekwm, pekwm_theme.
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.
$ su
# tar zxvf pekwm-0.3.0-scripts.tar.gz
# cd pekwm-0.3.0-scripts
# ./Desinstalar_pekwm-0.3.0
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 pekwm-0.3.0-scripts.tar.gz
# cd pekwm-0.3.0-scripts
# ./Respaldar_pekwm-0.3.0
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_pekwm-0.3.0
Configuración de Pekwm
NOTA
IMPORTANTE: A partir de la versión 0.1.15 de Pekwm, el contenido de los archivos de configuración config y mouse, ha sido trasladado a los archivos de configuración del sistema, config_system, mouse_system, mouse_click y mouse_sloppy, ubicados en /etc/pekwm, y de cuyo contenido, podremos tomar como ejemplo para editar los archivos de configuración personal, config y mouse.
Con la edición de este archivo, personalizamos el comportamiento
de las ventanas de las aplicaciones que ejecutemos cuando estemos
en una sesión de este administrador de ventanas, es decir,
posición, tamaño, ubicación en un determinado
escritorio virtual, título, con decoración o sin
decoración, que las ventanas nuevas se abran todas en una misma
ventana, etc. y por último, autoagrupamiento, o lo que es lo
mismo, en una misma ventana juntamos dos o el número que creamos
conveniente de aplicaciones.
Respecto a esto último decir que
procuremos autoagrupar aplicaciones con tamaños similares de
ventanas, porque la ventana fija el tamaño de la
aplicación más pequeña a la más grande. Y
el resultado puede ser desproporcionado en el sentido de que muchas
aplicaciones guardan el tamaño de la ventana al ser
cerradas, y si las ejecutamos en otro entorno nos
aparecerán totalmente descuadradas respecto a su tamaño
original.
Para poder configurar las ventanas necesitaremos el uso del programa xprop para poder utilizar la información que nos proporciona de identificación de la ventana. Un ejemplo con El Gimp, ejecuto el programa, luego abro una terminal y lanzo el comando xprop, el puntero del ratón se convertirá en una cruz, y con la misma hago clic sobre la caja de herramientas de Gimp, de la información que me aparezca en la ventana de terminal, hay que coger lo siguiente:
No aparecen juntos, yo los junto para ahorrar espacio y no perdernos en el tema. El parámetro WM_WINDOW_ROLE(STRING) sirve
para identificar a la ventana respecto a las otras del programa,
cuando éste tiene más de una abierta, en este caso "gimp-toolbox", el parámetro WM_CLASS(STRING) sirve para identificar al programa, en este caso "Gimp", "Gimp".
Trasladamos esta información al archivo autoproperties para que en el menú de lista de ventanas sólo aparezca una de todas las que tiene abiertas El Gimp, para evitar confusiones y una saturación del menú. (Este ejemplo viene comentado # en el mismo)
Creo que en lo que se refiere a la identificación de las
ventanas y su traslación al archivo de configuración
queda bastante claro,
xprop
autoproperties
WM_CLASS(STRING) = "gimp", "Gimp"
Property = "^gimp,^Gimp"
WM_WINDOW_ROLE(STRING) = "gimp-toolbox"
Role = "gimp-toolbox"
Los parámetros que admite este archivo de configuración
son los siguientes (Recordar que "True o False" pueden ser sustituidos
por "1 o 0" para activar o desactivar el parámetro
correspondiente):
Sticky = "True o False"
La ventana se muestra en todos los escritorios virtuales.
Shaded = "True o False"
La ventana se inicia enrollada.
MaximizedVertical = "True o False"
La ventana se inicia maximizada de forma vertical.
MaximizedHorizontal = "True o False"
La ventana se inicia maximizada de forma horizontal.
Iconified = "True o False"
La ventana se inicia minimizada.
Border = "True o False"
La ventana se inicia con borde.
Titlebar = "True o False"
La ventana se inicia con la barra del título.
ClientGeometry = "geometría"
Define el tamaño y
la posición del cliente de la ventana, excluyendo el
tamaño de los bordes y la decoración de la misma.
Ejemplo: 100x100+0-0
FrameGeometry = "geometría"
Define el tamaño y
la posición de la ventana, incluyendo el
tamaño de los bordes y la decoración de la misma. Si el
parámetro ClientGeometry está presente, éste
será sobreescrito por el parámetro FrameGeometry.
Ejemplo: 100x100+0-0
Workspace = "número"
Define en qué escritorio se iniciará el programa.
PlaceNew = "True o False"
Activa el uso de reglas de ubicación para este cliente.
FocusNew = "True o False"
Define si este cliente seguirá estando enfocado al iniciarse una nueva ventana emergente.
Focusable = "True o False"
Define si este cliente podrá ser enfocado cuando esté corriendo.
Opacity = "100, 50"
Define el nivel de opacidad de la ventana cuando recibe el enfoque ("100, 50") y cuando no lo tiene ("100, 50"). Un valor de 0 equivale a una transparencia total, y un valor de 100 a una opacidad total. El valor tiene que estar
comprendido entre 0 y 100.
Para poder hacer uso de esta característica, se requiere de la ejecución al inicio de Xcompmgr o un programa de características similares.
CfgDeny = "parámetro"
Una lista de condiciones
de denegación de llamadas por parte del programa cliente. Si
añadimos más de una, irán separadas por espacios y
las comillas abrirán y cerrarán la lista. Pueden ser:
"Position"
Ignora la petición de cambio de posición de la ventana.
"Size"
Ignora la petición de cambio de tamaño de la ventana.
"Stacking"
Ignora la petición de cambio del apilado de la ventana.
"ActiveWindow"
Ignora la petición de cambio del enfoque de la ventana.
"MaximizedVert"
Ignora la petición de cambio a maximizado vertical de la ventana.
"MaximizedHorz"
Ignora la petición de cambio a maximizado horizontal de la ventana.
"Hidden"
Ignora la petición de cambio para mostrar/ocultar la ventana.
"Fullscreen"
Ignora la petición de cambio para poner la ventana a pantalla completa.
"Above"
Ignora la petición de cambio para poner la ventana por encima de las otras.
"Bellow"
Ignora la petición de cambio para poner la ventana por debajo de las otras.
ApplyOn = "parámetro"
Una lista de condiciones
para aplicar a la configuración (Property) de una determinada
aplicación en este archivo. Si añadimos más de
una, irán separadas por espacios y
las comillas abrirán y cerrarán la lista. Pueden ser:
"Start"
Aplicar si la ventana ya existe antes del inicio/reinicio de Pekwm. Reseñar que si utilizamos el parámetro grouping, Start no tendrá en cuenta los escritorios virtuales.
"Reload"
Aplicar cuando los archivos de configuración de Pekwm sean recargados.
"New"
Aplicar cuando la aplicación se inicie por primera vez.
"Workspace"
Aplicar cuando la ventana sea enviada a otro escritorio virtual.
"Transient"
Aplicar a las ventanas
transitorias así como a las ventanas normales. Las cajas de
diálogo son normalmente ventanas transitorias.
"TransientOnly"
Aplicar sólo a las ventanas transitorias.
Las cajas de diálogo son normalmente ventanas transitorias.
Skip = "parámetro"
Una lista de situaciones
en las que será ignorada la aplicación definida y
permitirá al usuario omitir determinadas acciones. Si añadimos más de
una, irán separadas por espacios y
las comillas abrirán y cerrarán la lista. Pueden ser:
"Snap"
No captura esta ventana cuando se muevan las ventanas.
"Menus"
No muestra esta ventana en los menús de Pekwm.
"FocusToggle"
No enfoca esta ventana cuando se alterne el enfoque entre las ventanas abiertas.
Layer = "parámetro"
La capa de ventanas. Hace
que la ventana esté debajo o encima de las otras ventanas. La
capa por defecto es "Normal". Los posibles parámetros de
posición son (ordenados desde la posición más
inferior hacia la más superior) :
"Desktop"
"Below"
"Normal"
"OnTop"
"Harbour"
"AboveHarbour"
"Menu"
Title = "nombre"
Aplicar esta autopropiedad
en los clientes cuyo título de ventana sea igual al texto
definido en el parámetro. El texto tiene que ser de tipo regex, un
ejemplo: "^Guardando"
Role = "nombre"
Aplicar esta
autopropiedad en los clientes cuyo WM_WINDOW_ROLE(STRING) sea igual al
texto definido en el parámetro. El texto tiene que ser
de tipo regex, un ejemplo: "^gimp-toolbox"
Group = "nombre"
Define el nombre del grupo. Esta sección contiene todas las opciones posibles de agrupamiento de ventanas.
Size = "número"
Cuántos clientes deben agruparse en un grupo de ventanas.
Behind = "True o False"
Si se pone en True los nuevos clientes de un grupo de ventanas nunca estarán activos en el mismo.
Global = "True o False"
Si se pone en True
los nuevos clientes de un grupo de ventanas se iniciarán siempre
aunque este grupo esté en otro escritorio virtual o minimizado.
Raise = "True o False"
Si se pone en True los nuevos
clientes de un grupo de ventanas elevarán el marco en el que se abran.
FocusedFirst = "True o False"
Si se pone en True
y hay más de un marco en dónde la ventana podría
ser autoagrupada dentro, el marco actualmente enfocado es considerado
la primera opción.
Un ejemplo de autoagrupamiento sería éste,
Property = ".*,^Firefox" { Group = "netwin" { Size = "0" } ApplyOn = "New Start Reload" } Property = ".*,^Claws-mail" { Group = "netwin" { Size = "0" } ApplyOn = "New Start Reload Transient" }
En la 1ª regla todas las ventanas iguales a ".*,^Firefox" serán agrupadas en un grupo con el nombre netwin y esto será aplicado (ApplyOn) en el inicio (Start) y en la recarga (Reload) de Pekwm y al abrir nuevas ventanas (New) de Firefox, pero no incluirá las ventanas de diálogo.
En la 2ª regla lo mismo que en la primera pero esta vez para Claws-mail, en este caso las ventanas de diálogo (Transient) si serán incluidas en el grupo de ventanas junto a Firefox. Para un número ilimitado de ventanas agrupadas se utiliza siempre el valor "0" en el parámetro "Size".
El resultado lo podemos ver en las capturas de pantalla siguientes, un dato, si cerramos la ventana y Firefox no
tiene el enfoque en esos momentos, en la siguiente ejecución
del mismo, nos saldrá el cuadro de diálogo de cierre
incorrecto de la sesión anterior. Para cambiar de una ventana a
otra con hacer clic en el título de cada una es suficiente.
2) ~/.pekwm/config
Éste es el archivo de configuración principal de Pekwm y se divide en 5 secciones diferenciadas.
2a) Files
Esta sección contiene las rutas por defecto de los archivos de configuración de Pekwm
y la ruta al tema que se esté utilizando en estos momentos. En
este último caso, si tuvieramos problemas de inicio por culpa de
algún tema siempre tendríamos la posibilidad de cambiarlo
desde este archivo.
Definición de los elementos de la sección MoveResize
EdgeAttrack = "número"
La distancia mínima en píxeles entre el borde de la pantalla y la ventana nueva abierta más cercana.
EdgeResit = "número"
La distancia mínima en píxeles entre el borde de la pantalla y la ventana al moverla.
WindowAttract = "número"
La distancia mínima en píxeles entre las ventanas.
WindowResist = "número"
La distancia mínima en píxeles entre las ventanas al moverlas.
OpaqueMove = "True o False"
Si se pone en True activa el movimiento opaco de la ventana.
ResizeMove = "True o False"
Si se pone en True activa el redimensionado opaco de la ventana.
2c) Screen
Sección principal de configuración del archivo ~/.pekwm/config y en la que configuramos todo lo relacionado con los escritorios virtuales y el comportamiento de las ventanas.
UniqueNames {
SetUnique = "False";
Pre = " #";
Post = "";
}
}
Definición de los elementos de la sección Screen
ThemeBackground = "True o False"
Define si se cargará el fondo de escritorio proporcionado por el tema correspondiente de Pekwm.
Workspaces = "número"
Define el
número de escritorios virtuales a utilizar. En la versión
0.2.0 de Pekwm, se ha aumentado a 9 el número predefinido de
escritorios virtuales.
WorkspacesPerRow = "número"
Define el número
de escritorios por fila del indicador de escritorios que se muestra en
el centro de la pantalla cuando cambiamos de escritorio.
WorkspacesNames = "nombres"
Define el nombre de cada escritorio virtual de los que se muestran en el indicador de escritorios, separados por ;
ShowFrameList = "True o False"
Define si una lista de
todas las ventanas abiertas en el escritorio será desplegada al
ejecutar las acciones NextFrame/PrevFrame.
ShowStatusWindow = "True o False"
Define si se mostrará la información de tamaño y posición al mover o redimensionar una ventana.
ShowStatusWindowCenteredOnRoot = "True o False"
Si se pone en True el antiguo comportamiento del estado de la ventana será usado.
ShowClientID = "True o False"
Si se pone en True se
mostrará la identificación del cliente de la ventana
mediante los valores estándar EWMH.
ShowWorkspaceIndicator = "número"
Define el tiempo en milisegundos en el que será mostrado el indicador de escritorios.
WorkspaceIndicatorScale = "número"
Define el tamaño
del indicador de escritorios. Un valor más alto significa un
tamaño más pequeño.
WorkspaceIndicatorOpacity = "50"
Define el nivel de opacidad del indicador de escritorios. Un valor de 0 equivale a una transparencia total,
y un valor de 100 a una opacidad total. El valor tiene que estar
comprendido entre 0 y 100.
Para poder hacer uso de esta característica, se requiere de la ejecución al inicio de Xcompmgr o un programa de características similares.
PlaceNew = "True o False"
Activa el uso de reglas de ubicación para todos los clientes.
FocusNew = "True o False"
Define si las ventanas nuevas siempre reciben el enfoque.
FocusNewChild = "True o False"
Define si la ventana transitoria recibe siempre el enfoque.
PlaceNew = "True o False"
Activa el uso de reglas de ubicación para todos los clientes.
ReportAllClients = "True o False"
Define si las ventanas
abiertas deben de mostrarse en elementos como un paginador de
escritorio o, si sólo debe de hacerlo la ventana activa.
TrimTitle = "texto"
Define el texto que usará Pekwm
para recortar los títulos de ventana muy largos. Si se
deja vacío no se realizará ningún recorte.
FullScreenAbove= "True o False"
Si se pone en True
las ventanas que se pongan a pantalla completa se situarán por encima
de los paneles o cualquier otra utilidad de escritorio que esté
corriendo junto a Pekwm
FullScreenDetect= "True o False"
Si se pone en True, Pekwm intentará detectar las pantallas completas de los programas que no sean compatibles con EWHM y adaptará la ventana al estado requerido por la aplicación en cuestión.
HonourRandr= "True o False"
Si se pone en True fuerza a Pekwm a interpretar la información proporcionada por Xinerama en detrimento de Xrandr.
HonourAspectRatio= "True o False"
Si se pone en False no se respetará la proporción de las ventanas cuando sean redimensionadas.
EdgeSize = "número"
Define el tamaño en
píxeles del borde de la pantalla que será considerado
como borde de la pantalla virtual de Pekwm. Un valor de 0 desactiva los bordes.
EdgeIndent = "True o False"
Si se pone en True se reservará espacio donde esté el borde de la pantalla.
PixmapCacheSize = "número"
Determina el número de archivos de imagen sin usar que serán almacenados en la caché de Pekwm para un uso futuro.
DoubleClickTime = "número"
Tiempo en milisegundos para que un clic se cuente como un doble clic.
CurrHeadSelector = "texto"
Controla las operaciones
relativas a la pantalla actual, como ubicación, enfoque,
selección de cursor, etc. Las operaciones afectadas incluyen la
ubicación y posición del cuadro de diálogo de
ejecución de aplicaciones, diálogo de búsqueda,
estado de las ventanas y la lista de ventanas enfocadas. No se
proporciona un ejemplo de configuración de este elemento.
Definición de los elementos de la subsección Placement
TransientOnParent = "True o False"
Si se establece en True, las ventanas transitorias serán mapeadas en su ventana padre.
Model = "parámetro"
Define el modelo de comportamiento de las ventanas en su ubicación en la pantalla. Que puede ser:
"Smart"
Intenta colocar la ventana donde no haya otra presente.
"MouseCentered"
Coloca la ventana centrada debajo de la posición actual del puntero del ratón.
"MouseTopLeft"
Coloca la esquina superior izquierda de la ventana debajo del puntero del ratón.
"MouseNotUnder"
Coloca la ventana en las esquinas de la pantalla evitando la posición actual del puntero del ratón.
"CenteredOnParent"
Coloca las ventanas transitorias en el centro de la ventana padre.
WorkspacePlacements = "texto"
Lista de los modelos de
comportamiento de las ventanas separados por punto y coma para los
escritorios virtuales. Sirven las mismas definiciones de arriba de esta
fila.
Definición de los elementos de la subsección Smart de la subsección Placement
Row = "True o False"
Si se pone en True se usarán filas en vez de columnas para la ubicación de las ventanas.
TopToBottom = "True o False"
Si se pone en False la ventana es ubicada empezando desde abajo.
LeftToRight = "True o False"
Si se pone en False la ventana es ubicada empezando desde la derecha.
OffSetX = "número"
Espacio horizontal en
píxeles que se reservará entre las ventanas nuevas y
viejas, y el borde de la pantalla. Un valor de 0 no deja ningún espacio.
OffSetY = "número"
Espacio vertical en
píxeles que se reservará entre las ventanas nuevas y
viejas, y el borde de la pantalla. Un valor de 0 no deja
ningún espacio.
Definición de los elementos de la subsección UniqueNames
SetUnique = "True o False"
Define si esta
característica es usada o no. En aquellos clientes que utilizan
el mismo título de ventana podemos añadirles un prefijo o
sufijo para diferenciarlos unos de otros. Ejemplo: terminal, terminal
[2]
Pre = "texto"
Texto a colocar antes del número único de cliente.
Post = "texto"
Texto a colocar después del número único de cliente.
2d) Menu
En esta sección se configura el comportamiento del menú
relacionado con la forma de apertura de los submenús y el modo de ejecución de los programas que lo componen.
# To enable make separate window have other icon size restrictions,
# for example wallpaper menu found in pekwm_menu_tools, set the following
# for each menu you want to "free".
# Defines how menus act on mouse input.
# Possible values are: "ButtonPress ButtonRelease DoubleClick Motion"
# To make submenus open on mouse over, comment the default Enter,
# uncomment the alternative, and reload pekwm.
Select = "Motion"
# Enter = "ButtonPress"
Enter = "Motion"
Exec = "ButtonRelease"
}
Definición de los elementos de la sección Menu
DisplayIcons = "True o False"
Habilita el uso de iconos en el menú, por defecto estos tienen que estar ubicados en el subdirectorio ~/.pekwm/icons.
FocusOpacity = "100"
Define el nivel de opacidad de la ventana del menú seleccionada. Un valor de 0 equivale a una transparencia total,
y un valor de 100 a una opacidad total. El valor tiene que estar
comprendido entre 0 y 100.
Para poder hacer uso de esta característica, se requiere de la ejecución al inicio de Xcompmgr o un programa de características similares.
UnfocusOpacity = "50"
Define el nivel de opacidad de la ventana del menú no seleccionada. Un valor de 0 equivale a una transparencia total,
y un valor de 100 a una opacidad total. El valor tiene que estar
comprendido entre 0 y 100.
Para poder hacer uso de esta característica, se requiere de la ejecución al inicio de Xcompmgr o un programa de características similares.
Icons = "DEFAULT"
Estos son los iconos que se utilizan por defecto, y tienen que estar ubicados en el subdirectorio ~/.pekwm/icons.
Con este parámetro y los valores que vienen a
continuación se puede crear un menú de fondos de
escritorio, con el tamaño de miniatura definido por el
tamaño del icono.
Minimum = "16x16"
Define el tamaño mínimo de los iconos.
Maximun = "16x16"
Define el tamaño máximo de los iconos.
Select = "parámetro"
Define el tipo de evento
del ratón para seleccionar una entrada del menú a elegir
entre "ButtonPress", "ButtonReleased", "DoubleClick", "Motion" o "MotionPressed".
Enter = "parámetro"
Define el tipo de evento
del ratón para la apertura de los submenús a elegir entre
"ButtonPress", "ButtonReleased", "DoubleClick", "Motion" o "MotionPressed". En este caso, si queremos que se haga de forma
automática es recomendable elegir "Motion".
Exec = "parámetro"
Define el tipo de evento del ratón para ejecutar una entrada a
elegir entre "ButtonPress", "ButtonReleased", "DoubleClick", "Motion" o "MotionPressed".
2e) CmDialog
En esta sección configuramos las opciones del cuadro de diálogo de ejecución de programas de Pekwm,
entre otras cosas el tamaño del historial, la ruta al archivo de
configuración y el intervalo de tiempo en el que el historial será guardado en el archivo de configuración.
Harbour es el equivalente al Slit de Fluxbox o Blackbox, y en menor medida guarda un cierto parecido con el Wharf de AfterStep, es decir, un contenedor transparente donde se ubicarán las conocidas dockapps en el caso de que deseemos utilizarlas con Pekwm, en esta sección se configura todo lo relacionado con el mismo.
Define
el lugar de la pantalla donde se ubicará el Harbour, a elegir entre: "Right" (a la derecha), "Left" (a la izquierda), "Top" (arriba) o "Bottom" (abajo).
Orientation = "parámetro"
Define la orientación hacia la que el Harbour
se expandirá, a elegir entre: TopToBottom (de arriba hacia
abajo), BottomToTop (de abajo hacia arriba), RightToLeft (de derecha a
izquierda) o LeftToRight (de izquierda a derecha).
OnTop = "True o False"
Define si el Harbour estará siempre por encima de todas las ventanas.
MaximizeOver = "True o False"
Define si las ventanas al ser maximizadas cubrirán el Harbour ("True") o se quedarán en el borde del mismo ("False").
Head = "número"
Si está activado Xinerama, con este parámetro definimos en el que pantalla estará ubicado el Harbour.
Opacity = "50"
Define el nivel de opacidad del Harbour. Un valor de 0 equivale a una transparencia total,
y un valor de 100 a una opacidad total. El valor tiene que estar
comprendido entre 0 y 100.
Para poder hacer uso de esta característica, se requiere de la ejecución al inicio de Xcompmgr o un programa de características similares.
Definición de los elementos de la subsección Dockapp de la sección Harbour
Sidemin = "número"
Define el tamaño mínimo del dockapp ubicado en el Harbour, si el tamaño del dockapp es inferior al establecido en este parámetro, el mismo será redimensionado al valor establecido.
SideMax = "número"
Define el tamaño máximo del dockapp ubicado en el Harbour. si el tamaño del dockapp es superior al establecido en este parámetro, el mismo será redimensionado al valor establecido.
3) ~/.pekwm/menu
Este es el archivo de configuración del menú de Pekwm,
incluye también los menús de las ventanas, y he
aprovechado para crear un script que traduce al español de forma
automática el mismo. A partir de la versión 0.2.0 de
Pekwm, el menú no soporta otro formato de codificación de
caracteres que no sea UTF-8.
Ejecuta una acción, "acción" es la acción o acciones a ejecutar, las que son propias de Pekwm vienen definidas en los archivos de configuración de los atajos del teclado y del ratón, keys y mouse.
Separator {}
Añade un separador al menú.
Definición de las Acciones del Menú
Exec
Es
la que se utiliza para lanzar las aplicaciones, si queremos que se
ejecuten en 2º plano, añadir & al final del comando a ejecutar.
Reload
Hace que Pekwm vuelva a leer los archivos de configuración sin necesidad de salir del mismo.
Restart
Reinicia Pekwm
RestartOther
Termina Pekwm e inicia otro administrador de ventanas o aplicación.
Exit
Termina Pekwm y cierra la sesión X.
Pekwm
admite un número ilimitado de submenús, lo que tenemos
que tener siempre en cuenta, es el cierre oportuno con la
correspondiente llave '}', de lo contrario el menú no se
mostrará. Un ejemplo:
No olvidarlo nunca, llave '{' que abre, llave '}' que cierra el
submenú. Es recomendable añadir el símbolo &
al final del comando, para evitar problemas de ejecución en
algunos programas. Decir también que Pekwm soporta menús dinámicos al igual que Openbox pero la información al respecto no es muy extensa, así que me remito a la documentación del programa.
Si tenemos pensado probar el funcionamiento de la transparencia real en Pekwm,
y lo hemos compilado con ese soporte, podemos añadir al
menú, la siguiente entrada, que nos permitirá activar y
desactivar la transparencia real de una ventana determinada. Lo que
está en rojo:
Una alternativa a la edición manual del menú a tener en cuenta es Xdgmenumaker,
un generador de menú de aplicaciones automático, que
escanea todos los archivos desktop que tengamos en nuestro sistema.
4) ~/.pekwm/start
Si tenemos pensado añadir aplicaciones al inicio de Pekwm,
éste el archivo en el que tendremos que añadir los
comandos de ejecución de éstas, recordar que tiene que
tener permisos de ejecución.
#!/bin/sh
# PekWM start file
# This file is a simple shell script; It gets run on pekwm startup, after
# the theme and all config has loaded if it is set executable
# (chmod +x start).
#
# This is different from ~/.xinitrc because a normal configuration of
# .xinitrc you'll run all commands, then launch the window manager last.
#
# It also gets re-run every time pekwm is restarted.
#
# As for it's usefulness, well, it's up to you. I actually set my background
# from my start file; since it runs after the theme gets loaded, this
# effectively overrides whatever's in the theme.
#
# There's probably a few other good uses for it, too. I mainly pushed for it
# because when I was doing fluxbox's docs, people used to complain that there
# wasn't one, and I wanted to avoid that for pekwm. ;) --eyez
En este archivo podemos modificar el modo de enfocar las ventanas con
el ratón además de los atajos del mismo, la primera vez
que iniciamos Pekwm
lo primero que comprobaremos es que el enfoque de las ventanas sigue al
puntero del ratón. Para utilizar el modo clásico de toda
la vida, clic para enfocar, tendremos que dejar el archivo tal y como aparece en el ejemplo de abajo.
# Swap comments on the two folling lines to switch between
# sloppy and click to focus
# INCLUDE = "$_PEKWM_ETC_PATH/mouse_sloppy"
INCLUDE = "$_PEKWM_ETC_PATH/mouse_click"
El resto de archivos de configuración no tienen ninguna
complicación y como también he puesto la
documentación original del programa, lo mejor para cualquier
duda es consultarla.
En cuanto a los temas, un inciso, he comprobado que muchos no utilizan
un tamaño específico de fuente, con lo que ésta se
muestra en un tamaño proporcional al ancho de la ventana y
resulta demasiado grande. Para solucionar esto o cambiar la fuente a
utilizar tendremos que editar el tema que tengamos en uso. Como suelen
utilizar variables de entorno para definir las fuentes, la
edición es bastante sencilla. Un ejemplo con el tema AguaLemon que ha sido adaptado del original de Xfvwm4.
# Agualemon v1.0
# (prepared for pekwm version 1.6)
# Ported from the XFWM theme, Agualemon
# Last modification date: 05/16/08
# set up the font $FONT = "DejaVu Sans-10"
La original que llevaba era la Tahoma sin número para definir el tamaño y yo la he sustituido por la DejaVu Sans con un tamaño de 10 píxeles, que es la que se muestra en las capturas de pantalla del manual.
En aquellos temas en los que aparece la sección del Harbour de esta forma,
Harbour {
Texture = "EMPTY"
}
resulta conveniente editar el parámetro "EMPTY" y añadir
un color similar al que utilize el tema, lo podemos coger con el gotero
de color del Gimp y copiar los valores a este archivo, dejándolo del modo que pongo a continuación,
Harbour {
Texture = "Solid #E1E0E1"
}
¿Por qué todo esto? Porque he comprobado que en aquellos
temas que no tienen definido este parámetro, el fondo del Harbour y borde de las dockapps, tiende a corromper los colores del mismo, creando un efecto visual muy desagradable.
6) ~/.pekwm/panel
Incluido a partir de la versión 0.2.0, en este archivo podemos
configurar todas las opciones relacionadas con el panel de Pekwm.
El archivo de configuración se divide en tres secciones: Panel,
Commands y Widgets. Reseñar que su configuración resulta
bastante compleja en lo que se refiere a los comandos relacionados con
los widgets. Si estamos utilizando un panel de escritorio independiente
con Pekwm, mi consejo personal es que sigamos con él.
En este enlace
podemos encontrar la descripción de los elementos de la
configuración del panel, que no incluyo en este manual, al
seguir utilizando en el mismo, un panel de escritorio independiente.
Hsetroot
Aunque existen muchos
programas que nos
permiten colocar una imagen en el fondo de la pantalla, Hsetroot va más allá y además de esa
función nos
permite componer una imagen personalizada de la original sin
necesidad de tener que editar ésta. Teniendo en
cuenta que la
mayoría de los fondos de escritorio que circulan por la red
están en formato JPEG, y
que éste cada vez que se graba de nuevo va degradando
progresivamente
la imagen original, Hsetroot evita
todo esto y nos permite jugar con las posibilidades que nos ofrece de
composición de imágenes, obteniendo unos
resultados
bastante espectaculares y sobre todo personalizables.
Características
* Soporte de pseudotransparencias
* Ajuste de brillo, contraste y gamma
* Soporte de gradientes sólidos
(rectángulos)
* Soporte de mezcla de colores en las imágenes
* Enfoque y desenfoque de las imágenes
* Soporte de reflejo (horizontal, vertical y
diagonal)
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado Hsetroot
para la elaboración de este documento.
Ahora sólo nos queda
añadirlo al script de inicio start :
#!/bin/sh
# PekWM start file
# This file is a simple shell script; It gets run on pekwm startup,
after
# the theme and all config has loaded if it is set executable
# (chmod +x start).
#
# This is different from ~/.xinitrc because a normal configuration of
# .xinitrc you'll run all commands, then launch the window manager last.
#
# It also gets re-run every time pekwm is restarted.
#
# As for it's usefulness, well, it's up to you. I actually set my
background
# from my start file; since it runs after the theme gets loaded, this
# effectively overrides whatever's in the theme.
#
# There's probably a few other good uses for it, too. I mainly pushed
for it
# because when I was doing fluxbox's docs, people used to complain that
there
# wasn't one, and I wanted to avoid that for pekwm. ;) --eyez
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 Pekwm,
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=pekwm
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.
Utilidades de Escritorio - Xdgmenumaker>> Manual de Xdgmenumaker, un generador automático de menús de aplicaciones para administradores de ventanas, entre los que se encuentra Pekwm.