Diğer alanlardaki diğer açık terminallerden bağımsız olarak, geçerli alanda yeni terminal penceresi aç


14

Mac OS X'te Spaces kullanılırken yeni bir terminal örneği açmaya çalışmak, en son erişilen terminal penceresine hangi alana sahip olursa olsun odaklanmaya neden olur. Finder ile masaüstünü tıklayıp yeni bir Finder penceresi oluşturmak için - tuşunu kullanabilirim N. Ne aradığım Terminal pencereleri için aynı işlevi gerçekleştirmek için bir yöntemdir.

Bir veya daha fazla alanda başka bir Terminal örneği olup olmadığına bakılmaksızın, geçerli alanda nasıl yeni bir Terminal örneği oluşturabilirim.

Teşekkürler.


soruyu seviyorum, ama süper kullanıcı üzerinde olması gerektiğini düşünüyorum.

Yanıtlar:


4

Automator kullanarak (uygulamalar klasöründen) yeni bir hizmet oluşturabilirsiniz. Automator penceresinin en üstüne şunu girin: Servis, 'herhangi bir uygulamada' giriş yok 'alır. Ardından, iş akışına 'El yazısını çalıştır' ekleyin. El yazısının aşağıdakileri içerdiğinden emin olun:

on run {input, parameters}

    tell application "Terminal"
        do script ""
        activate
    end tell

    return input
end run

("" Arasındaki komut dosyası satırına istediğiniz herhangi bir komutu ekleyebilirsiniz (örn. Terminal uptimeistediğiniz gibi ilk açıldığında çalıştırılması yararlı bir şey olabilir veya boş bırakabilirsiniz).

Hizmeti 'Terminali Aç' veya istediğiniz adı kaydedin. Şimdi hizmetler menünüzde görünmelidir.

Daha sonra bir klavye kısayolu eklemek istiyorsanız, Sistem Tercihleri ​​-> Klavye -> Klavye Kısayolları sekmesine gitmeniz, soldaki menüden hizmetleri seçmeniz ve yeni hizmetinizi (muhtemelen en altta) bulmanız yeterlidir. Hizmet adınızın sağındaki alanı tıklatın ve istediğiniz klavye kısayolunu atayın ve hey presto! hepsi işe yaramalı


1
Bunun gerçekten istenen işlevselliği sağladığına dikkat edilmelidir. Küçük bir düzenleme olarak, do shell script " "geçerli alanda yeni bir pencere açmak için satıra ihtiyacınız vardır, ancak kabuk betiğinin boş alan olmasına gerek yoktur. Boş bir alansa, Terminalin boş alanı komut olarak çalıştırmasına neden olarak yürütme gecikmelerine ve yeni Terminal penceresinde harici bir satıra neden olur. Sadece tamamen boş bir dize yapın: do shell script ""ve sonra yeni bir Terminal penceresi açar, ancak herhangi bir komut vermez.
Dakota

Evet, haklısın. Alıntılar arasındaki boşluğu kaldırmak için cevabı güncelledim. Ancak, çalışmak için @kota'nın önerdiği gibi olması gerekir do script "", değildo shell script ""
tmdavison

3

Sistem Tercihleri ​​-> Alanlar'daki uygulama atamalarında, Terminal'i "Her Boşluk" olarak ayarlayın veya girişi silin. Daha sonra istediğiniz yerde yeni bir Terminal penceresi açmak, örneğin "Yeni Pencere" dock bağlam menüsünü tıklatmak hiç sorun olmamalı ("Bir uygulamaya geçiş yaparken, uygulama "seçeneği etkin).


İlk cümle anlatabildiğim kadarıyla alakasız. "Her Boşluk" olarak ayarlamak, AppleScript veya tuş bağlama gibi yeni bir pencere açarken Boşluğu değiştirmeye devam eder ve dock bağlam menüsü bu ayara bakılmaksızın alanı asla değiştirmez. Bu cevabın ilginç yanı, "Bir uygulamaya geçerken, o uygulamadan açık pencerelerle uzaya geç" seçeneğidir. Devre dışı bırakılması klavye / AppleScript durumunu "düzeltir", ancak maalesef komut sekmesini "keser". Yalnızca OS-X'in, tüm alanlardaki tüm uygulamalardaki tüm pencerelerde çalışan uygun bir "döngü pencereleri" tuş bağlaması varsa.
Laurence Gonsalves

@LaurenceGonsalves, Komut-Sol / Sağ Ok ile tüm Boşluklarda tüm Terminal pencereleri arasında geçiş yapabilirsiniz. Bu yardımcı olur mu?
Chris Page

@Chris Bu ilginç bir kısayol seti, teşekkürler, ama bahsettiğim sorunu çözmezler. "Bir uygulamaya geçerken ..." ayarı devre dışı bırakılırsa ve Terminal penceresi olmayan bir alandaysanız ve komut sekmesini "Terminal" olarak ayarlarsanız, Terminal penceresi olan bir alana geçmez ve command-backtick hiçbir şey yapmaz. Şaşırtıcı bir şekilde, komut sol / sağ ok da bu durumda hiçbir şey yapmıyor (en azından Snow Leopard'da). Bu tuşlar, geçerli uygulamadaki bir pencerenin odağı varsa boşluklar arasındaki pencereler arasında geçiş yapar, ancak hiçbir pencerenin odağı yoksa hiçbir şey yapmazlar.
Laurence Gonsalves

2
tell application "Terminal"
    do script ""
    activate
end tell

Bunun Lion altında çalışmasını sağlamak için yukarıdakileri yeni bir AppleScript penceresine yazın ve kaydedin. Komut dosyasını QuickSilver gibi bir komut başlatıcı aracılığıyla çağırın veya bir klavye kısayoluna atayın. Görev Denetiminde "Uygulamaya geçerken, uygulama için açık pencereleri olan bir alana geçiş yap" ayarını etkinleştirmiş olsanız bile bu işlemin çalışması gerekir. İşin püf noktası, aktifleştirme komutunu en baştan yapmaktır.


Alternatif olarak, Automator kullanarak bir Hizmet oluşturun ve Sistem Tercihleri'nde ayarlanan bir klavye kısayolunu kullanarak etkinleştirin
Dakota

0

Yeni bir pencere açmak için dock menüsünü kullanırsanız, bu pencere geçerli alanda açılır.


Bunu klavyeden yapmanın bir yolu var mı?
Laurence Gonsalves

Control-F3 "Odağı Dock'a taşı" dır. Terminal'in Dock simgesi menüsünde gezinmek için ok tuşlarını kullanabilirsiniz. Menü öğelerini isme göre seçmek için de yazabilirsiniz, örneğin "N" veya "Yeni W" yazın. Bkz Sistem Tercihleri> Klavye> Klavye Kısayolları> Klavye ve Metin Girişi seçerek ve UI gezinmek için tüm klavye kısayollarını görmek için.
Chris Page

Bunu yapmak mümkün. Automator kullanarak, daha sonra Sistem Tercihleri'nden bir klavye kısayoluna bağlanabileceğiniz özel bir Hizmet oluşturmanız gerekir: apple.stackexchange.com/a/13655/36722
Dakota

0

Aşağıdaki komutları kullanarak uygulamaları değiştirdiğinizde OSX geçiş alanlarını otomatik olarak devre dışı bırakabilirsiniz:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

10.6.8 üzerinde çalışır


Bunun için de bir GUI ayarı var, "Görev Kontrolü" ndedir.
SilverWolf - Monica'yı
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.