İkinci monitörü çıkarırken ve değiştirirken pencere boyutlarını ve yerleşimini unutmayın


99

İşte berbat bir şey:

  1. Harici monitörü dizüstü bilgisayara takın (benim durumumda Mac OS X Leopard).
  2. Pencerelerinizi IDE'nin bir ekranda ve diğerinde tarayıcı olmasını sağlayacak şekilde düzenleyin. (Vb vb. Yeniden boyutlandırın, yeniden düzenleyin, yaygara, yaygara, yaygara.)
  3. Bir toplantıya katılmak için monitörün fişini çekin.
  4. Goto 1.

2. adımı "bilgisayar tam olarak nasıl aldığımı hatırlar ve geri o şekilde geri koyar" ile değiştirmek istiyorum.

(Kişisel olarak yalnızca Mac için bir çözüme ihtiyacım var ancak buradaki diğer sistemler için çözümler toplamak başkaları için yararlı olabilir. Bunun yaygın bir sorun olduğundan eminim.)

Yanıtlar:


56

Göz at Stay Şarjlı Dog tarafından. Tam olarak aradığınızı yaptığına inanıyorum.


2
Bunu denedim. X11 pencereleri için işe yaramaz, ancak ilan edilmiş gibi görünür. İşaretçi için teşekkürler! Şu anda Mac için bir çözüme en yakın çözüm bu olabilir.
dreeves

X11 pencereleri "gerçek" değildir NSWindow örnekleri (en azından son kontrol ettiğimde değildi), bu yüzden Stay onlarla hiçbir şey yapmak istemiyor büyük bir sürpriz değil :) Aksi halde işe yaradı!

1
Bu iyi görünüyor, ancak Lion'daki tam ekran uygulamalarla çalışmıyor. 1 ekran varken Safari'yi tam ekran modunda kullanıyorum ve 2. ekranı ekledikten sonra, tam ekrandan çıkıp Safari'yi ikinci ekrana taşımak istiyorum. Stay, herhangi bir tam ekran uygulamasını taşımıyor.

1
İyi bir uyum gibi görünüyordu. Ancak 3 harici ekranla, sık sık konumlarla ilgili problemleri vardı ve problemi% 50'ye kadar çözdü. Bu yüzden hala çok fazla el işi yapmak zorunda kaldım. Daha yeni kurdum. Oh, ve sadece 30 günlük deneme süresi!
Ernst Ernst

15

Slate ,tam olarak istediğiniziyapan çok güçlü ve ücretsiz bir Mac uygulaması. İkincil monitörünüzü taktığınızda , yeni monitörü otomatik olarak algılar ve tüm pencereleriniz istediğiniz gibi taşınır ve yeniden boyutlandırılır. Tam ekran, yarım ekran ve ızgara tabanlı dahil olmak üzere tüm uygulamalarınız için özel konumlar ve boyutlar tanımlayabilirsiniz.

Slate hakkındaki en güzel şeylerden biri, bağladığınız monitörlerin sayısına bağlı olarak farklı düzenler tanımlayabilmenizdir . Örneğin, dizüstü bilgisayarınızı kendi başına kullanıyorsanız, tüm uygulamalarınızın tüm ekranı doldurmasını isteyebilirsiniz. Ancak daha büyük bir ikincil monitörünüz olduğunda, ekranınızı tarayıcınız, postanız ve müziğiniz arasında bölmek isteyebilirsiniz. Slate bunu kolayca yapar.

Ayrıca belirli düzenler için klavye kısayollarını ve pencereleri belirli bir yüzdede gezinme ve yeniden boyutlandırma gibi eylemler için tanımlayabilirsiniz .

Aşağıda benim yapılandırma dosyam var. Tüm uygulamalarımı tüm monitörlerde tam ekranda tutuyorum, ancak bunları yarım veya başka bir boyuta getirmek için değiştirebilirsiniz:

# Monitor Aliases
alias mon-laptop    0    # variable for my laptop monitor
alias mon-hp        1    # my external HP monitor

# Window Position Regions
alias hp-full        move screenOriginX;screenOriginY screenSizeX;screenSizeY         ${mon-hp}
alias hp-left        move screenOriginX;screenOriginY screenSizeX/2;screenSizeY         ${mon-hp}
alias hp-right       move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY         ${mon-hp}
alias laptop-full        move screenOriginX;screenOriginY screenSizeX;screenSizeY         ${mon-laptop}
alias laptop-left        move screenOriginX;screenOriginY screenSizeX/2;screenSizeY         ${mon-laptop}
alias laptop-right       move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY         ${mon-laptop}
alias laptop-righttop    move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY/2       ${mon-laptop}
alias laptop-rightbottom move screenOriginX+screenSizeX/2;screenOriginY+screenSizeY/2    screenSizeX/2;screenSizeY/2       ${mon-laptop}

# Window layouts for when I have 2 monitors
layout 2monitor 'Google Chrome':REPEAT ${hp-full}
layout 2monitor 'iCal':REPEAT ${hp-full}
layout 2monitor 'Coda':REPEAT ${hp-full}
layout 2monitor 'Mail':REPEAT ${laptop-full}
layout 2monitor 'Rdio':REPEAT ${laptop-full}
layout 2monitor 'Spotify':REPEAT ${laptop-full}
layout 2monitor 'Evernote':REPEAT ${laptop-full}

# Single monitor window layouts
layout 1monitor 'Google Chrome':REPEAT ${laptop-full}
layout 1monitor 'iCal':REPEAT ${laptop-full}
layout 1monitor 'Coda':REPEAT ${laptop-full}
layout 1monitor 'Mail':REPEAT ${laptop-full}
layout 1monitor 'Rdio':REPEAT ${laptop-full}
layout 1monitor 'Spotify':REPEAT ${laptop-full}
layout 1monitor 'Evernote':REPEAT ${laptop-full}

# Keyboard shortcuts for each layout
bind l:shift;ctrl layout 2monitor
bind g:shift;ctrl grid padding:5 0:2,1 1:2,2

# Auto-detect when a monitor is plugged in or out
default 2monitor count:2
default 1monitor count:1

Slate GitHub sayfasındaki özelliklerin listesi:

  • Son derece özelleştirilebilir
  • Tuş vuruşlarını şuna bağla:
    • pencereleri taşı ve / veya yeniden boyutlandır
    • yönlü odaklama pencereleri
    • önceden belirlenmiş düzenleri aktive et
    • mevcut Windows durumunun anlık görüntülerini oluşturun, silin ve etkinleştirin
  • Yapılandırma algılandığında etkin olacak farklı monitör yapılandırmaları için varsayılan düzenler ayarlayın.
  • Pencere İpuçları: Pencere odağını değiştirmenin sezgisel bir yolu
  • [Beta] Daha iyi, daha özelleştirilebilir bir uygulama değiştiricisi.

İşte Slate'den en iyi şekilde nasıl yararlanabileceğinize dair harika bir rehber .


Pencerelerin en son takıldığı yerdeki harici monitörler ne zaman yerleştirildiğini ve sadece onları geri yüklediğini hatırlıyor mu? "Stay" uygulaması neredeyse bunu yapıyor ama pencereleri (özellikle Chrome'u) hatırlamakta başarısız oluyor, bu yüzden hala daha iyi bir şey arıyorum.
dreeves,

@ Fikirler Evet, benim için çalışıyor. Bunu Slate'in “Anlık Fotoğraf Al” ve “Anlık Fotoğrafı Etkinleştir” menü öğelerini kullanarak el ile yaptım; bilgisayarınızı uyku moduna sokmadan önce ve sonra tıklarsanız, tüm pencere konumlarınızı kaydeder ve geri yüklersiniz. Gönderen docs , bu Slate onun ile otomatik olarak “Activate Snapshot” yapabileceği gibi görünüyor defaultdirektifi . "Anlık Fotoğraf Çek" kısmını otomatik hale getirebilir misin bilmiyorum.
Rory O'Kane

2
OP kullanımı durumunda, anlık görüntüyü kaydet'i ve menüdeki anlık görüntüyü geri yükleyebileceklerini belirtmek istiyorum. İstediğiniz yalnızca bir pencere yapılandırması olduğu sürece, başka bir şeyle uğraşmadan iyi çalışması gerekir.
Muhd

3
Artık kayrak tutulmuyor, Hammerspoon'u şimdi kullanmayı önerdiler.
certainlyakey

8

Bunu küçük bir AppleScript ve küçük ücretsiz yardımcı program Quicksilver ile çözdüm.

  1. Bu küçük AppleScript'i bilgisayarınızda değişmeyecek bir yere kaydedin:

    try
        tell application "Adium"
            activate
            tell window "contacts"
                set the bounds to {1281, 200, 1460, 850}
            end tell
            tell chat windows
                set the bounds to {1281, 800, 1800, 1200}
            end tell
        end tell
    end try
    
    try
        tell application "iTunes"
            activate
            set the bounds of the first window to {1750, 520, 2700, 1150}
        end tell
    end try
    
    try
        tell application "Terminal"
            activate
            set the bounds of the first window to {2450, 320, 3180, 950}
        end tell
    end try
    
    try
        tell application "Firefox"
            activate
            set the bounds of the first window to {1460, 20, 2800, 950}
        end tell
    end try
    
  2. Monitörünüzde hangi uygulamaları istediğinizi özelleştirmeniz ve pencerenin istediğiniz şekilde sınırlandırılması gerekir. Ben bir programcıyım ve yukarıdaki yapılandırma ikinci monitörümü nasıl çalıştırdığım.

  3. Quicksilver uygulamasını yükleyin .

    Dock'ta görünmemesini sağladım ve sadece küçük bir görev çubuğu arka plan programı olarak çalıştırdım.

  4. Quicksilver'da bir tuş komutu ayarlayın ve gerçekleştirilecek eylem olarak AppleScript'inizi adım 1'den pencereye sürükleyip bırakın. Onu bağladım CommandShiftA. Harika çalışıyor!


3
Yönetmeniz gereken çok sayıda uygulama varsa, özellikle ölçeklendirilemez. Ayrıca yönetimi de kolay değil! Sabit kodlama sınırları gerçekten eğlenceli değil.
fatuhoku

Uygulamanın göründüğü masaüstünü ayarlayabilir misiniz?
tehlikeli

3

Monitörü fişten çekmeden önce, tamamen ana monitörde olmayan her şeyi kapatın. Uygulamalar genellikle kapandıklarında durumlarını (pencere yerleştirme dahil) kaydederler ve açtıklarında okurlar; bu nedenle, ikinci monitör her iki durumda da mevcutsa, iyi olmanız gerekir.

Bir seferde birden fazla vakanın açılmasına izin veren, ancak yalnızca yakın durumda durumu koruyan uygulamalardan yararlanabilirsiniz. Çoklu monitör örneğini kapatın (bu durumun kaydedilmesine neden olur). İkinci monitörün fişini çekin. Çalışmakta olan ikinci bir örneğiniz varsa, ana monitöre yeniden konumlandırılmalıdır, yoksa başka bir örneğe başlayabilirsiniz. İkinci monitörü tekrar takmadan ve başka bir örneğe başlamadan önce bu örneği kapatmayın (bu, başlangıçta çoklu monitör yapılandırmasını okuyacaktır). Ardından, tek monitör durumundan (bu durumu kaydederek) ve sonra çoklu monitör örneğinden (tek monitör durumunun üzerine yazabilirsiniz) çıkabilirsiniz.

Daha karmaşık bir seçenek, durumun nerede kaydedildiğini bulmak, yedeklemek ve uygulamayı açmadan önce geri yüklemek için bir toplu iş dosyası / komut dosyası yazmak olabilir; bu, uygulamayı başlattığınızda otomatik olarak bunu yapmanıza olanak sağlayacak .

Son olarak, platformunuz için böyle bir araç olabilir veya bir tane yazmak çok karmaşık olmayabilir. Windows için, uygulama başlatılırken veya belirli bir kısayol tuşunda pencereleri yeniden konumlandırabilen ShiftWindow adlı bir program var . Korkarım benzer bir yardımcı program varsa, MacOS'u yeterince iyi tanımıyorum. Bu muhtemelen ideal bir çözümdür, ikincisi yalnızca işletim sisteminin doğrudan böyle bir şeyi desteklemesini sağlamak.


1
Teşekkürler! Beklediğim cevap değil, iyi bir ipucu!
dreeves

3

Sadece takip http://cordlessdog.com/stay/ olsa biraz gecikmeyle, benim için büyük işler

Mac'inizde kaldıktan sonra, onu başlatabilir ve istediğiniz şekilde pencereleri saklayabilirsiniz. Böylece, ekranlarınızı söküp tekrar bağladığınızda, tüm pencereleri geri yükleyeceksiniz.

Konaklamayı başlangıç ​​uygulamanız olarak eklemek zorunda kalabilirsiniz, çünkü mac'unuzu her başlatışınızda onu başlatmanız gerekebilir.


2

Bunu herhangi bir harici uygulama olmadan düzelttim.

Tek yapmanız gereken dizüstü bilgisayarınızın "Masaüstü 1" ve Harici Monitörünüzün "Masaüstü 2" olduğundan emin olmak.

sistem tercihleri> Ekranlar> Aranjman'da beyaz menü çubuğunu dizüstü bilgisayar ekranına taşıyarak bunu yapabilirsiniz.


1

En azından Windows'ta, monitör değiştirmeden önce onları en üst düzeye çıkarırsanız birçok uygulama kendilerini geri yükler. Toplantıda onları yalnız bırakın, sonra yeniden bağladıktan sonra onları geri yükleyin.

Hala eksik bir düzeltme (ve güçlük) ama dikkatlice yerleştirilmiş pencerelerimi yeniden canlandırma şansı istersem, bildiğim tek şey bu. ShiftWindow olsa ilgi çekici geliyor ...

Ve eğer iki monitörden birine inerseniz, Alt + Spacebar + M sonra ok tuşları, pencerelerinizi "kaybederseniz" hayat kurtarıcıdır (tekrar Windows, üzgünüm).


1

http://www.irradiatedsoftware.com/twoup/index.html

Bunu Lifehacker aracılığıyla buldum ve benim için çok iyi çalışıyor. Ücretsiz TwoUp’ın aksine, ProUpUp sürümünü kullanıyorum ve bu mükemmel.


Bunun benim savaştığım sorunu çözdüğünü mü söylüyorsun? Bağlandığınız sayfa bu konuda hiçbir şeyden bahsetmiyor.
dreeves

1
Hayır, bu problemi çözmez. SizeUp bir pencereyi istediğiniz yere taşımayı hızlandırır, ancak yine de her pencere arasında manuel olarak geçiş yapmanız ve SizeUp'ı her birini nereye taşımak istediğinizi söylemeniz gerekir.
Rory O'Kane

1

Ben bir Windows kullanıcısıyım ve tüm pencereleri takılı olmayan harici monitörden uzağa taşımak için yeni Windows 7 özelliğini nasıl kapatacağımı arıyordum. Kayıttaki tüm DMMEnableDDCPolling değerlerini 0 olarak ayarlamak için makbuzu (ATI ekran kartları için) 0 olarak buldum. Monitör kapalıysa otomatik kontrolü devre dışı bırakır. Şimdi, monitörün fişinin çekilip tekrar takılması durumunda, tüm pencereler aynı konumda kalır.

İşte bana yardımcı olan cevap: https://superuser.com/questions/120983/how-to-disable-monitor-auto-detection-in-windows-7 (Alex tarafından cevap)


1
Bunun Mac ile ilgisi yok mu?

5
Hayır .. ama soru "pencereler" olarak da etiketlendi (ancak OP program pencerelerine atıfta bulunsa da )). Her neyse, Windows için görev için birkaç kullanışlı araç var. Ben şahsen Basta ZMover kullanıyorum ve iyi çalıştı. Başka bir alternatif DeskSoft'un WindowManager'ıdır . Ancak bunlar elbette OSX kullanıcılarına yardımcı olmaz.
Ville
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.