見出し画像

時間経過によるスリープ+タスクバー上のアイコンをタスクトレイへ隠す


Windows11でスリープ設定がうまく効かない

PCをつけっぱなしにしたまま放置になったり寝落ちしてしまうことがしばしばある。
電気代がもったいないので何とかしたいのだが、WIndows標準のスリープで設定してもなぜかうまく効かない。
(戻ってきて見てみると電源ランプが入りっぱなしになっている)

設定から「スリープ」で検索し「電源、スリープおよびバッテリー設定」
(またはこの画面で見えている「電源」)
「画面とスリープ」で確かに設定できているのだが…

一定時間経過でスリープにするツール「AutoSleep」

以前のマシンで「スリープに入るが数秒で復帰してしまう」という挙動に悩み、強制的にスリープに入るフリーソフトを探して、「AutoSleep」というものを使っていたので、今回もこれを導入してみる。
(「AutoSleep」で検索すると、AppleWatchでの睡眠管理アプリが主に引っ掛かるようだが、これではない。)

このソフトは、マウスの挙動を検知し、一定時間操作が無いとスリープにしてくれる。検知感覚、スリープに入るまでの時間を設定が可能。
設定はconfig.jsonを直接書き換えるので、慣れていない人には心理的ハードルがややあるかもしれない。(全く難しくはない)

作者のページにも記載があるが、Windows標準のスリープコマンドをたたいているだけらしいので、ハイバネーションが有効化されていると、スリープではなくハイバネーションで動作する。
このソフトを以前使っていた頃、私はハイバネーションを有効化していたが、私の場合、寝落ち等への対策でスリープまでの経過時間設定は長めなので、挙動がハイバネーションとなってもそこまで不便は感じなかった。

なおこのソフトは「マウスの動きを検知して、一定時間操作が無ければスリープ」するものなので、キーボードを触っただけでは「操作した」と見なされない。
このため、私の使い方の場合、長時間キーボードのみで作業している際に、気づいたら時間経過していて、作業中なのにスリープ(というかハイバネーション)…みたいなことが良く起こった。

また、Windowsのスリープ設定だと、起動しているソフト側でスリープの無効化を制御できるっぽいが、このソフトだとそのあたりは考慮されない。
具体的には、動画のエンコード作業やネットからのダウンロードが走っている際、Windows標準のスリープだけであればスリープに入らないが、このソフトを使っていると強制的にスリープに入ってしまう点は注意が必要。
長時間の自動作業を行う場合には、このソフトを事前に終了させておく必要がある。

AutoSleepの動作画面。コマンドプロンプトベースで動作するソフト。

タスクバー上のアイコンを隠す(タスクトレイへ格納する)ソフト「NaiNai」

AutoSleepは常時実行されている状態なので、起動中は常にタスクバーへコマンドプロンプトのアイコンが表示される。

一番右側の「>_」ってアイコンがそれ。

タスクバーにピン留めをしてショートカット的に使用しているため、タスクバー上のアイコンはもともと多めで、さらにアイコンが増えることになるのはちょっと好ましくない。
(Microsoftはなぜ「クイック起動」を廃止してしまったのか…)
また、コマンドプロンプトを呼び出して作業することもたまにあるため、その際に新しく呼び出したウィンドウの分も、このアイコンに重なって管理されてしまうのが地味に面倒。「現在、コマンドプロンプトを起動して作業しているか」が直感的にわからなくなってしまう。

このため、またしてもフリーソフトを探してみた。
あまりこの手のことは需要が無いのか、あまり数が見つからず、やや古めだが「NaiNai」というソフトを見つけた。

2010年のソフトであり、作者のWebサイトも既に存在していない様子。
対応OSは「Windows XP/Vista/7」となっているが、Windows7に対応しているなら、まぁWindows11でもイケるだろう…という読み。

配布されているのはzipファイルだが、展開すると中からmsiインストーラーが出てくる。(zipだけど、いわゆるポータブル版ではないらしい)
インストールは特に難しい設定もなくできる。
インストール後、スタートアップフォルダへ自動的にショートカットが作成されており、次回以降Windowsを起動した場合には、自動的に実行される。

メイン画面。「設定」ボタンを押して対象の指定などを行う画面へ。
設定画面。上部の一覧から対象を選ぶことで「ウインドウタイトル名」や「ウィンドウクラス名」など面倒な設定は自動的に反映され、簡単に登録できる。

設定すると最小化している対象(今回ではAutoSleep)のアイコンは、速やかにタスクトレイへ格納され、タスクバー上から無くなる。快適。
ちょっと心配していた「コマンドプロンプトのアイコンがまとめて消されたらどうしよう」という心配も、ウィンドウタイトル名などで制御され個別に適用が設定できて問題なかった。

今回は使わなかったが「不透明度」や「タイトルバーのスタイル変更」みたいな機能も、何か面白く使えるかもしれない。

さて、ここまでやっておいて何だけど、その後、Windows標準のスリープをさらにテストしてみたら、どうも全く効いていないわけではないらしい。
一方、昨日見ていたら「明らかに放置状態で時間経過しているのに、いつまでたっても画面消灯もスリープも動いていない」状態は目撃しているので、何らかの条件によって効いたり効かなかったりなのか…。
もう少し様子を見る必要がありそうなので、
「Windows標準のスリープを設定 + スタートアップでAutoSleepを起動(し、作業を開始する時点でAutoSleepを終了する)」
という運用で様子を見たいと思う。
このことにより、

  • PCの電源を付けて、その後何もしない状態ならAutoSleepにより強制スリープ
    ※昨日見た「いつまでもスリープしない」状態が起動直後の放置だったため、この状態は強めにスリープをかける

  • 作業を開始した後はWindows標準のスリープに任せる
    ※AutoSleepによるエンコード中などのスリープは回避する。あとタスクバーが鬱陶しいのも回避。

という構えになる。

Windows11で時間経過によりハイバネーション(休止状態)へ移行する設定をする

もう1点、本当に長時間使用しないとき(例えばうっかり朝に電源を消し忘れて出勤してしまったときなど…)には、スリープではなくてハイバネーションになっていてほしい気持ちがある。

一方、「設定」からたどれるスリープ等の設定の画面にはハイバネーションに関する項目が無い。以前のWindowsであれば「電源プランの詳細」から設定ができたが、それっぽい名前である「電源に関する詳細設定」の部分は押せなくなっている。

で、調べてみたところ、どうも旧コントロールパネルを経由して「電源プランの詳細」を開けば良いらしい。

  1. スタートメニューから「すべてのアプリ」

  2. 「Windowsツール」

  3. 開いたウィンドウから「コントロールパネル」

  4. カテゴリ表示なら「ハードウェアとサウンド」「電源プランの編集」
    アイコン表示なら「電源オプション」

見慣れた画面へ。電源プランの選択、編集が可能。

以前のWindowsであれば、スタートボタンの右クリックでコントロールパネルも呼べたのだが、今のWindowsだとそれすらも表示されていない。
全ての設定項目を「設定」からできない以上、コントロールパネルへのアクセス方法はしっかりと確保しておいて欲しいのだが。
(それ以前に、「設定」から全部できるようにしてほしいし、そもそも「設定」は画面がころころ変わりすぎで、早く設計思想を安定させてほしい。)

今回は、「高パフォーマンス」をベースに新しい電源プランとして作成し、「画面消灯15分」「スリープ1時間」「ハイバネーション3時間」と設定。
これでしばらく様子を見てみようと思う。

この記事が気に入ったらサポートをしてみませんか?