Alfredでダークモードを切り替えるWorkflowを作成する方法

AppleScriptを使って比較的簡単に実装できて、且つ利便性も高いものに「ダークモードの切り替え」が挙げられます。
Keyboard Maestroを使えばショートカットキーからの実行もできるのですが、ショートカットキーを覚える必要が出てきます。
しかし、Alfredであればシステムコマンドのように「darkmode」と入力して実行すれば、忘れることも少なそうで便利なのでは?と思いました。
というわけで、今回はAlfredでシステムコマンドのようにダークモードを切り替えられるWorkflowを作ってみます。
ダークモードを切り替えるAppleScript
まず、Workflowを作る前に、ダークモードを切り替えるAppleScriptについてです。
1日1Tipsでも紹介したことがあるのですが、下記のコードを使うと切り替えができます。
tell application "System Events"
tell appearance preferences
set dark mode to not dark mode
end tell
end tell欠点は「いまの状態がダークモードなのかライトモードなのか判別できない」ことで、トグルでの切り替えしかできないのですが、そこに関してはAppleScript側の問題なのでどうしようもなさそうです。
Workflowの作成
まずはAlfredの環境設定の[Workflows]のサイドバー下の「+」ボタンを押し、「Blank Workflow」をクリックして必要情報を入力します。
今回の場合はダークモードを切り替えるWorkflowなので、名前は「Toggle Dark Mode」としておきます。

キーワード部分の設定
黒い背景部分を右クリックして、[Inputs]→[Keyword]を選択します。
Keywordには今回「darkmode(他のでもいいですが、分かりやすいもの)」を入力して、「Argument Required」を「No Argument(引数なし)」にしておきます。
こうすることで引数なしにして、キーワードを入力したときだけWorkflowの実行ができるようになります。

あとはタイトルやサブタイトルなどの情報を入力して、「Save」を押します。
AppleScriptの設定
Keywordの右横にあるポッチをクリックして、[Actions]→[Run NSAppleScript]を選択します。
このWorkflow Onjectを使うと、AppleScript(またはAlfred用のAppleScriptであるNSAppleScript)の実行ができます。
下の画像のようなパネルが表示されるので、「– your script here」と書かれた部分にスクリプトを入力します。

今回の場合は、先ほども紹介したダークモードを切り替えるAppleScriptを入力します。
tell application "System Events"
tell appearance preferences
set dark mode to not dark mode
end tell
end tell
注意しなければいけないポイントとして、AppleScriptはインデントが重要で、それが崩れているとうまく動作しないので気をつけてください。
入力できたら「Save」を押して、完成です。
試しにAlfredの検索画面で「darkmode」と入力してWorkflowを実行して、ちゃんとダークモードが切り替わるか確認してみてください。
まとめ
今回は一例としてダークモードを切り替えてしまいましたが、AlfredからAppleScriptの実行は使えるので、色々試してみると良さそうです。

MacのQuick Lookをもっと便利にしてくれるプラグインまとめ
AlfredのWorkflowで新規ファイルを作成する方法
高速なzshのプラグインマネージャー「Zplugin」の導入方法
BetterTouchToolでウィンドウリサイズ用のショートカットキーを設定する
macOSのシステム環境設定「インターネットアカウント」の設定見直し
Fantastical 2 for Macでスムーズにカレンダーの登録を行う
Sketchのプラグインを管理ツールを使わずに直接フォルダで管理する方法
StationであらゆるWebサービスをまとめて管理する
iTerm2終了時に表示される確認ダイアログを非表示にする
Macログイン時に自動起動するアプリの管理方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
かゆいところに手が届く「Supercharge」でMac環境を便利にカスタマイズする
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け