Copyright
Copyright © José
Luis Lara Carrascal 2009-2023
Sumario
Introducción
Preliminares
Instalación
Opciones de línea de comandos
Configuración
Configurar el inicio de Stalonetray
Iniciamos Stalonetray
Paquetes binarios
Enlaces
Introducción
Stalonetray
es una utilidad de bandeja del sistema (ubicación donde las
aplicaciones con soporte de esta característica colocan un icono
desde el cual se puede acceder a las funciones de las mismas), indicada
para aquellos administradores de ventanas que no soportan de forma
directa esta función (Pekwm, Blackbox, Window Maker, etc).
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 Stalonetray
para la elaboración de este documento.
* GCC - (13.2.0) o Clang - (16.0.6)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.71)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 21.1.8)
LibICE - (1.1.1)
LibX11 - (1.8.6)
LibXpm - (3.5.16)
Aplicaciones y Utilidades
* Docbook-xsl-nons - (1.79.2) - [1]
* Xsltproc (Libxslt) - (1.1.38) - [1]
[1] - Requerido para generar la página de manual de Stalonetray. La versión de Docbook puede variar según distribuciones.
Descarga
stalonetray-0.8.5-git-18082023.tar.xz
Firma Digital
stalonetray-0.8.5-git-18082023.tar.xz.asc
Verificar la firma digital del paquete
$ gpg --import manualinux.asc
$ gpg --verify stalonetray-0.8.5-git-18082023.tar.xz.asc stalonetray-0.8.5-git-18082023.tar.xz |
Optimizaciones
$ export
{C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'
|
Donde pone znver3 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla: |
Nota informativa sobre las optimizaciones para GCC
|
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado.
* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.
* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
|
Nota informativa sobre las optimizaciones para Clang
|
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.
* Los valores de color azul no son compatibles con Clang.
* Las filas con el fondo de color amarillo son valores exclusivos de Clang y, por lo tanto, no son aplicables con GCC.
|
Valores |
CPU |
Genéricos |
generic |
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 |
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. |
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. |
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. |
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. |
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. |
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 and 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. |
AMD |
amdfam10, barcelona |
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. |
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 {C,CXX}FLAGS+=' -flto' |
ThinLTO |
$ export {C,CXX}FLAGS+=' -flto=thin' |
La aplicación de esta optimización es alternativa
a la tradicional LTO, a partir de Clang 3.9 y, por lo tanto, no es combinable con la misma. |
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 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=$(nproc)" |
Optimizaciones complementarias ThinLTO de LLD |
$ export LDFLAGS+=" -Wl,--thinlto-jobs=$(nproc)" |
Establecer la variable de entorno de uso de compilador para Clang |
$ export CC=clang CXX=clang++ |
Extracción
y Configuración
$ tar Jxvf stalonetray-0.8.5-git-18082023.tar.xz
$ cd stalonetray-0.8.5-git-18082023
$ ./configure --disable-debug |
Explicación de los
comandos
--disable-debug
: Desactiva los mensajes de depuración para reducir el
tamaño del binario resultante de la compilación.
Compilación
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
# make install-strip
# install -dm755 /usr/local/share/stalonetray
# install -m644 stalonetrayrc.sample /usr/local/share/stalonetray
|
Instalación
del archivo de ejemplo de configuración personal en nuestro home
$ cp /usr/local/share/stalonetray/stalonetrayrc.sample ~/.stalonetrayrc |
Estadísticas de Compilación e Instalación de Stalonetray
Estadísticas de Compilación e Instalación de Stalonetray |
CPU |
AMD Ryzen 5 5500 |
MHz |
3593.250 (BoostMax=4457.000) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.4.11-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Versión de Glibc |
2.38 |
Enlazador dinámico |
LLD 16.0.6 |
Compilador |
Clang 16.0.6 |
Parámetros de optimización |
-03 -march=znver3
-mtune=znver3 -mllvm -polly -mllvm
-polly-vectorizer=stripmine -flto=thin -Wl,--lto-aa-pipeline=globals-aa
-Wl,--lto-newpm-passes=memcpyopt |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
> 1" |
Archivos instalados |
3 |
|
Ocupación de espacio en disco |
112 KB |
Consumo inicial de CPU y RAM de Stalonetray
Consumo inicial de CPU y RAM de Stalonetray |
Programa
|
CPU |
RAM |
stalonetray |
0 % |
816,5 KB |
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. |
Archivo de
configuración personal
~/.stalonetrayrc |
Es el archivo de configuración personal de Stalonetray en nuestro home. |
Desinstalación
como root
1) MODO TRADICIONAL
En el directorio de compilación ejecutamos el siguiente comando:
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.
stalonetray-0.8.5-scripts.tar.gz
$ su
# tar zxvf stalonetray-0.8.5-scripts.tar.gz
# cd stalonetray-0.8.5-scripts
# ./Desinstalar_stalonetray-0.8.5 |
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 stalonetray-0.8.5-scripts.tar.gz
# cd stalonetray-0.8.5-scripts
# ./Respaldar_stalonetray-0.8.5 |
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_stalonetray-0.8.5
|
Opciones de línea de comandos
A
continuación pongo las opciones de línea de comandos del
programa con los comentarios traducidos al español.
[jose@localhost archivos]$ stalonetray --help
stalonetray 0.8.5 [ XPM:yes DEBUG:no KDE:yes ] iniciando
Uso: stalonetray [opciones...]
Para opciones cortas el argumento tiene que ser indicado como -o valor o ovalor.
Para opciones largas el argumento tiene que ser indicado como --opción valor o opción=valor.
Todas las opciones posibles conllevan explícitamente un argumento booleano,
que puede ser verdadero (1, sí) o falso (0, no).
Las posibles opciones son:
-display <display> Utiliza la pantalla X <display>
-bg, --background <color> seleccionar un color de fondo (por defecto: #777777)
-c, --config <archivo> lee la configuración desde un <archivo>
(utilizado por defecto: $HOME/.stalonetrayrc)
-d, --decorations [<deco>] establece que parte de las decoraciones de la ventana es
visible; deco puede ser: none [ninguna](por defecto),
title [título], border [borde], all [toda la ventana]
--dockapp-mode [<modo>] activa el modo dockapp; modo puede ser: none [ninguno](por defecto),
simple (el predefinido si no se indica ningún modo), o wmaker
-f, --fuzzy-edges [<nivel>] establece el rizado de los bordes, nivel es desde
0 (desactivado) a 3 (máximo); funciona con
tintado y/o una imagen de fondo
-geometry <geometría> establece el tamaño y posición inicial de la bandeja
--grow-gravity <gravity> establece la forma en que crecerá la bandeja,
uno de N, S, W, E, NW, NE, SW, SE
--icon-gravity <gravity> establece la forma en que crecerán los iconos en la bandeja (NW, NE, SW, SE)
-i, --icon-size <n> establece el tamaño básico de icono a <n>, por defecto: 24
-h, --help muestra este mensaje
--ignore-classes <clases>
establece qué nombres de clase de las ventanas X11
serán omitidos por
stalonetray.Los nombres de
clase son
argumentos separados : clase1 clase2, etc.
--log-level <nivel> establece el nivel de salida de los mensajes de error
(predefinido), o información
--kludges <lista> activa
soluciones específicas para funcionar con gestores de ventanas
incompatibles y fallos de
stalonetray;
el argumento es una lista separada por comas de:
- fix_window_pos (fija la posición de la ventana evitando movimientos
erróneos del
administrador de ventanas),
- force_icons_size (ignora el redimensionado de los iconos),
- use_icons_hints (fija el tamaño del icono en función del tamaño
de las indirectas de la
ventana)
--max-geometry <geometría> establece la anchura y altura máxima (0x0) de la bandeja; 0 no establece
ningún límite en la respectiva dirección
--no-shrink
no contrae la ventana hacia atrás después de suprimir un
icono
-p, --parent-bg utiliza el fondo de escritorio como fondo de la bandeja
--pixmap-bg <imagen> utiliza una imagen para el fondo de la ventana de la bandeja
-r, --remote-click-icon <nombre> control remoto (asume que una instancia de
stalonetray ya tiene una bandeja activa en esta
pantalla); envía un clic al icono con la ventana cuyo
nombre es <nombre>
--remote-click-button <n> define el botón del ratón para --remote-click-icon
--remote-click-position <x>x<y> define la posición para --remote-click-icon
--remote-click-type <tipo> define el tipo de clic para --remote-click-icon;
tipo que puede ser single [simple], o double [doble]
--scrollbars <modo> establece el modo de las barras de desplazamiento que puede ser all
[todas], horizontal, vertical, o none [ninguna]. Por defecto es none
--scrollbars-highlight <modo> establece el modo de resaltado de las barras de desplazamiento que puede
ser un color
específico (el predefinido es el rojo) o desactivado
--scrollbars-step <n> establece el paso de línea de las barras de desplazamiento a n píxeles
--scrollbars-size <n> establece el tamaño de las barras de desplazamiento a n píxeles
--slot-size <w>[x<h>] establece el tamaño de la rejilla del icono en píxeles,
si se omite la altura
<h>, ésta será igual a la anchura <w>.
--skip-taskbar oculta la ventana de la bandeja desde la barra de tareas
--sticky
hace que la ventana de la bandeja se muestre en todos los escritorios
virtuales
-t, --transparent activa la pseudotransparencia
--tint-color <color> tintado del fondo de la bandeja con color (no usado
con un fondo de color plano)
--tint-level <nivel> establece el nivel de tintado desde 0 a 255
-v, --vertical
utiliza un diseño vertical de los iconos (el horizontal
es el utilizado por defecto)
--window-layer <capa> establece la capa EWMH de la ventana de la bandeja, una de:
bottom [abajo], normal, top [arriba]
--window-strut <modo> establece el modo de cubrimiento de la ventana de la bandeja, uno de: auto,
left [izquierda], right [derecha], top [arriba], o bottom [abajo]
--window-type <tipo> establece el tipo EWMH de la ventana de la bandeja, uno de:
normal, dock, toolbar, utility, desktop
--xsync opera
con el servidor X de forma sincrona (LENTO)
|
Configuración de Stalonetray
Todas las opciones de línea de comandos son configurables mediante la edición del archivo, ~/.stalonetrayrc, del que pongo a continuación un ejemplo con los comentarios traducidos al español.
#
vim:filetype=config:tw=80:et
#
# Éste es el ejemplo ~/.stalonetrayrc, contiene la configuración por defecto.
# Recuerde, que los parámetros de la línea de comandos tienen prioridad sobre este archivo.
#
# Directivas introducidas en 0.8 están marcadas con "NUEVO en 0.8"
#
####################################################################
#
# directivas definidas siguientes de stalonetray
#
####################################################################
# background
<color>
# puede indicarse el color como un HTML hexadecimal o
# o como un nombre de rgb.txt, note que ' #' debe
citarse
background
"#777777"
# decorations
<decspec> # establece las
decoraciones de la ventana de las bandejas; los posibles
# valores para decspec son: all,
title, border, none
decorations none
# display <display
name> # como de costumbre
# dockapp_mode <mode> # establece el modo dockapp, que puede ser simple (por
# ejemplo. OpenBox), wmaker para WindowMaker, o none
# (predefinido). NUEVO en 0.8.
dockapp_mode none
# fuzzy_edges
[<level>]
# activa el rizado de los bordes y fija el nivel del efecto
# que puede ir desde 0 (desactivado) hasta 3; estos ajustes funcionan
# con el tintado y/o transparente y/o la imagen de
fondo
fuzzy_edges
0
# geometry
<geometry>
#
geometría de la bandeja de sistema en anotación
estándar
de X. La anchura
# y la altura son definidas en múltiplos de slot_size. Es decir,
que si el
# tamaño de slot_size es el
mismo que el de icon_size (por ejemplo, 24). 5x1
# equivaldrían a un
tamaño real de píxel de 120x24.
geometry 5x1-0-0
# gravity
<gravity>
#
la gravedad de la posición del icono, uno de NW, NE, SW, SE,
gravity
NE
# grow_gravity
<gravity> # uno
de N, S, E, W, NW, NE, SW, SE; la bandeja crecerá
# en la dirección opuesta a una
especificada por
# grow_gravity; si la
dirección
horizontal o vertical
# no
se especifica, la bandeja no crecerá
# en esa
dirección
grow_gravity
NE
# icon_gravity <gravity> # ubicación gravitatoria del icono, uno de NW, NE, SW, SE
icon_gravity NW
# icon_size
<int>
# define el tamaño del icono de las aplicaciones en la bandeja
icon_size
24
# slot_size
<w>[x<h>] #
especifica la anchura y la altura de la rejilla que contiene el
icono;
# debe ser mayor que el tamaño
del icono;
# la altura se ajusta a la anchura si se omite;
# por defecto, el tamaño del icono.
NUEVO en 0.8.
slot_size 32x64
# log_level <level> #
controla el grado de información de depuración , level puede
# ser err (predefinido), info, o trace (activado solo
# cuando stalonetray ha sido configurado con --enable-debug)
# NUEVO en 0.8.
log_level err
# kludges kludge[,kludge] # activa soluciones específicas para funcionar
# con gestores de ventanas incompatibles y fallos de
stalonetray;
# NUEVO en 0.8. el argumento es una lista separada por comas de:
# * fix_window_pos - fija la posición de la ventana evitando
# movimientos erróneos del administrador de
ventanas
# * force_icon_size - ignora los eventos de redimensionado en
todos
# los iconos; fuerza un tamaño igual
a icon_size
# * use_icon_hints - fija el tamaño del icono en función del tamaño
# de las indirectas de la
ventana
# klugdes force_icon_size
# max_geometry <geometry> # dimensiones
máximas de la bandeja; 0 en anchura/altura no fija límites
max_geometry 0x0
# no_shrink
[<bool>]
#
desactiva el modo de contracción de la bandeja
no_shrink
false
# parent_bg
[<bool>]
# con la opción true
usa pseudotransparencia
# (Se ve mejor cuando es reparentado en el smth como FvwmButtons)
parent_bg
false
# pixmap_bg <path_to_xpm> #
usa un archivo de
imagen específico con un archivo xpm para el fondo (mosaico)
# pixmap_bg /home/user/.stalonetraybg.xpm
# scrollbars
<mode> #
activa/desactiva las barras de desplazamiento; mode puede ser
# vertical, horizontal, all o none (predefinido)
# NUEVO en 0.8.
scrollbars none
# scrollbars-size <size> # tamaño de las barras de desplazamiento en píxeles;
# el predefinido es 1/4 de slot_size
# scrollbars-step 8
# scrollbars-step <step> # paso de
línea de las barras de desplazamiento en píxeles;
# el predefinido es la mitad de
slot_size
# scrollbars-step 32
# skip_taskbar
[<bool>]
# oculta la ventana de la bandeja de la barra de tareas
skip_taskbar
true
# sticky
[<bool>]
# hace que la ventana de la bandeja se muestre en todos los
# escritorios/páginas
sticky
true
# tint_color
<color>
# fija el color del tintado
tint
color white
# tint_level
<level>
# fija el
nivel del tintado; que puede ir desde 0 (desactivado)
# hasta 255
tint_level
0
# transparent
[<bool>]
# con la opción true
usa transparencia raíz (el fondo
# de imagen se activa con Esetroot o una utilidad compatible)
transparent
false
# vertical
[<bool>]
#
con la opción true
se usa un diseño vertical (el
diseño horizontal
# es el usado por defecto)
vertical
false
# window_layer
<layer>
# activa una capa de ventana compatible-EWMH; una de
# bottom, normal, top
window_layer
normal
# window_strut <mode> # activa/desactiva el modo de cubrimiento para la ventana
# de la bandeja (para evitar
modificar la ventana de la bandeja
# por las ventanas maximizadas); modo define el borde de la
# de la bandeja que será
adherido; y que puede ser uno de:
# top [superior], bottom [inferior],left [izquierdo], right [derecho],
# none [ninguno] o auto (predefinido)
window_strut auto
# window_type
<type>
# activa
un tipo de ventana compatible -EWMH; una de
# dock, normal, toolbar, utility o desktop
window_type
dock
# xsync
[<bool>]
# con la opción true
opera con el servidor X de forma sincrona
(LEEEENTO)
xsync
false
|
Configurar
el inicio de Stalonetray
Si tenemos pensado utilizar Stalonetray con
varios administradores de ventanas, es muy conveniente que la
posición del programa en la pantalla, la definamos desde la
línea de comandos con el parámetro -geometry. Partiendo
de la base de las siguientes coordenadas de posición
orientativas:
NOTA IMPORTANTE: A partir de la versión 0.8 la anchura y la altura de la bandeja se define en múltiplos del tamaño definido en slot_size, que por defecto es el mismo que icon_size (por defecto, 24). Es decir que lo que antes era 120x24 en el archivo de configuración de la versión 0.7.6 ahora es 5x1 (5x24=120)x(1x24=24), en la versión 0.8. |
Abajo a la izquierda |
stalonetray -geometry 5x1+0-0 |
Abajo a la izquierda + 20 píxeles elevado |
stalonetray -geometry 5x1+0-20 |
Abajo en el centro (1024x768) |
stalonetray -geometry 5x1-450-0 |
Abajo en el centro (1024x768) + 20 píxeles elevado |
stalonetray -geometry 5x1-450-20 |
Abajo a la derecha |
stalonetray -geometry 5x1-0-0 |
Abajo a la derecha + 20 píxeles elevado |
stalonetray -geometry 5x1-0-20 |
Arriba a la izquierda |
stalonetray -geometry 5x1+0+0 |
Arriba a la izquierda + 20 píxeles descendido |
stalonetray -geometry 5x1+0+20 |
Arriba en el centro (1024x768) |
stalonetray -geometry 5x1+450+0 |
Arriba en el centro (1024x768) + 20 píxeles descendido |
stalonetray -geometry 5x1-450+20 |
Arriba a la derecha |
stalonetray -geometry 5x1-0+0 |
Arriba a la derecha + 20 píxeles descendido |
stalonetray -geometry 5x1-0+20 |
Además, en todos los ejemplos utilizaremos el parámetro -t para activar la transparencia, el parámetro -p para que utilice el fondo de pantalla como fondo de la bandeja y el parámetro --tint-level 125,
para que ésta no sea completamente traslúcida. En los
comandos que no incluyen la geometría se utiliza la predefinida
que es abajo a la izquierda.
1) AfterStep
En AfterStep lo añadimos al MonitorWharf, el archivo de configuración es ~/.afterstep/wharf, archivo que se crea de forma automática al seleccionar en el menú de AfterStep, Configuración del escritorio >> Archivos de configuración >> Wharf. En este caso lo añado en la sección del MonitorWharf
para que aparezca en la parte derecha de la pantalla y el
penúltimo en la lista de los programas que contenga el MonitorWharf.
La anchura predefinida se fija en 63 píxeles (3x1), para que no desentone del tamaño del MonitorWharf.
Usaremos el parámetro -i para reducir el tamaño
del icono a 21 píxeles y poder cuadrar el ajuste.
*MonitorWharf netmonitor - Swallow "wmnet" wmnet --driver=devstats &
*MonitorWharf netmonitor - Swallow "wmnd" wmnd -i eth0 &
*MonitorWharf asmail - Swallow "asmail" asmail -geometry +0+0 &
*MonitorWharf bluecombo - Swallow "bluecombo" bluecombo &
*MonitorWharf stalonetray - Swallow "stalonetray" stalonetray -t -p --tint-level 125 -i 21 -geometry 3x1-0-0 &
|
Para que el MonitorWharf se adapte al tamaño variable de Stalonetray, descomentamos la siguiente línea del archivo de configuración ~/.afterstep/wharf.
# This will resize Wharf's buttons to fit the size of swallowed apps/icons
*MonitorWharfFitContents
|
2) Blackbox
Siguiendo el método que se utiliza en el manual de Blackbox lo añadimos al script ~/.blackbox/autostart de la siguiente forma,
#!/bin/sh
(sleep
2; bbkeys &) &
bsetbg -f ~/Fotos/40.jpg
sleep 5; stalonetray -p -t --tint-level 125 &
|
3) Enlightenment - E16
En su manual se explica de forma
detenida la forma de añadir aplicaciones al inicio, sólo
tendremos que crear los scripts correspondientes de ejecución.
Abrimos un editor de texto con 3 ventanas y añadimos lo
siguiente a cada una:
stalonetray_init
#!/bin/sh
sleep 2; stalonetray -p -t --tint-level 125 & |
stalonetray_start
#!/bin/sh
killall -9 stalonetray &> /dev/null
sleep 2; stalonetray -p -t --tint-level 125 & |
stalonetray_stop
#!/bin/sh
killall -9 stalonetray &> /dev/null
|
Los guardamos con los nombres que encabezan los scripts, les damos
permisos de ejecución y los copiamos a los directorios correspondientes, si no existen los creamos.
$ mkdir -p ~/.e16/{Init,Start,Stop}
$ chmod +x stalonetray_*
$ cp stalonetray_init ~/.e16/init
$ cp stalonetray_start ~/.e16/start
$ cp stalonetray_stop ~/.e16/stop |
4) Fvwm
Añadimos el comando de ejecución en la
sección correspondiente del archivo autostart, cuya configuración se explica en el manual de Fvwm.
AddToFunc StartFunction I Test (Init) Exec exec xscreensaver
AddToFunc StartFunction I Test (Init) Exec exec stalonetray -p -t --tint-level 150 -geometry 5x1-0-20
|
5) Openbox
Añadimos el comando de ejecución al script de inicio ~/.config/openbox/autostart, autostart.sh en versiones inferiores a la 3.5.
xbindkeys &
Esetroot -scale ~/Fondos/2141.jpg
sleep 5 && stalonetray -p -t --tint-level 125 &
|
6) Pekwm
Añadimos el comando de ejecución en la
sección correspondiente del script de inicio ~/.pekwm/start
# 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
numlockx &
idesk &
sleep 5 && stalonetray -p -t --tint-level 125 &
hsetroot -fill /home/jose/Fotos/Natasha_Henstridge.jpg -gamma 1.5
-sharpen 1.5 -blur 1.0
|
7) Window Maker
Añadimos el comando de ejecución al script de inicio ~/GNUSTEP/Library/WindowMaker/autostart
#!/bin/sh
#
# Place applications to be executed when WindowMaker is started here.
# This should only be used for non-X applications or applications that
# do not support session management. Other applications should be restarted
# by the WindowMaker session restoring mechanism. For that, you should
# either set SaveSessionOnExit=YES or select "Save Session" in the Workspace
# submenu of the root menu when all applications you want started are
# running.
#
# WindowMaker will wait until this script finishes, so if you run any
# commands that take long to execute (like a xterm), put a ``&'' in the
# end of the command line.
#
# This file must be executable.
#
stalonetray -p -t --tint-level 125 &
|
8) Para
los que inician X desde
terminal con el comando startx
Para los usuarios que inician los entornos gráficos con el
comando startx,
pueden añadir el comando de ejecución al archivo .xinitrc que se
encuentra en nuestro home si no existe lo creamos, y
añadimos lo siguiente:
stalonetray -p -t --tint-level 125 &
exec sawfish
|
9) XDM
Añadimos el comando de ejecución al
archivo .xsession
que se
encuentra en nuestro home,
si no existe lo creamos, y añadimos lo siguiente:
stalonetray -p -t --tint-level 125 &
exec sawfish
|
Para otros administradores de ventanas, que no tengan soporte directo de bandeja del sistema, consultar sus
respectivos
manuales, en lo que haga referencia a la ejecución de
programas
al inicio de estos.
Iniciamos Stalonetray
Stalonetray + Blackbox
Stalonetray + Enlightenment - E16
Stalonetray + Window Maker
Enlaces
https://kolbusa.github.io/stalonetray >> La web de Stalonetray.
|