Mission Controlをクリックしてそれを行うことができ、「キーボード」にショートカットはありません。
サードパーティのプログラムまたはApplescriptを使用してこれを行う方法はありますか?
Mission Controlをクリックしてそれを行うことができ、「キーボード」にショートカットはありません。
サードパーティのプログラムまたはApplescriptを使用してこれを行う方法はありますか?
回答:
更新:この方法は、OS X 10.11以前では少なくともOS X 10.8まで機能します(OS X 10.8よりも古いものではテストしていません)が、Appleによって行われたMission Controlへの大幅な変更により、macOS 10.12でコード化されたとおりに機能しなくなりました。 。
Mission Controlでデスクトップをプログラムで追加するには、次のコードを AppleScriptまたはBASHスクリプトとして、それぞれAppleScriptの実行またはシェルスクリプトの実行を使用するAutomatorサービス、およびキーボードのシステム環境設定でサービスに割り当てられたキーシーケンスと組み合わせて使用できます。ショートカット。
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'
Automatorを開き、[ サービス]を選択します。
セット:サービスはどのアプリケーションでも入力を受け取りません
AppleScript 実行 アクションまたはシェルスクリプト実行アクションのいずれかを追加します。
ターゲットActionに適切なコードを追加します。
サービスを次のように保存します。例:新しいデスクトップの追加
以下のためのキーボードショートカットの割り当てサービスでシステム環境を。
注:サービス内のいずれかのアプリケーションを選択する場合は、システムまたはFinderの他の場所で使用されていないキーシーケンスを割り当てる必要があります。
私はそれをテストしました:⌃⌥⌘D(Control-Option-Command-D)
OK、Automatorの録音を使用して、AppleScriptの改訂版で動作するようにした。
「グループ1の」を「グループ1のグループ1のグループ2の」に置き換えます。
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
ええ、それはうまくいきます。問題は、アクティブなアプリケーション(Finder、texteditなど)が[セキュリティとプライバシー]の[アクセシビリティ]ペインに追加されていないと、user3439894のソリューションがエラーをスローすることです。
これを回避するには、Automatorアプリケーションとしてグループリストが更新されたuser3439894のサービスと、それを起動する2番目のAutomatorサービスの2つのワークフローが必要です。
Automatorアプリケーション(/ Applicationsに「新しいデスクトップ」として保存されます。)
実行時{入力、パラメーター}
シェルスクリプト「open -a 'Mission Control'」を実行します
遅延0.5
プロセス「Dock」のグループ1のグループ1のグループ2のグループ2のクリック(属性「AXDescription」の値が「デスクトップの追加」であるすべてのボタン)をアプリケーション「システムイベント」に通知します。
遅延0.5
アプリケーション「システムイベント」にキーコード53を通知する
入力を返す
エンドラン
次に、「アプリケーションの起動」アクションを使用して、2番目のワークフローをサービスとして作成し、「New_Desktop」として保存するだけです。
最後の手順は、「システム設定」>「セキュリティとプライバシー」>「アクセシビリティ」に「新しいDesktop.App」を追加することです
次に、システム環境設定>キーボード>ショートカット>サービス> New_Desktop.workflowの一般にキーボードショートカットを追加します。