Skippy es
un conmutador de ventanas que funciona a pantalla completa mediante la
correspondiente activación desde un atajo de teclado, realizando
una captura escalada de todas las ventanas abiertas en la pantalla,
y permitiendo seleccionar mediante clic del ratón o
selección por teclado, la ventana de la aplicación que
deseemos utilizar en ese momento. En este manual se trata la
instalación de las dos versiones disponibles del programa, la
normal y la modificada para aprovechar las características
de transparencia real y efectos de sombra que proporciona la
extensión XComposite al servidor gráfico X. Aunque esta última necesitará de la ayuda de la utilidad Xcompmgr, en aquellos entornos gráficos que no soporten transparencia real de forma nativa.
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.
Skippy
Ésta es la versión normal del programa, no soporta transparencia real.
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado Skippy
para la elaboración de este documento.
Donde pone znver2
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.
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.
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.
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.
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.
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.
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.
-j$(nproc) :
Establece el número de procesos de compilación en
paralelo, en función del número de
núcleos e hilos que tenga nuestro procesador, tomando como
referencia la información mostrada por el sistema con el comando
correspondiente. Si nuestro procesador es mononúcleo de un solo
hilo, no añadir esta opción.
Instalación
como root
$ su -c "make install-strip"
Instalación
del archivo de ejemplo de configuración personal en nuestro home
$ su
# tar zxvf skippy-0.5.0-scripts.tar.gz
# cd skippy-0.5.0-scripts
# ./Desinstalar_skippy-0.5.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 skippy-0.5.0-scripts.tar.gz
# cd skippy-0.5.0-scripts
# ./Respaldar_skippy-0.5.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_skippy-0.5.0
Skippy-XD
Y ésta es la versión que soporta transparencia real mediante el uso de la extensión XComposite, por contra, en equipos
de tipo medio/bajo, puede provocar una
ralentización en el uso del programa. Para poder hacer uso de la
transparencia real, tendremos que recurrir a la utilidad Xcompmgr. Si tenemos problemas de refresco de pantalla con esta aplicación
en algunos administradores de ventanas, utilizar en su lugar Skippy.
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado Skippy-XD
para la elaboración de este documento.
$ su
# tar zxvf skippy-xd-0.5.0-scripts.tar.gz
# cd skippy-xd-0.5.0-scripts
# ./Desinstalar_skippy-xd-0.5.0
Copia de Seguridad
como root
$ su
# tar zxvf skippy-xd-0.5.0-scripts.tar.gz
# cd skippy-xd-0.5.0-scripts
# ./Respaldar_skippy-xd-0.5.0
Restaurar la Copia de Seguridad
como root
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_skippy-xd-0.5.0
Configuración de Skippy
A continuación pongo un ejemplo del archivo de configuración con los comentarios traducidos al español.
# Copie esto a ~/.skippyrc y edítelo a su gusto
#
# Notas:
#
# - keysym puede ser cualquier XStringToKeysym que sea manejable
# (como F11, KP_Enter o una implementación específica keysyms)
#
# - colors puede ser cualquier XAllocNamedColor que sea manejable
# (como "black"[negro] o "#000000")
#
# - distance es un número relativo, y es escalado acorde al factor
# de escala aplicado a las ventanas
#
# - fonts son descripciones de fuente de texto Xft
#
# - booleanos son "true" o cualquier equivalente a "true" (-> false)
#
# - opacity es un entero comprendido entre 0 y 255
#
# - brighness es un valor numérico de coma flotante (con 0.0 como neutral)
#
[tooltip]
show = true
border = black
background = #e0e0ff
text = black
font = fixed-11:weight=bold
Definición de los elementos del archivo de configuración de Skippy
Opción
Descripción
[General]
keysym = F11
Define el valor numérico keysym a utilizar para activar Skippy.
El valor keysym es utilizado para representar los símbolos
visibles en el teclado. Y podemos ver las equivalencias en este enlace.
La tecla predefinida a utilizar es F11, podemos sustituirla por otra como por ejemplo, la 'Bloq Despl'.
keysym = Scroll_Lock
distance = 50
Define en valor numérico la distancia relativa en píxeles entre las capturas escaladas de las ventanas.
useNETWMFullcreen = true
Si lo establecemos en true, se utilizarán las propiedades de ventana _NET_WM_STATE_FULLSCREEN del administrador de ventanas en uso.
ignoreSkipTaskbar = false
Si lo establecemos en true, se omitirán las propiedades de ventana _NET_WM_SKIP_TASKBAR del administrador de ventanas en uso.
[xinerama]
showAll = false
Si lo establecemos en true, Skippy
se mostrará en todas las pantallas que tengamos configuradas en
nuestro sistema, en el caso de que estemos utilizando más de un
monitor.
[normal]
brightness = 0.0
Define en valor numérico de coma flotante, el nivel de brillo de las ventanas no seleccionadas dentro de Skippy. Un valor neutral es 0.0.
tint = white
Define el color de
mezcla utilizado para la fusión de la captura de la ventana no
seleccionada y el fondo de la pantalla. Pueden ser nombres de colores
en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo:
#FF0000.
opacity = 200
Define en valor numérico el nivel de opacidad de la captura de
ventana no seleccionada. El valor tiene que estar
comprendido entre 0 y 255.
border = black
Define el color del borde de la captura de ventana no seleccionada. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000.
[highlight]
brightness = 0.05
Define en valor numérico de coma flotante, el nivel de brillo de las ventanas seleccionadas dentro de Skippy. Un valor neutral es 0.0.
tint = #d0d0ff
Define el color de
mezcla utilizado para la fusión de la captura de la
ventana seleccionada y el fondo de la pantalla. Pueden ser nombres
de colores
en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo:
#FF0000.
opacity = 255
Define en valor numérico el nivel de opacidad de la captura de ventana seleccionada. El valor tiene que estar
comprendido entre 0 y 255.
border = #d0d0ff
Define el color del borde de la captura de ventana seleccionada. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000.
[tooltip]
show = true
Si lo establecemos en false, no se mostrará una descripción emergente al seleccionar una ventana.
border = black
Define el color del borde de la descripción emergente. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000.
background = #e0e0ff
Define el color del fondo de la descripción emergente. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000.
text = black
Define el color del texto de la descripción emergente. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000.
font = fixed-11:weight=bold
Define la fuente de texto a utilizar para la descripción emergente. En este enlace podemos encontrar varios ejemplos de configuración de fuentes mediante Xft.
Un ejemplo:
font = dejavusans-9:weight=bold
Configuración de Skippy-XD
A continuación pongo un ejemplo del archivo de configuración con los comentarios traducidos al español.
# Copie esto a ~/.skippy-xd.rc y edítelo a su gusto #
# Notas:
#
# - keysym puede ser cualquier XStringToKeysym que sea manejable
# (como F11, KP_Enter o una implementación específica keysyms)
#
# - colors puede ser cualquier XAllocNamedColor que sea manejable
# (como "black"[negro] o "#000000")
#
# - distance es un número relativo, y es escalado acorde al factor
# de escala aplicado a las ventanas
#
# - fonts son descripciones de fuente de texto Xft
#
# - booleanos son "true" o cualquier equivalente a "true" (-> false)
#
# - opacity es un entero comprendido entre 0 y 255
#
# - brighness es un valor numérico de coma flotante (con 0.0 como neutral)
#
# - si la frecuencia de actualización es un valor negativo, la mini-ventana
# solo será actualizada cuando sea explícitamente redibujada (cómo, cuando
# reciba o pierda el enfoque).
#
# - la opción 'shadowText' puede ser un color o 'none', en este caso el efecto
# drop-shadow será desactivado
#
[tooltip]
show = true
border = #e0e0e0
background = #404040
opacity = 128
text = #e0e0e0
textShadow = black
font = fixed-11:weight=bold
Definición de los elementos del archivo de configuración de Skippy-XD
Opción
Descripción
[General]
keysym = F11
Define el valor numérico keysym a utilizar para activar Skippy.
El valor keysym es utilizado para representar los símbolos
visibles en el teclado. Y podemos ver las equivalencias en este enlace.
La tecla predefinida a utilizar es F11, podemos sustituirla por otra como por ejemplo, la 'Bloq Despl'.
keysym = Scroll_Lock
distance = 50
Define en valor numérico la distancia relativa en píxeles entre las capturas escaladas de las ventanas.
useNETWMFullcreen = true
Si lo establecemos en true, se utilizarán las propiedades de ventana _NET_WM_STATE_FULLSCREEN del administrador de ventanas en uso.
ignoreSkipTaskbar = true
Si lo establecemos en true, se omitirán las propiedades de ventana _NET_WM_SKIP_TASKBAR del administrador de ventanas en uso.
updateFreq = 10.0
Define en valor
numérico de coma flotante, el tiempo que tardará el
programa en actualizar las capturas de las ventanas.
lazyTrans = false
Si lo establecemos en true, la captura de ventana que pierda el enfoque tardará unos segundos en volver a ser transparente.
[xinerama]
showAll = false
Si lo establecemos en true, Skippy
se mostrará en todas las pantallas que tengamos configuradas en
nuestro sistema, en el caso de que estemos utilizando más de un
monitor.
[normal]
tint = black
Define el color de
mezcla utilizado para la fusión de la captura de la ventana no
seleccionada y el fondo de la pantalla. Pueden ser nombres de colores
en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo:
#FF0000.
TintOpacity = 0
Define en valor numérico el nivel de opacidad del color de
mezcla utilizado para la fusión de la captura de la ventana no
seleccionada y el fondo de la pantalla. El valor tiene que estar
comprendido entre 0 y 255.
Opacity = 200
Define en valor numérico el nivel de opacidad de la captura de
ventana no seleccionada. El valor tiene que estar
comprendido entre 0 y 255.
[highlight]
tint = #101020
Define
el color de
mezcla utilizado para la fusión de la captura de la
ventana seleccionada y el fondo de la pantalla. Pueden ser nombres de
colores
en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo:
#FF0000.
TintOpacity = 64
Define en valor
numérico el nivel de opacidad del color de
mezcla utilizado para la fusión de la captura de la
ventana seleccionada y el fondo de la pantalla. El valor tiene que
estar
comprendido entre 0 y 255.
opacity = 255
Define en valor numérico el nivel de opacidad de la captura de ventana seleccionada. El valor tiene que estar
comprendido entre 0 y 255.
[tooltip]
show = true
Si lo establecemos en false, no se mostrará una descripción emergente al seleccionar una ventana.
border = #e0e0e0
Define el color del borde de la descripción emergente. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000.
background = #404040
Define el color del fondo de la descripción emergente. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000.
Opacity = 128
Define en valor numérico el nivel de opacidad de la descripción emergente. El valor tiene que estar
comprendido entre 0 y 255.
text = #e0e0e0
Define el color del texto de la descripción emergente. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000.
textshadow = black
Define el color de la sombra del texto de la descripción emergente. Pueden ser nombres
de colores en
inglés que
admita el servidor gráfico X, o en
formato hexadecimal triplets en formato RGB. Un ejemplo: #FF0000. Si ponemos none el efecto de sombra será desactivado.
font = fixed-11:weight=bold
Define la fuente de texto a utilizar para la descripción emergente. En este enlace podemos encontrar varios ejemplos de configuración de fuentes mediante Xft.
Un ejemplo:
font = dejavusans-9:weight=bold
Atajos de teclado adicionales de Skippy | Skippy-XD
Combinación de teclas
Acción a realizar
Ctrl + Pausa
Actualiza las capturas de todas las ventanas. Este atajo no está presente en Skippy-XD.
Alt + Pausa
Sólo se mostrarán las capturas de la ventana o grupo de ventanas enfocadas.
Mayús + Pausa
Si se ha compilado el soporte de Xinerama, al activar este atajo de teclado, las capturas de las ventanas se mostrarán en todas las pantallas configuradas.
Configurar
el inicio de Skippy | Skippy-XD
A continuación algunos ejemplos de inicio de Skippy y Skippy-XD
con algunos de los entornos gráficos cuya
documentación está disponible en la web. Para ejecutar Skippy-XD en lugar de Skippy, sustituir el comando de ejecución, skippy, por skippy-xd.
Reseñar que el programa no es compatible con todos los entornos
gráficos documentados en la web. Y volver a repetir que
necesitaremos la utilidad Xcompmgr para poder utilizar la transparencia real con Skippy-XD.
En algunos administradores de ventanas, tendremos que recurrir al comando sleep para retardar la ejecución de Skippy o Skippy-XD,
si el programa nos da problemas de ejecución al inicio de estos.
También puede darse el caso de que el programa detecte como
ventanas los paneles o docks, de algunos administradores de ventanas, o
entornos de escritorio.
1) AfterStep
Añadimos el comando de ejecución en la
sección correspondiente del archivo de configuración, ~/.afterstep/autoexec, archivo que se crea de forma automática al seleccionar en el menú de AfterStep, Configuración del escritorio >> Archivos de configuración >> AutoExec.
Function "InitFunction"
# Module
"I" Animate
Function
"I" WorkspaceState
Function
"I" WorkspaceModules
Module
"I" Banner
Exec
"I" exec
"$HOME/.afterstep/non-configurable/send_postcard.sh"
Exec
"I" exec
"/usr/local/bin/xbindkeys"
Exec
"I" exec "/usr/local/bin/skippy" EndFunction
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:
skippy_init
#!/bin/sh
skippy &
skippy_start
#!/bin/sh
killall -9 skippy &> /dev/null
skippy &
skippy_stop
#!/bin/sh
killall -9 skippy &> /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.
Añadimos el comando de ejecución en la
sección correspondiente del script de inicio ~/.fluxbox/startup,
# Applications you want to run
with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE
END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
wmix & skippy &
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 xbindkeys
AddToFunc StartFunction I Test (Init) Exec exec skippy
Añadimos el comando de inicio, reinicio y terminación al archivo de configuración, ~/.jwm/autostart.xml, de la versión en español disponible en la web.
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
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.
#
13) 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:
skippy & exec pekwm
14) 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:
skippy & exec pekwm
Iniciamos Skippy | Skippy-XD
Skippy + E16 (antes de activarlo)
Skippy + E16 (después de activarlo)
Skippy-XD + Xcompmgr + IceWM (antes de activarlo)
Skippy-XD + Xcompmgr + IceWM (después de activarlo)