Tôi biết bạn có thể làm điều đó từ Mission Control bằng cách nhấp và không có phím tắt nào có sẵn trong 'Bàn phím'.
Có cách nào để làm điều này bằng cách sử dụng chương trình của bên thứ 3 hoặc Applescript không?
Tôi biết bạn có thể làm điều đó từ Mission Control bằng cách nhấp và không có phím tắt nào có sẵn trong 'Bàn phím'.
Có cách nào để làm điều này bằng cách sử dụng chương trình của bên thứ 3 hoặc Applescript không?
Câu trả lời:
Cập nhật: Phương pháp này hoạt động trong OS X 10.11 và trước đó ít nhất là OS X 10.8 (không thử nghiệm trên bất kỳ thứ gì cũ hơn OS X 10.8) nhưng không còn hoạt động như được mã hóa trong macOS 10.12 do những thay đổi đáng kể đối với Mission Control do Apple thực hiện .
Để lập trình thêm Máy tính để bàn trong Mission Control, mã bên dưới có thể được sử dụng làm AppleScript hoặc BASH Script kết hợp với Dịch vụ tự động hóa bằng cách sử dụng Run AppleScript hoặc Run Shell Script, và một chuỗi khóa được gán cho Dịch vụ trong Tùy chọn hệ thống trong Bàn phím Phím tắt.
Mã 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
Mã BASH Script:
#!/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'
Mở Automator và chọn Dịch vụ .
Đặt: Dịch vụ không nhận được đầu vào trong bất kỳ ứng dụng nào
Thêm Run AppleScript hoặc Run Shell Script Action .
Thêm mã thích hợp cho Hành động đích .
Lưu dịch vụ dưới dạng, ví dụ: Thêm máy tính để bàn mới
Chỉ định phím tắt cho Dịch vụ trong Tùy chọn hệ thống .
Lưu ý: Bạn sẽ phải chỉ định một chuỗi khóa không được sử dụng ở nơi khác trên Hệ thống hoặc trong Finder nếu bạn chọn vượt qua bất kỳ ứng dụng nào trong Dịch vụ .
Tôi đã thử nghiệm nó với: ⌃⌥⌘D (Control-Option-Command-D)
OK, bằng cách sử dụng bản ghi Automator, tôi đã làm cho nó hoạt động với phiên bản sửa đổi của AppleScript trong câu trả lời khác.
Thay thế "của nhóm 1" bằng "của nhóm 2 của nhóm 1 của nhóm 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
Đúng, đó là công việc, loại. Vấn đề là giải pháp của user3439894 cuối cùng đã gây ra lỗi nếu ứng dụng đang hoạt động (Finder, textedit, v.v.) chưa được thêm vào ngăn truy cập Bảo mật & Quyền riêng tư.
Để giải quyết vấn đề này, chúng tôi cần hai quy trình công việc, dịch vụ của user3439894 với danh sách nhóm được cập nhật là ứng dụng Automator và dịch vụ Automator thứ hai để khởi chạy nó.
Ứng dụng Automator (Được lưu vào / Ứng dụng dưới dạng "Máy tính để bàn mới".)
khi chạy {đầu vào, tham số}
thực hiện kịch bản shell "open -a 'Mission Control'"
độ trễ 0,5
báo cho ứng dụng "Sự kiện hệ thống" để nhấp (mỗi nút có giá trị thuộc tính "AXDes mô tả" là "thêm máy tính để bàn") của nhóm 2 của nhóm 1 của nhóm 1 của quy trình "Dock"
độ trễ 0,5
báo cho ứng dụng "Sự kiện hệ thống" tới mã khóa 53
trở lại đầu vào
Kết thúc
Sau đó, chúng ta chỉ cần tạo luồng công việc thứ hai dưới dạng dịch vụ, sử dụng hành động "Khởi chạy ứng dụng" và lưu nó dưới dạng "New_Desktop"
Các bước cuối cùng là thêm vào New New Desktop. Thêm vào tùy chọn hệ thống> Bảo mật & quyền riêng tư> Trợ năng
Sau đó thêm lối tắt bàn phím của bạn trong Tùy chọn hệ thống> Bàn phím> Phím tắt> Dịch vụ> Chung cho New_Desktop.workflow.