macOS Izgara Düzenini Geri Kazanmalı
(blog.hopefullyuseful.com)- macOS’un Spaces özelliği Leopard döneminde kullanıcı tanımlı 3x3 ızgara ile sanal masaüstlerini gerçek ekranlar gibi ele almayı sağlıyor, tarayıcı, düzenleyici, Xcode ve simülatör arasında mekânsal hafızayla geçiş yapmaya imkân veriyordu
- Mission Control, macOS Lion’da sanal masaüstlerini tek yatay satır ile sınırladı; bu da klavyeyle belirli bir ekrana ulaşmak için kayarak ilerlemeyi ya da kısayol numaralarını hatırlamayı gerektirerek mekânsal hafızayı bozdu
- Total Spaces yavaşlamaya neden oldu ve daha sonra sistem Dock’unu değiştirmeye ve SIP’i aşmaya bağımlı hale geldi; Yabai/Aerospace gibi pencere yöneticileri ise tam ekran uygulamalar ve iş bazlı ayrılmış alan tercihleriyle örtüşmedi
- GridLion, InstantSpaceSwitcher’ın animasyonsuz şekilde space değiştirdiğini gördükten sonra ortaya çıkan bir çözüm olarak, kilitli Mission Control API’si yerine tek satırlık yerel space yapısını modelleyip onu ızgara gibi gösteriyor
- LLM, bir gün içinde çalışan bir prototip oluşturmaya yardımcı oldu; ancak arayüzün hissi insan geri bildirim döngüsü gerektirdi ve GridLion’daki kalan API sınırlamaları nedeniyle ızgara tabanlı Spaces yeniden bir işletim sistemi özelliği olmalı
Leopard Spaces’in oluşturduğu mekânsal hafıza
- macOS 10.5 Leopard’daki Spaces, sanal masaüstlerini macOS’e getirdi ve kullanıcıların alanları istedikleri ızgaraya yerleştirmesine izin verdi
- 3x3 ızgara, 9 ekran gibi kullanılıyor; ortada web tarayıcısı, üstte web düzenleyici, sol üstte Xcode, onun altında iOS simülatörü gibi uygulama ve görevler sabitlenebiliyordu
- Belirli bir konuma tek bir tuş vuruşuyla gitme yöntemi, ayrı fiziksel ekranlara bakıyormuş gibi kas hafızası ve mekânsal hafıza oluşturuyordu
- EasyBeats Drum Machine’in 16 sıralama ekranından oluşan ızgarası da doğrudan Apple’ın Spaces yerleşiminden etkilenmişti
Lion’dan sonra kaybolan ızgara
- macOS Lion, Mission Control’ü sunarken sanal masaüstlerini tek yatay satırla sınırladı
- Tek yatay satırda, klavyeyle belirli bir ekrana gitmek için sürekli yatay ilerlemek gerekiyordu; doğrudan kısayol kullanılsa bile tarayıcının 7. ekranda mı 8. ekranda mı olduğunu hatırlamak gerekiyordu
- Bu değişiklik, masaüstlerini uzamsal konumlarına göre hatırlama yöntemini sürdürmeyi zorlaştırdı
- Total Spaces gibi alternatifler vardı, ancak yavaşlamaya yol açtı, sistem Dock’unu değiştirmeye bağımlıydı ve daha sonra SIP’i aşmayı gerektirdi
Pencere yöneticilerinden çok iş bazlı alanlar
- Yabai ve Aerospace gibi pencere yöneticileri, her kullanıcı için aynı şekilde çalışan bir çözüm olmadı
- Pencereleri masaüstü üzerinde düzenleme yaklaşımı, masa üzerindeki kağıtları taşımaya daha çok benziyordu; ihtiyaç duyulan şey ise her şeyin olduğu gibi kaldığı ayrı çalışma tezgâhlarına daha yakındı
- macOS’un tam ekran uygulamaları ve bölünmüş görünüm modu, tek bir işe ayrılmış alan verme yaklaşımını benimsediği için ızgara tabanlı space gezintisiyle daha iyi örtüşüyordu
GridLion nasıl çalışıyor
- InstantSpaceSwitcher, sistemi değiştirmeden macOS’taki space geçiş animasyonunu kaldırdı ve animasyonsuz geçiş görüldükten sonra ızgara gezintisi sorununu çözmenin mümkün olabileceği ortaya çıktı
- macOS, Mission Control API’lerinin büyük bölümünü kilitli tuttuğu için belgelenmiş API’lerle masaüstü eklemek veya yeniden düzenlemek mümkün değil
- GridLion, yerel space’lerin üzerine hafif bir sarmalayıcı koyuyor ve macOS’un tek satırlık space yapısını kendi iç modelinde ızgara gibi gösteriyor
- LLM’in yardımıyla bir gün içinde kaba ama çalışan bir prototip üretildi; birkaç gün kullanımdan sonra daha rafine bir araca ihtiyaç duyuldu
- Yaklaşık bir ay sonra tatmin edici bir seviyeye ulaşıldı ve uygulamanın adı, macOS Lion ile ortaya çıkan sorun ve ızgara fikrinin birleşimi olarak GridLion oldu
İzinler ve dağıtım engelleri
- Genel klavye kısayollarını yakalayıp space’ler arasında gezinmek için macOS’ta
Accessibilityizni gerekiyor - macOS izin akışı, iOS’taki gibi onay verilir verilmez bitmiyor; ayarların açılması, kullanıcının belirli bir anahtarı bulup etkinleştirmesi ve ardından ek güvenlik istemlerini onaylaması gerekiyor
- Space’lerin küçük önizlemelerini oluşturmak için
Screen and System Audio Recordingizni de gerekiyor ve görünmeyen pencereler ile ekran önizleme anlık görüntüleri nedeniyle daha güçlü uyarı diyalogları çıkıyor - GridLion bu izinler olmadan da çalışıyor, ancak önizleme özelliğini kullanmak için izin gerekiyor
- Güven oluşturmak için uygulamanın, kullanıcının istediği güncelleme denetimi ve lisans anahtarı doğrulaması dışında ağa dokunmaması gerekiyordu
- GridLion, space bilgisi almak için özel API’ler çağırdığı için App Store’a konulamıyor
- App Store dışı satış için satın alma, vergi ve iadeleri yöneten bir Merchant of Record gerekiyordu; Paddle, GumRoad ve Lemon Squeezy adaylar arasındaydı
- Lemon Squeezy, alıcılara lisans anahtarı vermek ve etkinleştirme, devre dışı bırakma, doğrulama yöntemleri sunmak için License code API sağlıyor
- Lemon Squeezy onayı, gerçek değeri ve kullanım alanı olan bir ürün sattığını göstermeyi gerektiriyordu; bunun için ekran kaydı ve sosyal medya hesabı doğrulaması istendi
- Onay öncesinde de test hesapları kullanılabildiği için uygulamayla entegrasyonu kurmak ve test etmek kolaydı
LLM ve kalan sınırlamalar
- LLM, belirli API sonuçları veya büyük veri kümelerinde sorgu çalıştırma gibi hedefi net işlerde sonuçları görüp yineleme yapmayı kolaylaştırıyor
- Kullanıcı arayüzü büyük ölçüde hisse bağlı olduğundan, kullanıcıya görünen özelliklerde insanın geri bildirim döngüsünün içinde olması gerekiyor
- Yaklaşık 10 yıldır yerel Mac/iOS geliştirmesi yapılmayan bir durumda LLM faydalı oldu; ancak aynı uygulamanın eski yöntemlerle de benzer sürede yapılıp daha çok şey öğrenilmiş olup olmayacağı sorusu açık kaldı
- GridLion; space ızgarasında gezinme ve yeniden düzenleme, hızlı ve kararlı çalışma, ekran başına ızgara boyutu ve kısayol ayarı gibi hedeflere ulaştı
- Space’i bir ekrandan diğerine taşımak veya bir pencereyi bir space’ten başka bir space’e taşımak için güvenilir API yok
- GridLion, Mission Control ile birlikte çalıştığı için bu tür işler Mission Control üzerinden yapılabiliyor
- Belirli bir uygulamanın çalıştığında her zaman belirli bir ızgara konumunda görünmesini sağlama özelliği, aslında eski macOS Spaces’ta vardı; ancak GridLion için hâlâ yapılacaklar arasında
- Izgara tabanlı Spaces’in bir sonraki macOS sürümünde yeniden yerel bir işletim sistemi özelliği olarak dönmesi en ideal çözüm olurdu
1 yorum
Hacker News yorumları
Apple’ın mevcut yaklaşımı, “nasıl olsa acemiler İzin Ver’e basıyor” sorununu çözmeye çalışırken, kullanıcıyı her seferinde 4-5 adımlık mini bir sistem yöneticisi macerasının içine atıyor gibi görünüyor
Ayarlarda küçük bir anahtarı bulup açmanız, ardından güvenlik istemlerini yeniden geçmeniz gerekiyor; bunun, deneyimli kullanıcılar için bile kapatılamaması kullanıcıya saygı eksikliği gibi hissettiriyor
Büyükannenin ya da 10 yaşındaki bir çocuğun şüpheli bir çalıştırılabilir dosyada “tam dosya sistemi erişimi ve keylogging’e izin ver”e basması Apple’ın çözmesi gereken bir sorun olabilir, ama ne yaptığını bilen kullanıcıya bu korumayı kapatma yolu verilmelidir
Mükemmel olmasa da Apple’ın yaklaşımı oldukça iyi ve bu tür adımlardan sık geçmeniz gerekiyorsa bu da güvenlik açısından çok iyi bir işaret sayılmaz
Tersine, web siteleri sık sık bildirim izni istiyor ama ben bunu neredeyse hiç istemiyorum. Geçenlerde ayarlara bakarken yanlışlıkla izin verdiğim örneklerin düşündüğümden çok olduğunu fark edip şaşırdım; kabaca %5 kadarını yanlış tıklamışım gibi görünüyor
Bu izin, keylogger yapmak için kullanılır. Olay bu. Keylogger yazmayı mümkün kılan bir izin olduğu için tek tıklamayla verilmemeli; ek adımları haklı çıkaracak kadar riskli bir izin
spctl --master-disablekomutunu bir kez çalıştırıp ayarlardan bir kez işlem yapmanın yeterli olması. TCC neden böyle çalışamıyor, anlamıyorumÖnizleme amacıyla Apple, yaygın işler için API’ler sunabilir. İşletim sistemi görüntüyü sağlayabilir ve rastgele kayıt için kullanımı zorlaştıracak bir yenileme hızıyla örnekleme yapabilir
Tuş kombinasyonları için, şu anda harici eşleme yapılamayan emoji tuşu yeniden kullanılabilir; örneğin yalnızca belirli bir “sihirli dizi” sonrasında yakalamaya izin verilebilir. İşletim sistemi komutları merkezi olarak yönetir ve programa somut tuş vuruşları yerine sadece komutları iletirse, çakışma çözümlemesini de merkezileştirme avantajı doğar. Şu anda macOS’te bu kısım epey sancılı
Tüm sorunları çözmese de bir kısmını çözer. Daha iyi yollar da mutlaka vardır. Apple’da yeterince akıllı programcı var; ürün ekibi, uzman kullanıcıların açıkça canını sıkan bu sorunları çözmelerine izin vermeli
MacOS 10.11’den önce Mission Control iyiydi. Dört parmağınızı yukarı kaydırdığınızda tüm Spaces’lerin önizlemesini gösteriyordu, ama 10.11’de sebepsiz yere bozuldu ve çubuk sadece “Desktop 1”, “Desktop 2” gibi adları göstermeye başladı; önizleme için fareyle üzerine gelmek gerekiyor
Pratikte bunun etkisi, Spaces kullanımını yön duygusunu kaybettiren ve ezber gerektiren bir şeye dönüştürmesi oldu
Bazı üçüncü taraf yazılımlar bunu geri getiriyormuş gibi yapıyor ama fareyi hareket ettirip hover davranışını taklit ettikleri için gecikme oluşuyor ve animasyonlarla da düzgün bütünleşmiyor. SIP’yi kapatıp kod enjekte ederek çalışan yamalar da vardı(https://github.com/briankendall/forceFullDesktopBar), ama sonuçta onların da bakımı bırakıldı
Aradan 10 yıl geçmişken, Apple içinde bu arayüzün bir zamanlar iyi olduğunu hatırlayan biri kaldı mı merak ediyorum
Ama masaüstü ve tam ekran için neden farklı önizleme davranışları gerektiğini hiç anlamıyorum
Bu UX’te beni en çok sinirlendiren şey, Spaces’in görünürde hiçbir neden olmadan yeniden sıralanması. Genelde birkaç IDE penceresi açık tutuyorum ve pencerelerin yer değiştirip değiştirmediğini sürekli kontrol etmek yorucu oluyor
İşletim sistemi genelinde projeler ya da görevler gibi bir kavrama ihtiyaç var. Bu kavram uygulamaları aşmalı ve pencere yönetimiyle Spaces’e derinden entegre olmalı
Çoklu görev ve bağlam değiştirme yıllardır arttı, anlık mesajlaşma bunu yeniden hızlandırdı ve ajan tabanlı iş akışları da bu yönü daha da ileri itecek. Aynı uygulamayı birden fazla görev için kullandığımızdan, bu uygulama düzeyinde değil işletim sisteminin desteklemesi gereken bir konu
IDE’ler çalışma alanı ya da proje gibi ilkel kavramlara sahip olduğu için kod ve terminal bağlamını geri yükleyerek bir ölçüde yardımcı olabiliyor. Ama web sayfaları, IDE dışındaki ajanlar, iş arkadaşlarıyla ilgili sohbetler, proje yönetim uygulamaları gibi bağlantılı unsurlar hep ayrı kalıyor
Bu açıkça uygulama düzeyinde değil, işletim sistemi düzeyinde bir mesele. iPad’in alternatif pencere düzeni deneylerinden bazılarında potansiyel gördüm ama bana göre ne yeterince güçlüydüler ne de yeterince sezgiseldiler
Neden daha fazla ileri düzey kullanıcının bu düzeni ideal görmediğini anlayamıyorum. Zen Browser’ın sağlam bir alternatif olmasını umuyorum
¹https://blogs.kde.org/2026/01/17/streamline-plasma-with-acti...
Çalışma alanlarında sonsuz alan olması da hoşuma gidiyor; herhangi bir çalışma alanı sıkışıklaştı diye yeni bir çalışma alanı oluşturmayı düşünmek zorunda kalmıyorsunuz
Kanıtlayamam ama Apple’ın Leopard’da Spaces’i “açıklanamaz biçimde yalnızca tek bir yatay şeritle sınırlama” kararına ilham ya da sebep olarak kendisinin etkisi olmuş olabileceğini düşünüyor
2009’da jestle gezinme içeren doğrusal pencere yöneticisi kavram videosu yapmış; bugün neredeyse unutulmuş olsa da o dönemde teknoloji medyasında epey yer bulmuş ve 2010’ların başındaki bazı kavram kanıtlarını etkilemiş
Doğrusal pencere yönetiminin herkesin zevkine hitap etmediğini ama hâlâ geçerli bir fikir olduğunu düşünüyor. Bu duyuru ve tepkileri görünce cesaret bulmuş; hatta şu anda gerçekten buna benzer bir şey üzerinde çalışıyormuş
Bugün bir saat boyunca beklediğim gibi çalışmasını sağlamaya uğraştım ama hâlâ tuhaflıklar var. Kullanıma dayalı otomatik yeniden sıralamayı kapatsam bile üç parmak kaydırma önizlemesindeki sıra ile gerçek pencere sırası farklı. Görsel sıra beklendiği gibi ama kaydırma sırası doğrusal değil
https://github.com/mogenson/PaperWM.spoon
O tasarımdan ve Gnome’a yaptıklarından gerçekten nefret ediyorum. Izgara çok daha iyiydi
macOS’un pencere yönetimi, Mac’e geçmemi engelliyor. Aerospace benzeri çözümleri de kullandım ama i3wm’deki hızlı ve dikkat dağıtmayan deneyimi yeniden yaratamadım
Ne yazık ki macOS pencere yöneticisi biraz iOS bildirimlerine benziyor. Zamanla üretkenliği düşüren bir karmaşaya alışıyorsun ama daha iyi çözümleri de gözden kaçırıyorsun. Üstelik muhtemelen tüm macOS geliştiricileri Mac kullandığı için başka, daha iyi yaklaşımları görmüyor ya da anlamıyor olabilirler
Bu özelliğin etrafındaki her şeyin ne kadar aptalca tasarlanmış olduğuna şaşırdım. Birkaç yıl önce yapılabilen şeyler artık yapılamıyor. Örneğin klavyeyle masaüstü ya da çalışma alanı değiştirmek ve ızgara gibi şeyler
“AltTab” uygulamasıyla en azından fare olmadan uygulama geçişi yapılabiliyor, raycast ile de pencere yerleşimi ayarlanabiliyor ama macOS’ta geçiş ve yerleşimin bir döşemeli pencere yöneticisinden çok daha yavaş olması can sıkıcı
İyi bir UI için en büyük tehdidin çok sayıdaki profesyonel UI tasarımcısı olduğuna eminim. UI tasarımcılarının yarısı ortancanın altında ve bu insanlar UI tasarımını meslek olarak seçmiş
Her yıl yalnızca mevcut durumu savunarak kariyer ilerletilemediği için yeni bir şey tasarlamak zorundalar. Önceki şey iyi çalışsa da çalışmasa da yenisini yapıyorlar. Ama UI tasarımcılarının yarısı ortancanın altında olduğundan, yeni UI tasarımının gerileme olma ihtimali de yarı yarıya
Sonra da Apple etkinliği sahnesinde Liquid Glass hakkında ahkâm kesilen bir noktaya geliyoruz. Üzücü olan, birçok tasarımcının yalnızca görselliğe odaklanıp kullanılabilirliği neredeyse hiç anlamıyor gibi görünmesi. Mesela sektöre yeni giren tasarımcıların kaçı Fitts yasasını biliyor? Liquid Glass’ın bariz kullanılabilirlik sorunlarına karşı duran kaç tasarımcı vardı? Açıkçası nadir istisnalar dışında sorun tasarımcılar
Buna ürünün amacı, bu UI parçasının amacı, insan faktörleri, etkileşim tasarımı ve estetiğin ötesindeki kullanıcı deneyimi gibi konular dahil
Sözde bunların her birine çok önem veriliyor ama pratikte pek dikkate alınmıyor. Çünkü bunlar ne mülakat portföylerinde ne de yönetime sunulan raporlarda kazandıran unsurlar. Sonuçta sistem bu unsurları güçlü biçimde eleyip dışarı itiyor
Biraz konu dışı ama eski Aqua UI çok daha iyi görünüyordu. Ne’in kontrol neyin metin olduğunu görmek çok daha kolaydı, ayrıca görsel olarak da daha güzeldi
Yapılabilecek her eylem için düğmeye benzeyen bir düğme vardı ve araç çubuğuna bakınca çoğu zaman mümkün olan tüm eylemleri görebiliyordun. İçeriğin bir bölümünün tıklanabilir mi, düzenlenebilir mi olduğunu tahmin etmek gerekmiyordu
Günümüzde her şeye aşırı boşluk konuyor. Modern Windows Denetim Masası arayüzü, çoğu zaman bol boşluklu ve birkaç anahtarın serpiştirildiği çok sütunlu bir metin duvarı gibi hissettiriyor. Eski UI’lardaki kadar çok seçeneği sığdırmak için ya bazı anahtarları “artık kimsenin ihtiyacı yok” diye gizlemek ya da araya ek gezinme adımları koymak gerekti. Sonuç olarak yeni denetim masası şişkin ve daha az kullanışlı hissettiriyor
Bu, her gün onlarca kez yaşadığım sinir bozucu bir sorunu çözüyor
Izgara güzel ama daha da iyisi anında sanal ekran geçişi
Modern macOS’un “binlerce küçük rahatsızlıkla öldürme” alışkanlıkları arasında, Ctrl→→→→→→→ tuşlarına basıp aynı animasyonu tekrar tekrar çekmek kadar kötü çok az şey var
Nedeninden emin değilim ama sanki görsel tasarımcılar yeterince olgun değilmiş ve bizim havalı animasyonları sadece bir demoda ya da bir kez izlenen eğitimde değil, gün boyu, on yıllar boyunca tekrar tekrar görmek istediğimizi sanıyormuş gibi geliyor
Hiç de öyle değil. Bir kez görmek yetmişti. Animasyon istemiyorum. Ve “Hareketi Azalt” uygulaması hakaret gibi. Gecikme aynen duruyor, sadece bulanık bir crossfade’e dönüşüyor
Sınırsız kaynağa ve yetenekli tasarımcılara sahip bir şirketin bunu nasıl yapabildiğini bilmiyorum
Sadece bu sorunu hedefleyen bir çözüm olarak Instant Space Switcher kullanıyorum ve hayat değiştirecek kadar fark ediyor
Ctrl-UpArrowtuşuna basıp sonra istediğin Space’e de tıklayabilirsin. Anında değil ama çok sayıda masaüstü varsa tek tek dolaşmaktan daha iyi olabilir“Automatically rearrange Spaces based on most recent use” seçeneğini kapatmak da bence şart
Ben şahsen masaüstü başına sadece bir uygulama açıyorum ve yalnızca Command-Tab kullanıyorum. Command-Tab’den sonra Command tuşunu basılı tutarsan, tüm uygulamalar arasında dönmeden de uygulama seçebilirsin
defaults write com.apple.dock expose-animation-duration -float 0.05; killall Dock“20 yıl önceki Mac masaüstü deneyimi bugünkünden daha iyiydi” denirken, 20 yıl önce 2006 yılı oluyor. Ben bugün bile 20 yıl öncekiyle aynı masaüstü deneyimini kullanıyorum
Fvwm2 kullanıyorum ve bu yazarın özlediği ızgara biçimli sanal masaüstlerini Fvwm2’nin ve ondan önce Fvwm’in sanal masaüstü özelliğiyle kullanmaya devam ettim. Fvwm’e geçme nedenlerimden biri de ızgara biçimli sanal masaüstleriydi; tam zamanını hatırlamıyorum ama 1990’ların orta ya da sonlarıydı
Fvwm2 yapılandırmamı yıllar içinde biraz biraz iyileştirdim ama hiçbir noktada bir kurumsal tasarımcı çıkıp artık kullandığım özelliği kullanmamam gerektiğine karar vermedi
Tescilli yazılım kullanıcıların çıkarını gözetmiyor. Tek baktığı şey hisse fiyatı ya da sonraki çeyreğin geliri
Plasma ve Wayland’e geçmeden önce XFCE’yi neredeyse 15 yıl boyunca aynı yapılandırmayla kullandım ve güncellemeler yüzünden rahatsız edilmedim
Apple dikey Spaces özelliğini kaldırdığında gerçekten inanamadım. Gereksiz ekranların üzerinden atlamak zorunda kaldığım için bu özellik benim için işe yaramaz hale geldi ve sonunda kullanmayı bıraktım. Pratik değil