Ẩn / Hiển thị biểu tượng pin trong thanh menu với AppleScript


1

Có phương pháp nào để hiển thị mục trạng thái thanh menu pin với AppleScript không? Tôi đã cố duyệt thư viện script nhưng không thể tìm thấy thư viện phù hợp với khả năng này.

Tôi chỉ đơn giản muốn chuyển trạng thái của mục thanh menu được tìm thấy trong Tùy chọn hệ thống »Tiết kiệm năng lượng» Cài đặt bộ điều hợp nguồn . Không cần xây dựng ứng dụng AppleScript cho nó.

OS X Yosemite »Tiết kiệm năng lượng» Bộ điều hợp nguồn


1
Có lẽ "Ẩn / Hiển thị biểu tượng pin trong thanh menu với Applescript" là một tiêu đề phù hợp hơn.
xa hơn

@fartheraway cảm ơn! Tôi đã tự hỏi những gì sai với tiêu đề câu hỏi của tôi. 😁
sayzlim

Câu trả lời:


2

Cập nhật: Tập lệnh được cập nhật này sẽ không nhấp nháy trên màn hình, tức là chạy trong backgound. Phiên bản cũ vẫn còn hiệu lực.

tell application "System Events"
    tell process "System Preferences"
        activate
    end tell
    tell application "System Preferences"
        set current pane to pane "com.apple.preference.energysaver"
    end tell
    tell process "System Preferences"
        click checkbox 1 of window 1
    end tell
    tell application "System Preferences"
        quit
    end tell
end tell

Từ ngày 18 tháng 10:

-- Allow Script Editor in Accessibility <- Privacy <- Security & Privacy <-  System Preferences. For testing, at the very least.

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.energysaver"
end tell


tell application "System Events"
    tell process "System Preferences"
        tell window 1
            click checkbox 1
        end tell
    end tell
end tell

tell application "System Preferences"
    quit
end tell

-- Create an Automator Service with this, so that you can bind the action to a keyboard shortcut.

Đây chính xác là những gì tôi đang tìm kiếm (mặc dù tôi thích nó chạy ở chế độ nền mà không cần mở Tùy chọn hệ thống). Có cách nào để lấy giá trị của hộp kiểm tra xem nó đã được bật / tắt không?
sayzlim

Đừng bận tâm, tôi đã tìm thấy câu trả lời trên StackOverflow trên chuỗi này .
sayzlim

1

Câu hỏi mơ hồ. Bạn có nghĩa là một applescript để hiển thị menu dropdowm từ biểu tượng pin ở phía bên phải của thanh menu?

tell application "System Events" to tell process "SystemUIServer"
    click (first menu bar item whose value of attribute "AXDescription" contains "Battery") of menu bar 1
end tell

Không. Chỉ muốn chuyển trạng thái pin từ cài đặt Tiết kiệm năng lượng.
sayzlim

Nó có thể được thực hiện thông qua khả năng tiếp cận. Nói cách khác, bạn sẽ thấy hệ thống flash trước thông qua màn hình của bạn. Và sau đó cài đặt được thay đổi. Bây giờ tôi quá dàn trải để viết mã.
xa hơn

Tôi đã mở Trợ năng nhưng không thể tìm thấy cài đặt bạn đã đề cập. Nó vẫn có thể được thực hiện với AppleScript (Tôi cũng hoan nghênh ý tưởng sử dụng shell script.
sayzlim

Đây không phải là một thiết lập. Bảng điều khiển truy cập trong SysPref chỉ cần cấp / từ chối cấp phép cho các ứng dụng chiếm quyền điều khiển chuột và bàn phím của bạn, ví dụ: khả năng truy cập. Applescript có thể nguyên vẹn với UI. Vỏ không thể. Tìm kiếm Trình kiểm tra khả năng truy cập trong Xcode nếu bạn muốn mã.
xa hơn

1
tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.energysaver"
end tell

tell application "System Events" to set bool to value of attribute "AXValue" of checkbox 1 of window 1 of process "System Preferences"

tell application "System Preferences"
    quit
end tell

if bool is 1 then
    display notification "Battery icon is visible" with title "Put a title here" subtitle "Subtitle here"
else
    display notification "Battery icon is hidden" with title "Put a title here" subtitle "Subtitle here"
end if
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.