デスクトップの壁紙を、CPUとメモリの使用状況を示すシステムモニタに変えるWindowsの常駐アプリ。プロセスごとの負荷をツリーマップとして壁紙に描き、一定間隔で更新し続ける。専用のウィンドウを開かなくても、デスクトップを見るだけで「今どのプロセスが重いか」が分かる。
PCが急に重くなるたびにタスクマネージャーを開いて原因のプロセスを探すのが面倒で、普段から目に入る場所に軽く表示しておけないかと考えたのが始まり。
主な機能
- プロセス別ツリーマップ: 画面の上半分にCPU使用率、下半分にメモリ使用量を表示する。上位16プロセスをタイルの面積で表し、残りは「Other」にまとめる。
- 負荷で決まる色: タイルの色はプロセス名ではなく負荷の大きさで決まる。パレットは Inferno / Viridis / Amber / Onyx の4種類から選べる。
- アラート枠: 負荷が閾値(80% / 90% / 95% から選択)を超えたプロセスには警報色の枠線が付く。
- 推移と増減: 見出しの横に直近の推移を示すスパークラインと、前回からの増減(▲/▼)を表示する。
- 更新間隔の切り替え: 軽量(15秒)と精細(5秒)をトレイメニューから選べる。
- 2つの表示方式: 壁紙の画像を書き換える方式と、壁紙に触れずに透過ウィンドウを最背面に重ねるオーバーレイ方式を切り替えられる。
- 元の壁紙を自動で復元: 起動時に元の壁紙と表示スタイルを退避し、終了時に戻す。異常終了した場合も次回起動時に復元を試みる。
入手方法
Microsoft Storeで無料配布している。すべての機能を無料で使え、アプリ内課金はない。
起動するとタスクトレイに常駐し、すぐに壁紙への描画が始まる。設定はすべてトレイアイコンの右クリックメニューから行う。
技術構成
C#(.NET 8)とWPFで開発し、描画にはSkiaSharpを使っている。壁紙の差し替えやオーバーレイウィンドウを最背面に固定する処理はWin32 APIで行い、マルチディスプレイやDPIの違いも考慮した。等幅フォントのJetBrains Monoをアプリに同梱し、環境に左右されない見た目にしている。設定は %APPDATA% 配下のJSONに保存する。プロセス名や使用状況は端末内だけで処理し、外部への通信やテレメトリは一切ない。
工夫した点
壁紙は一日中目に入るものなので、情報を詰め込むより「ひと目で偏りが分かる」ことを優先した。ツリーマップなら、どのプロセスが重いかが面積で直感的に伝わる。色はプロセス名ではなく負荷の大きさに対応させ、さらに閾値を超えたものには枠線を付けた。色だけに頼らない表示にしたので、色の見え方に個人差があっても負荷の高いプロセスを見落としにくい。
常駐アプリそのものが重くなっては本末転倒なので、更新間隔を選べるようにし、軽量モードでは15秒ごとの更新に抑えている。コーナーブラケットや極薄のグリッド、スキャンラインといったHUD風の装飾は、計器パネルを眺めているような楽しさを出すためのこだわり。