SkisłaKapucha
Użytkownik
Liczba postów: 48
Dołączył: 23-04-2010
Reputacja: 0
|
Jak pozmieniać różne elementy interfejsu?
Porzuciłem poprzedni styl bo był w ogóle sknocony - już przez samego autora.
Wzięłem więc się za modyfikowanie Mist. Przeniosłem wpisy dot. przycisków i teraz mam bardzo ładne przyciski. Niestety ale nie chcą mi działać nowe check boxy, suwaki, progressbar i wiele innych gadzetów. Co mam teraz zrobić?
Wpisy dot progressbara
Kod:
style "progressbar" = "default"
{
xthickness = 2
ythickness = 2
bg[PRELIGHT] = "#000000"
fg[PRELIGHT] = "#000000"
engine "pixmap"
{
image
{
function = BOX
recolorable = TRUE
detail = "trough"
file = "/progressbar/trough-progressbar-horiz.png"
border = { 4 , 4 , 4 , 4}
stretch = TRUE
orientation = HORIZONTAL
}
image
{
function = BOX
recolorable = TRUE
detail = "bar"
file = "/progressbar/progressbar-horiz.png"
border = { 3 , 3 , 7 , 3}
stretch = TRUE
orientation = HORIZONTAL
}
image
{
function = BOX
recolorable = TRUE
detail = "trough"
file = "/progressbar/trough-progressbar-vert.png"
border = { 4 , 4 , 4 , 4}
stretch = TRUE
orientation = VERTICAL
}
image
{
function = BOX
recolorable = TRUE
detail = "bar"
file = "/progressbar/progressbar-vert.png"
border = { 7 , 3 , 3 , 3}
stretch = TRUE
orientation = VERTICAL
}
}
}
Spróbowałem zrobić taki myk.
dodałem include stary styl i ręcznie próbuję usuwać zbędne rzeczy - niestety cokolwiek usunę to styl przestaje działać.
Albo tworzą się bugi. Np. po usunięciu wpisów dot. tabów scroolbar przyjął bitmapę suwaka a przy tym przestały działać chechboxy.
Dlaczego to takie skomplikowane...
(Ten post był ostatnio modyfikowany: 06.12.2010 16:24:27 przez SkisłaKapucha.)
|
|
| 06.12.2010 13:38:32 |
|
SkisłaKapucha
Użytkownik
Liczba postów: 48
Dołączył: 23-04-2010
Reputacja: 0
|
RE: Jak pozmieniać różne elementy interfejsu?
Już mi działa progressbar. Podebrałem wpisy z mac4lin i działa. Dziwne, że kiedy brałem wpisy z innych styli to nie chciało działać :/
|
|
| 07.12.2010 09:29:25 |
|
Aristarh
Przyjaciel
Liczba postów: 528
Dołączył: 11-03-2009
Reputacja: 8
|
RE: Jak pozmieniać różne elementy interfejsu?
Hmmm, nie złość się, ale upewnię się, wiesz zapewne, że do pisania w gtkrc używa się różnych enginów i nie można użyć dwóch różnych do jednego stylu? Czyli nie mogę użyć murrine i np. pixbuf przy definiowaniu tego samego stylu, wiesz o tym? Ponad to, jak coś jest zdefiniowane na bazie silnika murrine, a Ty chcesz tam walnąć pixbuf to czeka Cię trudna praca bo to co murrine definiuje domyślnie, będziesz musiał zaaplikować w postaci grafiki, łatwiej z pixbuf przechodzić na murrine.
![[Obrazek: ON-MA-EVINCE-NIE-MA-MENU.jpg]](http://wstaw.org/m/2011/03/09/ON-MA-EVINCE-NIE-MA-MENU.jpg)
--------------------------------------------------------------
Inny OS: Archlinux+KDE 4.7, Debian Stable + KDE 4.4.
|
|
| 07.12.2010 22:30:12 |
|
Dolsilwa
Użytkownik
Liczba postów: 1
Dołączył: 14-11-2010
Reputacja: 0
|
RE: Jak pozmieniać różne elementy interfejsu?
Używacie jednocześnie słowa styl do opisania całego "theme" i do poszczególnych "style" i zabawnie się to czyta ;-) choć fakt faktem że chyba nikt nie używa słowa "temat" do tłumaczenia "theme" ;-) No ale wracając: nie zgodzę się, że łatwiej "default" zrobić w pixbuf'ie - wprost przeciwnie - murrine domyślnie zrobi całkiem ładne obramowania, wejścia "entry", separatory itd. - to wszystko co przy pixbufie trzebaby wklepać ręcznie (i jeszcze mieć ładne grafiki). Murrine wygeneruje to automatycznie.
Aha no i uściślając - w "theme" (stylu jako całości) można użyć ilu się chce i jakich się chce silników, w "style" (fragmencie kodu odpowiadającemu za określony widget) faktycznie można użyć tylko jednego silnika (chyba tylko tło w "style" można wstawić z pixmapa pomimo innego silnika).
Tak czy siak Aristarh ma rację: najważniejsze są odwołania - nawet jeżeli weźmiesz działające "style" z innego "theme" (kurde po polsku to by było weźmiesz styl ze stylu...eh) to po pierwsze musisz sprawdzić czy nazwy "style" są takie same, po drugie czy "style" który bierzesz nie odwołuje się do innego "style" (wyglądałoby to tak:
style "blabla" = "blabla1"
gdzie "blabla" to "style" który chcesz skopiować )
po trzecie czy widget który ma być określany przez ten "style" jest wogóle przez niego definiowany
(na dole stylu będzie:
widget "GtkBlabla" style "blabla"
ale często jest na przykład problem ze scrollbarem bo w niektórych theme widget "GtkScrollbar" jest opisywany przez "style" "scrollbar", a w innych przez "style" "range", a w enginach opartych na murrine jest jeszcze często "hscrollbar" i "vscrollbar" odpowiedzialne za poziome i pionowe scrollbary).
Przy pisaniu stylu gtk nie ma niestety debugera, nie wiesz za dokładnie co i gdzie mogło się sknocić. Polecam zainstalowanie TheWidgetFactory - z dwóch powodów. Po pierwsze będziesz miał podgląd jak twój "theme" wygląda, po drugie w terminalu TWF będzie Ci wyświetlał w której linijce i przy jakim widgetcie wykrył błędy.
|
|
| 09.12.2010 12:20:34 |
|