Hlavní navigace

Aby Qt aplikace zapadly do GNOME

2. 10. 2008
Doba čtení: 2 minuty

Sdílet

V poslední době se vývojáři Qt snaží rozšířit svůj vliv i na konkurenční prostředí GNOME (GTK) a nabídnout jim možnost převléknout Qt aplikace, které časem snad plnohodnotně zapadnou a budou používány mezi standardními GTK programy. Jaký je stav projektu QGtkStyle, který se na tuto činnost zaměřuje?

Úloha desktopových prostředí KDE a GNOME je ve světě linuxových distribucí v podstatě vyrovnaná. Loňský průzkum Desktop Linux sice přinesl zprávu o tom, že je GNOME používanější, obecně se ale jedná o poměrně vyrovnaný souboj.

Obvykle si obě prostředí žijí svým vlastním životem a k výrazným průnikům nedochází. Klíčové aplikace existují na „obou stranách“. Existují však i takové, které nalezneme jen v jednom z prostředí – namátkou například HDR software Qtfpsgui.

Bohužel obě prostředí jsou velice rozdílná, jinak vypadají, jinak se chovají a nabízejí i jiné funkce. Uživatelé proto často jen neradi sahají ke konkurenci, protože jsou zvyklí na „to své“.

Vývojáři společností Qt Software (dříve Trolltech) se snaží poměrně intenzivně oslovit i uživatele prostředí GNOME. A k tomu existuje jediná přímočará cesta: způsob, jak „přiohnout“ Qt aplikace tak, aby zapadly do GTK prostředí. Snaha je mimo jiné poháněna také tím, že i sami uživatelé po podobné možnosti volají.

Kvůli řešení tohoto problému vznikl specializovaný projekt QGtkStyle. Jeho cílem je vytvořit GTK+ vrstvu pro Qt aplikace. Cílem tedy je, aby Qt aplikace zcela zapadly do prostředí GNOME.

V současné době je vše ve fázi experimentu a vývoje a pokud si budete chtít modul vyzkoušet, je třeba sáhnout do SVN repositáře a použít Qt 4.4, pro který je QGtkStyle vytvořen.

Samotná kompilace je jako tradičně snadná a budete k ní potřebovat také devel balíček  gtk2-x11-dev:

$ svn co svn://labs.trolltech.com/svn/styles/gtkstyle
$ cd gtkstyle/
$ qmake && make
$ sudo make install

Výsledky jsou už nyní velmi uspokojivé, Qt aplikace přímo využívají knihovny GTK a tím skutečně vypadají, jako by byly přímo pro GTK vytvořeny:

QGtkStyle 1
QGtkStyle 2

QGtkStyle řeší zobrazení veškerých tlačítek, posuvníků, formulářů, ikon a dalších objektů tak, aby místo Qt prvků byly automaticky zobrazeny jejich GTK protějšky. Výsledek je velmi přesvědčivý.

Jediným problémem byly zatím souborové dialogy, které sice QGtkStyle emuluje, ale přesto nevypadají dokonale. Ty patří ale k tomu nejzásadnějšímu, co obě prostředí odlišuje.

QGtkStyle 3

Nyní se objevila nová úprava QGtkStyle, která řeší i zmíněný souborový dialog – Qt aplikacím totiž umožňuje využívat nativní objekt z GTK, který tak vypadá zcela autenticky a nabízí plnou funkčnost.

QGtkStyle 4

Zatím je vše stále ještě ve stavu ladění a úprav, ale můžeme očekávat, že se projekt časem šíře prosadí a dostane mezi běžné uživatele, kteří mají rádi jednotné prostředí a vadí jim jakákoliv odlišnost.

root_podpora

Existuje i varianta pro opačný postup – úpravu GTK aplikací pro Qt vzhled. Tento software se jmenuje GTK-Qt Theme Engine, jeho vývoj ale není tak intenzivní jako v případě QGtkStyle a výsledky proto nejsou ideální.

Dá se ale očekávat čím dál větší aktivita v tomto směru, která umožní postupné splývání obou prostředí a především jejich aplikací. Vždyť i jedny z nejdůležitějších aplikací jako například Firefox či OpenOffice.org se dnes přizpůsobují prostředí, ve kterém běží. Můžeme proto očekávat i čím dál větší tlak na vývojáře podobných modulů, které pohodlné „převlékání“ aplikací umožní.

Mícháte aplikace z obou prostředí?

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.