RE: Czy tworzenie motywów jest proste?
Bez przesady. Nie wiem jak to wygląda pod KDE, ale motywy Gtk2 dla Gnome nie są wcale takie skomplikowane. Co do silników: jest pięć głównych: clearlooks, murrine, aurora, equinox i pixmap <ten ostatni używa bitmap>. Ale komendy dla silnika to niejako opcje które wybierasz np. dla murrine możesz określić czy pasek narzędzi ma być płaski, czy ma być "glassy", czy ma mieć gradient. Wygląda to tak:
engine "murrine"
{
toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient
}
(tekst po # to opis który jest pomijany przez silnik, zazwyczaj przy każdym stylu są takie komentarze tłumaczące co jest do czego)
czasem komendy wymagają określenia liczbowego dla jakiejś opcji np. "okrągłość" i wygląda to tak
engine "murrine"
{
roundness = 4 # 0 = squared, 1 = old default, more will increase roundness
}
tutaj 0 sprawi że widgety (bądź konkretny widget) będą kwadratowe, a każda wyższa wartość zrobi je coraz bardziej okrąglejsze.
Nie będę opisywał oczywiście wszystkich opcji każdego silnika, ale od razu mówię - murrine ma tych opcji chyba najwięcej i praktycznie wszystko możesz pozmieniać, equinox ma ich dużo mniej ale moim zdaniem to "najładniejszy" silnik (ale ma jeszcze trochę błędów), aurora jest ładniejsza niż murrine - choć nie tak ładna jak equinox (ale bardziej niezawodna od equinoxa), clearlooksa nie używam więc się nie wypowiadam. Pixmap... jest inny niż pozostałe silniki, głównie dlatego że określasz jakie bitmapy mają byź używane dla poszczególnych widgetów, w odpowiednich stanach itd. generalnie mordęga ale da się dzięki temu osiągnąć efekty niemożliwe w innych silnikach.
Na koniec ogólnie: jeśli chcesz robić style gtk to na serio nie jest trudne. Nie warto zaczynać od samodzielnego pisania stylu, lepiej ściągnąć jakiś w miarę prosty styl i pobawić się w edytowanie go.
Znajomość angielskiego przydaje się bardzo - zazwyczaj nie wszystkie opcje stylu są skomentowane w samym stylu, ale na stronie murrine czy na stronie equinoxa na gnome-look te opcje są opisane i wymienione.
oprócz opcji poszczególnych silników sam styl gtk2 też ma swoje opcje które można zmieniać. Są one zazwyczaj przed liniami opisującymi wartości dla silnika tzn:
style "murrine-toolbar"
{
xthickness = 1
ythickness = 2
engine "murrine"
{
toolbarstyle = 0 # 0 = flat, 1 = glassy, 2 = gradient
}
}
i tu "murrine-toolbar" to kawałek stylu którym będziemy opisywali pojedynczego widgeta. Może się on nazywać dowolnie, "murrine-toolbar" to tylko przykład, równie dobrze może być "blablabla1"
xthickness = 1 to wartość <opcja stylu gtk> opisująca grubość danego widgetu. Takich opcji jest oczywiście sporo, i znajdują się one przed wartościami dla silnika <czyli przed engine "murrine">
generalnie schemat stylu gtk:
nazwa stylu
schematy kolorów
wielkość ikon <dla kilku rodzajów widgetów, jak przycisk, toolbar>
style "default" #to jest kawałek stylu który będzie wspólny dla większości widgetów
{
opcje stylu gtk
opcje kolorów dla stylu gtk
engine "murrine"
{
opcje silnika gtk
}
}
style "blabla1"
{
opcje stylu gtk dla danego widgeta
opcje kolorów dla stylu gtk dla danego widgeta
engine "murrine"
{
opcje silnika gtk dla danego widgeta
}
}
style "blabla2" #...itd. aż do:
class "GtkWidget" style "default" #tu się zaczynają dowiązania poszczególnych kawałków stylu do poszczególnych widgetów. "GtkWidget" to ogólnie wszystkie widgety, dlatego powinien być na początku bo następne będą go nadpisywać.
class "GtkBlabla1" style "blabla1" #itd. tu już będą dowiązania dla określonych widgetów jak przycisk, pasek narzędzi, scrollbar, pasek postępu itd.
Wiem, że wyszedł mi długi post ale mam nadzieje że pokazałem że to wcale nie jest takie skomplikowane. Tak jak mówiłem - zaczynać najlepiej od edycji cudzego stylu i zobaczyć jak coś działa.
Ostrzegam! Robienie styli Gtk2 wciąga jak cholera i można przez to stracić życie osobiste ;-)
Pozdro
|