DockNest
Dock'u sade tutarken geliştirici araçlarına hızlı erişim veren macOS Dock başlatıcısı.
Neden var
Her IDE, editör, terminal ve yardımcı aracı Dock'ta tutmak yer ve dikkat maliyeti. DockNest, Dock çevresine demirlenen hafif bir popover olarak açılıyor, kurulu geliştirici araçlarını keşfediyor, grupluyor ve bir dosya ya da klasörü tile üstüne bırakarak açmanızı sağlıyor.
Ne yapar
- Dock kenarına demirlenen popover
- /Applications, /Applications/Utilities, /System/Applications, /System/Applications/Utilities ve ~/Applications genelinde otomatik keşif
- IDE ve Terminal olarak otomatik gruplama
- Dosya veya klasörü tile üstüne bırakıp o uygulamayla açma
- Keşfedilen uygulamaları gizleme/gösterme için popover içi ayarlar
- Telemetri yok, ağ erişimi yok, arka plan servisi yok
Teknoloji
- Swift
- AppKit
- UserDefaults
Kullanım
open DockNest.xcodeproj
xcodebuild -project DockNest.xcodeproj -scheme DockNest \
-configuration Debug -destination 'platform=macOS' build
Mühendislik notları
Keşif sabit bir liste değil metadata üzerinden çalışıyor; farklı geliştirici kurulumlarında sabit uygulama listesi bakımı gerektirmeden çalışmasını sağlayan şey bu: IDE ve geliştirici araçları LSApplicationCategoryType değerinin public.app-category.developer-tools olmasından, terminal uygulamaları ise CFBundleTypeRole değerinin Shell olması ve com.apple.terminal.shell-script tipi gibi shell'e dair doküman desteği metadatasından tespit ediliyor. Gizlenen uygulama tercihleri yerelde UserDefaults'ta tutuluyor ve uygulama hiçbir dosyanın içeriğini okumuyor.
Sınırlar
- macOS, Dock ikonu üzerinde sürükleme-vurgusunu tespit etmek için genel API sunmuyor; bırakma yalnızca popover açıkken çalışıyor.
- Dock tile geometrisi genel API'lerle açılmıyor; popover yerleşimi aktif Dock kenarına göre yaklaşık hesaplanıyor.