Gelecek Niri’de
(ersei.net)- Uzun süredir Sway ve i3 kullanan bir kullanıcı, Sway’deki tıklayıp sürükleme hatası nedeniyle geleneksel döşemeli pencere yöneticilerinden Niri’ye geçti
- Niri, çalışma alanlarını yatayda kaydırılan sonsuz bir şerit gibi ele alıyor; yeni pencere açıldığında bile mevcut pencere yerleşimi büyük ölçüde bozulmuyor
- Geçişten birkaç saat sonra kullanılabilir bir yapılandırma oluşturdu, bir hafta içinde de Sway’den daha uygun bir duruma geldi; pencere bazlı ekran paylaşımı, ekran paylaşımından hariç tutma, yerleşik ekran görüntüsü aracı ve yaklaşık 2 saatlik pil artışını avantajlar olarak sayıyor
- Geleneksel döşemeli pencere yöneticileri, pencere yeniden düzenleme ve çalışma alanı yönetiminde bilişsel yük yaratıyor; Sway’de 11’den fazla kullanılan çalışma alanı Niri’de 5’in altına düştü
- Farklı ekran boyutları ve işlem gücü dikkate alındığında, geleneksel döşeme power user’ların varsayılan iş akışı olmak zorunda değil; Sway veya Wayland tabanlı döşeme kullananlar Niri’yi denemeli
Sway’den Niri’ye geçişin nedeni
- Yazar, yaşamının %35’ine denk gelen süre boyunca döşemeli pencere yöneticisi kullandı; 5 yıl Sway, 2 yıl i3 kullandı
- Wayland’i görece erken dönemde kullanırken pek çok şeyin bozuk olmasına alıştı ve Sway iş akışına da uzun süre uyum sağlamıştı
- Doğrudan neden, Sway’de metin seçtikten sonra sürüklendiğinde, fare bırakıldıktan sonra bile seçme işleminin devam ettiği tıklayıp sürükleme sorunu oldu
- Günler haftalara dönerken sorun çözülmeyince, metni tıklayıp seçme eyleminin kendisi bile güvenilmez hâle geldi
- Nedene yol açan kütüphaneyi bulmak veya
git bisectçalıştırmak yerine, yılların kas hafızasını ve iş akışını bırakıp Niri’yi denedi
Niri’nin çalışma biçimi ve ilk izlenim
- Niri, kaydırmalı döşemeli pencere yöneticisi; her çalışma alanı, yatayda kaydırılabilen sonsuz genişlikte bir bant gibi çalışıyor
- Yeni pencere açıldığında diğer pencerelerin yerleşimini değiştirmiyor; bu yüzden terminal açınca Firefox’un beklenmedik bir konuma itilmesi gibi durumlar azalıyor
- Birkaç saat içinde yeterince kullanılabilir bir yapılandırma oluşturdu ve bir hafta içinde Sway’den daha iyi uyan bir duruma geldi
- Yeni ve riskli görünen araçları düşüncesizce denediği dağıtım ve pencere yöneticisi değiştirme dönemlerindeki hissi yeniden yaşadığını söylüyor
Sway’e kıyasla hissedilen iyileştirmeler
- Niri, pencere bazlı ekran paylaşımını destekliyor ve belirli bir pencerenin ekran paylaşımında görünmemesini sağlayan bir özellik de sunuyor
- Ödev yayını yaparken banka e-postası bildirimi gibi hassas bildirimlerin ekranın köşesinde görünmesi endişesi azalıyor
- Yerleşik ekran görüntüsü aracını tatmin edici buldu ve Sway’de önerilen grim+slurp kombinasyonundan daha iyi değerlendirdi
- Sway’e kıyasla pil ömrü yaklaşık 2 saat uzadı
- Niri’ye IPC işlevi ekleme sürecinde de geliştirme deneyimi iyiydi
Geleneksel döşemeli pencere yöneticilerine yönelik şikâyetler
- Geleneksel döşemeli pencere yöneticileri, kullanıcıyı pencere yerleşimini olabildiğince verimli hâle getirmeye iter ve bu süreçte pencere yeniden düzenlemeyi en aza indirme gibi yanlış bir hedefe bilişsel yük harcatır
- Sürekli tam ekran ile tam ekran olmayan mod arasında gidip gelmiyorsanız veya çalışma alanlarınız yetersiz kalmıyorsa, açık pencere sayınızın çok olmadığı düşünülür
- Sekmeli ve yığınlı yerleşimler ile iç içe konteynerler, alan eksikliğini örten daha az ergonomik geçici çözümler olarak değerlendiriliyor
- Sway’de çalışma alanlarını sık sık 11’e kadar açıyordu ve yetmediği için 11–20 numaralı çalışma alanları için de kısayollar ekledi
- Çalışma alanı tasarrufu yapmak için pencere kapatırken proje akışını kaybettiği oluyordu
- Niri’de ise 3 büyük proje, birkaç sohbet uygulaması, bir YouTube videosu ve 3 derslik işi açık olsa bile çalışma alanı sayısı 5’i geçmiyor
- Aynı kurulum Sway’de 15. çalışma alanına kadar taşmıştı ve istediği materyali bulmak için birden çok çalışma alanı arasında gidip gelmesi gerekiyordu
Ekran boyutu, DPI ve ultra geniş bağlamı
- Farklı ekran boyutları ve artan işlem gücü dikkate alındığında, geleneksel döşemeli pencere yöneticilerinin power user iş akışları için varsayılan tercih olmak zorunda olmadığını düşünüyor
- Geleneksel döşeme, alanı yapay olarak sınırlandırıyor, içeriklerin yeniden düzenlenmesini zorluyor ve standart dışı monitör yerleşimleriyle de iyi uyuşmuyor diye değerlendiriliyor
- Wayland’e geçişin başlıca nedeni karma DPI idi
- Aynı fiziksel boyuttaki 4K monitör ile FHD monitör birlikte kullanıldığında, 4K tarafındaki piksel yoğunluğu yaklaşık 4 kat daha yüksek oluyor
- Sabit piksel genişliğine sahip bir pencere 4K’da küçük, FHD’de büyük görünebiliyor
- Pencerenin fiziksel olarak benzer boyutta görünmesi için ölçekleme gerekiyor
- X11’in uygulaması o dönemde buna pek uygun değildi; Wayland ise bunu temel bir özellik olarak destekliyor
- X11’de 1.6 gibi tam sayı olmayan oranlarda kesirli ölçekleme de zor; Wayland’in bu açıdan daha iyi olduğunu söylüyor
- Kaydırmalı döşemeli pencere yöneticilerinin ultra geniş monitörlerle iyi uyuştuğunu düşünüyor
- Sway’de yeni pencere ultra geniş ekranın tamamını dolduruyor; Niri’nin modeli ise daha doğal döşeme yapabiliyor ve alanı daha iyi kullanabiliyor
- Sway gibi Wayland tabanlı geleneksel döşemeli pencere yöneticisi kullanıcılarına Niri’yi hemen denemelerini öneriyor
- Sway’e benzer bir tuş atama deneyimi istiyorsanız yayımlanmış Niri yapılandırmasına bakabilirsiniz
1 yorum
Hacker News yorumları
Gnome kullanıyorum ve pencerelerin neredeyse hepsini tam ekran açıyorum. Ara sıra win+left/right ile yarım genişlikte pencere de yapıyorum; bu durumda ilkel biri mi oluyorum?
Son 20 yılda “gelecek” diye anılan döşemeli pencere yöneticilerinden onlarcasının ortaya çıkıp kaybolduğunu gördüm. Gerçekçi olarak üretkenliği ciddi biçimde artıran özellikler çoktan başlıca pencere yöneticilerine girdi; saf döşemeli pencere yöneticilerinin de bundan sonra niş ürünler olarak kalması muhtemel
Sonuçta düzgün kullanmak için epey zaman ve emek harcamak gerekiyor; elde edilen üretkenlik artışı ise gerçekçi bakınca kademeli düzeyde kalıyor, buna karşılık bu tür niş ürünlere özgü pürüzlü kenarlara da katlanmak gerekiyor
Gnome’dan biraz daha iyi denecek kadar, ama pencerelerin baştan doğru yerde olma olasılığı daha yüksek; açıkçası pencereleri z ekseninde üst üste yığmaya ne kadar sık ihtiyaç duyuyoruz ki?
Başta, gerçek zamanlı strateji oyunu kamerası gibi konum ve yakınlaştırma oranını tuşlara bağlayabildiğiniz sonsuz 2B tuvalin daha iyi bir pencere yöneticisi olacağını düşünüyordum. Ama Niri’yi deneyince fikrimin fazla karmaşık olduğuna ve Niri’nin işlevsellik ile kullanılabilirlik arasında tam doğru noktayı yakaladığına ikna oldum
Gelecekten gelen uzaylıların hediye ettiği teknoloji gibi
Ben dizüstü ekranı, ortada yatay 24 inç ve dikey 24 inç monitör kullanıyorum; Spotify/Teams/shell/Outlook’u dikey yarım bölmede, belgeleri dizüstü ekranında, IDE’yi ana ekranda tam ekran tutuyorum. Tasarım/araştırma, geliştirme ve kişisel kullanım için sanal masaüstlerini de ayırıyorum
4K ya da ultrawide yerine standart monitör boyutlarını koruyunca ekran paylaşımı da çok daha basit oluyor
Küçük bir şikâyetim şu: Günümüz UI tasarımı her yere 10px padding koyduğu için çoğu uygulama ve sayfanın bir şey yapılabilir hâle gelmesi için tam ekran olması gerekiyor
Ama döşeme ihtiyacımın büyük kısmı terminalin içinde ve tmux kahraman rolünü üstleniyor
https://extensions.gnome.org/extension/4548/tactile/
Ben i3’ten geçmiş biriyim ama tam döşemeli bir eklenti istemiyor, sadece döşemenin kolaylığından biraz istiyorsanız Tactile çok basit bir çözüm olduğu için faydalı geliyor
Geleneksel döşemeli pencere yöneticilerinden geçiyorsanız kısayol çalışma akışının nasıl olduğunu merak ediyorum
Benim için en önemli şey Super+[0-9] gibi belirli bir pencereye, çalışma alanına, fiilen belirli bir programa giden sabit kısayollar. Bu mümkünse ve yazıda bahsedilen “çalışma alanı yönetimi” sorununu da çözüyorsa hemen geçerim gibi
Niri’de de “çalışma alanlarını” bu şekilde kullanmak mantıklı mı? Örneğin tarayıcı için bir çalışma alanı, düzenleyici için bir tane, birden çok terminal penceresi için bir tane tutup “tarayıcı”dan “terminallere” anında geçmek istiyorum. Animasyon efekti olmasa iyi olur
Örneğin parola yöneticisini tarayıcıyla aynı çalışma alanına koyuyorum ve genelde ekranın dışında duruyor. Parola oluşturmam gerekirse hemen yanında oluyor. Metin düzenleyicinin yanındaki gerekli yardımcı terminallerde de aynı yöntemi kullanıyorum
Ancak mevcut geleneksel döşemenin kısıtları içinde çalışırken oluşan kas hafızasının epey kaldığını hissediyorum. Örneğin monitörümde 3’ten fazla terminal açarsam yeni bir çalışma alanına geçmem gerektiği gibi
Bu yüzden aslında gerek olmadığı hâlde sık sık yeni çalışma alanına geçiyorum ve neyin nerede olduğu biraz karışıyor. Bazen eski çalışma biçiminden daha net kopmanın daha kolay olabileceğini düşünüyorum
Yine de Niri’ye benzer döşeme biçimini gerçekten seviyorum. Bana kalırsa döşemeli pencere yöneticilerinin neredeyse tüm eksilerini ortadan kaldırıyor
Genel olarak Gnome’a kıyasla i3’ü çok daha fazla tercih ediyorum, ama “her şeyin yeniden boyutlandırılması” acısı çok gerçek. Özellikle Zoom görüşmeleri çok olunca daha da kötüleşiyor; Zoom’un “bildirimleri” sistemin yerleşik bildirimlerini baypas edip her birini ayrı pencere gibi ele alıyor gibi, bu da sorunu büyütüyor
Niri’yi bir denemem gerek
Bana pek uymadı. Ekran sınırlarının ötesine devam eden bir pencere şeridi olması ve bazen pencerenin yalnızca yarısının görünmesi tuhaf bir huzursuzluk yaratıp sürekli gözümü çekti
Yaklaşık iki ay kullandıktan sonra pencerelerin ekran sınırlarıyla çakışmadığı, daha geleneksel bir döşemeli compositor olan Hyprland’e geri döndüm
Yine de Niri teknik olarak çok güzel. Modern bir Rust kod tabanı var, kod yapısı da iyi ve anlayıp üzerinde değişiklik yapmaya başlamak kolay
Dizüstünde işe göre tam genişlik ya da 1/2 genişlik kullanıyorum; ultrawide’da ise 1/3 genişlik kullanıyorum veya içinde sütun bölmeleri olan düzenleyici için tam genişlik tercih ediyorum
Döşemeli pencere yöneticisi fikrini sevdiğim için i3 ve Hyprland’i epey uzun süre denedim ama tuhaf şekilde bir türlü tamamen yerleşemeyip sonunda Xfce’ye geri dönüyordum. Eski alışkanlıklar kolay ölmüyor
Deneyin bittiği an genelde pencere sayısı belli bir eşiği aştığında geliyor. Çalışma alanlarını, düzenleri vb. yeterince derinlemesine yapılandırmadıysanız o noktadan sonra yönetmek daha da zorlaşıyor
Az önce Niri’yi açtım; 10 dakika içinde diğer döşemeli pencere yöneticilerinden çok daha rahat hissettirdi. Hemen sezgisel geliyor ve fare entegrasyonu da harika
Zafer ilan etmek için erken ama gerçekten yıllardır istediğim ve ihtiyaç duyduğum şey tam da buymuş gibi görünüyor. Ne kadar iyi olduğuna, Xfce’ye dönmek istediğimi düşünmem ne kadar sürecek diye bakarak karar vereceğim
Sıradan, sıkıcı ve modası geçmeyen bir yüzen pencere yöneticisi/masaüstü ortamı üzerine hafif, isteğe bağlı döşeme eklenmiş yapı benim için en ideal olanıydı
Keyifle okudum. Herkesin bir kırılma noktası var
“Elbette hangi kütüphanenin kırıcı değişiklik yaptığını bulup git bisect’i 4 saat çalıştırmak yerine, neredeyse 10 yıla yaklaşan kas hafızamı ve iş akışı iyileştirmelerimi pencereden dışarı atmaya karar verdim” kısmını sevdim
Ben de eski bir i3/Sway kullanıcısıyım ve Niri oldukça rahat. Odak taşıma ya da pencere taşıma gibi Sway’den gelen kas hafızamın çoğunu aynen taşıyabildim. Kararlılığı da çok iyi ve xwayland-satellite ile de doğrudan sorunsuz çalışıyor
En büyük sorun, pencereleri sürekli “kaybetmem”. Derin iç içe geçmiş bir yığının içinde bir pencere açıp başka işlere dalıyorum, sonra o pencereyi zaten açtığımı unutuyorum
Sway’de de bir ölçüde oluyor ama tüm çalışma alanlarına göz atmak çok daha kolay
Alt-Tab’e bağlı bir “pencere haritası” gibi bir şey olsa güzel olurdu
Bu arada ben niri IPC / bash / jq ile yaptığım tuhaf bir kombinasyonla run-or-raise işlevini taklit ediyorum; muhtemelen asıl RoR’dan daha iyi çalışıyor. Belirli bir appId ile eşleşen pencereler arasında döngü yapıyor, yoksa yenisini başlatıyor
Buna açık olan tüm pencereler arasında bulanık aramayla geçiş yapan rofi’yi (wayland) ekleyince hissedilir derecede iyileşti
Ben Hyprland kullanan genç taraftanım ama Niri’yi de kısa süre denedim ve oldukça iyi çalıştı. Ortalama tek monitörlü Windows iş akışından gelen biri için, özellikle ofis tipi işlerin çoğuna çok iyi uyuyor
Yine de daha karmaşık döşeme ayarlarının üretkenlik tavanını daha yukarı taşıdığını düşünüyorum. Bu yazının yazarı gibi 10’dan fazla çalışma alanını açık tutan biriyseniz Niri’yi seçmek gerekir gibi
Sadece birkaç pencere açık tutan kişilerde de pil ömrü artışı devam eder mi merak ediyorum. Sadece pencere yöneticisini değiştirerek 2 saat çok büyük fark
Tamamen geçmekte zorlanmamın başlıca nedenlerinden biri bu. Masaüstü ortamı da kullanmıyorum, kompozitörün gerçekten faydalı olacağı özellikleri de kullanmıyorum; benim açımdan neredeyse hiç avantaj görünmüyor
Ara sıra göze çarpan tek şey, ayarladığım sistem temasını takip etmeyen gtk4 programlarının gölgeli açılır menüleri yüzünden siyah kenarlıklar oluşması
Niri’yi henüz denemedim ama ilgimi çekiyor
Son zamanlarda GNOME’da PaperWM uzantısıyla kaydırılabilir pencere yöneticisi deneyimini oldukça iyi tattım: https://github.com/paperwm/PaperWM
Yalnız Gnome ortamının içinde yapılmadığı için biraz kaybı var. Gnome’un “bedavaya” sağladığı bazı şeyler Niri’de eksik ve oldukça temel bazı işlevler için bile alternatif araçları kendiniz bulmanız gerekiyor
Eksik gibi görünenler masaüstü bildirimleri, uygulama başlatıcı, dock ya da çalışan uygulamalar listesi, X11 uygulamalarını sorunsuz çalıştırmak için Xwayland. Bunların hepsini Niri’nin içinde olmayan ayrı araçların sağlaması gerekiyor
En büyük şikâyetim X11 ile Wayland arasında pano senkronizasyonu olmaması. Gnome bunu otomatik hallediyor gibi ama Niri’de öyle değil; Wayland uygulamaları ile X11 uygulamaları arasında kopyala/yapıştır yapamamak çok sinir bozucu
Geçici çözümler var ama şimdiye kadar denediklerim arasında yeterince rahat ve kararlı olanı çıkmadı
Kaydırılabilir pencere yöneticileri gerçekten harika. Döşemeli pencere yöneticisi üretkenliğinin yaklaşık %80’ini çabanın %20’siyle elde edebiliyorsunuz
Bunu fark etmenin 30-40 yıl sürmüş olması ilginç
Ben aynı zamanda açık tarayıcı sekmeleri sonsuza kadar çoğalıp sonunda yüzlercesini yer imlerine ekleyip hepsini kapatmak zorunda kalan tiplerdenim; bu yüzden bu bütün paradigma bana hiç uygun görünmüyor
Pencereleri adlarına göre yığının içine ve dışına yank etmeyi sağlayan, yığındaki en eski pencereyi kenara alan kabaca yazılmış bir Python koduydu. Aslında pencereler için bir LRU önbelleğiydi
“Çalışıyordu” ama üniversitedeyken PaperWM olsaydı gerçekten keyif alırdım
Yüzen pencere yöneticilerinin iyi yaptığı işler de var. Birkaç belgeyi yüzen olarak sabitleyip ekranın çeşitli yerlerinde açık tutmayı ve fazla hareket etmeden çapraz referans yapmayı sağlayan kötü alışkanlığımı seviyorum
Linux masaüstünde neler olup bittiğini daha iyi öğrenmek istiyorsanız, herkese standart dışı bir pencere yöneticisini en az bir kez denemesini önerebilirim
Tiling pencere yöneticileriyle kurcalarken Linux hakkında, başka herhangi bir yazılım türünden öğrendiğimden daha fazlasını öğrendim
Gerçekten üretkenliğim arttı mı bilmiyorum ama harika bir öğrenme deneyimi; ergonomisi de iyi ve kendi masaüstü ortamını sıfırdan inşa etmenin verdiği tatmin muazzam