🌞

i3-wm環境で時間帯に応じてライト/ダークテーマを切り替える方法

2024/04/27に公開

GNOMEやKDEといったデスクトップ環境を使っている場合,ライト/ダークテーマの切り替え機能が標準で備わっているので,設定を意識することはあまりない.これらのデスクトップ環境では,設定メニューからテーマを簡単に変更できる.

しかし,i3-wmのようなウィンドウマネージャを使っている場合,デスクトップ環境が入ってないので一手間必要.

darkmanを入れる

darkmanは,時間帯に応じてlight/darkを切り替えてくれるツールである.以下のコマンドでインストールできる.

sudo pacman -S darkman

darkmanをサービスとして起動し,ユーザーログイン時に自動的に開始されるようにする.

systemctl --user enable --now darkman.service

xdg-desktop-portalを入れる

xdg-desktop-portalは,アプリとデスクトップ環境の橋渡しをしてくれるツールである.これにより,アプリケーションがデスクトップ環境の機能を利用できるようになる.

sudo pacman -S xdg-desktop-portal

ライト/ダークテーマの設定をdarkmanにやらせる

$HOME/.config/xdg-desktop-portal/portals.confファイルを作成し,以下のように記述する.これにより,xdg-desktop-portalがdarkmanを使ってテーマ設定を行うようになる.

[preferred]
org.freedesktop.impl.portal.Settings=darkman

変更を反映するため,再起動する.

テスト

以下のコマンドを使って,手動でライト/ダークテーマを切り替えられる.

darkman set [light|dark]

コマンドを叩いた瞬間にアプリの配色テーマが変わっていれば,正しく設定されている.

Discussion