Berawal dari percobaan untuk menggunakan window manager DWM di linux, entah bagaimana sampai memiliki keinginan untuk menggunakan xsetroot untuk mensetting background walpaper. Permasalahannya xsetroot hanya bisa menggunakan file gambar bitmap, selain format itu maka tidak bisa dijadikan background walpaper.

Sebelumnya saya juga menggunakan aplikasi bitmap untuk membuat gambar bitmap, tapi menggambar sendiri hasilnya kurang bagus, dan mencoba mencari alternatif lain untuk mengkonversi gambar/foto yang sudah ada saja menjadi bitmap.

Konversi file Gambar menggunakan convert

Convert (convert) adalah salah satu alat dari program imagemagic suite yang digunakan untuk mengkonversi format gambar dari satu ke lainnya dan juga merubah ukuran, blur, memotong, menggabungkan, dan lain sebagainya.

Untuk mengkonversi gambar menggunakan convert sangat simple:

convert file.ext1 ke.ext2

ext1 dan ext2 bisa berupa ektensi file format gambar seperti jpg, jpeg, png, gif, dll. Tapi karena disini saya ingin menyesuaikan dengan format yang didukung oleh xsetroot maka ekstensinya adalah *.xbm.

dari

.
└── file.jpg

Perintah yang dijalankan

convert file.jpg hasil.xbm

hasilnya

.
├── file.jpg
└── hasil.xbm

Set Desktop Background menggunakan xsetroot

Disini xsetroot hanya bisa digunakan pada window manager yang berjalan di X.org server murni dan bukan window manager yang modern seperti kde,gnome dan lainnya.

Disini saya menggunakan window manager DWM (suckless software) dan tidak menggunakan kompositor seperti compton, xcompmgr, dll. Jadi berhasil dengan baik dengan menjalankan perintah berikut:

xsetroot -bitmap hasil.xbm

atau jika ingin mengubah warna backgroundnya bisa menggunakan opsi -bg:

xsetroot -bg darkslategrey -bitmap hasil.xbm

atau -fg untuk foreground. untuk nama warnanya sendiri bisa di lihat di X11 color names

Jika kamu menggunakan DWM sebagai window manager, kamu juga bisa menambahkan baris perintah diatas di konfigurasinya dan pastikan sudah di patch menggunakan cool-autostart. Dengan cara menambahkan baris berikut di config.h atau config.def.h:

"xsetroot", "-bg", "darkslategrey", "-bitmap", "filegambar.xbm", NULL,

Pastikan setiap spasi dipisahkan dengan koma dan setiap perintah,opsi dan nilainya di apit menggunakan tanda petik. Seperti contohnya :

static const char *const autostart[] = {
	"slstatus", NULL,
    "xsetroot", "-bg", "darkslategrey", "-bitmap", "filegambar.xbm", NULL,
	NULL /* terminate */
};