Video: Také Linux má své Aero

Kompozitní okenní manažery dodávají šedým oknům programů výkon, hravost a styl. Dnes je najdete v Mac OS X, Windows a samozřejmě i v Linuxu. Linuxový efekt ale není jen 3D kostka.

Pokud dnes na webu hledáte obrázek moderního linuxového uživatelského rozhraní, máte skoro jistotu, že na vás vyskočí tolik zmedializovaná linuxová trojrozměrná kostka, která jako by snad měla být zářným dokladem toho, že desktopový Linux dnes už ani zdaleka není jen černočerný terminál a škaredá grafika, kterou navrhl programátor, který designu přičichl leda tak ve výtvarné výchově.

Kompozitor

A svým způsobem je to pravda. Za podobnými kostkami a desítkami dalších efektů, kterých si při práci s moderním grafickým uživatelským rozhraním ani nevšimneme, totiž stojí takzvaný kompozitní správce oken – neboli v anglickém originálu „compositing window manager“. Ty ze světa tučňáků patří k těm nejstarším.

Kompozitní okenní manažer se v základu neliší od běžného okenního správce. Jeho úkolem je kresba oken programů na ploše. Starají se tedy o to, jak okna vypadají, jaký mají rám, jak se chovají, když je zvětšíte a co se s nimi stane, když je minimalizujete. Kompozitní manažery se liší v tom, že obraz takového okna nepošlou přímo na plochu, ale do speciální paměti, kde čeká na další zpracování – jak jinak kompozitorem.

compiz_cube.jpg
Dobrá, 3D kostku nelze nezmínit nebo alespoň neukázat

Pro kompozitor je tedy každé okno programu jakýsi obdélník – tapeta s obrázkem o jasných rozměrech, se kterou může provádět nejrůznější divoké transformace od nastavení průhlednosti po trojrozměrné zprohýbání či vykreslení obrázku okna na rotující krychli. S příchodem výkonných grafických karet k podobným transformacím kompozitor zároveň začal používat hardwarovou akceleraci.

Windows Aero nebylo první

Synonymem akcelerované pracovní plochy se sice s příchodem Windows Vista stalo Aero a jeho kompozitní manažer Desktop Window Manager, prvním „velkým“ operačním systémem s kompozitním správcem však byl už Mac OS X 10.0 a jeho systém Quartz. Rok poté Apple představil Quartz Extreme, který již používal hardwarově akcelerovaný kompozitor. Nutno podotknout, že Microsoft v té době ještě nic takového nepoužíval a plochu Windows XP okupovalo modré, stříbrné nebo olivově zelené prostředí Luna.

expose.png  aero.png
Kompozitní efekty Exposé z Mac OS X a Flip 3D z Windows Vista

Microsoft nehodlal zůstat pozadu, rok poté tedy alespoň přispěchal s technologickou ukázkou akcelerovaného prostředí, které si ovšem na své uvedení muselo počkat ještě dlouhé čtyři roky. Aero dnes k akceleraci používá DirectX. Pokud jej na Vistách nebo Sedmičkách povolíte, celá pracovní plocha se změní v Direct3D plátno. Okno každého programu pak bude reprezentováno jednoduchých polygonem, který představuje jeho polohu a rozměry, a tapetou – samotným obrazem programu. Kompozitor všechna tato plátna a „trojúhelníky“ pomocí hardwarové akcelerace mnohokrát za sekundu složí dohromady, připojí efekt stínu a poloprůhlednosti okraje oken a hotovou scénu pošle na displej. V tomto smyslu se práce s Aerem principiálně neliší od jakékoliv akcelerované počítačové hry napsané pro DirectX.

Compiz + Beryl = Compiz Fusion

Na nové způsoby práce okenních manažerů a využívání akcelerace záhy po Applu zareagovala i komunita okolo Linuxu. V roce 2004 přibyl kompozitor v okenním správci Metacity pro Gnome a později také v Kwinu pro KDE – zvláště s příchodem verze 4.0 na začátku roku 2008.

Kompozitní správce si ale ještě automaticky nemusí rozumět s hardwarovou akcelerací, což platí zejména o Metacity pro Gnome. Jedná se totiž pouze o způsob zpracovávání obrazu oken programů. Odpovědí na tento nedostatek se na přelomu let 2005 a 2006 stal systém Compiz, jehož počáteční vývoj probíhal v režii Novellu. Počátky akcelerovaného GUI na linuxové distribuci byly obtížné, Compiz si totiž rozuměl pouze s několika grafickými kartami. Dnes je situace díky pokročilejším ovladačům mnohem lepší a v případě grafik od Nvidie naprosto bezproblémová. V případě starších ATI karet a dalších výrobců je to však stále tak trochu sázka do loterie.

compiz1.png  compiz2.png
Správce Compiz Fusion efektů a možnosti nastavení stínu oken

Compiz k akceleraci používá OpenGL a několik základních doplňků, z nichž každý představuje nějaký efekt nebo funkci, kterou zpracovává kompozitor. Na podzim 2006 se od projektu oddělila skupina vývojářů a vznikl konkurenční Beryl, který nebyl závislý na linuxovém desktopu Gnome,nabízel několik specializovaných ovládacích programů a především sbírku doplňků – efektů, které připravila komunita, Diskusní střety mezi zastánci Berylu a Compizu byly svého času skutečně vášnivé, o půl roku později se ale oba projekty opět spojily a vznikl nový Compiz Fusion, který čerpá jak ze starého Compizu, tak Berylu. Compiz Fusion je dnes k dispozici pro většinu linuxových distribucí, samotný Compiz je pak integrální součástí nejrozšířenější linuxové distribuce Ubuntu od verze 7.10.

Výběr několika méně známých efektů a vylepšení

A co dnes vlastně Compiz Fusion umí? Vybral jsem několik efektů a vylepšení z několika kategorií, o kterých se možná až tak příliš nemluví – rotující kostku tentokráte nečekejte. Pokud byl pro vás doposud Compiz španělskou vesnicí a ke správě efektů jste používali jen jednoduché povolení efektů třeba v Ubuntu, nainstalujte si prográmek CompizConfig. 

Efekty přístupnosti

Efekty přístupnosti nabízí především nejrůznější lupy, zvětšovadla a také úpravy barev oken. Právě zde si uvědomíte, že akcelerovaná plocha s ikonami není nic jiného než hromada bitmapových obrázků, se kterými můžete provádět nejrůznější korekce barev.

 Ve správci můžete nastavit mnoho efektů přístupnosti, ve videu najdete následující čtveřici:

pristupnost_enhancedzoom.jpgEnhanced Zoom desktop - pomocí kolečka myši budete moci jemně přibližovat obrazovku
 pristupnost_magnifier.jpgMagnifier - klasická lupa ve výřezu pod kurzorem myši
 pristupnost_opacity.jpgOpacity, Brightness and Saturation - umožní pro konkrétní okno změnit průhlednost, jas a saturaci
 pristupnost_showmouse.jpgShow mouse - zobrazí okolo šipky myši ohnivý kruh pro rychlou orientaci, kde se na ploše nachází

VIDEO: 2294 'Compiz - pristupnost'

Efekty s okny

Kategorie Správa oken nabízí drobné efekty pro práci s okny na ploše. Některé z nich jsou ve výchozím stavu již zapnuté, jiné se překrývají a některých si ani nevšimnete, řeší totiž ty drobnosti na pozadí jako třeba přichytávání oken k okraji plochy.

 Ve správci můžete nastavit mnoho efektů oken, ve videu najdete následující trojici:

okna_group.jpgGroup and Tab Windows - umožňuje seskupit a prohlížet skupiny programů
 okna_grid.jpgGrid - pomocí numerické klávesnice můžete zařadit okno programu do mřížky
 okna_ring.jpgRing Switcher - zobrazí 3D kruh s miniaturami otevřených oken, kterými můžete procházet

VIDEO: 2292 'Compiz efekty pro Linux'

Efekty pracovní plochy

Efekty pracovní plochy se starají především o práci s více virtuálními plochami, které jsou pro linuxové systémy tak typické. Patří sem Expo, které vzdáleně připomíná Exposé z Mac OS X, ale i slavná compizová kostka.

 Ve správci můžete nastavit mnoho efektů pracovní plochy, ve videu najdete následující trojici:

plocha_expo.jpgExpo - zobrazí všechny virtuální plochy na šachovnici s živými náhledy
 plocha_wall.jpgDesktop Wall & Viewport Switcher - kolečkem myši můžete jemně přecházet mezi plochami
 plocha_showd.jpgShow desktop - tlačítko pro zobrazení plochy použije alternativní animaci oken ke krajům

VIDEO: 2295 'Compiz - plocha'

(občasné černé pruhy vznikly až při snímání plochy, nejsou tedy součástí animace)

Bláznivé efekty

Ve správci Compizu narazíte i na kategorii „Efekty“. Patří sem všechna ta vylepšení, která jsou vděčným námětem videí na YouTube počínaje „gumovými okny“ a konče praktičtějšími stíny, animacemi oken a jejich slábnutím.

 Ve správci můžete nastavit mnoho speciálních efektů, ve videu najdete následující pětici:

efekty_trailfocus.jpgTrailfocus - změní průhlednost a jas oken, které už dlouho nebyly aktivní
 efekty_fire.jpgPaint fire on the screen - ohnivé kreslení :-)
 efekty_motion.jpgMotion blur - při pohybu oken vytvoří efekt rozmazání
 efekty_kapky.jpgVodní efekt - na plochu začnou dopadat kapky
 efekty_vlnicicseokna.jpgVlnící se okna - okna se budou chovat jako rosol

VIDEO: 2293 'Compiz - efekty'

(občasné černé pruhy vznikly až při snímání plochy, nejsou tedy součástí animace)

Kompozitní efekty a akcelerace má na Linuxu ještě pěkný kus cesty před sebou. Více akcelerace přinesla čtvrtá generace KDE a zajímavé bude sledovat i postupný vývoj GNOME 3, které také s největší pravděpodobností využije akcelerace, v tomto případě právě Compizu.


Pro zachytávání plochy na Linuxu jsem použil program recordMyDesktop, který si poradí i s vyšším frameratem a až na několik vyjímek si poradil i s akcelerovanými efekty při vysokém rozlišení. Jen v případě ohnivého kreslení a Expo přepínače se na hotovém videu objevily škarede pruhové artefakty. recordMyDesktop zachytává obraz do formátu OGV (OGG) a to pomocí kodeku Theora. Pro snadnou konverzi do jiných formátů doporučuji použít MediaCoder, který s jedním jádrem pomocí Wine funguje i na Linuxu na jedničku.

Diskuze (112) Další článek: Živě T-10: s Windows 2000 do nového tisíciletí

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,