背景
私は普段デスクトップPCで3枚のモニターに繋いだ環境で作業しています。
寝付きを良くするために夜はモニターの輝度を抑えたい派なのですが、ノートPCと違ってデスクトップPCだとWindows側から輝度を調整するメニューが無いためモニター側を手動で操作するしかなく、モニターが複数あるので面倒でした。
そこで
- 複数のモニターの輝度を一括で操作したい
- 輝度を自動操作したい:朝は明るく、夜は暗くしたい
という自分の要望を叶えるためのアプリを作りました
作ったもの
こんな感じの簡単なGUI付きアプリをPythonで作りました
「Schedule」のところをユーザーが調整可能で、画像の例だと朝9時に輝度100(最大)になって22時に輝度20になります。 実際に自分が使うときは100→20のような急激な変化はさせずに、もう少しなだらかに変化するように設定してます。
使った技術
モニターの輝度についてはmonitorcontrolというパッケージがあったので簡単に操作できました。
GUIについてはFletパッケージを使ってみたかったので今回採用しました。 Fletはサクッとアプリが作れて結構使いやすかったですが、細かいデザインまで調整しようとすると難しかったです。
Fletはまだまだ発展途上という感じで、機能も発展的なものはまだ無いのかなという印象でした。 例えばこのアプリをバックグラウンドで動作させたい(タスクトレイに最小化して入れておきたい)と思っているのですが、探した感じではそういう機能はまだなさそうでした。あとは新しいバージョンがリリースされたら自動検知させる機能とかも自分で実装しなければいけなさそう。
リポジトリ
ここに置いてます。