Masa depan adalah Niri
(ersei.net)- Seorang pengguna yang sudah lama memakai Sway dan i3 beralih dari tiling window manager tradisional ke Niri setelah mengalami bug klik-seret di Sway
- Niri memperlakukan workspace seperti strip tak terbatas yang bisa digulir ke kiri dan kanan, sehingga saat membuka jendela baru susunan jendela yang ada tidak banyak terganggu
- Setelah beralih, penulis bisa membuat konfigurasi yang cukup layak dalam beberapa jam dan dalam seminggu merasa sistemnya lebih cocok daripada Sway; kelebihannya meliputi berbagi layar per jendela, pengecualian dari screen sharing, tangkapan layar bawaan, dan peningkatan baterai sekitar 2 jam
- Tiling window manager tradisional menimbulkan beban kognitif dalam penataan ulang jendela dan pengelolaan workspace; jumlah workspace yang sebelumnya lebih dari 11 di Sway turun menjadi 5 atau kurang di Niri
- Dengan mempertimbangkan beragam ukuran layar dan performa pemrosesan, tiling tradisional tidak harus menjadi workflow default bagi power user, dan pengguna Sway atau tiling berbasis Wayland layak mencoba Niri
Alasan pindah dari Sway ke Niri
- Penulis telah memakai tiling window manager selama sekitar 35% hidupnya, termasuk 5 tahun dengan Sway dan 2 tahun dengan i3
- Karena cukup awal memakai Wayland, ia sudah terbiasa dengan banyak hal yang rusak, dan juga telah lama beradaptasi dengan workflow Sway
- Pemicu langsungnya adalah masalah klik-seret di Sway, di mana setelah memilih teks lalu menyeret, aksi seleksi tetap berlanjut bahkan setelah tombol mouse dilepas
- Selama beberapa hari yang berubah menjadi beberapa minggu tanpa perbaikan, tindakan mengklik untuk memilih teks itu sendiri menjadi terasa tidak pasti
- Alih-alih mencari library penyebabnya atau menjalankan
git bisect, ia memutuskan meninggalkan muscle memory dan workflow lamanya lalu mencoba Niri
Cara kerja Niri dan kesan pertama
- Niri adalah scrolling tiling window manager, di mana setiap workspace bekerja seperti pita tak terbatas yang dapat digulir secara horizontal
- Saat jendela baru dibuka, tata letak jendela lain tidak diubah, sehingga ketika membuka terminal, Firefox tidak lagi terdorong ke posisi yang tak terduga
- Dalam beberapa jam, ia sudah membuat konfigurasi yang cukup nyaman dipakai, dan dalam seminggu hasilnya terasa lebih pas daripada Sway
- Ia mengatakan pengalaman ini menghidupkan kembali sensasi masa ketika nekat mencoba distro atau window manager baru yang tampak asing dan berisiko
Peningkatan yang terasa dibanding Sway
- Niri mendukung screen sharing per jendela dan juga menyediakan fitur agar jendela tertentu tidak muncul saat layar dibagikan
- Saat melakukan streaming tugas, ini mengurangi kekhawatiran bahwa notifikasi sensitif seperti email dari bank akan muncul di sudut layar
- Alat tangkapan layar bawaannya memuaskan, dan dinilai lebih baik daripada kombinasi grim+slurp yang direkomendasikan untuk Sway
- Dibandingkan Sway, daya tahan baterai meningkat sekitar 2 jam
- Bahkan saat mencoba menambahkan fitur IPC ke Niri, pengalaman pengembangannya terasa baik
Ketidakpuasan terhadap tiling window manager tradisional
- Tiling window manager tradisional mendorong pengguna untuk memaksimalkan efisiensi tata letak jendela, dan dalam prosesnya membuat orang menghabiskan beban kognitif pada sasaran keliru, yaitu meminimalkan penataan ulang jendela
- Jika tidak terus-menerus berpindah antara mode layar penuh dan non-layar penuh, atau tidak terus kehabisan workspace, maka kemungkinan sebenarnya jumlah jendela yang terbuka tidak banyak
- Layout bertab, bertumpuk, dan container bersarang dinilai sebagai tambal sulam yang kurang ergonomis untuk menutupi keterbatasan ruang
- Di Sway, ia sering membuka hingga 11 workspace, bahkan menambahkan shortcut untuk workspace 11 sampai 20 karena masih terasa kurang
- Ada kalanya ia menutup jendela demi menghemat workspace lalu kehilangan alur proyek
- Di Niri, bahkan saat membuka 3 proyek besar, beberapa aplikasi chat, video YouTube, dan beban kerja setara 3 kelas, jumlah workspace tetap tidak melebihi 5
- Konfigurasi yang sama di Sway bisa terdorong hingga workspace 15, dan untuk menemukan materi yang diinginkan ia harus bolak-balik di banyak workspace
Konteks ukuran layar, DPI, dan ultrawide
- Dengan mempertimbangkan beragam ukuran layar dan peningkatan performa pemrosesan, ia menilai tiling window manager tradisional tidak harus menjadi pilihan dasar untuk workflow power user
- Tiling tradisional dinilai membatasi ruang secara artifisial, memaksa penataan ulang konten, dan kurang cocok dengan tata letak monitor non-standar
- Alasan utama berpindah ke Wayland adalah DPI campuran
- Jika monitor 4K dan monitor FHD dengan ukuran fisik yang sama dipakai bersamaan, kepadatan piksel di sisi 4K sekitar 4 kali lebih tinggi
- Jendela dengan lebar piksel tetap bisa tampak kecil di 4K dan besar di FHD
- Agar jendela terlihat berukuran fisik mirip, diperlukan scaling
- Implementasi X11 saat itu tidak cocok untuk kebutuhan ini, sedangkan Wayland mendukungnya sebagai fitur inti
- X11 juga kesulitan dengan fractional scaling non-integer seperti 1.6, dan menurutnya Wayland lebih baik dalam hal ini
- Scrolling tiling window manager dinilai sangat cocok dengan monitor ultrawide
- Sway membuat jendela baru memenuhi seluruh lebar ultrawide, sedangkan model Niri menata ubin secara lebih alami dan memanfaatkan ruang lebih baik
- Ia menyarankan pengguna tiling window manager tradisional berbasis Wayland seperti Sway untuk langsung mencoba Niri
- Jika menginginkan pengalaman key binding yang mirip Sway, Anda bisa melihat konfigurasi Niri yang dibagikan
1 komentar
Pendapat di Hacker News
Saya memakai Gnome dan hampir semua jendela saya buka dalam layar penuh. Sesekali saya juga membuat jendela setengah lebar dengan win+left/right; apakah ini berarti saya manusia purba?
Selama 20 tahun terakhir, saya sudah melihat belasan tiling window manager yang disebut sebagai “masa depan” muncul lalu menghilang. Secara realistis, fitur-fitur yang benar-benar meningkatkan produktivitas secara signifikan sudah lama masuk ke window manager utama, dan window manager tiling murni kemungkinan besar akan tetap menjadi produk ceruk ke depannya.
Pada akhirnya, agar bisa dipakai dengan baik, perlu waktu dan usaha yang cukup besar; peningkatan produktivitas yang didapat secara realistis hanya bertahap, sementara kita juga harus menerima berbagai sisi kasar khas produk ceruk seperti ini.
Ini hanya sedikit lebih baik daripada Gnome, tetapi sejak awal jendela lebih mungkin berada di tempat yang tepat, dan jujur saja, seberapa sering kita benar-benar perlu menumpuk jendela saling bertindih di sumbu z?
Awalnya saya berpikir window manager yang lebih baik adalah kanvas 2D tak terbatas yang posisi dan tingkat zoom-nya bisa diikat ke tombol, seperti kamera di game strategi real-time. Namun setelah mencoba Niri, saya yakin ide saya terlalu rumit, sementara Niri mengenai titik yang pas antara fungsionalitas dan kegunaan.
Rasanya seperti teknologi hadiah dari alien masa depan.
Saya memakai laptop, monitor 24 inci horizontal di tengah, dan monitor 24 inci vertikal; Spotify/Teams/shell/Outlook saya taruh dalam split setengah vertikal, dokumen di layar laptop, dan IDE layar penuh di layar utama. Desktop virtual juga saya bagi untuk desain/riset, pengembangan, dan penggunaan pribadi.
Menjaga ukuran monitor tetap standar alih-alih 4K atau ultrawide juga membuat berbagi layar jauh lebih sederhana.
Keluhan kecilnya, desain UI zaman sekarang menaruh padding 10px di mana-mana, sehingga kebanyakan aplikasi dan halaman terasa harus layar penuh agar bisa melakukan sesuatu.
Namun sebagian besar kebutuhan tiling saya ada di dalam terminal, dan tmux berperan sebagai pahlawan.
https://extensions.gnome.org/extension/4548/tactile/
Saya sendiri pindahan dari i3, tetapi jika tidak menginginkan ekstensi tiling penuh dan hanya ingin sedikit kenyamanan tiling, Tactile terasa berguna sebagai solusi yang sangat sederhana.
Kalau berpindah dari tiling window manager tradisional, saya ingin tahu seperti apa alur kerja shortcut-nya.
Yang paling penting bagi saya adalah shortcut tetap seperti Super+[0-9] untuk menuju jendela tertentu, workspace tertentu, atau pada dasarnya program tertentu. Kalau itu memungkinkan dan juga menyelesaikan masalah “manajemen workspace” yang disebut di tulisan, saya mungkin langsung pindah.
Apakah masuk akal memakai “workspace” seperti ini di Niri? Misalnya punya satu workspace untuk browser, satu untuk editor, dan satu untuk beberapa jendela terminal, lalu ingin langsung beralih dari “browser” ke “terminal-terminal”. Saya tidak ingin ada efek animasi.
Misalnya password manager saya taruh di workspace yang sama dengan browser, dan biasanya berada di luar layar. Saat perlu membuat kata sandi, ia langsung ada di sebelah. Terminal pendukung yang dibutuhkan di samping editor teks juga saya perlakukan seperti itu.
Namun saya merasa memori otot dari bekerja dalam batasan tiling tradisional masih cukup tersisa. Misalnya, di monitor saya, kalau membuka lebih dari 3 terminal, saya harus pindah ke workspace baru.
Jadi meskipun sebenarnya tidak perlu, saya sering pindah ke workspace baru dan jadi agak bingung apa ada di mana. Kadang saya berpikir mungkin akan lebih mudah kalau pemutusan dari cara kerja lama dibuat lebih tegas.
Meski begitu, saya sangat menyukai tiling dengan cara yang mirip Niri. Menurut saya, itu menghilangkan hampir semua kelemahan tiling window manager.
Secara keseluruhan saya jauh lebih menyukai i3 daripada Gnome, tetapi penderitaan “semuanya ikut di-resize” itu sangat nyata. Terutama saat banyak panggilan Zoom; masalahnya makin parah karena “notifikasi” Zoom tampaknya melewati notifikasi bawaan sistem dan memperlakukan masing-masing seperti jendela terpisah.
Saya harus mencoba Niri.
Bagi saya kurang cocok. Ada deretan jendela yang berlanjut melewati batas layar, dan tampilan ketika kadang hanya separuh jendela terlihat menimbulkan rasa gelisah yang aneh sehingga terus menarik perhatian saya.
Setelah memakainya sekitar dua bulan, saya kembali ke Hyprland, kompositor tiling yang lebih tradisional dan jendelanya tidak bertumpuk dengan batas layar.
Namun secara teknis Niri sangat indah. Codebase Rust-nya modern, struktur kodenya bagus, dan mudah dipahami untuk mulai dimodifikasi.
Di laptop, tergantung pekerjaan, saya memakai lebar penuh atau 1/2 lebar; di ultrawide, saya memakai 1/3 lebar atau lebar penuh untuk editor yang punya pembagian kolom internal.
Saya suka ide window manager tiling, jadi cukup lama mencoba i3 dan Hyprland, tetapi entah kenapa tidak pernah benar-benar menetap dan akhirnya selalu kembali ke Xfce. Kebiasaan lama sulit hilang
Momen eksperimen biasanya berakhir ketika jumlah jendela melewati batas tertentu. Kalau workspace, layout, dan sebagainya belum diatur cukup mendalam, sejak saat itu pengelolaannya jadi lebih sulit
Saya baru saja menyalakan Niri, dan dalam 10 menit sudah terasa jauh lebih nyaman daripada window manager tiling lain. Langsung intuitif, dan integrasi mouse-nya juga sangat bagus
Masih terlalu dini untuk menyatakan kemenangan, tetapi ini benar-benar tampak seperti hal yang saya inginkan dan butuhkan selama bertahun-tahun. Seberapa bagusnya akan saya nilai dari berapa lama sampai muncul keinginan kembali ke Xfce
Bagi saya, konfigurasi paling optimal adalah window manager/desktop environment floating yang biasa, membosankan, tidak ikut tren, dengan tiling opsional ringan
Menarik dibaca. Setiap orang punya titik batasnya
Saya suka bagian: “Tentu saja, alih-alih mencari library mana yang membuat breaking change dan menjalankan git bisect selama 4 jam, saya memutuskan membuang hampir 10 tahun muscle memory dan perbaikan workflow ke luar jendela”
Saya juga pengguna lama i3/Sway, dan Niri terasa cukup nyaman. Sebagian besar muscle memory Sway seperti memindahkan fokus atau memindahkan jendela bisa saya bawa begitu saja. Stabilitasnya juga sangat bagus dan langsung berjalan baik dengan xwayland-satellite
Masalah terbesar adalah saya terus “kehilangan” jendela. Saya membuka jendela di dalam stack yang bersarang dalam, lalu mengerjakan hal lain, dan lupa bahwa jendela itu sudah terbuka
Di Sway hal itu juga terjadi sampai batas tertentu, tetapi jauh lebih mudah menelusuri semua workspace
Akan bagus kalau ada semacam “peta jendela” yang diikat ke Alt-Tab
Sebagai catatan, saya meniru fitur run-or-raise dengan kombinasi aneh niri IPC / bash / jq, dan mungkin bekerja lebih baik daripada RoR asli. Ia menggilir jendela yang cocok dengan appId tertentu, dan kalau tidak ada, menjalankan yang baru
Setelah saya tambahkan rofi (wayland) untuk berpindah ke semua jendela yang terbuka lewat fuzzy search, rasanya jauh lebih baik
Saya termasuk generasi muda yang memakai Hyprland, tetapi sempat mencoba Niri dan itu bekerja cukup baik. Untuk orang yang datang dari workflow Windows rata-rata dengan satu monitor, terutama untuk sebagian besar pekerjaan kantoran, ini sangat cocok
Meski begitu, saya tetap berpikir konfigurasi tiling yang lebih kompleks punya batas produktivitas yang lebih tinggi. Kalau seseorang seperti penulis ini membuka lebih dari 10 workspace, sepertinya ia memang harus memilih Niri
Saya penasaran apakah peningkatan daya tahan baterai tetap terasa bagi orang yang hanya membuka beberapa jendela. Selisih 2 jam hanya karena mengganti window manager itu sangat besar
Ini salah satu alasan utama saya sulit beralih sepenuhnya. Saya juga tidak memakai desktop environment, dan tidak memakai fitur yang membuat compositor benar-benar berguna, jadi dari sudut pandang saya hampir tidak ada kelebihannya
Sesekali yang terlihat hanya border hitam akibat dropdown bershadow dari program gtk4 yang tidak mengikuti tema sistem yang saya atur
Saya belum mencoba Niri, tetapi tertarik
Belakangan ini di GNOME saya cukup merasakan pengalaman window manager yang bisa discroll dengan ekstensi PaperWM: https://github.com/paperwm/PaperWM
Namun karena tidak dibuat di dalam lingkungan Gnome, ada sedikit kekurangan. Beberapa hal yang disediakan Gnome “gratis” tidak ada di Niri, dan untuk fitur yang cukup mendasar pun kita harus mencari sendiri alat penggantinya
Hal-hal yang tampaknya tidak ada mencakup notifikasi desktop, app launcher, dock atau daftar aplikasi yang sedang berjalan, serta Xwayland untuk menjalankan aplikasi X11 dengan mulus. Semua fitur ini harus disediakan oleh alat terpisah yang tidak termasuk dalam Niri
Keluhan terbesar saya adalah tidak adanya sinkronisasi clipboard antara X11 dan Wayland. Gnome tampaknya menangani ini otomatis, tetapi di Niri tidak begitu, sehingga tidak bisa copy/paste antara aplikasi Wayland dan aplikasi X11 sangat menjengkelkan
Ada workaround, tetapi sejauh ini belum ada yang saya coba yang cukup nyaman dan stabil
Window manager yang bisa discroll benar-benar luar biasa. Kita bisa mendapatkan sekitar 80% produktivitas window manager tiling dengan 20% usaha
Menarik bahwa butuh 30–40 tahun untuk menemukan ini
Saya juga tipe orang yang tab browser terbukanya bertambah tanpa batas sampai akhirnya harus mem-bookmark ratusan tab dan menutup semuanya, jadi keseluruhan paradigma ini benar-benar tampak tidak cocok untuk saya
Itu kode Python seadanya yang memungkinkan saya men-yank jendela masuk/keluar stack berdasarkan nama, dan menyingkirkan jendela paling lama di stack. Pada dasarnya itu cache LRU untuk jendela
Itu “berfungsi”, tetapi kalau PaperWM sudah ada saat saya masih mahasiswa, saya rasa saya akan sangat menikmatinya
Ada juga hal-hal yang hanya bisa dilakukan dengan baik oleh window manager floating. Saya suka kebiasaan buruk saya memasang beberapa dokumen sebagai floating di berbagai bagian layar, lalu melakukan rujuk-silang tanpa banyak berpindah
Jika ingin mempelajari lebih banyak tentang apa yang terjadi di desktop Linux, saya bisa merekomendasikan siapa pun untuk mencoba setidaknya satu window manager non-standar
Saya belajar tentang Linux dari mengutak-atik tiling window manager lebih banyak daripada dari jenis perangkat lunak lainnya
Saya tidak tahu apakah produktivitas saya benar-benar meningkat, tetapi itu pengalaman belajar yang luar biasa, ergonominya juga bagus, dan rasa puas karena membangun lingkungan desktop sendiri dari nol itu sangat besar