Desktop Minimalis Dengan OpenBox

Bosan dengan desktop Gnome saya yang mulai penuh, saya pun kembali beralih ke OpenBox yang sempat saya tinggalkan sewaktu berpindah dari OpenSuSE. OpenBox adalah window manager favorit saya yang sangat ringan dan mudah di-customize.

OpenBox Window Manager
Sebagai window manager, tentu saja harus diinstall paket-paket berikut dari repository Jaunty:

  • openbox

  • obconf

  • obmenu



Taskbar & System Tray
Untuk taskbar saya menggunakan tint2, sedangkan untuk system tray-nya saya menggunakan trayer. Paket-paketnya ada di repository Jaunty:

  • tint2

  • trayer



Wallpaper
OpenBox tidak menyediakan fasilitas konfigurasi wallpaper, namun ini bisa dilakukan dengan utility bernama "feh". Seperti program-program di atas, utility ini juga ada di repository Jaunty dengan nama feh. feh ini sebenarnya cukup unik, karena sebetulnya dia adalah utility image viewer tetapi memiliki kemampuan untuk menggambar di layar root X atau sebagai wallpaper. Apabila kita meng-invoke feh dengan:
feh --bg-scale ~/Pictures/wall1.jpg

Maka selain feh menggambar image wall1.jpg sebagai wallpaper, tetapi feh juga akan membuat suatu file di ~/.fehbg yang akan berguna untuk kita pakai setiap kali session OpenBox dimulai. Detailnya akan saya terangkan di bagian lain.

Conky
Satu lagi utility yang sangat berguna, yaitu conky. Conky adalah system monitor yang akan menampilkan data-data yang didapat ke layar X. Saya belum sempat mengutak-ngatik lebih lanjut karena waktu yang terbatas, tetapi kalau saya sudah membuat script yang bagus, saya akan update post ini.

autostart.sh
Pada saat session OpenBox kita pilih di GDM, maka OpenBox akan menjalankan file ~/.config/openbox/autostart.sh apabila ada. Di script inilah kita bisa melakukan inisialisasi terhadap desktop kita. Script ini adalah script bash biasa, jadi kita bisa melakukan apa saja yang kita bisa dengan bash script ini. Kita mulai dengan menjalankan utilities yang sudah kita install tadi:

. ~/.fehbg &

(sleep 2s && trayer --expand true --transparent true --alpha 255 --edge bottom --align right --SetDockType true --widthtype request --margin 130) &

(sleep 2s && tint) &

(sleep 2s && nm-applet --sm-disable) &


Pada baris pertama, kita menjalankan script yang digenerate oleh feh pada saat kita men-set background dengan feh. Jadi setiap kali kita merubah background X dengan feh --bg maka invokasi tersebut akan terekam dalam file ~/.fehbg sehingga pada saat kita kembali login ke session ini background akan diset otomatis.

Di baris 3 saya menjalankan trayer, baris 5 menjalankan tint2, dan di baris 7 saya menjalankan Network Manager Applet karena saya sering berganti konfigurasi network :).

Satu hal yang harus diperhatikan apabila anda menambahkan suatu proses yang mengeksekusi suatu program di dalam script autostart.sh ini, pastikan anda menambahkan simbol & (ampersand) di akhir command. Ini supaya proses tersebut tidak memblok inisialisasi OpenBox.

Tweaking GTK
Apabila kita menjalankan aplikasi GTK di openbox, maka kita akan melihat tampilan yang kurang bagus. Theme, font, dan icon tidak mengikuti setting kita di Gnome. Sebenarnya solusinya mudah saja, kita tinggal menambahkan script inisialisasi di autostart.sh:

gnome-settings-daemon &

Yang akan meng-apply konfigurasi theme, font, dan icon, bahkan screensaver kita di desktop Gnome.

Bagaimanapun juga, motivasi saya di sini adalah membuat desktop yang seringan mungkin tanpa utility magic seperti gnome-settings-daemon tadi. Untuk itu, saya meng-install utilities tambahan:

  • gtk-chtheme



Dengan gtk-chtheme, saya bisa merubah theme Gtk dan font yang digunakan oleh aplikasi-aplikasi Gtk. Konfigurasinya disimpan di dalam file ~/.gtkrc-2.0. Ada satu lagi yang masih kurang, yaitu icon theme. Saya harus mengkonfigurasinya secara manual dalam ~/.gtkrc-2.0 tadi.

Tapi pada waktu saya meng-edit file tersebut, ada comment dari gtk-chtheme, bahwa file tersebut adalah computer-generated dan akan di-overwrite setiap kali kita merubah theme atau font dengan gtk-chtheme. Tapi solusinya mudah sekali, di script tersebut juga di-include kan file lain yaitu ~/.gtkrc.mine. Nah, di file gtkrc.mine inilah saya bisa leluasa menambah konfigurasi Gtk. File tersebut belum ada, jadi tampaknya harus saya "touch" dulu :)

Sekarang untuk menentukan icon theme yang digunakan, tambahkan:

gtk-icon-theme-name = "MeliaeWhite"

di .gtkrc.mine.

Tweaking Font
Ada lagi hal yang mengganggu saya, yaitu tampilan font di layar LCD saya. Biasanya saya mengubah konfigurasi font di Gnome Appearance preferences, sekarang saya bingung, di mana bisa saya ubah konfigurasi antialiasing, hinting, dan resolusi untuk OpenBox? Ternyata jawabannya adalah di file ~/.fonts.conf. Saya isi file tersebut dengan:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<edit name="dpi" mode="assign">
<double>72</double>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>rgb</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle">
<const>hintfull</const>
</edit>
</match>
</fontconfig>


Akhirnya tampilan font di menu dan window title OpenBox jadi lebih jelas. Hanya saja, konfigurasi resolusi font 72 dpi saya tidak berpengaruh pada aplikasi GTK. Saya masih mencari solusinya. Ada yang tahu?