3 puan yazan GN⁺ 2025-02-10 | 1 yorum | WhatsApp'ta paylaş
  • FlashSpace, macOS’un yerleşik Spaces özelliğini geliştiren veya onun yerine geçebilen bir sanal çalışma alanı yöneticisidir; amacı macOS animasyonlarını beklemeden hızlı çalışma alanı geçişi sağlamaktır
  • Her çalışma alanına uygulamalar ve ekranlar atanabilir; geçiş sırasında ilgili ekrandaki atanmış uygulamalar gösterilir, diğerleri gizlenir ve böylece bağımsız çoklu ekran geçişi desteklenir
  • Space Control, Option + Tab tabanlı Workspace Switcher, Focus Manager, profiller, kaydırma hareketleri, Floating Apps, JSON/YAML/TOML yapılandırması, CLI, SketchyBar ve Raycast entegrasyonu sunar
  • macOS 14.0 veya üstü ve “Displays have separate Spaces” ayarı gerekir; Homebrew kurulumu, ikili dosya indirme ve kaynaktan derleme desteklenir
  • Tek tek pencere düzeyinde çalışma alanı ve düzen yönetimi desteklenmez; macOS’ta belirli pencereleri gizlemeye yönelik herkese açık API olmaması ve sadelik·performans gerekçesiyle uygulama gösterme/gizleme merkezli tasarım korunur

FlashSpace ne yapar

  • FlashSpace, macOS için tasarlanmış bir sanal çalışma alanı yöneticisidir; varsayılan macOS Spaces’i geliştirmek ve onun yerini almak üzere tasarlanmıştır
  • Hedefi, macOS animasyonlarını beklemeyi gerektirmeyen hızlı çalışma alanı geçişi sağlamaktır
  • Her çalışma alanına uygulamalar atanır ve çalışma alanının kendisi belirli bir ekrana atanır
  • Bir çalışma alanına geçildiğinde atanmış uygulamalar otomatik olarak gösterilir, aynı ekrandaki diğer uygulamalar gizlenir
  • Birden çok ekranda çalışma alanları bağımsız olarak değiştirilebilir

Kurulum ve temel kullanım akışı

  • Gereksinimler macOS 14.0 veya üstü ve sistem ayarlarındaki Desktop & Dock altında “Displays have separate Spaces” seçeneğinin etkin olmasıdır
  • Kurulum yöntemleri olarak Homebrew, sürüm ikili dosyası indirme ve kaynaktan derleme desteklenir
    • Homebrew kurulum komutu: brew install flashspace
    • İkili dosyalar Releases Page üzerinden indirilebilir
  • Temel kullanım akışı şöyledir
    • Tüm uygulamaları ekran başına tek bir macOS Space’e taşıma
    • Çalışma alanı oluşturma
    • Uygulama atama
    • Çalışma alanına ekran atama veya dinamik mod kullanma
    • Hızlı etkinleştirme için kısayol ayarlama
    • Aynı işlemleri diğer çalışma alanları için de uygulama
    • Kısayollarla ayarlanmış çalışma alanları arasında geçiş yapma
  • Aynı uygulamayı birden fazla çalışma alanında tutmak için uygulama ayarlarındaki Floating Apps özelliğini kullanabilir veya ana uygulama penceresinden uygulamayı birden fazla çalışma alanına ekleyebilirsiniz

Başlıca özellikler

  • Hızlı çalışma alanı geçişi ve çoklu ekran desteği sunar
  • Space Control, tüm çalışma alanlarını ızgara görünümünde önizleyip aralarında geçiş yapmayı sağlar
    • 0-9 ve yön tuşlarıyla çalışma alanları arasında geçiş yapılabilir
  • Workspace Switcher, varsayılan olarak Option + Tab ile çalışma alanı listesini açar ve geçiş yapar
    • macOS uygulama değiştiricisi CMD + Tab ile benzer şekilde çalışır
  • Focus Manager, kısayollarla pencereler arasındaki odağı istenen yöne taşır ve ekranlar arası sıçramayı da destekler
  • Diğer özellikler şunları içerir
    • Uygulama odağı algılandıktan sonra çalışma alanını etkinleştirme
    • İmleci etkin pencerenin merkezine otomatik hizalayan Cursor manager
    • Birden çok ayarı hızlıca değiştirmek için Profiles
    • Çalışma alanı başına simge ve metin ayarlanabilen menü çubuğu
    • Trackpad kaydırma hareketlerinin özelleştirilmesi
    • GUI ve yapılandırma dosyası tabanlı kurulum
    • JSON, YAML, TOML yapılandırma dosyası formatı desteği
    • CLI üzerinden uygulama kontrolü
    • Picture-in-Picture desteği
    • SketchyBar entegrasyonu
    • Raycast extension desteği

Ekran atama yöntemleri

  • FlashSpace, iki ekran atama yöntemini destekler: statik mod ve dinamik mod
  • Statik mod varsayılandır ve her çalışma alanını belirli bir ekrana atar
    • macOS Spaces gibi ekran başına ayrılmış çalışma alanı isteyen kullanıcılar için uygundur
    • Birden çok ekran kullanıp düzeni sık sık değiştiriyorsanız zorlayıcı olabilir
  • Dinamik mod, her çalışma alanını o çalışma alanındaki uygulamaların bulunduğu ekrana otomatik olarak atar
    • Tek bir çalışma alanı aynı anda birden fazla ekranda gösterilebilir
    • Uygulamaları ekranlar arasında taşıyarak çalışma alanlarını yeniden düzenlemek istediğinizde kullanışlıdır
    • Bu modda boş çalışma alanları gösterilemez
  • Ekran atama modu, uygulama ayarlarındaki Workspaces bölümünden değiştirilebilir

Picture-in-Picture desteği ve kısıtlamalar

  • FlashSpace, Picture-in-Picture modunu destekler ancak bu özellik deneyseldir
  • Bu özellik App Settings -> Workspaces üzerinden devre dışı bırakılabilir
  • macOS, yalnızca belirli bir pencereyi gizlemeye yönelik herkese açık bir API sunmaz ve bir uygulama gizlenirse PiP penceresi de onunla birlikte gizlenir
  • FlashSpace, bu sorunu aşmak için uygulamanın PiP desteğini tespit eder ve PiP penceresi dışındaki tüm pencereleri ekran köşesine gizler
  • PiP penceresi görünmüyorsa standart davranış uygulanır
  • Desteklenen tarayıcılar Safari, Zen Browser, Chrome, Firefox, Brave, Vivaldi, Arc, Dia, Opera, Microsoft Edge ve Comet’tir
  • Tarayıcı dili English olarak ayarlı değilse bu özellik çalışmayabilir

Tasarım ilkeleri ve bilinçli olarak desteklenmeyenler

  • Projenin değerleri performans, sadelik, kararlılık, rahatsız etmeyen davranış ve UNIX felsefesidir
  • FlashSpace, çalışma alanı yönetimini tek bir iş olarak görür ve bunu iyi yapmaya odaklanır
  • Rahatsız etmeyen davranış

    • FlashSpace, pencereleri agresif biçimde yönetmez
    • Bir çalışma alanına geçtikten sonra o çalışma alanına atanmış olmayan bir uygulamayı çağırırsanız, bu uygulama çalışma alanı uygulamalarının üzerinde görünür
    • Bu davranış, diğer uygulamalara hızlı erişim sağlarken görsel hataları veya çalışma alanı geçişlerini önlemeye yardımcı olur
    • Döşemeli pencere yöneticilerinde, ayarlanmamış açılır pencereler veya iletişim kutuları nedeniyle görsel hatalar sık görülebilir
    • FlashSpace, atanmamış pencereleri ve uygulamaları yönetmeyerek sistemle çakışmadan etkileşim kurar
  • Uygulama penceresi bazında çalışma alanı desteği yok

    • FlashSpace, bir uygulamanın tek tek pencerelerini çalışma alanlarına göre ayırma fikrini desteklemez
    • Bu, basit ve hızlı kalmak için verilmiş bilinçli bir karardır
    • Yerel gösterme/gizleme işlevlerine dayanarak çalışma alanı yönetimini ve geçişini verimli biçimde gerçekleştirir
    • Bu yaklaşım pil için avantajlıdır ve Mission Control gibi sistem özelliklerini bozmaz
    • Tek tek pencere desteği büyük bir karmaşıklık yaratabilir ve performansı olumsuz etkileyebilir
    • macOS’ta belirli pencereleri gizlemeye yönelik herkese açık bir API yoktur; mevcut seçenekler pencereyi ekran köşesine taşımak veya simge durumuna küçültmektir ve ikisi de ideal bir kullanıcı deneyimi sunmaz
  • Düzen desteği yok

    • FlashSpace, pencere taşıma, yeniden boyutlandırma veya düzen değiştirme işlemlerini desteklemez
    • Bu özellik karmaşıklığı ciddi ölçüde artırabilir ve performansı olumsuz etkileyebilir
    • Tüm uç durumları ve görsel hataları desteklemek çok iş gerektirir
    • Magnet, Rectangle, Raycast gibi pencere yönetim uygulamalarıyla birlikte kullanılabildiği için bu işlevi tekrar etmez

Entegrasyon, CLI ve derleme

  • SketchyBar gibi araçlarla entegre olabilir ve çalışma alanı değiştiğinde yapılandırılabilir betikler çalıştırır
  • CLI, çalışma alanı, uygulama ve profil yönetimini destekler
    • Önce uygulama ayarlarındaki CLI bölümünden kurulmalıdır
    • Kullanılabilir komutları görmek için flashspace --help çalıştırılabilir
  • Kaynaktan derleme, XcodeGen ile project.yml dosyasından Xcode projesi üretir
    • Depoyu klonladıktan sonra bağımlılıkları brew bundle ile kurun
    • xcodegen generate komutunu çalıştırdıktan sonra FlashSpace.xcodeproj dosyasını Xcode’da açıp derleyin
    • Dal değiştirdiğinizde veya değişiklikleri çektiğinizde xcodegen generate komutunu yeniden çalıştırmanız gerekir
    • İmzalama ayarlarını da içeren bir proje oluşturmak için XCODE_DEVELOPMENT_TEAM=YOUR_TEAM_ID xcodegen generate kullanılabilir

Kullanım ipuçları

  • macOS’ta uyku sonrasında uygulamaların yanlış ekranda görünmesine yol açan bir hata vardır
    • Bu durum, uygulamalar uyku sırasında gizlenmişse ortaya çıkar
    • Uyandıktan sonra giriş yapmadan önce tüm ekranları açarsanız uygulamalar doğru ekranda görünebilir
  • macOS 15, üçüncü taraf uygulama olmadan pencere taşıma ve yeniden boyutlandırma işlevleri sunar
    • Menü çubuğundaki Window altında Move & Resize alt menüsüne bakabilirsiniz
    • Kısayol özelleştirmesi sınırlıdır; daha esnek bir yaklaşım için Raycast, Magnet gibi pencere yönetim uygulamaları kullanılabilir
  • Aynı uygulamanın pencereleri arasında odak değiştirmek için macOS’un Cmd + ` kısayolu kullanılabilir
  • SKHD, özel global kısayollar tanımlayan bir CLI aracıdır ve FlashSpace CLI ile birlikte kullanılabilir
  • Raycast kullanıcıları, Raycast extension ile klavyeden ayrılmadan FlashSpace’i yönetebilir

1 yorum

 
GN⁺ 2025-02-10
  • Amethyst ile uyumlu olup olmadığını merak ediyorum. Tiling pencere düzeni istiyorum ama alan geçişlerindeki gecikmeyi istemiyorum

  • Çok iyi! Çalışma alanları için ızgara görünümü eklenebilmesini umuyorum. TotalSpaces'ı özlüyorum

  • Tam zamanı. Bu alandaki seçenekleri yeniden inceliyordum ve Aerospace'te karar kıldım. Bunu da deneyeceğim

  • Teşekkürler! Az önce kurdum, şu ana kadar iyi çalışıyor

  • Bir yılı aşkın süredir bu amaç için AeroSpace kullanıyorum. Ayarlarda tüm tiling özelliklerini devre dışı bırakıp yalnızca iki kısayol kullanıyorum: çalışma alanına geç ve mevcut pencereyi çalışma alanına taşı. Küçük ekranda çalışırken vazgeçilmez

    • AeroSpace performans sorunları yaşıyor, ancak bu kullanılabilen macOS API'lerine içkin bir sorun gibi görünüyor
    • FlashSpace de bu sorunu yaşıyor gibi görünüyor
    • Ayarlar konusunda, her çalışma alanı için kısayol tanımlamanın zahmetli olduğunu düşünüyorum. AeroSpace'te klavyedeki tüm harfler ve sayılar otomatik olarak çalışma alanı oluyor ve kısayollar genel oluyor
    • Tüm bunları göz önünde bulundurunca, ana hedefi macOS çalışma alanı sorunlarını çözmek olan bir aracı tercih ediyorum
    • Ek testlerin sonucunda, FlashSpace aynı uygulamanın farklı pencerelerini farklı çalışma alanlarında desteklemiyor. Bu, benim iş akışım için büyük bir sorun