Uygulamaları belirli bir pencere boyutunda birlikte nasıl açabilirim?


1

Bunu Google’a oldukça zor buldum.

Bu 2 uygulamayı açan bir komuta (veya uygulamaya) sahip olmak istiyorum. tam istediğim gibi . Bu durumda onları bu ekran boyutlarında açmak istiyorum - az ya da çok. Bir terminal komutu olması gerekiyorsa, bunun için bir kısayol oluşturmak mümkün müdür? Birden fazla uygulama / ekran boyutu birleşimi için daha fazla kısayol oluşturacağım.

My browser and text editor


Slate gibi bir şey arıyorsanız, işte bunun nasıl kullanılacağına dair bir açıklama: apple.stackexchange.com/a/125674/146294
enzo

Yanıtlar:


2

Pencerelerinizi istediğiniz gibi konumlandırın, ardından her uygulama için aşağıdaki AppleScript'i çalıştırın.

tell application "Terminal" to tell window 1 to get bounds

Bu, aşağıdaki gibi pencerenin sınırlarını döndürür:

{200, 200, 700, 700}

Kendi pencere düzeni setinize dahil etmek istediğiniz her pencerenin sınırlarını belirledikten sonra, sınırları ayarlamak için aşağıdakileri kullanın:

tell application "Terminal" to tell window 1 to set bounds to {200, 200, 700, 700}

Aynı anda birden fazla pencere sınırı ayarlamak için birden fazla satır kullanabilirsiniz.

Mizanpajınızdan memnun olduğunuzda, Komut Dosyası Düzenleyici, komut dosyasını bir uygulama olarak kaydedebilir (Dosya → Dışa Aktar ve Dosya Biçimi: Uygulama). Bu daha sonra kolay erişim için İskelenize eklenebilir.


Yönetmeye çalıştığınız uygulama Sublime Text gibi komut dosyası oluşturulamıyorsa, uygulamayı anlatmak için Sistem Olaylarını kullanabilirsiniz. Bu, Sistem Tercihleri ​​→ Güvenlik ve Güvenlik’te Erişilebilirlik kontrolünü etkinleştirmenizi gerektirir. Gizlilik → Gizlilik → Erişilebilirlik.

Komut dosyası olmayan bir uygulamanın penceresinin sınırlarını bulmak için şunları kullanabilirsiniz:

tell application "System Events" to tell application process "Sublime Text" to ¬
    get {size, position} of window 1

Bu, aşağıdaki gibi pencerenin boyutunu ve konumunu döndürür:

{{500, 500}, {200, 200}}

Önceki kodun sonucunu kullanarak, komut dosyası olmayan bir uygulamanın sınırlarını ayarlamak için:

tell application "System Events" to tell application process "Sublime Text" to ¬
    tell window 1 to set {size, position} to {{500, 500}, {200, 200}}

Pencereleri üzerinde işlem yapmaya çalıştığınız uygulama bu komut dosyasını çalıştırmadan önce açık değilse, aşağıdakileri kullanın:

tell application "Terminal" to activate

Bu, aşağıdakileri kullanarak sınırları ayarlamakla birleştirilebilir:

tell application "Terminal"
    activate
    tell window 1 to set bounds to {200, 200, 700, 700}
end tell

AppleScript uygulamanın açılmasını bekleyeceğinden gecikme gerekmez.


Senaryomda da yapmam gereken şey şunlardı: do shell script "open -a 'Sublime Text'" (ve Google Chrome için de aynısı) ve delay 0.2 pencereleri etkinleştirmek için (veya uygulamaları açmak için). Bunu yapmasaydım, uygulama / işlemi yeniden boyutlandıramadığı hatasını alırdım, çünkü çalışmıyordu. Pencereleri yeniden boyutlandırmadan önce kabuk komut dosyalarının bittiğinden emin olmak için gecikmeyi yapmam gerekiyordu.
Melvin Roest

1
@Melvin Uygulamanın 'etkinleşmesini' söylemenin daha iyi bir yoludur. Bu, ayrı bir komut dosyası çalıştırmayı gerektirmez ve AppleScript uygulamanın açılmasını bekler; bu nedenle gecikme gerekmez ve çok kısa olabilen belirli bir gecikme yerine gerektiği kadar bekler. Düzenlenmiş cevabı gör
grg

Bu komut dosyası olmayan uygulamalar için de işe yarıyor mu?
Melvin Roest
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.