Створіть новий простір за допомогою комбінації клавіш


10

Я знаю, що ви можете це зробити з управління місією, натиснувши, і в клавіатурі немає ярлика.

Чи є якісь способи зробити це за допомогою сторонньої програми або Applescript?

введіть тут опис зображення

введіть тут опис зображення


Дуже корисне питання для мого робочого процесу. Я також хотів би дізнатися про твій робочий стіл!
Qcom

1
Радий, що вам сподобалось питання :) Ось посилання на шпалери somethingpeach.com/wp-content/uploads/2014/06/…
Джонатан Де Мокрий

Відповіді:


1

Оновлення: Цей метод працює в 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)


Спасибі це спрацювало чудово. Як ви думаєте, ви могли б зробити другий сценарій для видалення пробілів?
Джонатан Де Мокрий

@Jonathan, Додавання робочого столу - це своєрідне хитрощі, програмно розпочнене з можливого, оскільки існує AXButton з AXDescription "Додати робочий стіл", на який можна натиснути, але AXButton (s) у "Mission Control" з AXTitle, наприклад " Робочий стіл 2 ", хоча він має тісний елемент (коло з сокирою, у верхньому лівому куті кнопки), його не можна адресувати так само, як немає кнопки" видалити робочий стіл ". Тож я справді не знаю простого способу видалити програму, вибачте.
користувач3439894

Що має сенс. Дякуємо, що знайшли час, щоб мені це пояснили
Джонатан Де Мокрий

Я спробував це в macOS (10.12.1) і не пощастив. Він відкриває функцію управління місією на 5 секунд, але кнопку Новий робочий стіл не натискається.
domi91c

2
@ user3439894 Так, я просто коментував випадок, якщо хтось відповів на MacOS. Я не розглядав питання про створення окремого питання; повинен я? Дякую, проте, я вдячний за допомогу.
domi91c

2

Гаразд, використовуючи запис на 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

Перевірена відповідь для мене не спрацювала, але ця зробила =)
Брайан Шермерхорн

1

Так, це працює, начебто. Проблема полягає в тому, що рішення 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.

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