Warna Terminal Itu Rumit
(jvns.ca)- Masalah warna terminal lebih berkaitan dengan ketiadaan standar dan perbedaan implementasi daripada sekadar selera, sehingga output perintah yang sama bisa menjadi sulit dibaca tergantung kombinasi terminal, tema, dan aplikasi
- 16 warna ANSI dasar, 256 warna, dan warna hex 24-bit digunakan bersamaan, tetapi warna seperti apa yang sebenarnya ditampilkan oleh sebuah nomor warna berbeda-beda di tiap emulator terminal
- Benturan kontras seperti teks biru/latar hitam, kuning terang/latar putih, pemetaan abu-abu di Solarized, atau warna latar
ngrokmuncul ketika asumsi program tidak sejalan dengan tema pengguna - Cara mengatasinya terbagi ke beberapa lapisan, seperti mengatur ulang palet,
base16-shell,LS_COLORS,NO_COLOR=true,--color=always,unbuffer, serta dukungan warna 24-bit di Vim/Neovim - Fitur minimum contrast di iTerm2, tabby, kitty, Ghostty, dan Windows Terminal bukan solusi sempurna, tetapi mengurangi risiko munculnya output yang tidak terbaca
Warna ANSI dan perbedaan antar-terminal
- Terminal biasanya memiliki 16 warna ANSI yang terdiri dari hitam, merah, hijau, kuning, biru, magenta, sian, putih, serta versi terang dari masing-masing warna tersebut
- Program menentukan warna dengan mencetak ANSI escape code
- Misalnya, nomor warna foreground dapat ditentukan dalam bentuk
\033[38;5;{num}m
- Misalnya, nomor warna foreground dapat ditentukan dalam bentuk
- Masalahnya adalah tidak ada standar yang konsisten tentang nomor warna ANSI dipetakan ke warna hex apa dalam praktiknya
- Setiap emulator terminal memilih warnanya sendiri
- Bahkan pada tabel warna ANSI escape code di Wikipedia, perbedaan antar-implementasi cukup besar
- Karena perbedaan ini, warna biru yang digunakan
lsuntuk direktori bisa tidak terlihat jelas di latar hitam - Kombinasi kuning terang dan latar putih juga hampir tidak terbaca, dan masalah serupa bisa muncul pada warna lain seperti hijau terang
Cara mengatur ulang palet warna
- Jika warna ANSI bawaan tidak sesuai selera atau ada masalah kontras, Anda bisa menanganinya dengan mengatur ulang palet
-
Mengatur di emulator terminal
- Sebagian besar emulator terminal modern menyediakan fitur untuk mengatur ulang warna
- Beberapa menyediakan tema bawaan
- Semakin populer sebuah emulator terminal, biasanya semakin banyak tema yang bisa dipilih
-
Mengatur dengan skrip shell
- Anda dapat mengubah palet warna emulator terminal dengan mencetak ANSI escape code
- Skrip Solarized Light dari base16-shell menggunakan konvensi escape code yang berbeda untuk berbagai terminal
- Skrip mencoba memilih gaya escape code yang sesuai berdasarkan variabel lingkungan
TERM - Pendekatan skrip shell memudahkan mempertahankan pengaturan warna yang sama meskipun Anda mengganti emulator terminal
- Namun, tidak semua emulator terminal mendukung perubahan palet dengan cara ini, dan meskipun mendukung, hasilnya bisa sedikit berbeda
256 warna, warna 24-bit, dan tema per alat
- Banyak terminal mendukung 3 cara penentuan warna
- 16 warna ANSI
- 256 warna yang diperluas
- Warna hex 24-bit seperti
#ffea03
fdmenggunakan escape code seperti^[[38;5;48mpada outputnya untuk menentukan warna foreground nomor 48- Warna ini bisa terlihat seperti warna lime yang tidak ada di tabel warna terminal umum
- Kontrasnya bisa buruk dengan tabel warna yang sedang digunakan
batjuga menggunakan warna dengan cara serupa, tetapi output bawaannya tampak ditujukan agar bekerja di berbagai tema terminal- Beberapa alat terminal modern seperti
fd,bat, dandeltamendukung tema kustom bebas- Tema bawaan dapat berbenturan dengan latar terminal
- Sebagai gantinya, Anda dapat mengontrol tema output alat secara lebih rinci dibanding hanya memilih dari 16 warna ANSI
- Dengan
bat --theme ansi,batakan menggunakan warna ANSI yang ditetapkan pada tabel warna terminal umum
Benturan yang muncul di Solarized dan base16
- Solarized Light dapat menampilkan pemetaan warna bright yang berbeda tergantung implementasinya
- Tema Solarized Light bawaan iTerm memetakan warna nomor 9–14, yaitu “bright blue”, “bright red”, dan seterusnya, ke nuansa abu-abu seperti desain Solarized asli
- Jika
lsmenggunakan warna bright untuk direktori dan file executable, keduanya bisa terlihat abu-abu
- Jika
- base16 Solarized Light dapat digunakan sebagai varian yang mempertahankan warna bright sebagai warna sungguhan, bukan abu-abu
- Perbedaan ini tampaknya merupakan akibat dari desain Solarized asli agar skema warna Vim Solarized dapat menggunakan abu-abu
base16-shellmengatur warna 16–21 untuk menyediakan warna tambahan bagibase16-vim- Ketika
ngrokmencoba menetapkan latar ke warna 16 “black”, jika warna tersebut telah dipetakan ulang menjadi oranye terang, latarnya akan terlihat sangat aneh - Benturan seperti ini mudah terjadi ketika program menetapkan warna latar ANSI dan pengguna memetakan ulang warna tersebut ke makna lain
- Ketika
Mengurangi masalah kontras dengan minimum contrast
- Sebagian terminal memiliki fitur minimum contrast yang otomatis menyesuaikan warna ketika kontras antara foreground dan background tidak memadai
- iTerm2, tabby, text_fg_override_threshold di kitty, Ghostty, dan Windows Terminal menyediakan fitur ini
- Jika nilai minimum contrast di iTerm diatur ke 40, output yang sulit dibaca seperti benturan warna latar
ngrokjuga menjadi lebih mudah dibaca - Ketika pengaturan warna keliru atau program berbenturan dengan tema, minimum contrast adalah jaring pengaman praktis untuk mengurangi masalah keterbacaan yang tidak disengaja
TERM, pipe, dan menonaktifkan warna
- Jika sistem yang diakses lewat SSH tidak mendukung nilai variabel lingkungan
TERMlokal, warna mungkin tidak bekerja dengan benar - Sistem menggunakan basis data
terminfo, dan jika nilaiTERMtidak ada di basis data tersebut, sulit untuk mengetahui output warna yang sesuai dengan terminal - Meski tidak ada lingkungan yang dapat direproduksi, sebuah jawaban Stack Overflow menyarankan bentuk seperti
TERM=xterm sshalih-alihssh - Saat perintah dihubungkan dengan pipe, warna kadang dinonaktifkan
fd | lessdapat menghasilkan output tanpa warna- Secara umum, ketika diteruskan ke alat seperti
grep, keluaran teks polos tanpa escape code memang berguna
- Jika ingin mempertahankan warna, Anda dapat menggunakan
unbuffer fd | less -runbuffermembuka tty agar perintah menganggap dirinya menulis ke TTY- Ini juga mengatasi masalah output program yang di-buffer saat menulis ke pipe
- Beberapa perintah, seperti
fd, dapat selalu mencetak warna dengan flag--color=always
Mematikan atau mengubah warna ls
- Sebagian pengguna tidak menginginkan output berwarna dari
ls- Karena warna biru sulit dibaca di latar hitam
- Karena tidak ingin menyesuaikan tabel warna terminal
- Atau karena warna itu sendiri mungkin tidak membantu
- Ada beberapa opsi
- Warna dapat dimatikan dengan
ls --color=never - Warna yang digunakan
lsdapat dikustomisasi dengan variabel lingkunganLS_COLORS - Beberapa program mendukung
NO_COLOR=true, dan daftarnya tersedia di no-color.org
- Warna dapat dimatikan dengan
- Sebagai contoh, pengaturan seperti
LS_COLORS="fi=0:di=0:ln=0:pi=0:so=0:bd=0:cd=0:or=0:ex=0" lsdapat menyetel gaya warna berbagai jenis file menjadi 0
Perubahan di Vim dan Neovim
- Pengaturan warna Vim dulu sering bermasalah karena tabel warna terminal dan skema warna Vim harus diselaraskan
- Ada 2 cara utama mengatur skema warna Vim di dalam terminal
- Memetakan kelas warna Vim ke nomor warna ANSI
- Skema warna menggunakan langsung warna hex 24-bit seperti
#faea99
- Dua puluh tahun lalu, terminal yang mendukung warna hex 24-bit belum umum, dan Vim juga belum mendukung penggunaan warna 24-bit di terminal
- Vim menambahkan dukungan warna 24-bit pada 2016
- Neovim 0.10 dirilis pada Mei 2024, dan pada terminal yang mendukung warna 24-bit,
termguicolorsaktif secara default - Jika pada 2024 Anda tidak berencana menggunakan terminal yang tidak mendukung warna 24-bit, beban untuk wajib menyinkronkan tabel warna terminal dan skema warna Vim pun hilang
- Perubahan ini mengurangi kebutuhan
base16-shelluntuk mengatur warna 16–21 secara khusus demi integrasi Vim- Jika bagian itu dihapus, benturan seperti latar oranye pada
ngrokdapat dihindari
- Jika bagian itu dihapus, benturan seperti latar oranye pada
Pengalaman menggunakan base16 dan batasannya
- Menggunakan base16-shell bersama base16-vim memudahkan penyelarasan warna terminal dan Vim
- Pengaturannya dapat dilakukan dengan menambahkan beberapa baris ke konfigurasi fish dan beberapa baris ke
.vimrc - base16 tidak cocok untuk semua orang
- Jumlah tema bawaan terbatas dan mungkin tidak ada tema yang disukai
- Tema Solarized base16 menyetel warna ANSI bright sama dengan warna biasa, dan ini dapat bermasalah untuk kasus penggunaan yang membutuhkan warna bright berbeda
- Cara mengatur warna 16–21 untuk menyediakan lebih banyak warna bagi
base16-vimmungkin tidak diperlukan di lingkungan yang hanya menggunakan terminal dengan dukungan warna 24-bit - Pengaturan warna 16–21 dapat menimbulkan masalah pada terminal yang tidak mendukung 256 warna, seperti Linux framebuffer terminal
- Ada fork komunitas base16 bernama tinted-theming
Alat skema warna dan tema populer
- rootloops.sh adalah alat untuk membuat skema warna
- Artikel terkait yang bisa dirujuk adalah “let’s create a terminal color scheme”
- Skema warna populer yang disebutkan dalam tanggapan Mastodon adalah sebagai berikut
Masalah yang masih tersisa
- Titik pertemuan beberapa program, seperti kombinasi
tmux, SSH, dan Vim, dapat memunculkan masalah warna tambahan - Memilih skema warna yang bagus pun sulit
- Pengguna dengan buta warna atau gangguan persepsi warna dapat kesulitan menemukan skema warna yang sesuai
- Jika warna latar terlalu mirip dengan warna kursor atau area pilihan, posisi bisa sulit ditemukan
- Sulit menemukan warna yang bekerja dengan baik di semua program, dan benturan seperti kasus
ngrokdapat terjadi
- Program yang mengharapkan tampilan “klasik” tertentu berbasis warna ANSI bawaan, seperti Nethack atau Midnight Commander, dapat terasa asing pada tema seperti Solarized
- Salah satu cara menanganinya adalah mengubah palet ANSI tepat sebelum menjalankan program
- Misalnya, sebelum menjalankan Nethack, warna kuning dapat dipetakan ulang menjadi kuning yang lebih terang
- Bagi pengguna yang hanya ingin warna bekerja dengan baik, banyaknya pengaturan manual terasa memberatkan, sehingga nilai bawaan yang masuk akal dan fitur seperti minimum contrast menjadi penting
1 komentar
Komentar Hacker News
Saat mencoba membuat tema warna terang yang benar-benar baik untuk sistem, saya mengalami semua masalah ini dan lebih banyak lagi; ada dua hal yang khususnya menarik
Kalau dipikir lagi, memang wajar, tetapi saya terkejut bahwa tema terang tampak berubah jauh lebih halus dibanding tema gelap ketika layarnya berbeda. Pengaturan hardware dan software memang menimbulkan perbedaan keluaran warna, tetapi perubahan yang berpusat pada area terang dipersepsikan jauh lebih besar daripada perubahan pada area gelap
Selain itu, kadang kita harus turun ke lingkungan dengan dukungan font dan warna mencolok yang terbatas, seperti konsol Linux atau BSD. Dalam kondisi itu,
fdatauexa/lsd/whateverbisa menjadi tidak nyaman atau bahkan tidak bisa dipakai, apalagi jika yang terakhir dipetakan kels. Setelah lama mengutak-atik, saya menyiapkan fbterm agar bisa memakai fungsi terminal yang cukup layak tanpa X, tetapi fbterm juga punya masalahnya sendiri. Saat mengatur skema warna Vim, Anda perlu menyiapkan tema alternatif untuk konsol yang fiturnya minim, atau banyak berlatih mengetik perintah Vim tanpa melihatnya :DEdit: bukan untuk pekerjaan serius, tetapi ini layar fbterm yang diberi styling untuk menunjukkan apa yang bisa dilakukan tanpa X: https://i.imgur.com/RbDRgtD.png
Karena itu, saat menyesuaikan eksposur dan kontras yang tepat, saya menghabiskan cukup banyak waktu untuk mengatur highlight agar terlihat “pas”. Saya tidak membuat cetakan digital, tetapi sepertinya prinsip yang sama berlaku
Sayangnya, framework alat command line “modern” yang sering ditulis dengan JavaScript cenderung mengabaikan hal ini
https://www.gnu.org/software/gettext/manual/html_node/The-TE...
Ada juga pengaturan yang memberi efek “cahaya menyebar” lemah dengan warna yang sama pada titik data, sehingga terlihat seperti titik yang menyala. Dari sudut pandang saturasi warna, yaitu dari rasio signal-to-noise di seluruh spektrum, masuk akal bahwa latar hitam lebih baik
Sekitar 10 warna berbeda bisa dipakai hampir tanpa masalah. Selain itu, warna kuning berada di antara merah dan hijau, oranye di antara merah dan kuning, sehingga ada keuntungan untuk menyampaikan informasi urutan/jarak, yang membuat subdivisi dan penafsiran seberapa dekat dua warna menjadi lebih mudah
Sebenarnya menurut saya ini tidak sesulit itu
Langkah 1: sebagian besar emulator terminal punya palet warna bawaan yang buruk, jadi tinggal diganti. Secara pribadi saya suka Solarized, terutama tema gelapnya, tetapi tema terangnya juga oke. Kalaupun bukan Solarized, ada banyak tema yang membuat warna apa pun tetap terbaca di atas latar default
Langkah 2: sebaiknya hindari alat baris perintah yang secara default memakai escape sequence warna 8-bit atau 24-bit. Ini mungkin kontroversial, tetapi secara pribadi saya menganggapnya tidak ramah pengguna. Saya sudah memilih palet warna terminal terbaik yang sesuai dengan kebutuhan keterbacaan saya; pengembang yang menganggap dirinya semacam desainer palsu lalu menimpanya itu tidak membantu. Boleh saja menyediakan opsi untuk mengaktifkan tema di dalam alat, tetapi itu harus bersifat opsional, bukan nilai default
Sebagai orang yang menghabiskan sebagian besar hidup di terminal, hanya dengan mengikuti dua aturan ini saja kita bisa membuat lingkungan terminal yang konsisten dan mudah dibaca dengan hampir tanpa beban konfigurasi. Masalah sebenarnya adalah kita terlalu membiarkan pengembang memakai kode escape warna 8-bit dan 24-bit
Setelah bertahun-tahun, saya sampai pada kesimpulan bahwa fitur baru harus disodorkan ke depan mata pengguna, dan default yang baik harus didorong kuat. Kalau tidak, fitur hampir tidak akan dipakai
Warna 8-bit dan 24-bit sudah merupakan fitur yang dipakai secara opsional dan juga bisa dikonfigurasi. Pada program terminal yang bekerja dengan baik, variabel lingkungan TERM dan COLORTERM menentukan apakah warna seperti itu akan digunakan
Banyak aplikasi mengharapkan teks “bright black” terlihat di atas latar belakang. Ada banyak contohnya di sini: https://github.com/altercation/solarized/issues/220
Hampir semua palet warna lain menampilkan “bright black” sebagai abu-abu yang dapat dibaca di atas latar hitam
Misalnya pamix menetapkan latarnya menjadi hitam, dan status bar tmux atau ngrok juga serupa. Lalu kita jadi masuk ke lubang kelinci untuk menanganinya
Keduanya mengisyaratkan bahwa solusinya harus ada di terminal. Program terminal harus lebih dulu punya warna default yang masuk akal; biru harus bisa dikenali sebagai biru, dan gangguan penglihatan warna yang umum juga perlu dipertimbangkan. Misalnya merah murni di atas latar hitam sulit dibaca, jadi sebaiknya jangan hanya memakai
ff0000, melainkan campurkan sedikit warna lainBegitu terminal punya default yang masuk akal, program baris perintah cukup memakai 16 warna standar. Upaya memakai warna 24-bit di sini lebih mirip pernyataan bahwa “saya menyerah mengharapkan sisi terminal menyediakan kewajaran” atau “saya yang paling tahu”, dan akhirnya pengguna harus mengonfigurasi N program satu per satu. Menurut saya, pilihan terbaik adalah tidak mendefinisikan tema di dalam aplikasi baris perintah
Saya melihat situs web dan font dengan cara yang mirip. Konten sebaiknya disediakan sebagai HTML agar pengguna bisa melihatnya dengan cara yang mereka inginkan, dan tata letak halaman juga sebaiknya mengalir, bukan dikunci seperti layout majalah
Pada perangkat lunak desktop juga serupa. Kompositor Wayland semestinya mengingat posisi jendela. Pada X, setiap program menyimpan dan memulihkan posisi jendelanya sendiri; itu konyol. Wayland mengatakan bahwa mengetahui informasi lingkungan adalah masalah keamanan, dan saya setuju, tetapi kalau begitu ingatan itu menjadi urusan lingkungan desktop. Kode tersebut juga bisa dihapus dari semua aplikasi
Pertanyaan “di bagian mana dari tumpukan perangkat lunak hal ini harus ditangani?” berulang di banyak bidang. Saat memilih di mana menaruhnya, kita harus lebih dulu menjawab apa tujuannya, dan jawaban saya selalu condong ke kesederhanaan dan kemudahan pemeliharaan
Tulisan Julia juga menyebut ide ini, tetapi tidak sampai membahas kesulitan konkretnya. Terkait itu, saya juga penasaran apakah palet warna terminal hanya menangani 16 warna dasar, atau juga menyentuh area RGB dan grayscale. Warna 8-bit dan 16-bit pun semestinya bisa disesuaikan dengan kebutuhan keterbacaan
Kalau berada di posisi memilih warna, ada baiknya memeriksanya dengan algoritma APCA (Advanced Perception of Colour) yang baru
APCA rencananya akan menggantikan metode kontras x:y yang ada saat ini di WCAG 3.0, meski mungkin masih butuh beberapa tahun lagi. Katanya algoritma ini mempertimbangkan ukuran font, ketebalan, latar depan/latar belakang, bahkan pencahayaan dan lingkungan sekitar, serta penggunaan yang dimaksudkan
Sepertinya cukup bagus kalau emulator terminal bisa memakai sensor cahaya perangkat untuk mengoptimalkan kontras sesuai faktor lingkungan
Ada juga orang-orang benar-benar “gila” yang ingin mematikan warna sama sekali[0]. Aku sendiri juga ingin mencobanya, tapi aku juga suka warna yang cantik
[0] https://no-color.org/
:syntax offadalah satu-satunya konfigurasi Vim-ku. Sebab set warna terminal dirancang oleh programmer komputer, insinyur listrik, dan orang-orang yang tidak tahu bahwa hal penting dalam warna bukanlah warna itu sendiri, melainkan kecerahanAku penasaran apakah ada korelasi antara orang yang tidak menginginkan warna di terminal dan orang yang memakai pemblokir iklan yang kuat di browser atau sering memakai mode baca
Saat output dialirkan lewat pipe, warna sama sekali tidak memberi keuntungan dan hanya menjadi liabilitas. Intinya lebih ke soal adanya pilihan
Ini makin parah kalau bolak-balik antara Linux dan Windows. Penggunaan warna default di banyak tool nyaris tidak bisa dipakai, atau benar-benar membuatnya tidak bisa dipakai
Beberapa tool menyediakan opsi
--color=never, dan cukup banyak tool menghormati NO_COLOR. Sayangnya tidak semuanya, dan bahkan tool yang melakukannya kadang berasumsi mode itu hanya akan dipakai untuk pipeline atau antarmuka pemrograman. Akibatnya muncul segala macam perilaku yang menyebalkanIa punya konsep palet warna yang konsisten berupa temperatur warna yang bermakna, dan condong ke sisi hangat agar mata tidak terlalu lelah menatap terlalu banyak nuansa biru. Palet warna alacritty juga disertakan
Sejak lama aku ingin memakai tema terang di terminal, tapi selalu menyerah karena terlalu banyak program memakai warna kustom non-ANSI yang dioptimalkan untuk latar terminal gelap
Sebagian program bisa dikonfigurasi warnanya, tetapi mengatur semua program satu per satu terasa terlalu merepotkan. Jadi sekarang aku memakai latar terminal gelap, tetapi memilih sendiri tema ANSI yang semua warnanya punya rasio kontras yang cukup menurut standarku dan juga lolos pemeriksaan kontras APCA/WCAG 3. Aku puas :)
Dengan sekuens kontrol OSC 11, program bisa mengetahui warna latar, tetapi hampir tidak ada program yang peduli. Biasanya, begitu seseorang merasa pesan peringatan kuning terlihat keren, selesai sudah
Ini juga mengarah ke masalah lain. Ada terminal populer yang tidak kompatibel dengan xterm tetapi secara default menetapkan
TERM=xterm256-colorEdit: baru saja menemukan
xtermcontrol, yang bisa mengabstraksikan pemeriksaan latar di skrip dan tersedia di semua package manager utamaBelakangan ini aku menyerah dan mengatur sebagian besar aplikasi secara manual agar memakai warna ANSI. Misalnya, fzf punya switch command-line untuk itu. Aku hanya membiarkan Vim dan Emacs sebagai aplikasi non-ANSI, lalu mengaturnya agar cocok dengan palet warna yang kupakai di terminal lain. Kalau mau, bisa melangkah lebih jauh dengan sesuatu seperti vim-dim
Emacs punya
frame-background-mode[0] yang agak sulit ditemukan, yang pada praktiknya bernilai salah satu darilightataudarkSaat bertanya-tanya mengapa Emacs memilih warna aneh untuk suatu item, biasanya penyebabnya sering kali frame-background-mode yang salah
[0]https://doc.endlessparentheses.com/Var/frame-background-mode...
Pada terminal berlatar gelap dengan teks putih:
export COLORFGBG='15;0'Pada terminal berlatar terang dengan teks hitam:
export COLORFGBG='0;15'Selama hampir 10 tahun aku memakai palet warna FlatUI yang sedikit dimodifikasi, dan hampir tidak pernah ada situasi yang benar-benar menjadi masalah
File png: https://drive.google.com/file/d/1mkMESeGf7MNdKa-rPDx7Yf9BDit...
Tautan imgur: https://imgur.com/a/flatui-7mqVZAY
Dasar: https://flatuicolors.com/palette/defo
Aku juga sudah memakai temaku sendiri hampir 10 tahun. Berjalan baik di iTerm, vim, Emacs, vscode, dan lainnya
Saya sudah lama memakai Apple Terminal, dan dulu ada kumpulan skema warna yang lumayan bernama “Terminal Fructose”, jadi saya sering memakai warna latar berbeda untuk tiap jenis pekerjaan. Pada suatu titik Apple juga memasukkannya sebagai tema bawaan
Namun Apple membiarkan dukungan Terminal terbengkalai; tidak mendukung lebih dari 256 warna dan juga kekurangan fitur yang lebih modern. Ia juga tidak terlalu cocok dengan konfigurasi Neovim+LazyVim
Saya sempat bolak-balik mencoba iTerm2, Kitty, Alacritty, dan Wezterm untuk mencari terminal yang lebih baik. Semuanya memang lebih modern, tetapi tampaknya tidak punya opsi dasar “New Window with Profile ...” untuk membuka jendela dengan beberapa warna latar/tema secara cepat. Setidaknya tidak tanpa sedikit utak-atik
Sekarang saya menetap di Wezterm, terutama karena ia juga berjalan di Windows dan konfigurasi
wezterm.luabisa dibagikan. Sebagai catatan, Windows Terminal juga sebenarnya cukup bagus. Meski begitu, untuk pekerjaan cepat—misalnya memakaipython3sebagai REPL untuk menghitung atau menguji heksadesimal/biner—saya masih sering menjalankan Apple TerminalMemang ada beberapa fitur iTerm2 yang saya rindukan, sebagian besar terkait mouse. Selain itu, saya mengaturnya sesuai keinginan dalam beberapa malam, dan setelah membuat
cmd-nmembuka jendela baru di direktori default, bukan direktori saat ini, saya cukup puas memakainyalaunch_menu[1] untuk memulai shell lain atauaugment-command-palette[2] untuk menambahkan item ke command palette[1] https://wezfurlong.org/wezterm/config/lua/config/launch_menu...
[2] https://wezfurlong.org/wezterm/config/lua/window-events/augm...
Benar, perlu sedikit utak-atik. Namun memprogram fitur yang sangat spesifik persis seperti yang diinginkan adalah puncak dari pengalaman khas WezTerm
Bukan hanya terminal; pada papan neon atau papan LED pun, warna biru adalah yang paling berat bagi mata pada malam hari
Dari jauh selalu terlihat buram dan tidak fokus. Ketika melihat perusahaan besar memasang papan raksasa dengan lampu biru, rasanya heran mereka menghabiskan banyak uang tanpa menyadari bahwa orang-orang tidak bisa membacanya
Di laptop saya, saya mengatur mode terang/gelap berganti otomatis mengikuti siklus siang hari, dan jumlah aplikasi keluaran berwarna yang rusak saat beralih ke mode latar terang dengan teks gelap ternyata mengejutkan
Jika membuat tool command-line dan memang harus memakai warna, sebaiknya gunakan hanya 16 warna ANSI, atau biarkan pengguna akhir mengubah skema warnanya