Відкрийте той же термінал без перемикання просторів


1

Я шукаю AppleScript (або що-небудь, що дійсно), який буде робити наступне:

  • Якщо відкрито вікно терміналу в поточному просторі, перенесіть його на передній план.
  • Якщо ні, відкрийте нове у поточному просторі.

Я не хочу, щоб він переходив на інший простір, якщо вікно Терміналу там відкрито.

Використання iTerm2 замість терміналу - це добре, якщо це полегшує роботу :).

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


Я працював на це деякий час, і керуючи пробілами - з або без графічного інтерфейсу, який я не використовую, оскільки він неелегатний і розривається, - це дуже важко. У AppleScript бракує функцій, необхідних для належного контролю просторів. Те, що можна зламати разом з скриптами оболонки і писати в / з файлів, навіть не може зробити те, що потрібно. Ось що я маю до цих пір: повідомляйте застосунку "Термінал", якщо не запущено програму "Термінал", тоді активуйте ще якщо (існує вікно 1), а потім активуйте ще "" активуйте скрипт, якщо завершиться, якщо закінчити
JMY1000

Тому в основному, коли мої вікна терміналу вже відкриті, він робить те, що я хочу, за винятком того, що я повинен відкрити їх сам. Це прийнятно для мене. Якщо ви перетворите це на правильну відповідь, я дам вам щедрість!
jqno

Фактично, вона повинна відкривати їх у відповідних випадках. Це не любить простори так сильно хоч.
JMY1000

Чому не призначити термінал всім просторам? За допомогою цього пункту можна активувати термінал без перемикання просторів. Я призначив ярлик для активації терміналу, і якщо він вже активований, сховай його (як H). Завдяки цьому у мене є якісь візирні вікна (подібні до Total Terminal).
Mateusz Szlosek

@MateuszSzlosek Думаю, що це допоможе, але я, як правило, працюю над декількома проектами одночасно (по одному на простір), і приємно переходити безпосередньо в сесію, що належить до цього проекту / простору, без необхідності перемикатися на вкладки або що-небудь.
jqno

Відповіді:


0

Я працював на це деякий час, і керуючи пробілами - з або без графічного інтерфейсу, який я не використовую, оскільки він неелегатний і розривається, - це дуже важко. У AppleScript бракує функцій, необхідних для належного контролю просторів. Те, що можна зламати разом з скриптами оболонки і писати в / з файлів, навіть не може зробити те, що потрібно.

Ось що я можу керувати:

tell application "Terminal"
    if not application "Terminal" is running then
        activate
    else
        if (exists window 1) then
            activate
        else
            do script ""
            activate
        end if
    end if
end tell

Цей сценарій виконує:

  • Якщо відкрито вікно терміналу, перенесіть його на передній план.
  • Якщо ні, відкрийте нове у поточному просторі.

Це не:

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