«

»

Srp 01

OpenBox XIX. – Efekty pomocou Compton

openbox_logoCompton je kompozitor pre správcu okien. Ten slúži na vykresľovanie rôznych doplňujúcich efektov pre okná ako je napríklad priehľadnosť okna v pozadí, priehľadnosť záhlavia, vytvorenie tieňu, rozmazania. Compton je forkom xcompmgr-dana, ktorý je zase postavený na xcompmgr.

 

 

 

Manuálová stránka:

$ man compton

 

Pomoc:

$ compton -h
$ compton --help

 

Príručka s opisom ako najlepšie compton nakonfigurovať a príručka pre synchronizáciu.
Ukážkový konfiguračný súbor.

 

Inštalácia a konfigurácia:
V prvom rade si aplikáciu potrebujeme nainštalovať. Máme na výber z dvoch možností. Jednou je stabilná verzia z oficiálnych repozitárov alebo git-verzia z AUR.

$ sudo pacman -S compton
$ yaourt -S compton-git

 

Existuje i grafická pomôcka pre úpravu comtonu, ktorej používanie ale v tomto článku nebude spomenuté.:

$ yaourt -S compton-conf
$ yaourt -S compton-conf-git

 

compton_conf

 

Druhým krokom, ktorý potrebujeme vykonať, je pridanie comptonu do súboru pre automatické spustenie programov. Pomocou nejakého textového editoru si ho otvoríme:

$ pluma ~/.config/openbox/autostart

 

Opäť máme dve možnosti ako compton nadeklarovať. Prvou je nalinkovanie konfiguračného súboru, druhou priame nadefinovanie konfigurácie. Nesmieme zabudnúť, že každý riadok v súbore sa musí končiť &.

 

Cesta ku konfiguračnému súboru:

$ compton --config /cesta/ku/compton.conf -b &
$ (compton --config ~/.config/compton.conf -b &)

 

Priame nadefinovanie konfigurácie:

$ compton -cCGfz -o 0.20 -r 7 -t 0 -l 0 -O 200 -I 200 -D2 -m 0.85 -i 0.85 -b &

 

Zopár dostupných možností pre konfiguráciu:

-r určí polomer rozostrenia pre tieň
-o určí priehľadnosť pre tieň
-m nastaví priehľadnosť menu
-c povolí vykresľovanie tieňa oknám
-C zakáže vykresľovanie tieňa panelu a doku
-z nastaví tzv. čistý tieň
-i nastaví priehľadnosť okien v pozadí
-e nastaví priehľadnosť záhlavia okien
-G zakáže vykresľovanie tieňa na DND oknách
-b proces sa spustí ako daemon

 

Nastavenie comptonu pomocou konfiguračného súboru:

Všetky dostupné parametre nie sú vypísané. Podrobná príručka aj s opisom sa nachádza tu a tu.

Asi najdôležitejšou vecou, na ktorú sa potrebujeme zamerať je výber akcelerácie. Dostupné sú dve možnosti: GLX (OpenGL) a X Render. Druhý je univerzálnejší a funguje na akomkoľvek prostredí. No prvou voľbou by mal byť radej GLX, nakoľko poskytuje lepšie možnosti, zvyčajne tak nezaťažuje CPU. Ak nastanú nejaké problémy s GLX (napríklad s výkonom či nekorekntým zobrazovaním), riadok backend = „glx“; stačí zakomentovať (pridať mriežku #). Tým sa pre konfiguráciu stane neviditeľný. Vtedy sa automaticky zvolí X Render. Tieto parametre sú závislé od hardvéru počítača.

backend = „glx“;
paint-on-overlay = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = „opengl-swc“;

 

backend = „glx“; určí akceleráciu, ktorá sa má použiť. Zakomentovaním riadku pomocou mriežky (#) sa použije X Render.
paint-on-overlay = true; namiesto root okna vykresľuje kompozitné. Má dve hodnoty. true voľbu povoľuje, false zakazuje. Nastavenie sa dá ignorovať pomocou mriežky. Môže mať pozitívny i negatívny efekt na výkon.
glx-no-stencil = true; tento parameter má dve hodnoty. true voľbu povoľuje, false zakazuje. Nastavenie sa dá ignorovať pomocou mriežky. Obvykle má pozitívny efekt na výkon.
glx-no-rebind-pixmap = true; tento parameter má dve hodnoty. true voľbu povoľuje, false zakazuje. Nastavenie sa dá ignorovať pomocou mriežky. Väčšinou funguje. A spravidla zlepšuje výkon pri rýchlych zmenách obsahu okien.
vsync = „opengl-swc“; je určený pre synchronizáciu. Má niekoľko parametrov: none, drm, opengl, opengl-oml, opengl-swc a opengl-mswc. Ak sa vyskytnú problémy s výkonom, prvou voľbou ako sa ich pokúsiť vyriešiť, je zakázanie synchronizácie. Pri použití Radeon sa môže stať, že sa zníži obnovovacia frekvencia monitoru. Pri použití viacerých monitorov s rôznymi obnovovacím frekvenciami sa taktiež môžu vyskytnúť problémy. Ak sa tearing vyskytuje iba počas prehrávania, najprv je dobré zmeniť výstup pre video. Najmä tie s akceleráciou sú dobrá voľba (vaapi, vdpau, xv, opengl).

 

# Shadow (Tieň)
shadow = true;
no-dock-shadow = true;
no-dnd-shadow = true;
clear-shadow = true;
shadow-radius = 7;
shadow-offset-x = -9;
shadow-offset-y = -9;
shadow-opacity = 0.20;
shadow-ignore-shaped = true;
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;

 

shadow = true; povolí alebo zakáže tieň okna. Má dva parametre: true a false.
no-dock-shadow = true; povolí alebo zakáže vykresľovanie tieňa na dokoch a paneloch. Povoľuje sa nevykresľovanie. Má dva parametre: true a false.
no-dnd-shadow = true; povolí alebo zakáže vykresľovanie tieňa na DND oknách. Povoľuje sa nevykresľovanie. Má dva parametre: true a false.
clear-shadow = true; povolí alebo zakáže nulovú časť masky tieňa za oknom. Má dva parametre: true a false. Ide o experimentálnu funkciu.
shadow-radius = 7; nastaví polomer rozostrenia tieňa.
shadow-offset-x = -9; nastaví posunutie tieňa od ľavého okraja okna.
shadow-offset-y = -9; nastaví posunutie tieňa od horného okraja okna.
shadow-opacity = 0.20; nastaví priesvitnosť tieňa.
shadow-ignore-shaped = true; povolí alebo zakáže vykresľovanie tieňa na všetkých tvarovaných oknách. Má dva parametre: true a false.
shadow-red = 0.0; nastaví červenú zložku tieňa. Rozmedzie hodnôt sa pohybuje medzi 0 až 1. Predvolená hodnota je 0.
shadow-green = 0.0; nastaví zelenú zložku tieňa. Rozmedzie hodnôt sa pohybuje medzi 0 až 1. Predvolená hodnota je 0.
shadow-blue = 0.0; nastaví modrú zložku tieňa. Rozmedzie hodnôt sa pohybuje medzi 0 až 1. Predvolená hodnota je 0.

 

# Fading (Vyblednutie)
fading = true;
fade-delta = 2;
fade-in-step = 5;
fade-out-step = 5;
#no-fading-openclose = true;

 

fading = true; povolí alebo zakáže vyblednutie okna počas zmeny nepriehľadnosti. Má dva parametre: true a false.
fade-delta = 2; nastaví čas v milisekundách medzi krokmi pri blednutí okna.
fade-in-step = 5; nastaví zmenu nepriehľadnosti medzi krokmi počas blednutia.
fade-out-step = 5; nastaví zmenu nepriehľadnosti medzi krokmi počas tmavnutia.
no-fading-openclose = true; povolí alebo zakáže blednutie okna počas otvárania a zatvárania. Má dva parametre: true a false.

 

# Opacity (Nepriehľadnosť/Priehľadnosť)
menu-opacity = 0.85;
#active-opacity = 1;
inactive-opacity = 0.85;
#frame-opacity = 0.8;
inactive-opacity-override = true;

 

menu-opacity = 0.85; nastaví priehľadnosť menu.
active-opacity = 1; nastaví priehľadnosť pre aktívne okno. Rozmedzie hodnôt sa pohybuje medzi 0 až 1.
inactive-opacity = 0.85; nastaví priehľadnosť pre neaktívne okno. Rozmedzie hodnôt sa pohybuje medzi 0 až 1.
frame-opacity = 0.8; nastaví priehľadnosť pre záhlavie okna a okraje. Rozmedzie hodnôt sa pohybuje medzi 0 až 1.
inactive-opacity-override = true; povolí alebo zakáže neaktívnu nepriehľadnosť nastavenú cez inactive-opacity. Prepíše hodnoty _NET_WM_OPACITY. Má dva parametre: true a false.

 

# Other (Ďalšie nastavenia)
#inactive-dim = 0.5;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;

 

inactive-dim = 0.5; nastaví stlmenie neaktívnych okien. Rozmedzie hodnôt sa pohybuje medzi 0 až 1. Predvolená hodnota je 0.
mark-wmwin-focused = true; povolí alebo zakáže detekciu okien WM a označí ich ako aktívne. Má dva parametre: true a false.
mark-ovredir-focused = true; povolí alebo zakáže všetky okná, ktoré nie sú WM a označí ich ako aktívne. Má dva parametre: true a false.
detect-rounded-corners = true; povolí alebo zakáže detekciu zaoblených hrán a ak je povolené shadow-ignore-shaped, tak s nimi zaobchádza s nimi ako pravouhlými. Má dva parametre: true a false.
detect-client-opacity = true; povolí alebo zakáže detekciu priehľadnosti okien. Vďaka tomuto parametru sa ignoruje nastavenie priehľadnosti určitých aplikácií.
refresh-rate = 0; nastaví špecifickú obnovovaciu frekvenciu monitora. 0 berie automatickú hodnotu. Parameter súvisí s sw-opti.
sw-opti = false; povolí alebo zakáže obmedzenie obnovovania frekvencie. Má dva paramtre: true a false. Nemal by sa používať spolu drm, opengl a opengl-oml. Hodnoty nižšie ako je tá automatická sú zbytočné. Je určený pre maximalizáciu výkonu.
unredir-if-possible = true; povolí alebo zakáže presmerovanie všetkých okien ak je detekovaná nepriehľadnosť pri celej obrazovke. Má dva parametre: true a false. Je určený pre maximalizáciu výkonu.
dbe = false; povolí alebo zakáže DBE kresliaci mód v snahe o vyhnutie sa tearingu. Vhodný pri použití Vsync. Zdá sa, že bez úspechu. Má dva parametre: true a false.
detect-transient = true; povolí alebo zakáže zameranie skupinových okien v ten istý čas. Má dva parametre: true a false.
detect-client-leader = true; povolí alebo zakáže zameranie skupinových okien v ten istý čas. Má dva parametre: true a false. Detect-transient má vyššiu prioritu.
use-ewmh-active-win = true; povolí alebo zakáže použitie EWMH _NET_WM_ACTIVE_WINDOW na detekciu aktívnych okien. Má dva parametre: true a false.
blur-background = false; povolí alebo zakáže rozostrenie pozadia priehľadných okien. Má dva parametre: true a false. Odporúčaný je GLX, pretože s X Render poskytuje zlý výkon.
blur-background-frame = false; povolí alebo zakáže rozostrenie pozadia nepriehľadných okien s priehľadnými okrajmi. Má dva parametre: true a false.
blur-background-fixed = false; povolí alebo zakáže polomer rozostrenia založený na základe nepriehľadnosti okien. Má dva parametre: true a false.

 

# Window type settings (Nastavenia typov okien)
wintypes:
{
notify = { fade = true; shadow = false; opacity = 0.75; };
tooltip = { fade = true; shadow = false; opacity = 0.75; };
};

 

notify = { fade = true; shadow = false; opacity = 0.75; };
Nastaví vyblednutie (fade), tieň (shadow) a priehľadnosť (opacity) upozornení.
tooltip = { fade = true; shadow = false; opacity = 0.75; };
Nastaví vyblednutie (fade), tieň (shadow) a priehľadnosť (opacity) vyskakujúcich popisov.

 

# Excluded apps (Programy, na ktoré sa nevťahujú efekty)
# shadow-exclude = [ „g:si:Conky“, „class_g = ‚conky'“ ];
shadow-exclude = [ „n:e:Notification“ ];
# shadow-exclude = [ „n:w:*VirtualBox*“ ];
# blur-background-exclude = [ „window_type = ‚dock'“, „window_type = ‚desktop'“ ];

 

shadow-exclude = [ „g:si:Conky“, „class_g = ‚conky'“ ]; vynechá Conky z nastavení tieňa. Jednoducho povedané, Conky nebude vykresľovať tieň. Toto sú len dve možnosti zápisu. Nie je potrebné deklarovať oba.
shadow-exclude = [ „n:e:Notification“ ]; vynechá upozornenia z nastavení tieňa.
shadow-exclude = [ „n:w:*VirtualBox*“ ]; vynechá VirtualBox z nastavení tieňa.
blur-background-exclude = [ „window_type = ‚dock'“, „window_type = ‚desktop'“ ]; na dok a plochu nebude aplikovaný efekt rozostrenia. Môže sa použiť i tento zápis:
blur-background-exclude = [
„window_type = ‚dock'“,
„window_type = ‚desktop'“
];

 

 

O autorovi

lombardo1981

Ja som proste ja. Baba zamilovaná do Archu, kyberpunku, metalu, spevu a Slovenských čuvačov.

1 ping

  1. i3wm II. – Automatické spúšťanie programov »
    WordPress 4.7.3

    […] dva príkazy sú príkladom spustenia konfiguračných súborov. Prvým je compton, o ktorom sme si už čoto povedali. Druhým je conky, chronicky známy systémový monitor. Oba sa […]

Napsat komentář

%d blogerům se to líbí: