sobota, 14 stycznia 2012

clearlooks murrine - engine theme gtk2

W tym tekście opiszę silniki theme gkt2, które najczęściej możecie spotkać jeśli idzie o gtk2.

To clearlooks i murrine.
Dwa odmienne podejścia do "rysowania" theme gtk2.

Clearlooks to silnik theme gtk2, który rysował wszystko za czasów początków gnome2. Jest to silnik, który upodabniał wygląd gnome2 do popularnego wtedy Windows 95, 98, a później do XP.
Charakteryzuje się on kanciastymi elementami, szarością, brakiem graficznego przepychu wizualnego, a do tego niewielkimi możliwościami ustawienia pewnych elementów.

Murrine to engine theme gtk2, który prezentuje dużo szersze spektrum dostosowania różnych elementów wyglądu, przy okazji oddając w ręce osoby, która tworzy theme na podstawie murrine dokładniejsze uzyskanie tego co się chce.
Ten silnik ma lub jest następcą clearlooks, ponieważ murrine posiada opcję przezroczystości (umownej) dla gtk2.

Ale najlepszym porównaniem będzie pokazanie wam struktury określenia silnika.

O co w tym chodzi?
W poprzednich wpisach opisałem wam początek struktury pliku gtkrc w katalogu gtk-2.0, który znajduje się w katalogu z nazwą theme. Pominąłem element odpowiedzialny za określenie kolorów w theme, ponieważ w późniejszych etapach wyjaśniania budowy i struktury theme gtk2 po prostu będę nawiązywał do tego miejsca i wtedy wyjaśnię to i owo, bo tam za wiele do omówienia nie ma.

Pod określeniami kolorystyki theme (czcionki, napisów i ich tła) trafiamy na takie coś:

engine "clearlooks" {

lub

engine "murrine" {

Właśnie tą frazą rozpoczyna się ustawienia silnika theme.
Pod spodem znajdują się opcje, które określają: co, jak i w jaki sposób ma być wyświetlane dla: CAŁEGO theme. Jest to ustawienie silnika i określenie go.
Dlatego jeśli w systemie nie macie zainstalowanej paczki gtk-engine-murrine - wtedy theme oparte na takowym silniku nie będzie posiadać nakładki organizującej wszystko. Czyli, otrzymamy kanciaste wszystko tak jakby na dany program lub pulpit nie zostało narzucone żadne theme.

Co do clearlooks - jest ono standardowo instalowane, jako chyba zamiennik w przypadku braku odpowiednich innych silników theme dla gtk2.

Struktura ustawień silnika cleralooks wygląda tak:

engine "clearlooks" {
colorize_scrollbar = TRUE
reliefstyle = 1
menubarstyle = 2
toolbarstyle = 1
animation = FALSE
radius = 3.0
style = GUMMY

# Set a hint to disable backward compatibility fallbacks.
hint = "use-hints"
}
}



Jest ona kończona nawiasem. Ponieważ jak widać po "clearlooks" widać otwarty nawias, więc musi on zostać zamknięty, ale pod nim jest jeszcze jeden nawias. Dlaczego?
Ponieważ określenie silnika kończy sekwencję ustawień dla stylu, który mamy na samej górze: style "default" { który otwiera nam i określa to wszystko co opisałem wcześniej + kolorystyka czcionki i jej tlo + właśnie silnik jaki ma być użyty w danym theme i jakie ma on mieć parametry.
Dlatego pod ustawieniami engine "" ... mamy drugi nawias (nie kwadratowy), ani pół okrągły czy jak kto woli normalany.

Jak widać, struktura silnika (engine) clearlooks jest prosta i posiada małą ilość opcji, które możemy sobie ustawić.

Tu mamy także ustawienia clearlooks, ale z opisem opcji, i co dane zmiana cyfry przy każdej z nich. Ponieważ nie zawsze dana opcja posiada inną wartość niż 0 (wyłączone) czy 1 (włączone).


engine "clearlooks" {
 colorize_scrollbar = TRUE
 reliefstyle = 1
# 0 = flat, 1 = inset, 2 = shadow, 3 = shadow with gradient, 4 = stronger shadow with gradient
 menubarstyle = 3 # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped
 toolbarstyle = 2 # 0 = flat, 1 = glassy, 2 = gradient
 animation = TRUE # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles
 radius = 12.24
 style = INVERTED
 hint = "use-hints"
 }
}



Jak widzicie, opcje powielają się do tego co mieliśmy wcześniej - ale są one opisane (dla kogoś kto zna choć trochę angielski).

Różnica w tych kodach to... Style.
Ponieważ clearlooks posiada różne style generowania theme. Każdy styl ma własne suwaki, własne paski postępu, własne określenia dla przycisków itd. Każdy styl inaczej też pokazuje obramowanie jeśli je zaokrąglimy.
Zmieniając w danym theme napis za style sprawiamy, że theme zmieni swoje oblicze w niektórych elementach.

Co jest jednak smutne, nie znalazłem żadnej notki odnośnie ilości stylów i o tym, jakie są ich nazwy.
A więc nie podam wam nazw stylów, abyście mogli sobie je sprawdzić.

Wiem że są: INVERTED, GUMMY, CLASSIC (chyba). Reszty niestety nie znam...

Co określa nam engine "clearlooks"?

colorize_scrollbar = TRUE
czy suwaki w programach i oknach mają być kolorowane podczas ich używania (zmieniają lekko kolor).

reliefstyle = 1
nawet nie wiem do czego to jest, ale można określić od 0 do 4 wygląd tego elementu (czyli 0 to coś innego, 1 to coś innego, 2 to coś innego itd.)

menubarstyle = 2
Określenie stylu menu (od 0 do 3)

toolbarstyle = 1
Określenie paska z ikonkami pod menu (od 0 do 2)

animation = FALSE
Czy pasek postępu ma być animowany i poruszać się. Wartości: FALSE (musi być z dużych liter) - brak animacji, fałsz, zakaz ukazywania animacji i TRUE - czyli prawda dla danej opcji, a więc animacja ma być.

radius = 3.0
Zaokrąglenie ogólne: 0.0 - brak zaokrąglenia, 2.0 minimalne zaokrąglenie, 5.0 - średnie i widoczne zaokrąglenie kantów w theme, rysowane kanty w oknach, 12.00 - mocne zaokrąglenie linii rysujących obramowanie danego elementu w danym oknie np. w oknie rozmowy pidgin, mamy obramowanie oddzielające zakładki z rozmowami, od okna rozmowy i menu, te czarne linie o których piszę, to obramowanie tegoż okna rozmowy (czarna linia) która uwydatnia miejsce rozmowy od zakładek z rozmową, a menu.
Najlepiej jest ustawić sobie w theme 3.0, a później zmienić tą wartość na 12 i uruchomić ponownie pidgin, otwierając okno rozmowy, powinniście zobaczyć o co mi chodzi :)

style = GUMMY
Styl, o którym pisałem powyżej.

To tyle jeśli chodzi o clearlooks, ponieważ wiadome jest że tych opcji może lub jest więcej ale mało kto je obecnie już stosuje lub korzysta z silnika gtk2 clearlooks.

Obecnie prawie wszystkie theme gtk2 bazują i są budowane w oparciu o murrine. I zaraz wam pokaże dlaczego...

Daje kod jako grafikę, ponieważ w oknie bloga spowodował by on dość pokaźnej wielkości chaos. Dzięki takiemu rozwiązaniu możecie sobie obejrzeć kod.

Teraz rozumiecie dlaczego murrine jest bardziej popularne i obecnie większość theme w gtk2 preferuje ten silnik?
Moc ustawień i różnego rodzaju opcji.

Napisze od razu, że nie będę tutaj opisywał całego silnika, bo sam nie wiem: co czego dane opcje są.

animation = FALSE
colorize_scrollbar = TRUE
tego chyba nie muszę opisywać

contrast = 1.0
chyba wiadomo ;)

default_button_color = shade (0.95, "#80B8EA")
Też można się domyśleć (przyjmuję, że znacie choć trochę angielski, jeśli nie to: "standardowy kolor przycisku".

gradient_shades = {1.00, 0.91, 0.92, 0.81}
Określenie gradientu.

menubaritemstyle = 0
menubarstyle = 1
menuitemstyle = 1
menustyle         = 3
Określenie menu, paska menu, okna combo (czyli to okienko kiedy to skaczemy po "plik, edycja, Widok itd.", określenie widoku menu.
Inaczej mówiąc: opcje odnośnie paska menu oraz jego wyglądu kiedy coś chcemy wybrać.

progressbarstyle = 1
Określenie paska postępu. W clearlooks pasek postępu jest taki jaki styl wybierzemy, w tym przypadku czyli w murrine, nie ma stylów i to my decydujemy: jaki pasek postępu chcemy, w jaką stronę ma się on chylić (pochylone linie na takowym pasku) i w którą stronę ma on się przewijać podczas pokazywania łasowania czegoś np. synaptic i określenie postępu pobierania lub instalowania pakietów. Każda wartość to inny układ...

rgba = FALSE
Przezroczystość w theme, która zazwyczaj nie jest uruchamiana. Podejrzewam, że jest to spowodowane tym iż aby przezroczystość zaskoczyła musi działać menadżer efektów compiz lub inny element, który będzie posiadać takowe zdolności. Zazwyczaj ta opcja jest wyłączana, ponieważ może powodować błędy.

scrollbarstyle = 0
W murrine możemy określić, jak będzie wyglądał suwak przesuwania w oknie czy przeglądarce firefox lub innej, która interpretuje theme gtk2.

roundness = 3
Zaokrąglenie krawędzi w theme (działanie takie samo jak w przypadku clearlooks i radius. Różnica jest taka, że tutaj określamy wartość, bez kropki i pobieżnych zaokrągleń rozbitych na 3.x - wartości dziesiętne.

separatorstyle = 0
Styl separatorów.

shadow_shades = {2.0, 1.0}
Określenie cienia dla cienia - masło maślane, ale na to pozwala murrine, że cień także może mieć własny cień.

toolbarstyle = 1
To chyba wiadome...

stepperstyle              =  1
Określenie stoperów w oknach.

To czego nie opisałem musicie sobie sprawdzić sami :) Ale jak widzicie, murrine daje nam większą władzę nad theme i nad tym: jak ma ono wyglądać. Większa ilość możliwości np. odnośnie suwaków, pasków postępu, czy określenia menu sprawiają że na obecną chwilę trudno jest znaleźć theme gtk2, które nie bazuje na murrine + własne grafiki, które zastępują prawie każdy element wyglądu theme.

W murrine nie ma stylu, który określał by wygląd danego theme, w tym miejscu to my decydujemy o stylu, który możemy edytować, zmienić lub pozmieniać wszystko tak aby było inne. Nic niczego nam nie narzuca i nie decyduje za nas.

Tym różnią się te dwa silniki, silniki które nie są jedynymi na tym polu. Są też inne silniki do generowania wyglądu  programów i pulpitu w gtk2. Ale nie dość że mało kto z nich korzysta, to jeszcze ja sam mało co o nich wiem.

Pokazałem wam i przekazałem wam to co ja wiem i to z czym ja się spotkałem.
W kolejnych wpisach zajmiemy się elementami jakie można ustawić, jak i też wyjaśnię różnice miedzy silnikami theme, ponieważ każdy silnik inaczej podchodzi do określeń danego elementu okna jeśli idzie o ustawienia. Wiąże się to oczywiście z opcjami, które są odmienne dla każdego z silników, a tym samym: inaczej określamy coś odnośnie np. przycisków w przypadku clearlooks, a inaczej w przypadku murrine.

Tylko elementy, w których dokonujemy określeń ich wyglądu są prawie nie zmienne :)

Brak komentarzy:

Prześlij komentarz