O anda etkin olan pencereyi arkaya nasıl gönderebilirim?


15

Halihazırda etkin olan pencereyi açık tutarken ekranın arkasına göndermek için bir kısayol veya benzeri bir şey var mı (böylece diğer tüm açık pencerelerin "altına" çıkıyor)?


2
H geçerli uygulamayı (tüm pencereleri dahil) arkaya gönderecek ve siz ön tarafa geri getirene kadar gizleyecektir (dock'tan veya uygulamayı yeniden seçmek için -SEKME). Çoğu uygulamada Shift-- ~ geçerli uygulamanın pencerelerinde dolaşacaktır, bu da aradığınız şeye muhtemelen en yakın olanıdır.
Mic Channel

Bunu biliyorum, istediğim bu değil.

1
Arkaya kadar göndermek istiyorsanız, hangi pencereye odaklanmalısınız? Önceki seçilen pencere?
sayzlim

Yanıtlar:


10

Kısa cevap: Hayır , Apple, bir pencereyi öne (dizin 1) getirmek dışında bir uygulama penceresi dizinini değiştirmenize izin veren bir API sağlamaz . Zarif çözümler yok . Fakat:

Uzun cevap: Evet , bir pencere listesi toplayıp her birini ( en öndeki hariç ) hızla öne doğru kaydırarak , seçilen pencereyi bırakarak bir pencereyi AppleScript özellikli pencerelerin bir yığınının arkasına etkili bir şekilde taşımak için AppleScript'i kullanabilirsiniz. arkada.

İşte en öndeki Finder Penceresini arkaya gönderen bir AppleScript örneği.

tell application "Finder"
    set winList to every window whose visible is true
    if not winList = {} then
        repeat with oWin in (items 1 through -2 of reverse of winList)
            set index of oWin to 1
        end repeat
    end if
end tell

Bu script, KeyboardMaestro forumunda tartışılan JMichaelTX'in bir çözümüne dayanmaktadır .

Yeniden karıştırma inanılmaz derecede hızlıdır, ancak Komut Dosyası Düzenleyicisi'nde nasıl çalıştığını inceleyebilir, altta "506" bırakarak ve "502-505" i sıralarını koruyacak şekilde açabilirsiniz:

get every window whose visible = true
    --> {Finder window id 506, Finder window id 505, Finder window id 504, Finder window id 503, Finder window id 502}
set index of Finder window id 502 to 1
    --> 1
set index of Finder window id 503 to 1
    --> 1
set index of Finder window id 504 to 1
    --> 1
set index of Finder window id 505 to 1
    --> 1

Bu AppleScript'i a) komut dosyasını bir Automator hizmeti içindeki AppleScript'i Çalıştır eylemine koyarak veya b) bir başlatıcı (Alfred, Keyboard Maestro vb.) Kullanarak bir hizmet veya klavye kısayoluyla eşleyebilirsiniz. Applescript klavye ataması hakkında ayrıntılar için bkz. Yazdığım AppleScript'e nasıl klavye kısayolu atayabilirim?

Bu OP'lerin ihtiyaçlarını karşılayabilir - orijinal gönderiden belirsizdir. Bu çözüm aynı zamanda birden fazla AppleScript özellikli uygulamaya da genişletilebilir. Ben am değil , ancak, bir çözümün farkında nedeniyle AppleScript, gerçeğine, script ve olmayan script pencerelerin karışımı ile etkili bir şekilde çalışması için System Eventsolmayan script uygulamalar için adreslenebilir pencereler yok set indexfiil / mülk. Yardımcı cihazlar / erişilebilirlik açıldığında bazı pencereler için bir "AXRaise" eylemi vardır, ancak bu tüm pencereler için geçerli değildir. Her etkin uygulamada yürümeyi ve pencereleri göstermeyi / gizlemeyi veya en aza indirmeyi / geri yüklemeyi içeren ayrıntılı kesmek var, ancak bunlar bir karmaşa.

İlgili tartışmalar:


Belirli bir uygulamanın penceresi yerine herhangi bir uygulamanın penceresini arkaya göndermek mümkün müdür?
Di Liu

Ne yazık ki, Mojave'den itibaren, bu artık çalışmıyor gibi görünüyor.
Edward Falk

Mojave'den beri, anlayışım Finder'ı AppleScript ile kontrol etmenin artık (denenmemiş) çalıştırmak için izinlere ihtiyacı olduğudur. ErrAEEventNotPermitted gibi hatalar alıyorsanız, bu izinleri eklemek için çözümler var - ilgili tartışmalara bakın: forums.developer.apple.com/thread/106949
JeremyDouglass

2

Sorunuz çok açık değil, ancak istediğiniz şey şu anda etkin olan uygulamanın tüm pencereleri arasında geçiş yapmak için bir kısaysa, bunu Command~klavye kısayoluyla yapabilmeniz gerekir .

~Anahtar genellikle sol bulunur 1tuşu.

Açıklığa kavuşturmak için, Command~klavye kısayolunun yaptığı, içinde bulunduğunuz uygulamanın tüm pencereleri arasında geçiş yapmaktır. Örneğin, MS Word kullanıyorsanız ve açık üç belge varsa, bu üç belge arasında geçiş yapar.

Ancak, Command~klavye kısayolu Sekmeler arasında dolaşmaz. Örneğin, Safari'yi üç pencereyle açıksanız ve her pencerede beş sekme varsa, bu kısayolu kullanmak tek tek sekmelerden değil üç pencereden geçecektir.

İstediğinizi başarabilecek başka bir seçenek de CommandMklavye kısayoludur. Ancak bu , şu anda etkin olan pencereyi Dock'a en aza indirir , bu yüzden istediğiniz şey olmadığından şüpheleniyorum.

Sorunuzu tamamen yanlış anladıysam lütfen açıklığa kavuşturun.


Bu OP'nin istediği kullanım örneği olduğunu düşünüyorum: posta uygulamamın önünde mesajlar uygulamasını açtım ve hızlı bir şekilde posta uygulamasını ön plana getirmek ve arka plana mesaj göndermek istiyorum, bir klavye yapabilirim kısayol ve mesajlar uygulaması posta uygulamamın arkasında olacak. Klavye kısayolunu denedim ve bu bunu başaramadı.
owlswipe

Bence anahtar demek istiyorsun. ~ ÜstKrktr basılı tutulduğunda ve basıldığında yalnızca yazdırılır
Crowder
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.