MMatt Senter
現在プロジェクト紹介連絡ブログ

← プロジェクト

CommandH

開発者macOS · オープンソースgithub.com/MattSenter/commandh

macOS には不思議なルールがあります。最後に表示されているアプリは隠せないのです。ほかのアプリをすべて隠したあと、残った 1 つで Cmd+H を押しても何も起きません。ウィンドウはそのままで、デスクトップにたどり着けません。

CommandH はこれを解決する小さなメニューバーアプリです。起動しておけば、最後のアプリでも Cmd+H がいつもどおりに働きます。無料でオープンソースです。

GitHub で見る ↗
CommandH。最後に表示されているアプリも Cmd+H で隠せるようにする Mac のメニューバーアプリ。アプリアイコン、設定ウィンドウ、メニューバーのメニュー

最後のアプリを扱う 2 つの方法

アプリが 2 つ以上表示されているときは、CommandH は何もせず、Cmd+H はいつもどおりに動作します。表示されているアプリが 1 つだけになると、選んだ方法で CommandH が代わりに対応します。

  • Hide the app(デフォルト):最後のアプリが完全に隠れます。ほかの場面での Cmd+H とまったく同じです。代役を務めるあいだ、CommandH が一時的に Dock に表示されます。
  • Show Desktop:ウィンドウが画面の端へスライドし、もう一度 Cmd+H を押すと元に戻ります。CommandH が Dock に表示されることはありません。

macOS が拒否する理由と回避策

CommandH を書く前に、最後のアプリを直接隠す方法を見つかる限り試しました。公開 API、AppleScript、アクセシビリティ、そして 2 つの非公開システムコールです。あるものはその場で拒否され、あるものは成功と報告しながら何も変わりませんでした。隠すことに成功しても、macOS は画面に何かが残るよう、直近に使ったアプリをすぐに再表示してしまいます。

これらの経路はすべて同じチェックに行き着きます。そのチェックが数えるのは通常のアプリ、つまり Dock にアイコンがあるアプリだけです。そこで、表示中のアプリが 1 つ以下になると、CommandH はほぼ透明なウィンドウを持つ通常のアプリに切り替わります。すると最後のアプリはもう最後ではなくなり、そのアプリ自身の Cmd+H が普通に働き、macOS はほかのアプリを再表示する代わりに CommandH にフォーカスを渡します。

権限もデータも不要

CommandH はアクセシビリティや画面収録の権限を求めず、ネットワーク通信も行わず、何も収集しません。画面の内容やキー入力を読み取ることもありません。Show Desktop モードでは、表示中のアプリが 1 つのときだけ Cmd+H を受け取り、状況が変わればすぐに手放します。

見えなくもできるメニューバーアプリ

設定は小さなウィンドウとメニューバーのメニューにあります。CommandH のオン・オフ、方法の選択、ログイン時に開くかどうかを設定できます。メニューバーのアイコンを完全に消して、見えない状態で動かすこともできます。「アプリケーション」フォルダから CommandH を開けば設定が再び表示され、うっかり Cmd+Q を押してもウィンドウが閉じるだけなので、誤って終了することはありません。

動作環境とインストール

CommandH は macOS 14 Sonoma 以降で動作し、MIT ライセンスのもと無料で提供しています。現時点では、1 つのスクリプトでソースコードからビルドしてインストールします。GitHub の README に手順とすべての設定をスクリーンショット付きでまとめています。アプリ全体で Swift 500 行未満です。

CommandH についてさらに

  • CommandH の紹介
  • 一つのことだけをする小さなローカルソフトウェア
← プロジェクト一覧GitHub で見る ↗
© 2026 Matt Senter · Senternet の Matt Senter が制作 SenternetOrgabot で構築ノースカロライナ州ダーラムつくる人のために紹介ブログツールプライバシー利用規約
EnglishEspañol简体中文Français日本語PortuguêsDeutsch