blog.garaż.net

08 wrzesień 2006

Ładne aplikacje z QT, GTK1 oraz GTK2...

Po wielu latach życia z brzydkimi aplikacjami korzystającymi z biblioteki QT oraz GTK w wersji pierwszej postanowiłem coś z tym zrobić. O ile z GTK problem okazał się błachy - wystarczyło skorzystać z programu do zmiany tematu lub ręcznie spreparować plik w katalogu domowym z konfiguracją, o tyle QT zawsze sprawiała jakieś problemy i nie chciała korzystać z ładnych tematów, które były instalowane.

Opis znajdujący się tutaj, jest w dużej mierze wolnym tłumaczeniem dwóch źródeł (Ubuntu forums oraz Gentoo wiki) i tego co sam znalazłem na sieci i w drzewie portage. Przy okazji specjalne podziękowania dla Endela, który pokierował mnie w dobrym kierunku walk z QT. :)

Na zachęte kilka zrzutów ekranu:

XFCE 4.2 2006.09.05 XFCE
4.2 (GTK) and QT apps 2006.09.07 XFCE 4.2 and GTK1 apps 2006.09.08

Od razu powiem, że uzyskanie jednolitego wyglądu ma swój koszt - będziemy musieli doinstalować kilka rzeczy powiązanych z konkretnym środowiskiem. Dla aplikacji przeznaczonych dla KDE, będzie to biblioteka QT (zapewne już ją masz w systemie, skoro to czytasz), biblioteka kde-libs (tak paskudna zależność wymagana przez dużą część tematów oraz oprogramowania), kde-env oraz schemat qtcurve (jest jedna paczka, flagi USE pozwalają na wybredną instalację tematu w wersji dla KDE, GTK1 oraz GTK2), dla GTK wystarczy, że mamy w systemie samą bibliotekę oraz malutki program, który wyręczy nas z przymusu dłubania w plikach - switch oraz switch2 (switch2 jest zbędny jeśli korzystasz z Gnome lub XFCE) oraz zainstalowane tematy. Więc do dzieła

QTCurve Zacznijmy może od instalacji tematu przeznaczonego dla wszystkich trzech bibliotek. Może nie przypadnie do gustu każdemu, ale mi się spodobał i właśnie na nim postaram się wszystko ładnie opisać (jeśli wolisz inne tematy zapraszam na www.kde-look.org, www.gnome-look.org oraz www.xfce-look.org). Jak się prezentuje ten temat widać na dwóch zrzutach powyżej (aplikacje QT oraz GTK1), przejdźmy jednak do instalacji - teraz nastąpi bezczelny proceder kradziejstwa, tzn. posłużę się gotowym rozwiązaniem (stąd).

Włączamy konsole i logujemy się jako administrator, następnie wykonujemy następujące instrukcje (dla użytkowników Gentoo):

# emerge -va layman
# echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf
# layman -f -a sunrise
# emerge -av qtcurve

Jeśli miałeś problemy z instalacją na 90% był to błąd związany z zamaskowaniem paczki qtcurve, aby rozwiązać problem powinieneś zapoznać się z podręcznikiem Gentoo, a dokładniej z sekcją poświęconą mieszaniu aplikacji z różnych gałęzi (np. stabilnej i testowej). Jeśli jednak chcesz szybko to zrobić, wykonaj z prawami roota następujące komendy:

# mkdir /etc/portage       #można pominąć jeśli masz już ten katalog
# echo "x11-themes/qtcurve" >> /etc/portage/package.keywords

Przy okazju umiesz już radzić sobie z zamaskowanymi aplikacjami... ;) Aha jeszcze jedno, jeśli chcesz mieć tematy dla wszystkich trzech bibliotek lub tylko wybranych powinieneś dodać flagi do USE, odpowiednio kde, gtk (dla wersji drugiej!) i gtk1, oczywiście nie musisz dodawać ich globalnie, możesz także wymusić stosowanie tych flag tylko dla wybranej paczki:

# mkdir /etc/portage       #można pominąć jeśli masz już ten katalog
# echo "x11-themes/qtcurve kde gtk gtk1" >> /etc/portage/package.use

Jeśli chcesz wykluczyć, którąś z flag poprzedź ją znakiem - (minus). Użytkownicy dystrybucji innych niż Gentoo powinni ręcznie ściągnąć i skompilować tę paczkę stąd, oprócz tego powinni zainstalować odpowiednie biblioteki dla spełnienia zależności. Oczywiście możesz zainstalować jeszcze każdy jeden inny temat, pamiętaj tylko, że może on wymagać dodatkowych zależności i nie zawierać schematów dla wszystkich trzech bibliotek.

QT A więc mamy już wszystko w systemie, teraz pozostało tylko poprawnie wszystko skonfigurować. Na pierwszy ogień pójdzie oczywiście biblioteka QT, gdyż to zazwyczaj ona sprawia najwięcej problemów. Jako zwykły użytkownik wykonaj polecenie:

# qtconfig

Powinno zostać otwarte okno konfiguracyjne tej biblioteki. Już teraz możesz wybrać jeden z kilku podstawowych tematów dzięki rozijanej liście "Select GUI style" - nie ma jednak tutaj nic atrakcyjnego, więc trzeba trochę jeszcze pogrzebać. Przejdź do zakładki "Library Paths", jest to czwarta z dostępnych kart. Na dole masz pole do wpisywania ścieżek do odpowiednich bibliotek, z dużym prawdpodobieństwem trzeba dodać następujące pozycję (każdą z nich po koleji dodawaj przyciskiem "add"):

/usr/kde/3.5/lib/kde3/plugins/
/usr/lib/kde3/plugins

Poniważ katalogi te jednak mogą się różnić w zależności od wersji bibliotek jaką zainstalowałeś, polecałbym ręczne przejrzenie katalogów /usr/kde oraz /usr/lib/kde3 w poszukiwaniu katalogów plugins, być może w Twoim systemie, katalogi te są położone w innym miejscu, warto więc dodatkowo jeszcze sprawdzić /usr/plugins (dodane za artykułem na forum Ubuntu). Na koniec wybierz z menu "File" opcję "Save" i uruchom program qtconfig jeszcze raz. Po zapisaniu ustawień i ponownym uruchomieniu powinieneś w liście "Select GUI style" mieć do wyboru wszystkie zainstalowane style dla KDE i QT, możesz teraz wybrać zainstalowany wcześniej QTCurve lub inny, który zainstalowałeś/spodobał Ci się. ;) Jeśli jednak nadal niektóre aplikacje ignorują ustanowiony wygląd wydaj następujące polecenie:

# kde-config --style QtCurve

Jeśli system uważa, że nie ma polecenia kde-config, spróbuj przejść do katalogu /usr/kde/3.5/bin i wykonać powyższe polecenie (3.5 może się różnić w zależności od wersji biblioteki kde-libs - w razie problemów przejdź do /usr/kde i sprawdź gdzie dalej powinieneś się udać), jeśli nie wiesz jak przejść do katalogu i wykonać polecenie (pamiętaj o ./ przed poleceniem!):

# cd /usr/kde/3.5/bin
# ./kde-config --style QtCurve

GTK 1 & 2 Zostało nam jeszcze rozporawić się z bibliotekami GTK. Aby zbytnio się nie męczyć zainstalujemy mały programik do zmiany tematów, wykonaj następujące polecenia (użytkownicy Gentoo) z uprawnieniami administratora aby zainstalować gtk-theme-switch w kolejności dla GTK1 oraz GTK2:

# emerge  =gtk-theme-switch-1.0.1-r2 -avD
# emerge  =gtk-theme-switch-2.0.0_rc2-r2 -avD

Jeśli poprawnie wszystko zainstalowało się, możesz wykonać już jako zwykły użytkownik programy switch aby ustawić tematy dla aplikacji korzystających z GTK1 oraz switch2 dla aplikacji korzystających z GTK2. Niewątpliwą zaletą tych malutkich programów jest możliwość podglądu przed zaakceptowaniem wybranego stylu. Oczywiście jeśli jesteś posiadaczem Gnome lub XFCE możesz zrezygnować z instalacji switch w wersji 2 - środowiska te mają własne metody na wybór tematu, wystarczy przejrzeć konfigurację. Jeśli lubisz styl znany z systemów RedHat, tak zwany BlueCurve możesz doinstalować następujący zestaw motywów:

# emerge redhat-artwork -avD

Następnie uruchom switch i wybierz z listy Bluecurve.

Użytkownicy dystrybucji innych niż Gentoo powinni szukać odpowiednich pakietów w repozytoriach lub jeśli ich brakuje ręcznie skompilować odpowiednie paczki. Program switch jest dostępny na tej stronie, a paczka redhat-artwork (ten link może się szybko zdeaktualizować, w razie problemów skorzystaj z następnego i szukaj paczki redhat-artwork) jest tutaj.

Mam nadzieję, że to mini How-to (lub po polsku Jak To Zrobić) przyda się i nie zawiera zbyt wiele błędów. ;)

Komentarze

  • Videl (2010-01-26 19:16:20):

    po polsku to raczej "Jak to zrobić?" lub "jak- to-zrobić"

  • SebaS86 (2010-01-26 20:39:24):

    Proszę zauważyć, że jest to rozwinięcie skrótu JTZ i stosuje go raczej z przywiązania do pierwotnego źródła jakim jest projekt tłumaczenia dokumentów HOWTO systemu Linux. ;)

Comments !