Başlangıç noktası tanıdık
MCopy, tanıdık bir başlangıç noktasını koruyan kişisel bir Windows aracı: sağ tık, kopyala ve yapıştır. Proje, kullanıcıyı terminal akışına taşımadan bu etkileşimin kuyruk yönetimli bir kopyalama sürecine, ayrı bir ilerleme görünümüne ve kontrollere nasıl bağlanabileceğini araştırıyor.
Amaç hareketi değiştirmek değil. Küçük ve bildik hareketi korurken arka plandaki işi daha kolay izlenir kılmak. GPUI ile oluşturulan pencere ilerlemeyi ve kullanılabilir kontrolleri gösteriyor; kopyalama orkestrasyonu ise arayüzden ayrı çalışıyor.
Karmaşıklığı sınırlar taşıyor
Proje dört sorumluluğu birbirinden ayırıyor: kabuk entegrasyonu, pano durumu, kopyalama orkestrasyonu ve arayüz. Bu ayrım, Windows ile ilgili davranışları ilerleme görünümünden uzak tutuyor. Arayüzün yeniden çizim işleri de kopyalama mantığına karışmıyor. Duraklatma, sürdürme ve iptal isteklerinin sistemde izleyeceği yol belirginleşiyor.
- Arayüz güncellemelerini kuyruktaki kopyalama işinden ayrı tutacak biçimde tasarlanan GPUI ilerleme penceresi.
- İşlemin güvenli noktalarında devreye giren duraklatma, sürdürme ve iptal kontrolleri.
- Kabuk entegrasyonu, pano durumu, kopyalama orkestrasyonu ve arayüz arasında temiz bir ayrım.
Kontroller, durum modelinin parçası
Duraklatma, sürdürme ve iptal, devam eden işi rastgele kesen düğmeler olarak ele alınmıyor. Bunlar kopyalama sürecinin güvenli noktalarda gözlemlediği kontrol istekleri. Böylece arayüz, dosya işleminin sahibi olmadan istenen ya da değişen durumu yansıtabiliyor.
Bu yaklaşım kuyruğu anlamayı da kolaylaştırıyor. Pano girdisi, kuyruk sırası, ilerleme bildirimi ve kullanıcı kontrolleri ayrı sorumluluklara sahip. Buradaki esas karar, pencereye yeni bir komut eklemekten çok bu sınırları açık tutmak.
Neden Rust ve GPUI
Kuyruk yönetimli kopyalama, dosya işi ve arayüz güncellemeleri ayrı yollarda ilerlerken sahipliği ve durum değişikliklerini açık biçimde temsil etmeli. Rust bu ayrım için sistem programlama temelini sağlıyor. GPUI ise görünüm kodunu kopyalama orkestrasyonuna karıştırmadan durumu gösterecek ilerleme penceresini kuruyor.
Projenin kanıt noktası aktarım boyutu ya da hız iddiası değil. Odak, iş akışının yapısında: tanıdık bir kabuk hareketi, açık bir kuyruk, görünür ilerleme ve işlemle birlikte çalışan kontroller.
Çalışma neyi gösteriyor
MCopy, etkileşim tasarımıyla sistem yapısının aynı hedefi nasıl destekleyebileceğini gösteriyor. Görünür hareket tanıdık kalıyor; bu sadeliği içerideki sınırlar mümkün kılıyor. Arayüz işlerinde de aynı ilkeyi izliyorum: kullanıcının öğrenmesi gerekenleri azaltmak, ardından alttaki durumları uygulama içinde açıkça modellemek.