回答:
私が持っていると思った場合はメニューバーの アプリを切り替えることができ、チェックボックスのために自動的に明るさを調整する上での表示のタブ表示でシステム環境を、これは私がそれを行う方法です...
修正使用したコードを 、この答えからのためのラッパーと追加で追加したコード望ましい機能や目標を達成するために、ここにある例 のAppleScript コードは:
-- # Acknowledgment: Some of the code used herein is modified code from the following answer:
-- # https://apple.stackexchange.com/questions/293307/applescript-run-from-menu-bar/293392#293392
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"
property aStatusItem : missing value
on run
init() of me
end run
on init()
set aList to {"Toggle - Automatically Adjust Brightness", "", "Quit"}
set aStatusItem to current application's NSStatusBar's systemStatusBar()'s statusItemWithLength:(current application's NSVariableStatusItemLength)
aStatusItem's setTitle:"☀️"
aStatusItem's setHighlightMode:true
aStatusItem's setMenu:(createMenu(aList) of me)
end init
on createMenu(aList)
set aMenu to current application's NSMenu's alloc()'s init()
repeat with i in aList
set j to contents of i
if j is not equal to "" then
set aMenuItem to (current application's NSMenuItem's alloc()'s initWithTitle:j action:"actionHandler:" keyEquivalent:"")
else
set aMenuItem to (current application's NSMenuItem's separatorItem())
end if
(aMenuItem's setTarget:me)
(aMenu's addItem:aMenuItem)
end repeat
return aMenu
end createMenu
on actionHandler:sender
set aTitle to title of sender as string
if aTitle is not equal to "Quit" then
my clickAutomaticallyAdjustBrightness()
else
current application's NSStatusBar's systemStatusBar()'s removeStatusItem:aStatusItem
tell current application to quit
end if
end actionHandler:
on clickAutomaticallyAdjustBrightness()
if running of application "System Preferences" then
quit application "System Preferences"
delay 1
end if
tell application "System Preferences"
reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays"
delay 1
tell application "System Events"
tell group 1 of tab group 1 of window 1 of application process "System Preferences"
click checkbox "Automatically adjust brightness"
set isChecked to (value of checkbox "Automatically adjust brightness") as boolean
end tell
end tell
quit
end tell
if isChecked then
display dialog " Automatically adjust brightness is checked." buttons {"OK"} default button 1 ¬
with title "Toggle - Automatically Adjust Brightness" giving up after 5
else
display dialog " Automatically adjust brightness is not checked." buttons {"OK"} default button 1 ¬
with title "Toggle - Automatically Adjust Brightness" giving up after 5
end if
end clickAutomaticallyAdjustBrightness
delay
delay
delay
コピーして貼り付け例 のAppleScript コードで新しい文書に上に示したスクリプトエディタアプリケーションとして保存、例えば、トグル-自動的に明るさを調整して確認し、[√]ランハンドラの後に開いたままに する]チェックボックスを節約しながら。
その後に、ターミナル、次のように実行コマンドを非表示にするドックタイル上のドックなどのためのトグル-自動的に明るさを調整するアプリケーションを:
defaults write '/Applications/Toggle - Automatically Adjust Brightness.app/Contents/Info.plist' LSUIElement -bool yes
次に、Toggle-明るさの自動調整アプリケーションなどを追加します。
システム環境設定 > セキュリティとプライバシー > プライバシー > アクセシビリティ
チェックボックスをオンにします。
今例えばトグル-自動的に明るさを調整アプリケーションを実行する準備ができていると表示されますそのすべてが上の太陽の黄色いアイコンでメニューバーなしのDockタイル上のドック。
例えばトグル-自動的に明るさを調整アプリケーションがチェックし、オフに切り替えることができますチェックボックスのために自動的に明るさを調整する上での表示のタブを表示してシステム環境設定、その後ダイアログボックスを表示します。
display dialog
コマンドは置き換えることができdisplay notification
コマンドあなたの代わりにすることを好む場合。
また、このメソッドはOS X / macOSのすべてのバージョンで機能するわけではありませんが、少なくとも10.11以降では機能するはずです。
注:AppleScript コードの例 は単なるものであり、エラー処理を使用せず、タスクを達成するための多くの方法の1つを示すことのみを目的としています。責任は、ユーザーが必要に応じて/必要に応じて適切なエラー処理を追加/使用することです。