
ここではmacOS Mojave以降で”アプリケーションはライトモードのままでその他のUIをダークモードにする方法”及び”ダークモード・ライトモードを個々のアプリケーションに個別に適用する方法”を紹介する。
なお前者の方法はmacOS Catalinaでも有効だが後者の個別にアプリケーションにダークモードを適用する方法はmacOS Catalinaでは利用できない(個別のアプリケーションをライトモードにすることはできる)。
また、この方法を試したことで何らかの不具合が生じても責任は取れないため自己責任の上でお願いしたい。
アプリケーションはライトモードのままでその他のUIをダークモードにする方法

画像のようにアプリケーションはライトモードのままでメニューバーやドック、通知センターなどmacOSのUIのみをダークモードにするには以下のコマンドをターミナルで入力・実行しmacOSに再ログインまたは再起動する。
この方法はmacOS Mojave、macOS Catalinaどちらにおいても有効だ。
defaults write -g NSRequiresAquaSystemAppearance -bool Yes

元に戻す場合は以下のコマンドを実行して同様に再ログインまたは再起動。
defaults delete -g NSRequiresAquaSystemAppearance

なお、ここまでの一連の作業を行ったところ「アクティビティモニタにプロセスが表示されない」「画像のプレビューが開かない」といったトラブルが起きたが再度再起動すれば問題なかった。
任意のアプリケーションのみにライトモード・ダークモードを適用する
続いては任意のアプリケーションのみライトモード・ダークモードを適用させる方法を紹介する。
なお、この方法は冒頭でも書いた通りmacOS Mojaveまでなら有効だがmacOS Catalinaでは個別のアプリケーションをダークモードにすることはできない点に注意(ライトモードにならできる)。
まず任意のアプリケーションのみライトモード・ダークモードを設定するにはそのアプリケーションのバンドルIDを知る必要がある。
例えばメールアプリのバンドルIDは以下のようになる。
com.apple.mail
com.で始まるものが一般的にアプリケーションのバンドルIDだ。
まずは下記の手順でバンドルIDを調べよう。

アプリケーションを右クリックして「パッケージの内容を表示」をクリック。

開いたパッケージフォルダ内にある「Contents」フォルダのInfo.plistをテキストエディタ(テキストエディットアプリ)などで開き、”CFBundleIdentifier”という文字列を探す。

その下に記載されているのがそのアプリのバンドルIDだ(画像ではcom.apple.mail)。
バンドルIDがわかったのでライトモード・ダークモードを任意に適用したいアプリのバンドルIDを付与した上で以下のコマンドを実行する(下記の場合はメールアプリなのでcom.apple.mail)。
defaults write com.apple.mail NSRequiresAquaSystemAppearance -bool NO
com.apple.mailの部分を任意のバンドルIDで置き換えよう。
コマンドの最後の部分を「NO」にすればダークモード、「YES」にすればライトモードになる。
コマンドを実行したらそのアプリケーションを一度再起動しよう。
なお、macOS Catalinaでは「YES」にしてライトモードを個別に適用することはできるが、ダークモードに関しては変化がなく通用しない。

元に戻す場合はメールアプリの場合、以下のコマンドを実行する。
defaults delete com.apple.mail NSRequiresAquaSystemAppearance
まとめ
「アプリケーションのみライトモードを適用しその他のUIはダークモードのままにする」という方法はmacOS Mojave、macOS Catalina共に有効であるがmacOS Catalinaでは内部仕様が変わったのか個別にアプリケーションをダークモードにすることは現状ではできなくなっている。
また、上記で紹介した方法だと中途半端にライトモードやダークモードの要素が残ったりするため完璧ではない。
とはいえターミナルからのコマンド一つでmacOSの見た目をカスタマイズできるのは興味深いので自己責任の上で試してみるといいだろう。