Faceți căutări pe acest blog

vineri, 8 noiembrie 2013

Transparență în LXDE (lxterminal)

 Unele managere de ferestre din Linux nu au funcția de compositing, iar Openbox, WM-ul implicit din Lxde este unul din acestea. Astfel că nu putem beneficia de animații 3D sau de transparența anumitor ferestre.
 O variantă de-a beneficia de așa ceva este înlocuirea Openbox cu alt WM compozitor, Compiz, Xfwm4, Kwin sau Mutter.
 Schimbarea se poate efectua în fișierul ~/.config/lxsession/LXDE/desktop.conf (/home/user/.config/lxsession/LXDE/desktop.conf), unde în secțiunea [Session] înlocuim la window_manager managerul openbox-lxde cu WM-ul preferat, în maniera:
[Session]
window_manager=kwin

 Alternativ putem comenta linia respectivă și adăuga o altă linie ce va conține noul WM.

 O variantă mai simplă ce nu necesită editarea vreunui fișier este rularea în terminal sau Run (Alt+F2) a comenzii nume-WM --replace, de exemplu kwin --replace, dar asta doar pentru a verifica comportamentul WM-ului deoarece după logout, reboot setarea va reveni la cea din ~/.config/lxsession/LXDE/desktop.conf.

 Problema cu soluția precedentă este că astfel Lxde nu mai este chiar econom cu resursele cum ar trebui, iar noul WM va veni cu multe pachete ca dependințe.

 Xcompmgr
 A doua posibilitate o constituie utilizarea unui compozitor adițional, astfel Lxde va folosi tot Openbox ca WM, dar vom putea beneficia de compoziție. În funcție de cât de multe așteptăm de la acest compozitor vom folosi xcompmgr (cel mai simplu, mai modest), xcompmgr_tint2 (care oferă-n plus transparență în panoul tint2), compton (un fork de xcompmgr cu multe îmbunătățiri) sau cairo-compmgr, cel mai complex.
 Eu de fapt vreau doar ca lxterminal să fie transparent, lucrez mult în linia de comandă deci terminalul trebuie să arate cum îmi place mie, în consecință am ales xcompmgr.
1- Instalăm xcompmgr și transset-df, în Arch:
pacman -S xcompmgr transset-df
2- Adăugăm în fișierul ~/.xprofile linia xcompmgr -c &:
echo "xcompmgr -c &" >> ~/.xprofile
 Comanda de mai sus dată în terminal creează fișierul dacă nu există și copie linia în fișier.
3- Ne folosim în terminal de comanda transset-df {valoare-opacitate-între-0-și-1}, de exemplu transset-df 0.75 pentru a seta transparența unei ferestre. La rularea comenzii cursorul mouse-ului se va transforma într-o cruce, cu clic pe o fereastră aceasta devine transparentă 25% (0.75= opacitatea, deci transparența este de 25%).
 În cazul meu, singura ferestră la care vreau transparență este lxterminal, iar pentru automatizarea procesului am adăugat în .bashrc linia transset-df 0.7 -a. Astfel, la pornirea terminalului (și implicit a shell-ului bash...) comanda precedentă se execută automat asupra terminalului, deoarece opțiunea -a (--actual) se referă la fereastra actuală, cea în care se execută comanda. Fereasta asupra căreia se aplică transparența se poate selecta prin clic (opțiunea -c, este setarea implicită), sau fereastra în care dăm comanda (-a) sau fereastra aflată sub cursor (-p) sau după numele ferestrei (-n). Mai multe aflați cu transset-df --help.
  Sursă și detalii: https://wiki.archlinux.org/index.php/Xcompmgr
 Rezultat:

Compton, cairo-compmgr și xcompmgr_tint2 nu am încercat deoarece primele două mi se par exagerate, iar al treilea inutil din moment ce-mi place lxpanel, care se poate face semi-transparent... Dar dacă sunteți interesați:
https://wiki.archlinux.org/index.php/Compton
https://wiki.archlinux.org/index.php/Cairo_Compmgr

2 comentarii:

  1. Îmi place la nebunie numele/titlul schimbat al blogului tău!! Asta pe lână ce scrii aici!!
    wladypauly (mi-a fost extrem de lene să intru pe contul Google..., sper că mă ierți :) )

    RăspundețiȘtergere
  2. Mulțumesc pentru aprecieri! Titlul e de fapt o glumă veche de-a prietenilor. ;)
    Iar comentariul anonim e-n regulă, la urma urmei eu am făcut setările, mi se pare aiurea să-și facă cineva cont pe Google, WordPress, OpenID sau aiurea doar ca să poată comenta ceva... În plus sper să încurajez sinceritatea, dacă cineva are vreun reproș sau vreo critică, se poate exprima anonim mult mai spontan, mai incisiv, fără menajamente sau scrupule!

    RăspundețiȘtergere

Back to top