Copyright
Copyright © José
Luis Lara Carrascal 2009-2023
Sumario
Introducción
Instalación
Configuración
Generar el menú de forma automática con Xdgmenumaker
Configurar el inicio de myGtkMenu
Iniciamos myGtkMenu
Paquetes binarios
Enlaces
Introducción
MyGtkMenu
es una utilidad de escritorio que nos proporciona un menú de
aplicaciones independiente del entorno gráfico que estemos
utilizando, que podemos ejecutar a través de un atajo de
teclado, mediante un icono en el escritorio o lo mejor de su uso,
proveer de un menú de inicio a paneles como PyPanel o barras de iconos como Wbar que
carecen de forma nativa de este indispensable añadido. La
gran ventaja de utilizar este programa es la posibilidad de crear
infinidad de menús personalizados y poder utilizarlos al mismo
tiempo, seleccionando el correspondiente archivo de
configuración del menú en cuestión. Desde el
27-03-2017 se incluye un script de shell personal, para poder
generar el menú de aplicaciones con Xdgmenumaker.
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado myGtkMenu
para la elaboración de este documento.
* GCC - (13.2.0) o Clang - (16.0.6)
* Make - (4.4.1)
* Pkg-config - (0.29.2)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 21.1.8)
* GTK+ - (3.24.38)
Descarga
myGtkMenu-1.4.tar.bz2
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}+=' -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
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
$ tar jxvf myGtkMenu-1.4.tar.bz2
$ cd myGtkMenu-1.4
$ sed -e '2s:=:?&:' -e '4s:=:+&:' -e '15s:$: $(LDFLAGS):' -i Makefile
|
Explicación
de los comandos
sed -e '2s:=:?&:' -e '4s:=:+&:' -e '15s:$: $(LDFLAGS):' -i Makefile : Modificamos el archivo Makefile para que acepte las variables de entorno de optimización.
Compilación
Instalación
como root
$ su
# install -sm755 myGtkMenu /usr/bin
# install -dm755 /usr/share/doc/myGtkMenu
# install -m644 README TestMenu.txt /usr/share/doc/myGtkMenu
|
Instalación
del menú de ejemplo en nuestro home
$ mkdir -p ~/.myGtkMenu
$ cp /usr/share/doc/myGtkMenu/TestMenu.txt ~/.myGtkMenu/Menu.txt
|
Estadísticas de Compilación e Instalación de myGtkMenu
Estadísticas de Compilación e Instalación de myGtkMenu |
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 |
Tiempo de compilación |
1" |
Archivos instalados |
3 |
|
Ocupación de espacio en disco |
36 KB |
Consumo inicial de CPU y RAM de myGtkMenu
Consumo inicial de CPU y RAM de myGtkMenu |
Programa
|
CPU |
RAM |
myGtkMenu |
0 % |
33,9 MB |
Para medir el consumo de CPU se utiliza el programa top, y para medir
el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace. |
Directorio de
configuración personal
~/.myGtkMenu/Menu.txt |
Es el archivo de configuración personal de myGtkMenu
en nuestro home,
creado como referencia para la elaboración de este documento. Se
pueden crear todos los menús que se desee y guardarlos en este
directorio o en cualquier otro que elija el usuario. |
~/.myGtkMenu/icons |
Podemos crear
también un subdirectorio de iconos, para facilitar el respaldo
de los menús que tengamos configurados, sobre todo cuando
utilizamos un determinado tema de iconos específico o en su
caso, iconos personalizados de aplicaciones. |
~/.myGtkMenu/xdgmenu.sh |
Es el script de shell
personal incluido en el manual a partir del 27-03-2017, para poder
generar el menú de forma automática con Xdgmenumaker. |
~/.myGtkMenu/Menuxdg.txt |
Es el archivo de configuración personal incluido en el manual a partir del 27-03-2017, para poder
generar el menú de forma automática con Xdgmenumaker. |
Desinstalación
como root
1) MODO TRADICIONAL
************************
2) MODO MANUALINUX
myGtkMenu-1.4-scripts.tar.gz
$ su
# tar zxvf myGtkMenu-1.4-scripts.tar.gz
# cd myGtkMenu-1.4-scripts
# ./Desinstalar_myGtkMenu-1.4 |
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 myGtkMenu-1.4-scripts.tar.gz
# cd myGtkMenu-1.4-scripts
# ./Respaldar_myGtkMenu-1.4 |
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_myGtkMenu-1.4
|
Configuración de myGtkMenu
Tomando
como ejemplo el menú que hemos copiado al
directorio de configuración personal (creado para este manual,
ya que el programa no utiliza uno específico), podemos editarlo
a nuestro antojo. Recordar que para que los acentos y las eñes
se muestren correctamente tenemos que guardar el archivo con la
codificación de caracteres UTF-8. Los parámetros utilizados para editar el
menú son los siguientes (los valores en rojo se usan como ejemplo):
Comienzo del archivo de configuración del menú |
MenuPosition = 10 10
|
Este parámetro
es opcional y define la posición del menú en la pantalla
utilizando las coordinadas de posición x e y. Usarlo sobre todo
cuando utilizemos el menú con atajos de teclado y no lo lancemos
desde un icono de escritorio o panel, a no ser, que queramos ajustar un
poco la posición inicial del menú iniciado desde el icono
lanzador del mismo. |
fontsize = 12 |
Este parámetro es opcional y define el tamaño de la fuente de texto del menú. |
iconsize = 25 |
Define el tamaño de
los iconos del menú a partir del punto de inserción de
este parámetro, es decir, que lo podemos sobreescribir
añadiendo otro punto de inserción con diferente
tamaño de icono, a partir del cual, se utilizará otro
tamaño de icono diferente en las entradas del menú
insertadas posteriormente a dicho parámetro. |
item = Menú de Aplicaciones |
Define el título de
la entrada del menú, ya sea el nombre del menú o
submenú, o el nombre de la aplicación a ejecutar. |
cmd = " " |
Define el comando a
ejecutar de la aplicación. Para definir siempre el comienzo del
menú, se utilizan las dos comillas separadas por un espacio, " ". |
icon = NULL |
Define el icono a utilizar en la entrada del menú, si no usamos ninguno, escribimos NULL. |
SEPARATOR |
Define y añade una línea horizontal divisoria entre los elementos del menú. |
SubMenu = Gráficos |
Este parámetro se utiliza para definir los submenús de myGtkMenu,
los elementos de los submenús deben de estar indentados, es
decir, separados de forma sincronizada por espacios de tabulación, desde el comienzo
de la línea (con el tabulador podemos crear los espacios de
manera muy fácil). Una
incorrecta indentación (la traducción correcta al
español es sangrado)
provocará que el resto del
menú no se muestre a partir de la línea donde se produzca
el error. Si ejecutamos el programa en una terminal, nos
indicará en qué numero de línea se produce el
error.
Personalmente recomiendo el uso del editor de código SciTE
para la edición de los menús, ya que muestra las guías de sangría (no confundir con la bebida) a la cual nos tenemos que
ceñir para que los submenús queden bien configurados. La
mejor manera de editar los submenús es ir copiando y pegando
hacia abajo las entradas correspondientes, para su posterior
edición. |
A continuación pongo un ejemplo práctico reducido, con
submenús incluidos (no los he llenado todos). Los
submenús en rojo son los de 2º nivel.
#MenuPosition = 10 10
#fontsize= 12
item = Menú de Aplicaciones
cmd = " "
icon = NULL
SEPARATOR
iconsize = 24
Submenu = Editores
icon = /usr/share/icons/nuoveXT2/24x24/apps/accessories-text-editor.png
item= Leafpad
cmd= leafpad
icon= /usr/local/share/icons/hicolor/24x24/apps/leafpad.png
item = Nedit
cmd = nedit
icon = /usr/share/icons/nuoveXT2/24x24/apps/accessories-text-editor.png
item = SciTE
cmd = SciTE
icon = /usr/share/pixmaps/Sci48M.png
Submenu = Terminales
icon = /usr/share/icons/nuoveXT2/24x24/apps/terminal.png
item= Aterm
cmd= aterm
icon= /usr/share/icons/nuoveXT2/24x24/apps/terminal.png
item = Eterm
cmd = Eterm
icon = /usr/share/icons/nuoveXT2/24x24/apps/terminal.png
Submenu = Internet
icon = /usr/share/icons/nuoveXT2/24x24/categories/applications-internet.png
Submenu = Juegos
icon = /usr/local/share/fvwm-crystal/fvwm/icons/Default/32x32/categories/Games.png
Submenu = Multimedia
icon = /usr/share/icons/nuoveXT2/24x24/categories/applications-multimedia.png
Submenu = Gráficos
icon = /usr/share/icons/nuoveXT2/24x24/categories/applications-graphics.png
item = El Gimp
cmd = gimp
icon = /usr/local/share/icons/hicolor/24x24/apps/gimp.png
item = GLiv
cmd = gliv
icon = /usr/share/pixmaps/gliv.png
Submenu = Sonido
icon = /usr/local/share/fvwm-crystal/fvwm/icons/Default/32x32/categories/Audio.png
item = Aqualung
cmd = aqualung
icon = /usr/local/share/icons/aqualung_32.png
Submenu = Vídeo
icon =/usr/local/share/fvwm-crystal/fvwm/icons/Default/32x32/categories/Video.png
item = SMPlayer
cmd = smplayer
icon = /usr/local/share/icons/hicolor/32x32/apps/gimp.png
item = VLC
cmd = vlc
icon = /usr/local/share/vlc/vlc32x32.png
Submenu = Sistema
icon = /usr/local/share/fvwm-crystal/fvwm/icons/Default/32x32/categories/System.png
SEPARATOR
Submenu = Cierre de Sesión
icon = /usr/share/icons/nuoveXT2/24x24/categories/applications-system.png
item = Reiniciar el Sistema
cmd = sudo reboot
icon = /usr/share/icons/nuoveXT2/24x24/actions/system-shutdown.png
item = Apagar el Sistema
cmd = sudo halt
icon = /usr/share/icons/nuoveXT2/24x24/actions/system-shutdown.png
item = Cerrar Sesión
cmd = killall -9 X &> /dev/null
icon = /usr/share/icons/nuoveXT2/24x24/actions/system-shutdown.png
|
En el manual de IceWM se explica cómo configurar el archivo /etc/sudoers para poder reiniciar y apagar el sistema con el comando sudo.
Generar el menú de forma automática con Xdgmenumaker
Para aquellos usuarios que no tienen la más
mínima paciencia para ponerse a editar las correspondientes
entradas del menú de forma manual, he creado a partir de la
utilidad de generación de menús de archivos desktop, Xdgmenumaker,
un script de shell que nos permite tener un menú de aplicaciones
automatizado del mismo formato que utilizan entornos de escritorio como
KDE, MATE,
etc. Con el script incluyo también el archivo de
configuración del menú, modificado para que funcione con
el script.
Tener en cuenta que los iconos en formato SVG no se mostrarán en
el menú de aplicaciones, ya que Xdgmenumaker sólo los
soporta en la generación del menú de JWM y convertir este
menú en formato XML a un formato de texto simple de forma
automática compatible con myGTKMenu, requiere de un comando
mucho más elaborado. Afortunadamente, la inmensa mayoría
de aplicaciones siguen utilizando el formato PNG para sus iconos.
xdgmenu.sh | Menuxdg.txt
Los copiamos al directorio personal de configuración del
programa y le damos permisos de ejecución al script de shell.
$ mkdir -p ~/.myGtkMenu
$ cp xdgmenu.sh Menuxdg.txt ~/.myGtkMenu
$ chmod a+x ~/.myGtkMenu/xdgmenu.sh
|
Abrimos con un editor de texto, el archivo Menuxdg.txt,
y modificamos el nombre de usuario de la ruta al script de shell, para
poder actualizar el menú cuando lo creamos oportuno, ya que el
formato del menú no admite variables de entorno. La primera vez
que iniciemos el programa con este archivo de configuración,
tendremos que generar el contenido del menú automatizado,
seleccionando Regenerar el menú.
#MenuPosition = 10 10
#fontsize = 12
item = Menú de Aplicaciones
cmd = " "
icon = NULL
SEPARATOR
iconsize = 24
#XDGSTART
#XDGEND
SEPARATOR
item = Regenerar el menú
cmd = ~/.myGtkMenu/xdgmenu.sh
icon = /usr/share/icons/nuoveXT2/24x24/categories/applications-system.png
Submenu = Cierre de Sesión
icon = /usr/share/icons/nuoveXT2/24x24/categories/applications-system.png
item = Reiniciar el Sistema
cmd = sudo reboot
icon = /usr/share/icons/nuoveXT2/24x24/actions/system-shutdown.png
item = Apagar el Sistema
cmd = sudo halt
icon = /usr/share/icons/nuoveXT2/24x24/actions/system-shutdown.png
item = Cerrar Sesión
cmd = killall -9 X &> /dev/null
icon = /usr/share/icons/nuoveXT2/24x24/actions/system-shutdown.png
|
Si queremos modificar el tamaño
de icono, en este caso 24, lo tendremos que hacer también en el
script, xdgmenu.sh, en concreto lo que está en color rojo.
#!/bin/sh
# Copyright © Jose Luis Lara Carrascal 2017-2023 <manualinux@yahoo.es>
# <https://manualinux.es>
# Este script se distribuye bajo la Licencia General GNU
xdgmenumaker -nif fluxbox -s24 > /tmp/menuxdg.txt
sed -e 's:\[exec\] :\n\titem = :g' -e 's:(::' -e 's:)::' -e 's:\\):):' -e 's:{:\n\tcmd = :g' \
-e 's:<:\nicon = :g' -e 's:[}>]::g' -e 's:\[submenu\]:Submenu =:g' -e 's:\[end\].*::g' -i /tmp/menuxdg.txt
sed -e '/cmd =.*/{n; s/^\s*$/\ticon = NULL\n/}' -e 's:^icon =:\t&:g' -i /tmp/menuxdg.txt
ed -s ~/.myGtkMenu/Menuxdg.txt <<EOF
/#XDGSTART/+,/#XDGEND/-d
/#XDGSTART/ r /tmp/menuxdg.txt
w
q
EOF
|
En el manual de Xdgmenumaker
podemos encontrar más información sobre el uso de este
programa, y de los scripts de shell personales incluidos también
en dicho manual. No olvidar que este script depende también de los programas, sed y ed para su correcta ejecución.
Configurar
el inicio de myGtkMenu
El comando de ejecución del programa es el siguiente: myGtkMenu <ruta al menú>.
Este comando lo podemos añadir en cualquier lanzador que
esté ubicado en el escritorio o añadirlo a los atajos de
teclado que utilicemos en el entorno en cuestión. En los 2
ejemplos que voy a poner a continuación, dotaremos de
menú de inicio al panel PyPanel y a la barra de iconos, Wbar.
El archivo a utilizar como ejemplo es el que se proporciona con el
script de shell incluido en este manual, anteriormente comentado para
poder generar el menú de forma automática, Menuxdg.txt.
1) PyPanel
Abrimos con un editor de texto, el archivo de configuración, ~/.pypanelrc
y añadimos el comando de ejecución del menú en la
sección correspondiente, para el icono utilizaremos el mismo del
menú de Fbpanel.
#------------------------------------------------------------------------------
# Listado del lanzador de aplicación: Lista ordenada de los iconos y las aplicaciones
# para el lanzador de aplicación.
#
#
# Añadir entradas usando el siguiente formato -
# ("<ejecutable>", "< ruta completa al icono >")
#------------------------------------------------------------------------------
LAUNCH_LIST = [
("myGtkMenu ~/.myGtkMenu/Menuxdg.txt", "/usr/share/fbpanel/images/star.png"),
("mrxvt","/usr/local/share/pixmaps/mrxvt.png"),
("firefox", "/usr/share/icons/firefox.png"),
]
|
2) Wbar
Con el configurador gráfico lo tenemos muy fácil para añadir la entrada a Wbar, le daremos el nombre de Inicio, el comando de ejecución y la ruta del icono es lo mismo que en el anterior ejemplo.
Iniciamos myGtkMenu
myGtkMenu + PyPanel + Pekwm
myGtkMenu + Wbar + Openbox
Enlaces
http://sites.google.com/site/jvinla/mygtkmenu >> La web de myGtkMenu.
|