Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Jak pozmieniać różne elementy interfejsu?
Autor Wiadomość
SkisłaKapucha Offline
Użytkownik

Liczba postów: 48
Dołączył: 23-04-2010
Reputacja: 0
Post: #1
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
    }
}
}

Huh

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
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Aristarh Offline
Przyjaciel

Liczba postów: 528
Dołączył: 11-03-2009
Reputacja: 8
Post: #2
RE: Jak pozmieniać różne elementy interfejsu?
Eh kapucham by cokolwiek robić potrzeba trochę wiedzy... style "nazwa" nadajesz stylowi nazwę, później do niej się odwołujesz i przypisujesz odpowiednim "Widgetom", zapewne kasujesz napierw odwołania, a bez odwołań styl nic nie znaczy, poczytaj trochę o pisaniu w gtkrc, przeanalizuj parę styli, dopiero bierz się za modyfikacje.

[Obrazek: ON-MA-EVINCE-NIE-MA-MENU.jpg]
--------------------------------------------------------------
Inny OS: Archlinux+KDE 4.7, Debian Stable + KDE 4.4.
06.12.2010 22:24:57
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SkisłaKapucha Offline
Użytkownik

Liczba postów: 48
Dołączył: 23-04-2010
Reputacja: 0
Post: #3
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
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Aristarh Offline
Przyjaciel

Liczba postów: 528
Dołączył: 11-03-2009
Reputacja: 8
Post: #4
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]
--------------------------------------------------------------
Inny OS: Archlinux+KDE 4.7, Debian Stable + KDE 4.4.
07.12.2010 22:30:12
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Dolsilwa Offline
Użytkownik

Liczba postów: 1
Dołączył: 14-11-2010
Reputacja: 0
Post: #5
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
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Jak odczytać zawartość pendriva ? wlodarek1 3 373 30.12.2011 15:19:29
Ostatni post: mariom
  Jak bezpiecznie doładowywać akumulator ? wlodarek1 3 948 02.03.2011 10:42:51
Ostatni post: eMcE
  Jak przykleić papierową choinkę do okna ? wlodarek1 4 986 21.12.2010 21:54:25
Ostatni post: WRG1954
  Jak sprawdzić gdzie są zależności? SkisłaKapucha 8 1 106 16.11.2010 19:03:40
Ostatni post: SkisłaKapucha
  Jak zrobić własną paczkę ikon? Lakto 8 1 675 04.07.2010 20:46:57
Ostatni post: dragonn
  Dystrybucja Pardus - jak wam się podoba? LordD 4 1 138 06.06.2010 15:45:50
Ostatni post: Enlik
  Jak zrobić remix dystrybucji? Lakto 2 1 417 03.06.2010 14:35:53
Ostatni post: quadro666
  Jak Allegro zarabia na sprzedających QkiZ 10 1 863 21.04.2010 19:42:00
Ostatni post: Ziemeck
  Jak odzyskac plik NTLDR z poziomu Linuksa tux 12 2 350 11.03.2010 13:15:50
Ostatni post: eMcE
  Jak stworzyć dystrybucję? Windy9 6 1 354 22.02.2010 14:24:47
Ostatni post: stv

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Linux360.pl - forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS