Cairo-Composite-Manager

Co można nowego wymyślić w kategorii wdrażania i kontrolowania efektów pulpitu? Patrząc na rozbudowane menu w CCSM to prawdopodobnie niewiele. Lecz jednej rzeczy mi zawsze brakowało – natywnej obsługi kompozycji przez menadżery okien. W większości przypadków, aby mieć przynajmniej przeźroczystą belkę okna, czy cień, trzeba odpalać Compiza, a ten zastępuje menadżer okien swoim gtk-windows-decorator’em lub Emeraldem (jeżeli go uruchomimy). System puchnie, para idzie w obsługę efektów. Czy można inaczej? Otóż można, lecz najpierw zobaczmy jak obecnie wygląda obsługa kompozycji w najpopularniejszych menadżerach:

  • – Metacity – po dokonaniu wpisu w rejestrach za pomocą gconf-editor, można jako tako zmusić go do pracy z Compizem,
  • – XFWM4 – chyba jako jedyny menadżer posiada własną obsługę kompozycji – może bez fajerwerków, ale jest,
  • – Openbox – brak obsługi kompozycji,
  • Szczególnie brakowało mi choć trochę ‘ogłady’ w ostatnim z wymienionych. Openbox stanowi między innymi składową świetnie uproszczonego środowiska LXDE. Często wrzucam go na słabsze maszynki i nie ukrywam, że wolałbym, by wyglądał bardziej na czasie – wszak pierwsze wrażenie zwykłego użytkownika tworzy się zwykle w oparciu o atrakcyjność wizualną. Do tej pory bardziej wytrwali mogli kombinować ze skryptami i poleceniami xcompmgr i transset. Ale nie po to mamy XXI wiek, by brnąć w manuale i setki opcji…

    Okazuje się, że to właśnie Cairo-Composite-Manager jest lekarstwem na większość dręczących nas nocami zawiłości konfiguracyjnych i prób upiększania okien – tudzież samego pulpitu. Jest to menadżer kompozycji korzystający z cairo. Do renderowania potrafi zaprząc Xrender (2D ze wsparciem przyśpieszenia sprzętowego), a świetlana przyszłość wciąż przed nami (w kolejce nowy backend opengl dla cairo, 3D). Co więcej, program obsługuje też system wtyczek, zatem można dowolnie modelować go pod swoje wymagania. I wszystko to dla każdego menadżera okien spełniającego standard EWMH.

    I tym prostym sposobem możemy sobie ustawić przeźroczystość dekoracji okien, cienie, animacje otwierania, zamykania i minimalizowania okien (a w zasadzie ich tempo), obsługę tapety na pulpicie. Do tego skróty klawiszowe obsługujące mozaikę okien (tryp expose), ustawianie przeźroczystości dla całego okna, zrzuty okna/wybranego obszaru, synchronizację.

    Oczywiście, by cieszyć się tymi efektami, należy pamiętać, by dodać do autostartu program ‘cairo-compmgr‘. Najprościej program instaluje się w Debianie – wystarczy dodać repozytorium:

    deb http://download.tuxfamily.org/ccm/debian/ sid main

    I po wydaniu polecenia…

    apt-get install cairo-compmgr cairo-compmgr-plugins

    … cieszymy się nowymi możliwościami.

    Należy pamiętać, że o ile jest to w miarę minimalistyczny sposób upiększenia pulpitu, przyzwoite minimum sprzętowe należy posiadać. Karta ze wsparciem 3d i pamięć RAM w okolicach 512MB mile widziana. Poniżej parę testów które wykonałem za pomocą program gtkperf, by sprawdzić jak ten dodatek wpływa na szybkość rysowania się zawartości okien. Openbox i XFWM4 zostały uruchomione kolejno – z włączonym cairo-compmgr, bez niego (‘czyste’ X’y) i na koniec XFWM4 ze swoją wbudowaną obsługą kompozycji.




    Różnice są niewielkie, lecz przy słabszym sprzęcie mogą wzrosnąć być może i dwukrotnie.