miércoles, 13 de noviembre de 2013

Tropezando - Parte 8 - Compton, otro compositor de escritorio

Hace un tiempo hablé de Cairo Composite Manager. Este compositor me ha dado algún problema al cargar, y lo cierto es que es bastante limitado en cuanto a opciones, así que me he decantado por Compton, que permite una configuración más ajustada y funciona francamente mejor, aunque con el inconveniente de no tener un entorno gráfico por defecto para ajustarlo. Este compositor funciona en cualquier entorno de escritorio, consume muy pocos recursos y no necesita aceleración gráfica (aunque la usará si está disponible).

El primer paso será instalarlo. Dado que no está en los repositorios oficiales, añadiremos su propio repositorio. Como siempre, sugiero hacerlo desde Synaptics:
Tipo: Binario
URI: http://ppa.launchpad.net/richardgv/compton/ubuntu
Distribución: La que toque (en mi caso, "precise")
Componentes: main
Este repositorio es para Ubuntu y derivados.
Las fuentes pueden conseguirse desde el mismo repositorio, cambiando el tipo de "binario" a "fuente".

La configuración por defecto se guarda en el archivo de texto /home/USUARIO/.conf/compton.
Aquí dejo un ejemplo de este archivo:
# Shadow
shadow = true; # Activar sombras en ventanas.
no-dock-shadow = true; # Evitar que los docks o paneles tengan sombra.
no-dnd-shadow = true; # No dibujar sombras en ventanas DND (¿?).
clear-shadow = true; # No dibujar sombras bajo las ventanas (experimental).
shadow-radius = 10; # Radio de difuminado de las sombras. (defecto 12)
shadow-offset-x = -10; # Desplazamiento de sombras a la izquierda. (defecto -15)
shadow-offset-y = -10; # Desplazamiento de sombras hacia arriba. (defecto -15)
shadow-opacity = 0.7; # Opacidad de las sombras. (defecto .75)
# shadow-red = 0.0; # Color rojo de sombras. (0.0 - 1.0, defecto 0)
# shadow-green = 0.0; # Color verde de sombras. (0.0 - 1.0, defecto 0)
# shadow-blue = 0.0; # Color azul de sombras. (0.0 - 1.0, defecto 0)
shadow-exclude = [ "g:si:Conky", "g:si:qmmp" ]; # Condiciones de exlusión de sombras (programas).
focus-exclude = [ "g:si:firefox", "g:si:Conky", "g:si:wine", "g:si:smplayer", "g:si:qmmp" ]; # Condiciones de exlusión de transparencias (programas).
# shadow-exclude = "n:e:Notification";
shadow-ignore-shaped = true;

# Opacidad (transparencias)
menu-opacity = 0.9; # Opacidad de los menús. (default 1.0)
inactive-opacity = 0.8; # Opacidad de ventanas inactivas. (0.1 - 1.0)
frame-opacity = 0.9; # Opacide bordes y barras de título de las ventanas. (0.1 - 1.0)
inactive-opacity-override = true; # Inactive opacity set by 'inactive-opacity' overrides value of _NET_WM_OPACITY.

# Fading
fading =true; # Efecto de transición al cambiar oppacidady.
# fade-delta = 30; # Tiempo entre pasos del efecto de transición en milisegundos. (defecto 10).
fade-in-step = 0.03; # Cambio de transparencia entre pasos al aumentar opacidad. (defecto 0.028).
fade-out-step = 0.03; # Cambio de transparencia entre pasos al aumentar transparencia. (defecto 0.03).
# no-fading-openclose = false; # Evitar transición al abrir y cerrar ventanas.

# Other
inactive-dim = 0; # Dim inactive windows. (0.0 - 1.0, defaults to 0).
mark-wmwin-focused = true; # Try to detect WM windows and mark them as active.
mark-ovredir-focused = true;
detect-rounded-corners = true;

# Configuración de tipos de ventana
wintypes:
{
  tooltip = { fade = true; shadow = true; opacity = 0.75; }; # Éste se refiere a los mensajes de ayuda que aparecen al dejar el cursor parado sobre un elemento.
};
Nota: Entre otras cosas, he desactivado las transparencias para Firefox y SMPlayer porque a mí me gusta ver vídeos mientras trabajo en otra ventana. Eso cada uno que se lo deje a su gusto.

Nota: el parámetro "tooltip" se refiere a esto:
Nota: He traducido los comentarios que conozco. Los que están sin traducir no sé qué efectos producen, así que ni los menciono.

Se puede crear este archivo a mano y copiar este texto en él. Al cargar Compton sin ningún argumento se ejecutará con esta configuración.
Sugiero crear un lanzador en /home/USUARIO/.config/autostart con el comando "compton" para que se ejecute automáticamente al iniciar sesión.

Una forma de configuración alternativa es ejecutar el programa con una serie de parámetros que no voy a detallar aquí: sería redundante, hay información de sobra en Internet y no tengo ganas de traducir otra vez todas las opciones. =:P
No obstante, es importante saber que esta opción existe porque el programa Gcompton, que proporciona un menú gráfico desde el que configurar el compositor, funciona precisamente ejecutando Compton con esos parámetros, ignorando completamente la configuración por defecto.
Aquí podemos ir cambiando valores y probándolos pulsando "Restart compton". Cuando estemos satisfechos con el resultado, basta pulsar en "Add to init session" para que los cambios queden guardados y el programa se ejecute cada vez que arranque el sistema.
¿Dónde quedan guardados los cambios? Ahí es donde viene el rollo que solté de los parámetros: Gcompton creará una entrada en el autoarranque del entorno de escritorio (/etc/xdg/lxsession/LXDE/autostart en LXDE, /home/USUARIO/.config/openbox/autostart en Openbox, etc...) con el comando "compton" seguido de todos los parámetros necesarios para conseguir el efecto deseado.
Un inconveniente que tiene este programa es que siempre carga con su configuración por defecto, no con la que tengamos guardada. Otro inconveniente es que no permite opciones avanzadas, como la de excluir a ciertos programas de ser transparentes o tener sombra.
Gcompton puede descargarse desde aquí. Para ejecutarlo no hay más que abrir una consola en la carpeta del programa y ejecutar en ella el comando "python gcompton.py".

Sin más, hasta otra entrada. A ver si me animo y termino las que tengo pendientes sobre la convivencia Güindaus/Lainucs...

No hay comentarios:

Publicar un comentario