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.