Konfigurasi DWM Saya
JagoTekno.com - Akhirnya selesai juga konfigurasi DWM terbaru saya. Dalam artikel ini saya hanya ingin menjelaskan secara singkat apa saja yang saya lakukan untuk membuat konfigurasi seperti ini.
Ini adalah konfigurasi yang sangat minimalis tapi sudah sangat sesuai dengan kebutuhan saya.
Setelah mempelajari beberapa sifat DWM melalui config DWM orang lain di internet, saya pun berhasil melakukan patching DWM sendiri.
Daftar Isi
Install DWM versi terbaru
Langkah pertama adalah install DWM versi terbaru. Saat ini DWM terbaru ada di versi 6.2. Caranya lakukan dengan git clone
git clone https://git.suckless.org/dwm
Setelah itu masuk ke direktory/folder DWM yang baru saja di clone, kemudian lakukan compile DWM.
Tapi sebelumnya pastikan anda sudah install make lalu jalankan perintah berikut.
sudo make clean install
Menjalankan DWM
Menjalankan dwm dengan cara edit file .xinitrc
yang ada di /home
vim ~/.xinitrc
Setelah itu masukkan kode ini pada bagian akhir
while true; do
dwm >/dev/null 2>&1
done
exec dwm
Anda bisa cek dimana dwm terinstall dengan perintah dasar linux which
which dwm
Patch DWM
Sampai di sini DWM sudah bisa digunakan, tetapi saya butuh beberapa fungsi DWM seperti :
- Menampilkan icon pada Tray
- Menampikan efek gaps pada masing-masing window
Nah, di DWM ada fasilitas Patch, yang mana semacam plugin yang ditambahkan pada DWM.
Patch yang saya gunakan seperti :
- FullGaps
- Autostart
- Warp
- Systray
- Pertag
- AlwaysCenter
Penjelasan patch DWM terbaik yang saya gunakan
Di sini saya akan menjelaskan secara singkat tentang patch yang saya gunakan dan saya rasa sudah cukup untuk kebutuhan saya saat ini.
Autostart
Patch ini digunakan untuk menambahkan fitur autostart pada beberapa program yang diinginkan saat sistem pertama kali booting.
Contohnya, saya ingin selalu menjalankan DWMBlocks
saat pertama kali booting. Maka saya pun melakukan patch ini lalu membuat file bernama autostart.sh
. Kemudian di dalam file tersebut didefinisikan perintah apa saja yang ingin dijalankan. Begini contoh script file autostart.sh.
!/bin/sh
dwmblocks &
Simpan file ini di ~/.local/share/dwm/autostart.sh
Maka ketika dwm reload, script dwmblocks akan selalu ikut aktif.
Sebenarnya tanpa patch ini fungsi dwmblocks masih bisa digunakan dengan menambahkan dwmblocks &
pada file .xinitrc
. Tetapi karena saya ingin .xinitrc tetap bersih maka saya melakukan cara ini.
FullGaps
Patch ini memiliki fungsi untuk memberikan efek gap antara window yang dibuka pada satu tag.
Nilai gaps bisa diatur seberapa besar gap yang diinginkan.
Shortcut default yang ditambahkan setelah melakukan patch adalah mod + plus dan minus
untuk menambahkan atau mengurangi gap antara window.
Systray
Ini adalah patch favorit saya. Di sini saya bisa menampilkan tray icon pada sudut kanan atas.
Pada versi terbaru, kita bisa mengatur tampilan tray sebelum status (jam dan tanggal yang ditampilkan menggunakan Dwmblocks).
Jadi bisa mirip seperti tampilan desktop pada umumnya.
Warp
Patch ini digunakan untuk membuat mouse selalu mengikuti window yang sedang aktif atau dipilih untuk diaktifkan.
Pertag
Patch ini digunakan untuk set tampilan yang berbeda pada tiap tag [1], [2], dst.
Misalnya di tag [1] di set dengan tampilan Monocle, nah pada saat pindah ke tag [2] maka kita bisa set mode tampilan yang berbeda seperti Floating, dan lain-lain.
AlwaysCenter
Patch ini gunanya untuk membuat Floating window yang dibuka selalu muncul di tengah layar, bukan di sudut kiri atas.
Cara melakukan patch DWM Suckless
Karena saya masih sangat pemula menggunakan DWM, ketika setiap kali melakukan patch saya melakukan copy paste terhadap folder DWM yang ingin saya build. Tujuanya hanya sebagai backup saya, menjaga-jaga jika saat proses patch menjadi gagal.
Langkah pertama yang dilakukan adalah mendownload file patch yang diinginkan melalui situs dwm.
Misalnya, systray, yang digunakan untuk menampilkan tray icon pada bagian status bar (sudut kanan atas).
Pada halaman patch tersebut, terdapat beberapa link berekstensi .diff. Pilih yang terbaru dengan cara melihat tanggal release nya.
Cara save file .diff tersebut saya menggunakan perintah wget lalu simpan di folder DWM supaya gampang melakukan patch nantinya.
Setelah file .diff tersimpan, sekarang lakukan proses patching.
Jadi command untuk patch adalah :
patch -p1 < nama-file-patch.diff
Tunggu prosesnya sampai selesai. Jika tidak terdapat error, jalankan sudo make clean install
untuk mengcompile ulang DWM. Perintah ini akan terus dilakukan setelah melakukan patching.
Setelah proses compiling selesai restart DWM dengan Mod+Shift+q
. Anda akan melihat hasilnya pada.
Pada saat proses patching, ada yang hanya mengubah file
dwm.c
ada juga yang ikut mengubah fileconfig.def.h
Jadi sebelum patching, Anda bisa baca-baca beberapa baris file .diff tersebut. Lalu jika terdapat error saat patching anda bisa melakukan pathcing dengan manual.
Cara melakukan patching dwm dengan manual
Jika terdapat error saat patching, lakukan saja patching dengan manual dengan copy paste baris yang memiliki tanda + di depannya.
Pesan error saat patching muncul pada saat patching atau saat compiling yang tertera pada file .rej
.
Untuk memperbaiki error ini, buka edit file dimaksud oleh .rej. Misalnya error patching menghasilkan file dwm.c.rej
, maka anda harus mengedit file dwm.c
.
Ikuti baris yang yang diinginkan patching lalu save dan compile.
Maka dengan cara ini biasanya tidak ada lagi error pada saat proses patch dwm di sistem anda.
Konfigurasi shorcut / keybind
Untuk menyesuaikan dengan kebiasaan, saya melakukan beberapa perubahan terhadap file config.h
.
File config.h bisa dihapus sebelum melakukan compiling, karena itu akan diregenerate lagi dari config.def.h
.
Tetapi jika memiliki konfigurasi tertentu, alangkah baiknya edit saja file config.h
ini.
File ini biasanya saya edit dengan menambahkan fitur keybind yang saya inginkan.
Misalnya untuk membuka browser, saya cukup menggunakan shortcut Mod+w
atau untuk menampilkan Nemo file manager, saya gunakan shorcut Mod+e
dan beberapa shortcut keybind lainnya.
Akhir kata
Demikian tutorial sigkat tentang cara konfigurasi DWM dan melakukan patch untuk mendapatkan fitur yang lebih advance.
Saat ini saya rasa cukup memiliki konfigurasi seperti ini.
Rafi
- 15 year+ of Linux user.
- 5 years+ blogger and web developer.
Jika artikel yang dibuatnya ternyata bermanfaat, support dengan cara