Yeni Terminal.app penceresi / sekmesi komut satırından veya AppleScript'ten belirli bir profile sahip mi?


6

Mac'ime oturum açtığımda, belirli bir profile sahip yeni bir Terminal.app penceresini otomatik olarak açmak istiyorum, diyelim Monitorki, bunun başlangıç ​​komutu ve çeşitli görünüm ayarları var. Bunu AppleScript veya komut satırından (via osascript) kullanarak yapmanın çok kolay olacağını düşündüm , bu yüzden giriş bilgilerime bir komut dosyası ekleyebilirim, ancak birkaç denemeden sonra bunun çok önemsiz olmadığı ortaya çıktı.

Şu anki en iyi yolum şu AppleScript'tir:

tell application "Terminal"
    set origSettings to default settings
    set default settings to settings set "Monitor"
    activate
    tell application "System Events" to keystroke "n" using command down
    set default settings to origSettings
end tell

Ancak, UI komut dosyasına (Sistem Olayları ile) güvenmeden veya Terminal'lerle uğraşmadan bunu yapmanın daha basit bir yolu olup olmadığını bilmek istiyorum default settings.

Terminal.app profilini değiştirmek için applescript (osascript) ümit verici görünüyordu, ancak açık bir Terminal penceresi olduğu zamanlar içindi . current settingsBelirtilen yeni bir Terminal sekmesini veya penceresini nasıl oluşturacağımı bilmiyorum . do scriptYeni bir pencere oluşturmak yapar komut, maalesef bana geri UI komut dosyası düşmek hale profilinde belirlenen başlangıç komutunu yok sayar.

Bu senaryoyu da buldum: yine UI komut dosyasına dayanan http://blog.azizlight.me/having-fun-with-applescript-and-terminal-app/ . Makinelerimin bazıları İngilizce dışındaki yerel ayarları kullandığından, menü etiketlerinden ziyade tuş vuruşlarına yapışmayı tercih ederim.

Yanıtlar:


1

Muhtemel Noktayı özlüyorum, ancak profili bir .terminaldosya olarak dışa aktarabilir ve Giriş Öğelerinize ekleyemez misiniz?

İhracat:

görüntü tanımını buraya girin

Dışa aktarılan dosyayı Giriş Öğelerine ekleyin:

görüntü tanımını buraya girin


1
Müthiş, @beroe! Geçmişte yinelenen profil girişleri oluşturmak için kullanılan bir .terminal dosyayı açtığımı hatırlıyorum, ancak görünüşe göre, bu davranış en azından OS X, 10.8 Mavericks'in son sürümünde değişti. Her ne kadar bu AppleScript'te nasıl başarılacağına cevap vermese de, asıl sorunumu çözdüğü için bunu cevap olarak seçiyorum. Teşekkürler!
Netj

Yardım etmesine sevindim. AppleScript sorununun en iyi yorumlarla bağlantılı diğer cevaplarla çözüleceğini düşünüyorum.
beroe

Tecrübelerime göre bugün bu çözüm kopya profil oluşturuyor. Keşke bunun bir yolunu bilseydim, ama bilmiyorum.
Darrell Golliher

2

Sadece başlatma komutunu çalıştırabilir misiniz do script?

tell application "Terminal"
    do script "emacs"
    set current settings of selected tab of window 1 to settings set "Grass"
end tell

Başka birinin herhangi bir başlangıç ​​komutunu çalıştırması gerekmiyorsa, do script ""yeni bir pencere açmak için kullanabilirsiniz :

tell application "Terminal"
    do script ""
    set current settings of selected tab of window 1 to settings set "Grass"
end tell

Veya do script ""değiştirirken de kullanabilirsiniz default settings:

tell application "Terminal"
    set old to default settings
    set default settings to settings set "Grass"
    do script ""
    set default settings to old
    activate
end tell

Sorun do script "", profile zaten girilmiş olan başlangıç ​​komutunu görmezden gelmesidir. BTW do scriptoluşturduğu sekmeyi döndürdüğü için şu gibi şeyleri daha da kısaltabiliriz: set newTab to do script ...thenset current settings of newTab to ...
netj
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.