W poniższym tekście postaram się wam wyjaśnić: co można zmienić, co można modyfikować, a co jest stałe.
W przypadku gtk2 można zmienić prawie wszystko co widzimy w oknie lub w jego obrębie: menu, manu pod belką programu, pasek postępu, miejsce przesuwania się suwaka (z boku i na dole), sam suwak, zaokrąglenie przycisków, odstęp przycisków względem innych elementów, zaokrąglenie linii w okach, określenie typu dymków po najechaniu na ikonkę itd.
Struktura odnośników do pewnych elementów wygląda tak:
style "entry" {
xthickness = 1
ythickness = 0
bg[SELECTED] = darker (@bg_color)
fg[SELECTED] = shade (2.08, @bg_color)
engine "clearlooks" {
radius = 12.8
}
}
Style "xxx" {
to określenie: czego dotyczy to co znajduje się poniżej. "{" to otwarcie definicji danego elementu.
xthickness = 1
ythickness = 0
To nic innego jak określenie marginesu od danego elementu w płaszczyźnie x i y (oś współrzędnych z matematyki się tu kłania:) )
bg[SELECTED] = darker (@bg_color)
fg[SELECTED] = shade (2.08, @bg_color)
To odwołanie się do struktury kolorów określonych na początku pliku, z możliwością zmiany danego elementu na inny kolor. Ważne jest tutaj to, że dzięki temu nie musimy trzymać się kolorów ustalonych w theme np. jeśli theme jest czarne i to nam się podoba - zmiana koloru na jasny w górnej części pliku theme nada całemu theme jasny kolor, a nie tylko danemu elementowi. Jeśli chcemy, aby dany element był jasny - określamy to właśnie w tym miejscu + określenie koloru czcionki, czy koloru po najechaniu lub kliknięciu.
engine "clearlooks" {
radius = 12.8
}
Określenie silnika theme. I tu mała podpowiedź :) Określony raz element, może zostać określony drugi raz. Co powoduje, że pierwsze theme zostaje w pewien sposób anulowane, zaś drugie określenie danego elementu zaczyna działać.
W ten sposób można np. upiększyć sobie menu (ładnie przechodzący gradient w murrine (czego nie ma w clearlooks) i to w theme budowanym w oparciu o clearlooks :D ).
Po nazwie silnika theme także następuje "{" - co oznacza otarcie definicji dla silnika gdzie możemy dać: zaokrąglenie czy inne rzeczy.
Wszystko zamykamy } i drugim }. Pierwszy odnosi się do zamknięcia definicji dla silnika theme, a drugi do zamknięcia definicji dla całego określenia elementu.
Tip (podpowiedź): angielski to podstawa w elementach :)
I teraz, co do czego się odnosi:
style "scrollbar" -- przewijania (do wszystkich)
style "vscrollbar" -- dokładne odniesienie się do pionowego przewijania
style "hscrollbar" -- dokładne odniesienie się do poziomego przewijania
style "button" -- przyciski
style "notebook" -- jest to bardzo ważna opcja. Określa ona linie w oknach. np. w oknie rozmowy pidgin, macie okienko z nazwą kontaktu + awatar. Aby obramowanie tegoż elementu, czyli linia oddzielająca menu od awatara + nick - ma być na kantach zaokrąglona, to określacie to właśnie w tej opcji.
style "menubar" - menu w programach, po belką.
style "menu" - menu, które widzimy po wybraniu czegoś z menu pod belką, jak i też menu po naciśnięciu przycisku w mate (programy, system...), czy w xfce (programy), jak i też menu podręczne.
style "progressbar" -- pasek postępu
style "tooltips" -- dymek podpowiedzi
To co znajduje się poniżej to zaś odniesienie się do elementów we wszystkich elementach opartych na gtk2.
O czym mowa?
Chodzi o to, że aby np. odnośnik style "panel" zadziała musi zostać określone, czy dany element odnosi się do: *panel czy może do panel*. A jest to ważne, ponieważ np. lxde ma nazwię lxpanel, zaś mate - mate-panel, xfce ma xfce-panel. I aby we wszystkich pulpitach opartych na gtk2 + programach opartych o gtk2 działało theme musi to zostać określone. I tak ze wszystkimi elementami theme gtk2.
Ważna informacja dla was: większość theme nie określa wszystkich elementów wyglądu. Masę theme w gtk2 nie posiada w swojej strukturze dość fajnego elementu, a jest nim - określenie co do panelu. Tak, to też można sobie jakoś ustawić, aby np. określone okna miały inny kolor, albo wyglądały na wciśnięty przycisk.
Budowa tegoż elementu jest taka sama jak w pozostałych elementach theme.
Jedyna różnica to początek:
style "panel" {
xxxx {
xxxxx
}
}I teraz bardzo ważne!
Dodanie poniższych linijek do końcowego wykazu pliku gtkrc (gtk2).
class "*Panel*" style "panel"
widget "*Panel*" style "panel"
widget_class "*Panel*" style "panel"Co określamy dzięki powyższemu?
Że *Panel* odnosi się do przedziały theme o nazwie "panel" (określenie nazwy w style "xxx").
Że każdy widżet z nazwą *Panel* odwołuje się do części theme o nazwie "panel"
Że widżet klasy *Panel* odwołuje się do części theme o nazwie "panel"
* - to określenie każdego zwrotu, nazwy, frazy przez i po nazwie panel: jednocześnie lub tylko z jednej strony.
Możecie też spotkać się z czymś takim:
style "murrine-toolbar" = "murrine-thin"Oznacza to, że dany element będzie traktowany tak jak element zaraz po znaku =. Dzięki temu można określić sobie pewne elementy, bez powielania ustawienia kolorów.
I tyle ile trzeba wiedzieć o theme gtk2, aby je samemu edytować, czy dostosować pod siebie.
Każda zmiana, dodanie opcji zaokrąglenia rogów itd. sprawia, że theme może i na pewno będzie wyglądać inaczej. Każde theme gtk2 możecie sobie sami edytować i stworzyć coś, co będzie wam się podobać :)
To co nie podałem lub zostało pominięte pozostawiam wam, do poznania i doczytania :) Ponieważ nie jestem alfą i omegą - to co wiem i do czego sam doszedłem, bez czytania jakiekolwiek poradnika przekazałem wam w tym poradniku.
Oby był on przydatny :)
Brak komentarzy:
Prześlij komentarz