🌞
i3-wm環境で時間帯に応じてライト/ダークテーマを切り替える方法
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