Copyright
Copyright © José
Luis Lara Carrascal 2009-2016
Sumario
Introducción
Preliminares
Instalación
Componentes de QuarkWM
Configurar el inicio de QuarkWM
Atajos de teclado de QuarkWM
Añadir aplicaciones al inicio de QuarkWM
Iniciamos QuarkWM
Enlaces
Introducción
QuarkWM es
un administrador de ventanas de tipo "mosaico", en el que son las
aplicaciones las que se adaptan a las ventanas y no, las ventanas a las
aplicaciones. En la web, hasta este manual, el programa más
representativo de este modo de trabajo era Twindy.
Estos últimos años han empezado a florecer este tipo de
administradores de ventanas, en los que el protagonista principal es el
teclado, y el uso del ratón queda reducido al uso de las
aplicaciones que lancemos. Aunque en el caso de QuarkWM,
el uso del ratón también es posible para cerrar las
ventanas, ponerlas a pantalla completa y cambiar el enfoque de una
ventana a otra.
La idea principal consiste en una gestión
automatizada de la posición y tamaño de las ventanas en
la pantalla, en el caso de QuarkWM,
nos encontramos siempre con una ventana primaria, que se muestra
siempre a un tamaño fijo en el centro de la pantalla cuando es
única, y en unas ventanas secundarias, que se muestran reducidas
en tamaño, ocupando el 30 % de la pantalla, y desplegadas como
un mosaico en la parte izquierda de la misma, desplazando la ventana
primaria al espacio restante de la pantalla. Cuando en la ventana
primaria, por ejemplo, abrimos un diálogo de selección de
archivo, el diálogo se mostrará de forma
automática en la ventana primaria, y la ventana principal del
programa en ejecución, quedará reducida en el lateral
izquierdo de la pantalla.
La principal desventaja de esta forma de operar, es por un
lado, la limitación de la libre disposición de las
ventanas por parte del usuario, y por otro lado, en aquellas
aplicaciones que guardan de forma automática el tamaño de
las ventanas (las GTK+), en el caso de que utilicemos otros
administradores de ventanas "normales", éstas se
mostrarán con el tamaño predefinido de la ventana fija de
QuarkWM o cualquier otro administrador de ventanas del mismo tipo.
Junto al manual, se publica la versión en
español del programa, no es que hubiera mucho que traducir (aunque lo del reloj merecía la pena), pero
he preferido publicar un paquete específico corrigiendo a la
par, los errores de compilación que el paquete original posee, además de incluir los correspondientes scripts de
instalación y desinstalación del programa.
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
# 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.
Instalación
Dependencias
Herramientas de Compilación
Entre paréntesis la
versión con la que se ha compilado QuarkWM
para la elaboración de este documento.
* GCC - (6.1.0)
Librerías
de Desarrollo
*
Xorg - (7.7 / xorg-server 1.18.3)
LibX11 - (1.6.3)
Descarga
quark3-2015.07_es.tar.xz
Firma Digital
quark3-2015.07_es.tar.xz.asc
Verificar la firma digital del paquete
$ gpg --import manualinux.asc
$ gpg --verify quark3-2015.07_es.tar.xz.asc quark3-2015.07_es.tar.xz |
Optimizaciones
$
export {C,CXX}FLAGS='-O3 -march=amdfam10 -mtune=amdfam10'
|
Donde pone amdfam10
se indica el procesador respectivo de cada sistema
seleccionándolo de la siguiente tabla: |
* 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.x e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
|
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.x. |
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.x. |
Intel |
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.x, hasta GCC 4.8.x. A partir de GCC 4.9.x 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.x. |
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.x. |
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.x. |
core-avx2 |
Intel Core (Haswell). Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x 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.x, hasta GCC 4.8.x. A partir de GCC 4.9.x 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.x, hasta GCC 4.8.x. A partir de GCC 4.9.x 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.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición sandybridge. |
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.x. |
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. |
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.x. |
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.x. |
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.x. |
lakemont |
Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir
de GCC 6.x. |
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.x. |
nocona |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit. |
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. |
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.x. |
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.x. |
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.x. |
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.x. |
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.x. |
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.x. |
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.x. |
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.x. |
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.x. |
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.x. |
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.x. |
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.x. |
geode |
AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.x. |
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.x. |
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.x. |
Otros |
c3 |
Via C3 con soporte de instrucciones MMX y 3DNow!. |
c3-2 |
Via C3-2 con soporte de instrucciones MMX y SSE. |
winchip2 |
IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!. |
winchip-c6 |
IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX. |
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
|
LTO |
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=2'
|
Donde pone 2
se indica el número de núcleos de nuestro procesador, si
sólo tiene uno, utilizar el parámetro -flto |
Extracción y Configuración
$ tar Jxvf quark3-2015.07_es.tar.xz
$ cd quark3-2015.07_es |
El programa no tiene ningún archivo de
configuración para poder modificar las opciones, lo único
destacable es las fuentes a utilizar para su uso, parámetro que
tenemos que modificar en el script, setup.sh. Para saber que tenemos estas fuentes en nuestro sistema, hacemos uso de la utilidad Xfontsel, y ejecutamos los siguientes comandos desde una ventana de terminal:
$ xfontsel -pattern -*-lucida-medium-r-*-*-12-*-*-*-*-*-*-*
$ xfontsel -pattern -*-lucida-bold-r-*-*-26-*-*-*-*-*-*-*
$ xfontsel -pattern -*-snap-*-*-*-*-*-*-*-*-*-*-*-* |
A la ejecución de cada comando, nos saldrá una ventana,
como las que aparecen a continuación, si no aparece
ningún tipo de caracter, es que no tenemos esas fuentes
instaladas en nuestro sistema, o como sucede en el caso de la
distribución Fedora, no existe el tamaño de 12 píxeles para la fuente lucida-medium-r, con lo que tendremos que modificar el parámetro y cambiarlo a 11.
En el caso particular de la fuente snap,
utilizada para mostrar la fecha en el reloj, si no aparece la
última línea con los acentos y las eñes, es que la
versión que tenemos en nuestro sistema es la original (artwiz) y
no la modificada (artwiz-aleczapka) que soporta la codificación de caracteres, iso-8859.1,
fundamental para que se muestren estos de forma correcta.
Solución: cambiarla por otra fuente o descargarnos el paquete
correspondiente, en función de la distribución que
estemos utilizando y desinstalar el original. Podemos buscarlo con el
término artwiz-aleczapka-fonts.
#!/bin/sh
MEDIUMFONT=-*-lucida-medium-r-*-*-12-*-*-*-*-*-*-*
BIGFONT=-*-lucida-bold-r-*-*-26-*-*-*-*-*-*-*
SMALLFONT=-*-snap-*-*-*-*-*-*-*-*-*-*-*-* |
Compilación
Instalación
como root
Estadísticas de Compilación e Instalación de QuarkWM
Estadísticas de Compilación e Instalación de QuarkWM |
CPU |
AMD Athlon(tm) II X2 260 Processor |
MHz |
3214.610 |
RAM |
2048 MB |
Sistema de archivos |
XFS |
Versión de Glibc |
2.22 |
Enlazador dinámico |
GNU gold 2.26 |
Compilador |
GCC 6.1.0 + Ccache 3.2.5 |
Parámetros de optimización |
-03 -march=amdfam10
-mtune=amdfam10 -floop-interchange -ftree-loop-distribution
-floop-strip-mine -floop-block -fuse-linker-plugin -flto=2 |
Tiempo de compilación |
2" |
Archivos instalados |
15 |
|
Ocupación de espacio en disco |
156 KB |
Consumo inicial de CPU y RAM de QuarkWM
Consumo inicial de CPU y RAM de QuarkWM |
Proceso
|
CPU |
Memoria física |
qbar |
0 % |
2,8 MB |
qwm |
0 % |
2,5 MB |
qrun |
0 % |
2,4 MB |
TOTAL |
0 % |
7,7 MB |
Directorio de configuración personal
~/.quark3 |
Es el directorio de configuración personal de QuarkWM en nuestro home, creado única y exclusivamente para albergar el script autostart
de la versión en español del programa, y que nos
servirá para añadir las aplicaciones adicionales que
creamos conveniente utilizar junto a QuarkWM. Desde la versión 2011.11_es, se crea de forma automática en la primera ejecución del programa. |
~/.quark3/autostart |
Tomando como referencia el
sistema que utilizo para añadir aplicaciones al inicio de
aquellos administradores de ventanas que no tienen scripts dedicados a
este cometido, en la versión en español de QuarkWM,
he decidido implementar este práctico sistema de autoinicio de
aplicaciones, ya utilizado en otros manuales publicados en esta web. |
Desinstalación
como root
1)
MODO MANUALINUX - 1
En el directorio de compilación
ejecutamos el siguiente comando:
2)
MODO MANUALINUX - 2
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.
quark3-2015.07_es-scripts.tar.gz
$ su
# tar zxvf quark3-2015.07_es-scripts.tar.gz
# cd quark3-2015.07_es-scripts
# ./Desinstalar_quark3-2015.07_es |
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 quark3-2015.07_es-scripts.tar.gz
# cd quark3-2015.07_es-scripts
# ./Respaldar_quark3-2015.07_es |
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_quark3-2015.07_es
|
Componentes de
QuarkWM
qwm |
El administrador de ventanas |
qbg |
Una utilidad que permite
establecer el color del fondo de la pantalla. Su uso no es necesario,
ya que podemos utilizar cualquier setter o gestores de fondos como CWallpaper o Nitrogen, para este cometido. |
qbar |
Una utilidad que muestra
un reloj en la parte inferior izquierda de la pantalla, además
de permitir la ejecución de algunas aplicaciones definidas con
variables de entorno (un emulador de terminal, un navegador, un cliente
de correo y un reproductor multimedia) mediante el correspondiente
atajo de teclado. |
qctl |
Una utilidad que permite la comunicación con los componentes de QuarkWM, y modificar aspectos de su configuración. Sólo para usuarios avanzados en edad y conocimiento. |
qform |
Una utilidad que permite
crear de forma dinámica, cajas de texto de formularios.
Sólo para usuarios avanzados en edad y conocimiento. |
qrun |
Una utilidad que permite invocar un diálogo de ejecución de comandos de aplicaciones. |
qhelp |
Una utilidad que muestra una caja de texto con los atajos de teclado predefinidos del programa. |
qinit |
Una utilidad que sirve para reconfigurar los componentes del programa, mediante el archivo ~./xinitrc. Sólo para usuarios avanzados en edad y conocimiento. |
Configurar el inicio de
QuarkWM
1) Para los que inician X desde
terminal con el comando startx
Editamos el archivo ~/.xinitrc que se
encuentra en nuestro home,
si no existe lo creamos, y añadimos lo siguiente:
exec
/usr/local/bin/startquark3 |
2) XDM
Editamos el archivo ~/.xsession que se
encuentra en nuestro home,
si no existe lo creamos, y añadimos lo siguiente:
exec
/usr/local/bin/startquark3 |
3) GDM/KDM en OpenMandriva
Creamos un archivo y
lo nombramos 44QuarkWM,
lo editamos y añadimos lo siguiente:
NAME=QuarkWM
ICON=
EXEC=/usr/local/bin/startquark3
DESC=
SCRIPT:
exec /usr/local/bin/startquark3
|
Lo instalamos en el
directorio /etc/X11/wmsession.d, y ejecutamos el comando fndSession
para que genere los correspondientes archivos desktop que se
crearán de forma automática en los respectivos
directorios de ubicación de las sesiones de GDM y KDM.
$ su
# install -m644 44QuarkWM /etc/X11/wmsession.d
# fndSession
|
Ubicación de los archivos desktop creados en Mandriva |
GDM |
/etc/X11/dm/Sessions/44QuarkWM.desktop |
KDM |
/usr/share/apps/kdm/sessions/44QuarkWM.desktop |
4) GDM/KDM en Fedora
Abrimos un editor de texto y añadimos lo siguiente al mismo,
[Desktop Entry]
Encoding=UTF-8
Name=QuarkWM
Comment=
Exec=/usr/local/bin/startquark3
Terminal=False
TryExec=/usr/local/bin/startquark3 |
Lo guardamos con el nombre quarkwm.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions, y en /usr/share/kde4/apps/kdm/sessions.
$ su
# install -m644 quarkwm.desktop /usr/share/xsessions
# install -m644 quarkwm.desktop /usr/share/kde4/apps/kdm/sessions
|
Ubicación de los archivos desktop creados en Fedora |
GDM |
/usr/share/xsessions/quarkwm.desktop |
KDM |
/usr/share/kde4/apps/kdm/sessions/quarkwm.desktop |
5) GDM/KDM en Slackware y derivados
Abrimos un editor de texto y añadimos lo siguiente al mismo,
#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
# Start the window manager:
exec /usr/local/bin/startquark3
|
Lo guardamos con el nombre xinitrc.quarkwm, y lo instalamos en /etc/X11/xinit.
$ su
# install -m755 xinitrc.quarkwm /etc/X11/xinit
|
En el mismo editor de texto que tenemos abierto, borramos lo anterior y añadimos lo siguiente,
[Desktop Entry]
Encoding=UTF-8
Name=QuarkWM
Comment=
Exec=/etc/X11/xinit/xinitrc.quarkwm
Icon=
Type=Application
|
Lo guardamos con el nombre quarkwm.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions, y en /usr/share/apps/kdm/sessions.
$ su
# install -m644 quarkwm.desktop /usr/share/xsessions
# install -m644 quarkwm.desktop /usr/share/apps/kdm/sessions
|
Ubicación de los archivos desktop creados en Slackware y derivados |
GDM |
/usr/share/xsessions/quarkwm.desktop |
KDM |
/usr/share/apps/kdm/sessions/quarkwm.desktop |
6) GDM/KDM en openSUSE
Abrimos un editor de texto y añadimos lo siguiente al mismo,
[Desktop Entry]
X-SuSE-translate=true
Encoding=UTF-8
Type=XSession
Exec=/usr/local/bin/startquark3
TryExec=/usr/local/bin/startquark3
Name=QuarkWM
Comment=
|
Lo guardamos con el nombre quarkwm.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions, y en /usr/share/kde4/apps/kdm/sessions.
$ su
# install -m644 quarkwm.desktop /usr/share/xsessions
# install -m644 quarkwm.desktop /usr/share/kde4/apps/kdm/sessions
|
Ubicación de los archivos desktop creados en openSUSE |
GDM |
/usr/share/xsessions/quarkwm.desktop |
KDM |
/usr/share/kde4/apps/kdm/sessions/quarkwm.desktop |
7) GDM/KDM en Debian y derivados
Abrimos un editor de texto y añadimos lo siguiente al mismo,
[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=/usr/local/bin/startquark3
TryExec=/usr/local/bin/startquark3
Name=QuarkWM
|
Lo guardamos con el nombre quarkwm.desktop, con la codificación de caracteres, UTF-8, y lo instalamos en /usr/share/xsessions, y en /usr/share/kde4/apps/kdm/sessions.
$ su
# install -m644 quarkwm.desktop /usr/share/xsessions
# install -m644 quarkwm.desktop /usr/share/kde4/apps/kdm/sessions
|
Ubicación de los archivos desktop creados en Debian y derivados |
GDM |
/usr/share/xsessions/quarkwm.desktop |
KDM |
/usr/share/kde4/apps/kdm/sessions/quarkwm.desktop |
8) Qingy
Abrimos un editor de texto y añadimos lo siguiente al mismo,
/usr/local/bin/startquark3
|
Lo guardamos con el nombre QuarkWM, y lo instalamos en /etc/qingy/Xsessions.
$ su
# install -m755 QuarkWM /etc/qingy/Xsessions
|
9) SLiM
Primero editamos el archivo /etc/slim.conf
y añadimos el nombre del entorno a la lista de los que tengamos
en el sistema instalados, si queremos que sea el entorno que se inicie
por defecto hay que colocarlo en el primer lugar de la lista.
#
Sesiones disponibles (la primera es la predefinida).
# El actual nombre de sesión es reemplazado en el login_cmd
# anterior, para que su comando de acceso pueda manejar diferentes
sesiones.
# vea el archivo xinitrc.ejemplo proporcionado con el código
fuente de slim.
sessions Fluxbox,WindowMaker,Blackbox,XFce4,E17,QuarkWM,IceWM,Openbox,ROX,Pekwm,AfterStep
|
Para finalizar editamos el archivo .xinitrc
de nuestro home y
añadimos la configuración del mismo, la variable DEFAULT_SESSION
sobreescribe el entorno gráfico de inicio predefinido que
pueda existir en el archivo /etc/slim.conf,
permitiendo añadir el ejecutable de otro entorno que no
esté configurado en el apartado anterior para ser iniciado
por
defecto, si queremos que sea QuarkWM,
añadimos su script de ejecución, aunque si lo
tenemos configurado el primero de la lista, esto no es necesario.
# La siguiente variable define
la sesión que será iniciada si el usuario
# no elige de forma explícita una sesión
DEFAULT_SESSION=startquark3
case $1 in
XFce4)
exec startxfce4
;;
IceWM)
exec icewm-session
;;
WindowMaker)
exec wmaker
;;
Blackbox)
exec startblackbox
;;
Fluxbox)
exec startfluxbox
;;
E17)
exec enlightenment_start
;;
QuarkWM)
exec startquark3
;;
Openbox)
exec openbox-session
;;
Pekwm)
exec pekwm
;;
ROX)
exec rox-session
;;
AfterStep)
exec afterstep
;;
*)
exec $DEFAULT_SESSION
;;
esac |
Con pulsar F1 ya
podremos seleccionarlo de la lista e iniciarlo, si es el predefinido no
es necesario seleccionarlo de la lista, se iniciará por
defecto.
Atajos de teclado de QuarkWM
Qwm |
Combinación de teclas |
Acción a realizar |
Win + Q |
Intercambiar la ventana primaria con una secundaria
|
Win + 1 |
Ciclar la ventana primaria |
Win + Escape |
Ocultar todas las ventanas |
Win + F |
Poner a pantalla completa la ventana primaria |
Win + Tabulador |
Enfocar la siguiente ventana |
Win + C |
Cerrar la ventana enfocada |
Win + X |
Matar la ventana enfocada |
Win + W |
Enfocar la ventana primaria |
Win + Fin |
Salir de QuarkWM |
Qbar |
Win + P |
Lanzar el reproductor multimedia definido en la variable de entorno $PLAYER |
Win + E |
Lanzar el emulador de terminal definido en la variable de entorno $XTERM |
Win + ; |
Lanzar el cliente de correo definido en la variable de entorno $MAILER |
Win + B |
Lanzar el navegador web definido en la variable de entorno $BROWSER |
Qrun |
Win + R |
Abrir la caja de diálogo del lanzador de aplicaciones mediante línea de comandos |
Funciones del ratón |
Cuando colocamos el
puntero sobre la barra superior derecha de las ventanas, sólo
visible en las ventanas que están enfocadas. |
Botón izquierdo |
Intercambiar la ventana primaria y la secundaria. |
Botón central |
Activar la pantalla completa. |
Botón derecho |
Cerrar la ventana. |
Rueda del ratón |
Ciclar la ventana
primaria. Sólo es aplicable si se muestra un cuarto icono en la barra superior derecha de la
ventana primaria. |
Añadir aplicaciones al inicio de QuarkWM
Además de configurar las aplicaciones a utilizar en las variables de entorno $PLAYER, $XTERM, $MAILER y $BROWSER,
que equivalen al reproductor multimedia, emulador de terminal, cliente
de correo y navegador web que se ejecutarán con los atajos de
teclado explicados en la sección Qbar
del apartado anterior, podemos también añadir otras
utilidades que nos pueden venir muy bien para completar el uso de este
administrador de ventanas.
1) Un programa que nos coloque una imagen en el fondo, en el archivo ~/.quark3/autostart instalado están comentados los comandos que hacen referencia a CWallpaper y a Nitrogen. En la web existe amplia documentación sobre otros programas que realizan la misma función.
2) Una utilidad de atajos de teclado que mejore y amplíe las funciones de QuarkWM, por ejemplo XbindKeys.
3) Un menú que podamos activar mediante un atajo de teclado+ratón, y que solvente las carencias que tiene QuarkWM en este apartado, por ejemplo myGtkMenu.
4) Otro tipo de
aplicaciones típicas de otros administradores de ventanas
"normales", en éste, resultan contraproducentes, pero es el
precio que se ha de pagar por utilizar este tipo de administradores de
ventanas. Eso sí, por probar y experimentar que no quede.
Todo esto lo definimos en el script ~/.quark3/autostart, y lo podemos dejar así, un ejemplo:
#!/bin/sh
export XTERM='mrxvt'
export PLAYER='smplayer'
export MAILER='claws-mail'
export BROWSER='firefox'
cwallpaper -l
xbindkeys &
qbar &
qrun & |
El comando de ejecución de myGtkMenu lo añadimos al archivo de configuración de XbindKeys, ~/.xbindkeysrc, a partir de la línea 49, más o menos.
# specify a mouse button
"myGtkMenu ~/.myGtkMenu/Menu.txt"
Mod1+b:1
"claws-mail"
Mod1+s
"rox ~/" |
Con esta configuración, cada vez que ejecutemos la combinación Alt + Clic izquierdo del ratón,
el menú se desplegará en el lugar donde tengamos situado
el puntero del ratón, con la importante ventaja, de que siempre
se colocará por encima de cualquier aplicación que
tengamos abierta.
Iniciamos QuarkWM
Enlaces
http://quarkwm.sourceforge.net >> La web de QuarkWM.
|