Відкрийте нове вікно терміналу в поточному просторі, незалежно від інших відкритих терміналів в інших просторах


14

При використанні пробілів на Mac OS X при спробі відкрити новий екземпляр терміналу приводить фокус до того місця, де є місце останнього доступу до вікна терміналу. За допомогою Finder я можу натиснути на Робочий стіл, а потім використовувати - Nдля створення нового вікна Finder. Що я шукаю - це метод виконання тієї ж функції для термінальних вікон.

Як я можу створити новий екземпляр Terminal у поточному просторі, незалежно від того, є чи немає іншого екземпляра Terminal в одному чи кількох інших просторах.

Спасибі.


Мені подобається питання, але думаю, що це має бути на супер користувача.

Відповіді:


4

Ви можете створити нову послугу за допомогою автоматизатора (з папки програм). У верхній частині вікна автоматизатора введіть: Сервіс отримує "без вводу" у "будь-якій програмі". Потім у робочий процес додайте «Запустити яблучний сценарій». Зробіть так, щоб яблучний сценарій містив наступне:

on run {input, parameters}

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

    return input
end run

(Ви можете додати будь-яку вподобану вам команду до рядка сценарію do між "" (наприклад, щось корисне для запуску, коли термінал спочатку відкриється, наприклад, uptimeякщо вам подобається, або просто залиште його порожнім).

Збережіть послугу як "Відкритий термінал" або будь-яке ім'я. Тепер воно має з’явитися в меню ваших послуг.

Тоді, якщо ви хочете додати комбінацію клавіш, вам просто потрібно перейти в розділ Налаштування системи -> Клавіатура -> Комбінації клавіш, виберіть служби в меню ліворуч і знайти свою нову послугу (її, ймовірно, внизу). Просто натисніть на пробіл праворуч від назви вашого сервісу та призначте його будь-яким ярликом клавіатури, який вам подобається, і привітайтесь! все повинно працювати


1
Слід зазначити, що це фактично забезпечує запитуваний функціонал. Як незначне редагування вам потрібен do shell script " "рядок, щоб він відкрив нове вікно в поточному просторі, але немає необхідності, щоб сценарій оболонки був порожнім пробілом. Якщо це порожній пробіл, він змушує Термінал запускати порожній простір як команду, що призводить до затримок виконання та стороннього рядка в новому вікні терміналу. Просто зробіть це абсолютно порожнім рядком: do shell script ""і тоді він відкриє свіже вікно терміналу, але не видає жодних команд у ньому.
Дакота

Так, ти маєш рацію. Я оновив відповідь, щоб видалити пробіл між цитатами. Однак для роботи потрібно бути do script "", а не do shell script "", як @dakota запропонував
tmdavison

3

У присвоєннях програми в System Preferences -> Spaces або встановіть Terminal на "Every Space" або видаліть запис. Тоді не повинно бути жодних проблем відкрити нове вікно терміналу куди завгодно, наприклад, натиснувши контекстне меню док-станції "Нове вікно" (працює навіть у тому випадку, якщо у вас є "Під час переходу на додаток, перейдіть до місця з відкритими вікнами. опція "включено").


Наскільки я можу сказати, перше речення не має значення. Якщо встановити його на "Кожен пробіл", все-таки змінюється пробіл, коли відкривається нове вікно через щось на зразок AppleScript або клавіш, і контекстне меню док-станції ніколи не змінює простір незалежно від цього параметра. Цікавою справою у цій відповіді є опція "Переключившись на додаток, перейдіть до місця з відкритими вікнами цього додатка". Вимкнення його "виправляє" випадок прив'язки клавіш / AppleScript, але, на жаль, "ламає" командну вкладку. Якби тільки в OS-X було належне прив'язка клавіш "windows windows", яка працювала у всіх вікнах у всіх додатках на всіх просторах.
Лоренс Гонсалвс

@LaurenceGonsalves, ви можете проїхати через усі вікна терміналу через усі простори за допомогою стрілки Command-Left / Right. Чи допомагає це?
Кріс Пейдж

@Chris Це цікавий набір ярликів, дякую, але вони не вирішують проблеми, про яку я говорю. Якщо параметр "Під час переходу на додаток ..." вимкнено, і ви знаходитесь в просторі без вікна терміналу, і ви вводите команду "Термінал", вона не переходить на простір, у якому є вікно "Термінал", і команд-backtick нічого не зробить. Дивно, але команда вліво / вправо-стрілка не робить нічого в цьому випадку (принаймні, на Snow Leopard). Ці клавіші будуть перемикатися між вікнами через пробіли, якщо фокус у вікні поточної програми, але якщо фокус не має жодного вікна, вони нічого не роблять.
Лоранс Гонсалвс

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

Щоб зробити цю роботу під Левом, введіть вищезгадане у нове вікно AppleScript і збережіть його. Викликайте скрипт за допомогою команди запуску команд типу QuickSilver або призначте його для клавіатурного скорочення. Це має спрацювати, навіть якщо ви встановили параметр "Під час переходу на програму переключитися на простір з відкритими вікнами для програми", включеним у програмі Mission Control. Хитрість полягає в тому, щоб виконати команду активації останньою, а не на початку.


Крім того, створіть Сервіс за допомогою Automator і запустіть його за допомогою комбінації клавіш, встановленої в System Preferences: apple.stackexchange.com/a/13655/36722
Dakota,

0

Якщо ви користуєтесь док-меню, щоб відкрити нове вікно, воно відкриється в поточному просторі.


Чи можна це зробити за допомогою клавіатури?
Лоранс Гонсалвс

Control-F3 - "Переміщення фокусу на док". Ви можете використовувати клавіші зі стрілками для навігації по меню значка док-станції терміналу. Ви також можете ввести, щоб вибрати елементи меню за назвою, наприклад, введіть "N" або "New W". Див. Розділ Налаштування системи> Клавіатура> Комбінації клавіш> Клавіатура та введення тексту, щоб побачити всі комбінації клавіш для вибору та навігації через інтерфейс користувача.
Кріс Пейдж

Це можна зробити. Вам потрібно створити спеціальний сервіс за допомогою Automator, який потім можна прив’язати до комбінації клавіш із системних налаштувань: apple.stackexchange.com/a/13655/36722
Дакота

0

Ви можете відключити проміжки перемикання OSX автоматично, коли ви перемикаєте програми, використовуючи такі команди:

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

Працює 10.6.8


Для цього теж є налаштування графічного інтерфейсу, він знаходиться в "Контроль місії".
SilverWolf - Відновіть Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.