Keyboard Maestroでダークモードかどうか判定して、条件分岐で処理を変える方法

最近Keyboard Maestroのバージョンが9.0になって、ダークモード関連の機能が追加されました。
今回は今まで面倒だった、ダークモードによっての処理の分岐を作ってみます。
ダークモードによる処理の分岐が必要なマクロ
例えば、メニューバーをクリックするようなマクロのような「Click at Found Image」アクションを使っている場合に、ダークモードによる分岐処理が必要になります。

ダークモードにすると、Macのメニューバーは白黒反転してしまうので、ダークモードのときにマクロを実行しても「Click at Found Image」で画像が見つからず、マクロ失敗となってしまいます。

ダークモードによる処理の分岐を組み込む
ダークモードかどうかの判定
ダークモードによる処理の分岐のために、まずは現状ダークモードかライトモードか、どちらか取得する必要があります。
「Set Variable to Calculation」アクションを追加して、「Set variable」にDARKMODE、「to」にはDARKMODE()と入力します。

こうすると、ダークモードかどうか判定して数字を返してくれます。
| 状態 | 返ってくる値 |
|---|---|
| ライトモード | 0 |
| ダークモード | 1 |
条件分岐の設定
あとは「If Then Else」アクションを追加して条件分岐の設定です。

「Add Condition」をクリックして、「Varibale Condition」を選択します。

「The variable」にはDARKMODEを入力して、「contains」には0を入力します。
これでTrueの方にはライトモードのときの設定を追加して、Falseの方にはダークモードのときの設定を追加すればOKです。

今回の場合は、「Click at Found Image」の画像をそれぞれライトモードの画像とダークモードの画像に設定しなおします。
最終的に、下記のようなマクロになれば完成です。

まとめ
「Click at Found Image」を使ったマクロはダークモード時に全滅していたのですが、この方法を使えばダークモードでもライトモードでも、問題なく画像のクリックができます。
少し手間なのと、よく使うのであればDARKMODE()関数は別のマクロにしてしまって、定期的に状態変更を取得するようにしても良さそうです。

Homebrew Caskを使ってアプリケーションをコマンド一発でインストールできるようにする
macOS Catalinaになってから追加されたシステム環境設定の「Apple ID」にある項目
Google Chromeの別アカウントとのブックマークを同期する「TeamSync Bookmarks」
1Passwordを便利に使うための小技や整理術!
Chrome拡張機能の「1Password」と「1Password X」の違いはなに?どちらを使えばいいの?
Path Finderの「Finderで開く」が機能しないので、Keyboard Maestroで代替用マクロを作成する
Alfredからメニューバーの項目を検索・実行するWorkflow「Menu Bar Search」
ATOKのクラウド推測変換やナントカ変換を使って、単語をラクで正確に変換する
Path Finderのクラウドファイルアップロード機能で、選択ファイルをサーバー上にすばやくアップする
Dropbox Ignore node_modulesを使って「node_modules」を「同期の無視」に追加する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
BetterTouchToolを使って、ショートカットキーでAirPods ProをMacBook Proに接続する方法
Adobe Media Encorderを使って、動画を簡単にアニメーションGIFに変換する方法
単語登録機能に日常でよく使うフレーズを登録して、文章を素早く入力する方法
WordPressで「現在メンテナンス中のため、しばらくの間ご利用いただけません。」の状態でログインできなくなった場合の対処法
Sketchの画像周りの基本操作|画像の追加方法や色補正、切り抜き方法まで
WordPressでbloginfo()の一部パラメーターの廃止・非推奨に注意!
CSS Nite in Kobe, vol.52「ラクして毎日30分の時短! すぐにできるMacの作業効率化入門」に登壇してきました
手軽にコーディングの勉強ができるCodePenをもっと便利に使うための設定
AppCleanerでMacアプリを関連ファイルごと完全に削除する