St, Simple Terminal yang Sudah Lama Saya Dambakan

AUT: BanditHijo | PUB: 2019/02/08 UPD: 2019/02/17
Terminal Tips Tools

بسم الله الرحمن الرحيم

Prakata

Tidak saya pungkiri bahwa Kai Hendry yang memperkenalkan saya dengan suckless.org melalui video-video log-nya di YouTube banyak memberikan saya pengaruh dalam menggunakan sistem operasi GNU/Linux, terkhusus Arch Linux.

Ditambah lagi Donovan Nagel melalui video-video log-nya yang memperkenalkan BSD family dengan menggunakan beberapa aplikasi Suckless juga. Rasa-rasanya sayang kalau saya tidak ikut-ikutan mencoba aplikasi-aplikasi dari Suckless.

Selama ini saya hanya memanfaatkan dmenu, itu pun tidak benar-benar menggunakan dmenu karena saya kombinasikan dengan Rofi sebagai application launcher dan banyak hal lainnya.

Saya tertarik menggunakan dwm, Dynamic Window Manager, sebuah window manager yang dikelola oleh Suckless. Karena kedua orang di atas menggunakan window manager ini. Namun, saya masih menyukai i3wm dan belum menemukan jalan buntu.

Permasalahan

Malam tadi, Termite salah satu Terminal emulator yang saya gunakan dan saya andalkan tiba-tiba saja salah dalam menampilkan glyph font untuk simbol-simbol bawaan dari Devicons. Saya mendapati kesalahan ini pada NERDTree (vim sidebar file manager) dan Ranger.

gambar_1

Gambar 1 - Termite (VTE-Based Terminal) dan ST

Saya sudah mencoba Terminal emulator yang lain, seperti gnome-terminal, xfce4-terminal, lxterminal, kitty, alacritty, semua menampilkan kesalahan yang sama seperti yang dialami oleh Termite. Permasalahan ini hanya dialami oleh Terminal yang berbasis VTE.

Pemecahan Masalah

Karena alasan tersebut, saya akhirnya memutuskan untuk bermigrasi secara penuh dalam menggunakan St Terminal.

Mungkin saja, sebenarnya saya dapat mengatasi permasalahan dalam menampilkan glyph font ini, namun saya lebih memilih jalan untuk memigrasikan Terminal. Mumpung momennya sedang pas. Karena saya memang ingin pelan-pelan bermigrasi menggunakan aplikasi besutan dari Suckless. Karena dapat sekalian mengerti sedikit-sedikit bahasa C.

Apa itu Simple Terminal?

Dapat di baca sendiri di sini

Instalasi

Proses instalasi St Terminal menurut saya sangat-sangat mudah.

  1. Kunjungi link dari St Terminal, di sini.

  2. Scroll ke bagian paling bawah dari halaman, kita akan menemukan dua versi St yang dapat kita gunakan. Saya memilih versi st 0.8.1 ketimbang menggunakan versi development dari Git.

  3. Klik kanan link dari st 0.8.1 (2018-03-20) dan pilih Copy Link Location.

  4. Buka Terminal, dan arahkan ke dalam direktori ~/.config/.
    $ cd ~/.config
    
  5. Download dengan menggunakan wget.
    $ wget "https://dl.suckless.org/st/st-0.8.1.tar.gz"
    
  6. Ekstraksi paket st-0.8.1.tar.gz tersebut.
    $ tar -xvf st-0.8.1.tar.gz
    
  7. Rename direktori hasil ekstraksi.
    $ mv st-0.8.1 st
    
  8. Masuk ke dalam direktori st
    $ cd st
    

    Secara default paket st-0.8.1 akan berisi seperti ini.

    total 292
    -rw-r--r-- 1  1036 arg.h
    -rw-r--r-- 1 20114 config.def.h
    -rw-r--r-- 1   602 config.mk
    -rw-r--r-- 1  7158 FAQ
    -rw-r--r-- 1   732 LEGACY
    -rw-r--r-- 1  1834 LICENSE
    -rw-r--r-- 1  1253 Makefile
    -rw-r--r-- 1   723 README
    -rw-r--r-- 1  3667 st.1
    -rw-r--r-- 1 55693 st.c
    -rw-r--r-- 1  2835 st.h
    -rw-r--r-- 1  3685 st.info
    -rw-r--r-- 1   458 TODO
    -rw-r--r-- 1  1039 win.h
    -rw-r--r-- 1 44048 x.c
    
  9. Saya memilih untuk me-rename file config.def.h daripada meng-copy nya.
    $ mv config.def.h config.h
    

    File konfig header ini berisi konfigurasi untuk font style, font size, fungsi keyboard, colorscheme, dan lain-lain.

  10. Selanjutnya, bisa coba di compile dulu. Sekedar memastikan bisa di compile saja.
    $ make
    

    Nanti akan terbuat file binary yang bernama st.

    Kemudian untuk menginstallnya ke dalam sistem.

    $ sudo make install
    



Pada versi 0.8.1 ini, St sudah memiliki fitur-fitur bawaan seperti:

CTRL+SHIFT+C Copy
CTRL+SHIFT+V Paste
CTRL+SHIFT+PgUp Zoom In
CTRL+SHIFT+PgDn Zoom Out
CTRL+SHIFT+Home Zoom Normal


Namun, belum terdapat beberapa fungsi yang saya perlukan seperti:

  1. Scroll back dengan keyboard dan mouse
  2. Transparansi (optional)

Untuk itu, saya perlu untuk menambahkan beberapa patch.

Patch

Patch yang saya gunakan tidak banyak. Beberapa di antaranya.

Solarized Colors

  1. st-no bold colors-0.8.1.diff
    Patch ini untuk memperbaiki warna pada bold font yang biasanya ditampilkan salah.

  2. st-solarized-both-0.8.1.diff
    Patch ini untuk dapat menggunakan Solarized colorshceme dan berganti antara Dark dan Light menggunakan F6.

Scrollback

  1. st-scrollback-0.8.diff
    Patch ini untuk menambahkan fitur scrolling back ke atas dan ke bawah menggunakan keyboard, SHIFT+PgUp dan SHIFT+PgDn.

  2. st-scrollback-mouse-0.8.diff
    Patch ini untuk menambahkan fitur scrolling back ke atas dan ke bawah menggunakan mouse, SHIFT+Scrolling Up dan SHIFT+Scrolling Down.

Alpha

  1. st-alpha-0.8.1.diff
    Patch ini untuk menambahkan fitur alpha atau transparansi pada background Terminal.


Bagaimana cara menggunakan patch ini?

Saya melakukan patching secara manual dan tidak menggunakan perintah patch. Proses patching inipun tidak sulit, hanya copy dan paste saja. Tidak memerlukan pengetahuan bahasa C.

Bagaimana caranya?

Akan saya buatkan video tutorialnya di kesempatan yang lain. Saat ini sedang kurang enak badan.

Saya kasih previewnya dulu saja gpp yaa. Hehe.

Hasilnya

Saya sangat puas dengan hasilnya. Dikarenakan ada beberapa hal yang saya tidak dapati pada Terminal emulator yang lain. Seperti:

  1. Sangat cepat saat dipanggil (startup)
  2. Bold font dapat menampilkan warna yang sesuai
  3. Perpindahan dari Solarized Dark dan Light sangat halus dan tidak ada warna yang salah.
  4. Glyph font yang sesuai
  5. Dapat menghandle w3m dalam Ranger dengan baik

gambar_2

Kekurangan

  1. Saya masih belum dapat menggunakan tombol DELETE sebagai mana fungsinya. Karena saat ini fungsi tombol ini malah menampilkan karakter ~.

    Ada patch untuk delkey, namun setelah saya coba, malah berfungsi selayaknya BACKSPACE.

    Saya memerlukan DELETE untuk fungsi “Move to Trash” pada Ranger. Sehingga saat ini saya memindahkan fungsinya ke tombol F8.

  2. Link/URL yang clickable. Fitur ini juga masih belum saya cari tahu.

Referensi

  1. st.suckless.org/
    Diakses tanggal: 2019/02/08

  2. wiki.archlinux.org/index.php/St
    Diakses tanggal: 2019/02/08

Penulis

logo_author

BanditHijo adalah nama pena saya – meminjam istilah keren dari para penulis. Teman-teman menyebut saya sebagai GNU/Linux Enthusiast. Saya memang gemar mengutak-atik sistem operasi ini. Bukan karena hobi tapi karena saya perlu untuk menggunakannya. Hehe.

- Rizqi Nur Assyaufi