Dari IgosCenter
GTK+ Themes
Pengenalan
Tutorial ini akan menjelaskan dasar-dasar membuat themes GTK 2 untuk digunakan dengan GNOME versi 2.2 dan versi-versi diatasnya. Beberapa pengetahuan tentang API GTK 2 untuk pembuatan themes yang lebih rumit dapat ditemukan di situs : http://developer.gnome.org/doc/API/2.0/gtk/index.html. Disana terdapat banyak themes GTK yang dapat diakses pada alamat ../UsefulLinks
Tema umumnya terdapat di dalam direktori publik (tersedia untuk semua pengguna, biasanya terdapat di direktori /usr/share/themes ) atau di direktori ~/.themes. Direktori yang cocok untuk menempatkan themes yang anda buat adalah di ~/.themes/NAMA_TEMA/gtk-2.0/ . Dalam direktori ini gtk-2.0 Anda akan menempatkan semua file yang diset dengan themes. Sebuah catatan bahwa jika themes dengan nama yang sama telah terinstal baik di direktori public dan salah satu user, maka GNOME akan menggunakan themes yang terdapat di ~ /.themes.
maka langkah pertama yang harus dilakukan adalah membuat direktori themes dan gtk-2.0. Didalam direktori gtk-2.0 terdapat file gtkrc yang akan memuat script themes kita.
#masuk ke direktori themes
igos@igos:~$ cd ~/.themes
#membuat direktori themes
igos@igos:~/.themes$ sudo mkdir nama_theme (ubah dengan nama theme yang diinginkan)
#masuk ke direktori nama_theme
igos@igos:~/.themes$ cd nama_theme
#membuat direktori gtk-2.0
igos@igos:~/.themes/nama_theme$ sudo mkdir gtk-2.0
#masuk ke direktori gtk-2.0
igos@igos:~/.themes/nama_theme$ cd gtk-2.0
#membuat file gtkrc
igos@igos:~/.themes/nama_theme/gtk-2.0$ sudo nano gtkrc
Cara yang baik untuk belajar adalah dengan mempelajari themes yang telah ada. Instalasi GNOME yang telah dilakukan telah menyertakan beberapa themes. Resource-resource internet lainnya dapat ditemukan di :
Arsitektur
Widget
GTK memiliki seperangkat besar widgets seperti tombol, scroll bar dan kotak edit. Masing-masing widget dapat dibuat secara terpisah.
Setiap widget berasal dari GtkWidget. Ini berarti, perubahan sifat GtkWidget akan mempengaruhi semua widget. Selain itu banyak widget lainnya memiliki “parent widget”. Sebagai contoh,properties dari GtkButton akan ditambahkan ke GtkCheckButton kecuali dikondisikan sebaliknya.
Hirarki dari widget dapat ditemukan di http://developer.gnome.org/doc/API/2.0/gtk/ch01.html -
Styles
Segala sesuatu yang Anda ingin kita ubah terdapat dalam apa yang disebut dengan "style". Dalam style ini Anda memiliki dua macam properties. Di satu sisi terdapat style-properties terbatas di dalam sistem theme GTK+, yang menentukan hal-hal seperti lebar scrollbar. Dan di sisi lain ada kemungkinan untuk memanfaatkan pendefinisian engine untuk membuat style.
Engine
Seperti dikatakan di atas engine memberikan banyak pilihan style yang menarik. Namun option dalam menggunakan engine adalah spesifik, dan jika kita belajar sebuah engine kita juga harus mempelajari option yang disediakan. Tanpa engine, GTK menggunakan theme yang sangat basic yang tampilannya sangat membosankan :).
Ada berbagai mesin untuk theming GTK+, beberapa menyediakan banyak kemungkinan, beberapa yang tampak sangat fixed. Sebuah bagian penting dari theming GTK adalah untuk menggunakan satu atau beberapa engine untuk sebuah theme.
Gtkrc File
Themes GTK berada di dalam file gtkrc. Format file adalah case sensitive, komentar ditandai dengan hash (#). Komentar Multiline juga dapat terjadi dengan C seperti /* */.
Sebuah contoh kecil berikut, yang menunjukkan cara membuat theme yang sangat dasar.
style "default-style"
{
# Memodifikasi x / ythickness, digunakan untuk jarak di semua tempat
xthickness = 3
ythickness = 3
# Mengatur "style properties"
gtkRange::slider-width = 15
# Mengatur latar belakang ke abu-abu terang
bg[NORMAL] = "#f6f6f6"
# Dan foreground untuk hitam
fg[NORMAL] = "#000000"
}
class "GtkWidget" style "default-style"
salin script diatas ke file gtkrc yang telah kita buat sebelumnya, yang berada di direktori ~/.themes/nama_theme/gtk-2.0
jika berhasil maka kita telah membuat theme standar dengan warna latar belakang abu-abu dan tulisan hitam, untuk mengaktifkan themes yang telah kita buat. atur properties appearence pada system > preferences > appearance. Pada tab theme klik tombol Customize, dan pilihlah themes yang baru kita buat. Tampilan theme dasar akan tampak sebagai berikut :

Pilihan x / y Thickness digunakan untuk menentukan padding antara teks dan perbatasan widget. Untuk rincian, lihat dokumentasi geometri widget tertentu.
Pilihan style property "slider-width" akan mengubah ukuran slider menjadi sebesar 15 pixel. Dalam GTK tersedia berbagai style properties dan juga beberapa khusus untuk aplikasi. Mereka memungkinkan kita untuk mengubah widget. Dokumentasi widget dan daftar properties untuk style properties dapat ditenui di / StyleProperties.
Pilihan bg dan fg merupakan properties warna (color). Bg adalah background color yang akan mengubah warna dari window dan buttons pada themes. Sedangkan fg atau foreground color akan mengubah warna text pada button dan border buttons pada engine tertentu. Kita dapat mengubah parameter warna dengan menggunakan kode warna css. Beberapa kode css dapat dilihat pada gambar dibawah :

Nah sampai sini themes yang kita buat akan berada pada direktori themes (pada ~/.themes atau /usr/share/themes). Selanjutnya muncul pertanyaan: bagaimana caranya agar themes yang kita buat dapat digunakan oleh orang lain? Jawabannya adalah dengan membuat file terkompresi dari themes yang telah kita buat. Caranya dengan perintah berikut :
#masuk kedalam direktori themes igos@igos:~$ cd ~/.themes #membuat file terkompresi igos@igos:~/.themes$ sudo tar czvf nama_theme.tar.gz Direktori_nama_theme
#mengubah mode menjadi 775 igos@igos:~/.themes$ sudo chmod -R 775 nama_theme.tar.gz
Oke jika benar maka pada direktori ~/.themes akan terdapat file theme kita yang telah terkompresi dengan format nama_theme.tar.gz
Kontributor: Dwiharyanto