Aktualna wersja poradnika znajduje się tutaj.
W poprzedniej części obiecywałem że opisze poszczególne elementy Gtk. Posłużę się materiałami ze strony gnome więc nie wińcie mnie za braki, błędy itd.
Spis treści:
/GnomePanel
/GtkButton
/GtkCheckButton
/GtkColorButton
/GtkComboBox
/GtkComboBoxEntry
/GtkEntry
/GtkFrame
/GtkMenu
/GtkMenuBar
/GtkMenuItem
/GtkNotebook
/GtkProgressBar
/GtkRadioButton
/GtkScale
/GtkSpinButton
/GtkStatusbar
/GtkTreeView
/GnomePanel
Panel posiada klasę PanelToplevel
Przykład: ten kod powinien zadziałać dla paska menu w panelu (np. lista okien, aplet Menu bar):
widget_class "PanelToplevel.*.GtkMenuBar" style "panel-menu"
Problemy: Jedyna drogą aby nadać tło jest użycie bg_pixmap w pliku gtkrc.
/GtkButton
Przycisk to chyba najprostszy element, należy jedynie pamiętać że używany jest w elementach ../GtkComboBox, ../GtkTreeView and ../GtkOptionMenu. Wygląda on tak:

Wartości:
default-border {1, 1, 1, 1} default-outside-border {0, 0, 0, 0} child-displacement-x 0 child-displacement-y 0 displace-focus FALSE inner-border {1, 1, 1, 1}
{1, 1, 1, 1} znaczy: {left, right, top, bottom}
Wygląd przycisku gdy ustawimy interior-focus = 1

Wygląd przycisku gdy ustawimy interior-focus = 0

/GtkCheckButton
Wygląda on tak:

Wartości:
indicator-size 13 - wielkość kwadracika lub kółeczka indicator-spacing 2 - odległość pomiędzy tekstem a kwadratem
Wygląd z exterior focus:

Wygląd z interior focus:

/GtkColorButton
Jest to zwykły przycisk (GtkButton) z GtkFrame w środku.

Opis znajduje się w punktach GtkButton i GtkFrame.
/GtkComboBox
Pozwala na wybieranie z listy. Zawiera w sobie GtkButton oraz GtkFrame, dane zapisane są w GtkCellView.

Wartości:
appears-as-list FALSE - ustawiamy tutaj czy dane mają wyglądać jak lista czy jak zwykłe menu
/GtkComboBoxEntry
Wygląda tak:

a zachowuje się jak poprzednik.
/GtkEntry
Jest to zwykłe pole tekstowe.

Wartości:
inner-border {2 ,2 ,2 ,2} - odległości pomiędzy tekstem a ramką
Wygląd z GtkWidget::interior-focus = 1

Wygląd z GtkWidget::interior-focus = 0

/GtkFrame
Rysuje ramki dookoła innych elementów, wygląda tak:


/GtkMenu
Zwykłe menu
Wartości:
vertical-padding 1 horizontal-padding 0 vertical-offset 0 horizontal-offset -2 double-arrows TRUE


/GtkMenuBar
Zwykły MenuBar

Wartości:
shadow-type GTK_SHADOW_OUT internal-padding 1

x/ythickness nie są używane gdy ustawimy GTK_SHADOW_NONE.
/GtkMenuItem
Każdy element w GtkMenu jest typu GtkMenuItem.
Wartości:
selected-shadow-type GTK_SHADOW_NONE horizontal-padding 3 toggle-spacing 5 arrow-spacing 10
/GtkNotebook

Wartości:
has-secondary-backward-stepper FALSE has-secondary-forward-stepper FALSE has-backward-stepper TRUE has-forward-stepper TRUE tab-overlap 2 tab-curvature 1

/GtkProgressBar
Zwykły pasek postępu.

Wartości:
xspacing 7 - dodatkowy odstęp yspacing 7 - dodatkowy odstęp

/GtkRadioButton
Działa tak samo jak GtkCheckButton.

/GtkScale
Wygląda to tak:

Wartości:
slider-length 31 value-spacing 2
Dodatkowo można używać wartości z GtkRange:
slider-width 14 trough-border 1 stepper-size 14 stepper-spacing 0 arrow-displacement-x 0 arrow-displacement-y 0 activate_slider FALSE trough-side-details FALSE trough-under-steppers TRUE

/GtkSpinButton

Wartości:
shadow-type GTK_SHADOW_IN

/GtkStatusbar

Wartości:
shadow-type GTK_SHADOW_IN
/GtkTreeView

Wartości:
expander-size 12 vertical-separator 2 horizontal-separator 2 allow-rules TRUE indent-expanders TRUE row-ending-details FALSE grid-line-width 1 tree-line-width 1 grid-line-pattern "11" tree-line-pattern "11"
Więcej ustawień odnośnie konkretnych programów znajdziecie tutaj.
W kolejnej części postaram się opisać opcje kolorów oraz pokazać używanie tego co dzisiaj się pojawiło. Czyli zmiany standardowych wartości
Obrazki itd pochodzą ze strony Gnome. Wszelkie copyrajty należą do Gnome.
Aktualna wersja poradnika znajduje się tutaj.
Thanks for this manuals, maybe later I will try to create my own GTK theme
Hehe, sporo fatygi sobie zadajesz, ale przyda się bardzo
noo, ładnie wszystko opisane. Przyda się
avalan: jak się człowiek nudzi to coś robi
pagenoare: thx
Czy istnieje sposób na usunięcie (nadanie innego stylu) dla ograniczników panelu? (gdy nie jest on rozciągnięty na 100% szerokości okna)? Bo w domyślnym stylu wyświetlają się takie kropki, które nie wyglądają estetycznie.
Chodzi o te kropeczki w prawym dolnym rogu do zmieniania rozmiaru okna?
Tak czy siak można korzystać z kilku silników w jednym stylu. Można by np. przez silnik pixmapa ustawić tam przeźroczysty obrazek co by zlikwidował owe kropki. Jest to jakieś obejście problemu.
Sprawdzę czy są jakieś prostrze metody oczywiście