Tüm projeler

VAKA ÇALIŞMASI · 2025

WindowWeaver

macOS’te tekrar eden pencere yerleştirme işlerini menü çubuğundan ve klavyeden tek adıma indiren, veri toplamayan açık kaynak bir yardımcı.

Alan
macOS · Swift · Open Source
Rol
Ürün ve mühendislik · açık kaynak
WindowWeaver ürün görseli
Problem

Masaüstünde tekrar eden pencere düzenleme işlemleri odağı bölüyor ve çalışma alanını yönetmeyi yavaşlatıyor.

Yaklaşım

macOS’in doğal davranışlarına uyum sağlayan hızlı, doğrudan ve klavye dostu bir pencere yönetimi deneyimi geliştirdim.

Sonuç

Pencere düzenlemeyi daha az adımla gerçekleştiren, açık kaynak ve macOS odaklı bir yardımcı ürün.

RAKAMLARLA
1.281

satır Swift, 14 dosyada

0

ağ isteği — internet bağlantısı gerekmiyor

Notarized

Apple tarafından onaylı dağıtım

01

Teknik kararlar

Her kararın bir bedeli var; burada ikisi birlikte duruyor.

01

Yerleşimleri sabit bir sözlükte tuttum

Serbest ızgara yerine sınırlı ve tahmin edilebilir bir küme var: üçte bir bölmeler (sol, orta, sağ), yarımlar, dört köşe, dikey bölme, ortalama ve tam ekran. ScreenPosition bu sözlüğü tanımlıyor, WindowManager uyguluyor.

Bedeli

Karmaşık, çok pencereli düzenler kurulamıyor. Karşılığında her komutun sonucu önceden biliniyor ve kas hafızasına yerleşiyor.

02

Erişilebilirlik iznini tek bağımlılık yaptım

Uygulama pencereleri macOS Accessibility API üzerinden taşıyor. Bunun dışında hiçbir izne, hesaba veya ağ bağlantısına ihtiyaç duymuyor; hiçbir veri toplamıyor.

Bedeli

İlk açılışta kullanıcıdan sistem ayarlarından izin vermesi isteniyor — kurulumdaki tek sürtünme noktası. Alternatifi, aynı işi yapan daha müdahaleci bir yaklaşımdı.

03

Menü çubuğunu ana arayüz seçtim

Uygulamanın kalıcı bir penceresi yok; StatusBarController menü çubuğunda duruyor ve düzenler oradan ya da klavye kısayollarından uygulanıyor.

Bedeli

Keşfedilebilirlik düşüyor: kısayolları öğrenene kadar menüye gitmek gerekiyor. Ancak pencere yöneten bir aracın kendi penceresiyle yer kaplaması tuhaf olurdu.

02

Ekran ekran

Menü çubuğundan yerleşim

Menü çubuğundan yerleşim

Düzen seçenekleri tek panelde; her birinin klavye karşılığı yanında duruyor.

03

Kullanılan teknolojiler

SwiftSwiftUIAppKitAccessibility APImacOS 11+
Sıradaki vaka çalışmasıClipAura