Я знаю, що ви можете це зробити з управління місією, натиснувши, і в клавіатурі немає ярлика.
Чи є якісь способи зробити це за допомогою сторонньої програми або Applescript?
Я знаю, що ви можете це зробити з управління місією, натиснувши, і в клавіатурі немає ярлика.
Чи є якісь способи зробити це за допомогою сторонньої програми або Applescript?
Відповіді:
Оновлення: Цей метод працює в OS X 10.11 і раніше, принаймні, в OS X 10.8 (не тестував його на чомусь старшому, ніж OS X 10.8), але більше не працює як закодований у macOS 10.12 через значні зміни в місії управління, зроблені Apple .
Для програмного додавання робочого столу в програму Mission Control код нижче може використовуватися як AppleScript або сценарій BASH спільно зі службою Автоматизатора за допомогою відповідно запуску AppleScript або Run Shell Script, а також послідовності ключів, призначених Сервісу в налаштуваннях системи на клавіатурі Ярлики.
Код AppleScript:
do shell script "open -a 'Mission Control'"
delay 0.5
tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 1 of process "Dock"
delay 0.5
tell application "System Events" to key code 53
Код сценарію BASH:
#!/bin/bash
open -a 'Mission Control'
osascript -e 'delay 0.5' \
-e 'tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 1 of process "Dock"' \
-e 'delay 0.5' \
-e 'tell application "System Events" to key code 53'
Відкрийте Автоматизатор і виберіть Сервіс .
Встановити: Сервіс не отримує введення жодної програми
Додати або Run AppleScript або Run Shell Script Action .
Додайте відповідний код для цільової дії .
Збережіть послугу як, наприклад: Додати новий робочий стіл
Призначте комбінацію клавіш для Сервісу в Налаштуваннях системи .
Примітка. Вам потрібно буде призначити послідовність клавіш, яка не використовується в іншому місці в системі чи в Finder, якщо ви вирішите над будь-яким додатком у Службі .
Я перевірив це за допомогою: ⌃⌥⌘D (Control-Option-Command-D)
Гаразд, використовуючи запис на Automator, я змусив її працювати з переглянутою версією AppleScript в іншій відповіді.
Замінити "1 групи" на "групи 2 групи 1 групи 1 групи":
on run {input, parameters}
do shell script "open -a 'Mission Control'"
delay 0.5
tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 2 of group 1 of group 1 of process "Dock"
delay 0.5
tell application "System Events" to key code 53
return input
end run
Так, це працює, начебто. Проблема полягає в тому, що рішення user3439894 закінчується видачею помилки, якщо активну програму (Finder, textedit тощо) не було додано до області безпеки та конфіденційності.
Щоб обійти це, нам потрібні два робочі процеси, сервіс user3439894 з оновленим списком груп як додаток Automator, і другий сервіс Automator для його запуску.
Додаток Automator (зберігається в / додатках як "Новий робочий стіл".)
під час запуску {введення, параметри}
робити скрипт оболонки "відкрити -" контроль місії ""
затримка 0,5
скажіть програмі "Системні події" натиснути (кожну кнопку, значенням атрибута "AXDescription" є "Додати робочий стіл") 2 групи 1 групи 1 групи 1 процесу "Док"
затримка 0,5
скажіть програмі "Системні події" на код 53
повернути вхід
кінцевий пробіг
Тоді нам просто потрібно створити другий робочий процес як службу, використовуючи дію "Запустити додаток" і зберегти його як "New_Desktop"
Останніми кроками є додавання "New Desktop.App" до системних налаштувань> Безпека та конфіденційність> Доступність
Потім додайте комбінацію клавіш у налаштуваннях системи> Клавіатура> Комбінації клавіш> Послуги> Загальне для потоку New_Desktop.work.