コンテンツへスキップ
Wham.sh

メニューバーアプリ

フタを閉じる。 Macは起きたまま。

メニューバーのスイッチをワンクリックするだけで、フタを閉じてもMacが本当に起きたままになります。

Mac版をダウンロード

無料。macOS 11以降。AppleシリコンとIntelに対応。

試してみる

メニューバーのスイッチひとつだけ。

これがアプリの全部です。Macが起きている時は太陽、眠れる時は月、どちらでも小さなチャイムが鳴ります。さあ、クリックしてみてください。

サウンドオン:これは本物のチャイムで、ブラウザが鳴らす8-bitアルペジオです。

こんな時に

長い作業のために。

オンにして、フタを閉じて、その場を離れましょう。見ていたくないほど時間がかかる作業も、終わるまで続きます。

使い方

3つのステップ。本当に大事なのは3つ目。

  1. 1Whamをダウンロードして開く

    アプリケーションフォルダにドラッグして開きましょう。時計の横、メニューバーに常駐します。

  2. 2スイッチをクリック

    太陽が現れて、チャイムが鳴ります。最初の1回だけ、macOSがパスワードを求めます。

  3. 3フタを閉じる

    Macはそのまま動き続けます。Claude Codeはタスクを終え、書き出しは最後のフレームに達し、ダウンロードは100%になります。

多くのスリープ防止アプリは、macOSに「起きていて」とお願いするだけです。フタを閉じた瞬間、macOSはその頼みを無視します。だからWhamは自らスリープを無効にし、終わったら元に戻します。

軽量

動いていることを忘れるくらい。

Whamがすることはひとつだけ:2秒ごとに、カーネルのフラグを1つ読み取ります。オンの間は、macOSが知らせるバッテリー、発熱、フタの状態にも気を配ります。それ以外の時間は何もせず、CIがその予算を守っています。

参考までに:KeepingYouAwakeはディスク上で7.6 MB、Amphetamineはヘルパーアプリを除いて6.7 MBのダウンロードサイズです。MacBook Air、macOS 26.6で測定。詳細はdocs/compatibility.mdにあります。

比較

多くのスリープ防止アプリは、フタの前で止まります。

フタを開けたままMacを起きた状態に保つのは簡単です。閉じると、macOSは丁寧な頼みごとを無視します。ここでは、バッテリー駆動かつ外部モニターなしでフタを閉じた場合に、有名なアプリがどう動くかを紹介します。

App Storeのアプリは単独ではこれができず、正直なアプリはそう明言しています。Lungoは「フタを閉じた場合、コンピュータのスリープを防ぐことはできません。これはMac App Storeの制限です」としています。 出典

FAQ

いい質問ですね。

いいえ。Whamをダウンロードして開けば、すべてメニューバーで完結します。クリック1つでMacを起きたままにし、もう1クリックでスリープさせられます。このページの下にあるコマンドは、タイプするのが好きな人のためのものです。

はい。スリープを無効にするには管理者権限が必要です。最初にクリックした時だけ、macOSがパスワードを求め、以降Whamは聞き直すことなくこの設定を切り替えられます。Whamに許されているのはそれだけです。開発者による署名とAppleの公証を受けており、すべてのコードはGitHubで公開されています。

はい。スイッチを右クリックして「Turn On For」から1、2、4、8時間を選べます。メニューにはいつまで有効かが表示され、その後はMacが通常どおりスリープします。ターミナルからはwham on 2h、またはコマンドの前にwham runを付ければ、実行中だけ起きたままにできます。

Whamが熱暴走させることはありません。macOSがMacを危険な高温と判断すると、Whamは自動でオフになりスリープさせます。とはいえ、閉じたバッグの中で動き続けるノートには熱の逃げ場がなく、Whamはあくまで空気が流れるデスクやドック、棚での使用を想定しています。持ち歩く前にはオフにしておけば、フタを閉じた時にいつものようにスリープします。

Wham自体の消費はほぼゼロです。ただ、起きたままのMacはフタの開閉に関わらずバッテリーを消費するので、バッテリー駆動時はWhamが残量10%で手を離します。作業内容を保存したままMacをスリープさせ、電池切れにはしません。長い作業の時は電源に接続してください。

いつもどおりです。外部ディスプレイがない場合、Whamはフタを閉じた数秒後に内蔵ディスプレイをオフにし、ロック画面の設定に従ってMacがロックされます。モニターが接続されている時は、Whamはどちらの画面にも手を加えません。

いいえ。それはmacOS自体の「クラムシェルモード」が求める条件で、Whamにはどれも必要ありません。何もつないでいないノートでもフタを閉じれば起きたままになります。

スリープが元どおりになります。メニューから終了する時(スイッチを右クリック)も、スクリプトからも、ログアウトからも、終了時に必ずこの設定をオフに戻します。クラッシュや強制終了でWhamが予告なく消えてしまった場合も、ウォッチドッグが1秒以内にスリープを復活させます。

メニューからWhamを終了すればスリープが元に戻ります。その後、アプリケーションフォルダからWhamをゴミ箱にドラッグしてください。パスワードのルールを含めて完全に削除するには、開発者向けにある1行のアンインストーラーを使ってください。

App Storeのアプリはサンドボックスの中で動いており、サンドボックス化されたアプリはMacのスリープ設定を変更できません。それでも試みるアプリは、macOSに「起きていて」とお願いするだけに留まり、それこそがフタを閉じた瞬間に効かなくなるものです。

インストール

ダウンロード版と同じ署名済みアプリに、whamコマンドが加わります。更新するにはもう一度実行してください。

curl -fsSL wham.sh | sh
brew install gwendall/tap/wham
npx wham.sh

まずは内容を見てみたいですか?install.shを読む:最新版をダウンロードし、署名を確認し、アプリケーションフォルダに置いて開きます。

whamコマンド

wham on
on: your Mac stays awake, even with the lid closed
wham on 2h
on until 4:30 PM: your Mac stays awake, even with the lid closed
wham status
on until 4:30 PM: your Mac stays awake, even with the lid closed
wham off
off: your Mac sleeps as usual
wham run make
# makeの実行中は起きたまま、終われば元どおり

アンインストール

curl -fsSL wham.sh/uninstall | sh

Whamを終了してスリープを元に戻し、アプリ本体、whamコマンド、設定、そして下記のsudoersルールを削除します。Homebrewの場合:brew uninstall --zap wham。uninstall.shを読む。

# /private/etc/sudoers.d/wham、ユーザーID 501(あなた)用
#501 ALL=(root) NOPASSWD: /usr/bin/pmset -a disablesleep 0, /usr/bin/pmset -a disablesleep 1