MacVim neden diğer tüm çağrılardan farklı şekilde başlıyor?


13

Bugün MacBook'umda bazı işler yapmak için oturduğumda, son zamanlarda bir zamanlar .gvimrcayarlarım ile ilgili bir şeylerin bozulduğunu fark ettim: MacVim'i başlattığımda, penceremin çok küçük olması dışında her şey normal görünüyordu (yaklaşık olarak varsayılan boyut ). Meraklı, verbose set columns?pencere açık 180 sütun geniş olmasa bile bana "180, ~ / .gvimrc son seti" söyledi denedim . set columns=180pencereyi beklenen genişliğe geri yükledi.

RC dosyalarımın her zamanki hata ayıklama ve ikiye bölünmesinden sonra, olağandışı bir şey fark ettim. Bunun sütun boyutlarının uygulanmadığı veya uygulanmadığıyla ilgili olup olmadığından emin değilim, her iki şekilde de merak ediyor ve anlayamıyorum.

Çalıştırırsam:, mvim -u NONE -c "set columns=100"şöyle bir pencere alırım: mvim 1

Aynı komutu tekrar çalıştırırsam , şunu elde ederim: mvim 2

verbose set co?her iki durumda da "-c argümanından son küme" diyerek sırasıyla 100 ve 66 rapor eder. Başlatma komutunun tekrarlanması, pencere durumunun değişmesine neden olur.

Koşular .viminfoarasında nuking denedim ; etkisi yoktur.

MacVim anlık görüntü 74'ü şimdi kullanıyorum, ancak bu olmaya başladığında ve sadece bir sürümleme olup olmadığını görmek için yükseltildiğinde önceki bir sürümdeydim. 10.10.3'teyim ve bu davranışın işletim sistemi güncellemesi (yalnızca son zamanlarda meydana gelen) sonucunda ortaya çıkan MacVim'e özgü bir hatadan kaynaklanması mümkündür. Ancak eşimin dizüstü bilgisayarına (aynı işletim sistemi sürümünü çalıştırarak) MacVim yüklersem, davranış yeniden üretilmez.

Kayboldum. Yeryüzünde ne bu davranışa neden olabilir?


EDIT: Hata ayıklama devam ettikten sonra, sadece dizüstü bilgisayara bağlı bir harici monitör varsa bu şekilde çoğaltma gibi görünüyor fark ettim. Bu beni bir tür hata olduğuna inandırıyor.

Yanıtlar:


16

Birkaç saat MacVim kod tabanı spelunking sonra, ben bunun neden olduğunu görebilirsiniz.

MacVim başladığında, önceden kaydedilmiş pencere konumunu okur ve NSUserDefaultsbu konumu geri yüklemeye çalışır. Bu noktada pencere henüz gösterilmemiştir ve kökeni her zaman 'ana' ekranda olan bazı (muhtemelen işletim sistemi seçilidir) varsayılan değerdir. Pencerenin önceki konumu farklı bir monitördeyse, pencerenin konumunu değiştirmek "yeniden boyutlandırılmış" bir olayı tetikler (karşılık gelen "yeniden boyutlandırılacak" bir olay olmadığı için 10.10.3'te bu yeni veya bir hata olabilir. oluşturulur).

Bu, MacVim'in Vim arka ucunu yeniden boyutlandırmaya çalışmasına neden olur, ancak yeniden boyutlandırmanın düzgün bir şekilde yapılandırılmasını sağlamak için kullanılan durum için işlemin yürütülmesinde çok erken. Bu nedenle MacVim, Vim'in kendisini etkin bir şekilde varsayılan bir değerle yeniden boyutlandırmasını ister, bu da MacVim'in Vim arka ucundan yeniden boyutlandırmaya yanıt vermesi için pencerenin küçülmesine neden olur (MacVim pencereleri tembel olarak yeniden boyutlandırır).


EDIT: Bu değişiklik, hatayı düzeltir bence. Pencere yeniden boyutlandırılıncaya kadar pencere boyutlarının Vim arka ucuna yayılmamasına neden olur.


1
Bağlantı koptu, bu ilginç görünüyor çünkü utanç verici. (Ayrıca: "Spelunking" kelimesini kullanımınızı seviyorum.): D
Joker

@Wildcard Sonunda yerel şubemdeki taahhüt yerine yaptığım PR'a bağlantıyı güncelledim (MacVim'in ana deposuna kesin erişim sağladığımda sildim).
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.