WebDesigner's Memorandumウェブデザイナーの備忘録

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

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」としておきます。

Keywordの設定

キーワード部分の設定

黒い背景部分を右クリックして、[Inputs]→[Keyword]を選択します。

Keywordには今回「darkmode(他のでもいいですが、分かりやすいもの)」を入力して、「Argument Required」を「No Argument(引数なし)」にしておきます。

こうすることで引数なしにして、キーワードを入力したときだけWorkflowの実行ができるようになります。

Workflowの作成

あとはタイトルやサブタイトルなどの情報を入力して、「Save」を押します。

AppleScriptの設定

Keywordの右横にあるポッチをクリックして、[Actions]→[Run NSAppleScript]を選択します。

このWorkflow Onjectを使うと、AppleScript(またはAlfred用のAppleScriptであるNSAppleScript)の実行ができます。

下の画像のようなパネルが表示されるので、「– your script here」と書かれた部分にスクリプトを入力します。

AlfredのAppleScript設定前

今回の場合は、先ほども紹介したダークモードを切り替えるAppleScriptを入力します。

tell application "System Events"
  tell appearance preferences
    set dark mode to not dark mode
  end tell
end tell

AlfredのAppleScript設定後

注意しなければいけないポイントとして、AppleScriptはインデントが重要で、それが崩れているとうまく動作しないので気をつけてください。

入力できたら「Save」を押して、完成です。
試しにAlfredの検索画面で「darkmode」と入力してWorkflowを実行して、ちゃんとダークモードが切り替わるか確認してみてください。

まとめ

今回は一例としてダークモードを切り替えてしまいましたが、AlfredからAppleScriptの実行は使えるので、色々試してみると良さそうです。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね