はじめに

約6ヶ月前、macOS Tahoeがクラシックなアプリグリッド(Launchpad)を静かに廃止しました。代替アプリを探しましたが、しっくりくるものが見つからず、結局自分で作ることにしました。それが LaunchNext です — macOS 26向けの無料オープンソースLaunchpad代替アプリです。最初のバージョンは完成度が低かったものの、コミュニティからの反響は素晴らしく、開発を続ける原動力になりました。

それ以来、コツコツとアップデートを重ねてきました。リリースのたびに、自分が理想とする形に近づいていきました。2.4.0は、ついにそこに到達できたと感じるバージョンです — このリリースで、当初思い描いていた機能の97%が実現できたと思います。


LaunchNext

2.4.0の新機能

ネイティブトラックパッドジェスチャー

4本指のピンチインでLaunchNextが開きます。ピンチアウトで閉じる操作とタップで閉じる操作はオプションで設定できます。

これは最初から実装したかった機能です。Launchpad代替アプリを作る意味は、macOSにネイティブに溶け込む使い心地にあります。毎回ショートカットキーを押す必要があるのは、その感覚を壊してしまいます。トラックパッドジェスチャーこそ、macOSユーザーがアプリを切り替える際の自然な操作方法です。

現在は実験的機能としてマークされています。macOS上でのジェスチャーの割り込み処理は本当に難しく、システムジェスチャーが優先され、ハードウェア世代によって挙動が異なり、エッジケースの網羅的なテストも困難です。自分のテストや早期テスターの環境では安定していますが、ラベルを外す前にもっと実際の使用環境でのフィードバックを集めたいと思っています。

実験的なジェスチャーサポートは OpenMultitouchSupportKrishKrosh によるforkをベースに実装されています。❤️

LaunchNext ネイティブトラックパッドジェスチャー

ホットコーナー

画面の任意のコーナーにカーソルを移動するとLaunchNextが開きます。各コーナーは独立して設定でき、起動の遅延時間とトリガーエリアのサイズも調整可能です。Mission Controlやスクリーンセーバーで既に使用しているコーナーがあれば、別のコーナーを割り当てるだけです。

これはユーザーからのリクエストがきっかけでした。自分で試してみて、すぐに理由がわかりました — これ以上摩擦の少ないアプリの起動方法はありません。キーも、ジェスチャーも不要。ただ意図するだけ。

LaunchNext ホットコーナー

Dockへのドラッグ

LaunchNextのアプリを直接macOSのDockにドラッグ&ドロップできるようになりました。

実装には時間がかかりました。LaunchNextにはアイコンの並べ替えやフォルダ作成のための独自のドラッグシステムが既に存在していたため、両システムを共存させ — 内部ドラッグとDockへのドラッグを正確に区別する — ための丁寧な作業が必要でした。Dockの配置方向とトリガー距離は設定で変更できます。

LaunchNext Dockへのドラッグ

アプリアンインストール連携

任意のアプリを右クリックするだけでワンクリックでアンインストールできます。設定でお好みのアンインストールツール(AppCleanerなど)のパスを一度設定すれば、右クリックメニューからいつでも呼び出せます。

右クリックメニューもこのリリースで全体的に強化されました。フォルダの解散、Core Animationモードでのバッチ選択、アンインストールオプションが一箇所にまとまっています。

フルスクリーン / コンパクトモードの独立設定

これまで、アイコンサイズや余白を変更すると、フルスクリーンとコンパクトモードの両方に影響していました。これは常に妥協でした。

2.4.0でついに分離されました。ノートパソコンではコンパクトモード、外部ディスプレイではフルスクリーンモードを使う場合、それぞれ独立して設定できるようになりました。最初からそうあるべきでした。

インスタントウィンドウアニメーション

よりスムーズな開閉アニメーションオプションが追加されました。デフォルトのアニメーションが遅く感じる場合、または即座に表示したい場合は、設定でトグルを切り替えてください。


レイアウトのインポート

LaunchNextが最初に正しく実装したのはインポートです。ネイティブLaunchpadのSQLiteデータベースを直接読み込むため、既存のフォルダ、アプリの位置、レイアウトがそのまま再現されます。手動での再配置は不要です。ゼロから始めたい場合は、クラシックレイアウトプリセットでワンクリックでシンプルなグリッドが作れます。

その他の機能:アイコンサイズのカスタマイズ、ラベルの非表示によるすっきりした見た目、フォルダ管理、キーボードナビゲーションでの検索。多言語サポートは英語、中国語、日本語、韓国語、フランス語、スペイン語、ドイツ語、ロシア語、ヒンディー語、ベトナム語など多数に対応しており、アプリがシステム言語を自動検出します。


パフォーマンスの向上

早い段階で、従来のアプローチではスケールしないことが明らかになりました。アイコンを一度に全て読み込む方式では、アプリライブラリが大きくなると起動が遅くなり、動作がもたついていました。新しいオンデマンド読み込みエンジンを構築しました — アイコンは表示される時だけ読み込まれ、メモリは自動的に解放され、アプリ数に関わらず起動時間は一定です。

後にCore AnimationレンダリングパスをGPUアクセラレーションとProMotionサポートとともに追加しました。対応ハードウェアでは全ての操作が120fpsで動作します — スクロール、ドラッグ&ドロップ、フォルダの開閉。設定 → パフォーマンスから有効化できます。違いは一目瞭然です。


その他の起動方法

トラックパッドジェスチャーとホットコーナー以外にも、LaunchNextは以下の起動方法をサポートしています:

キーボードショートカット — キーボードを主に使うユーザーにとって最も速い方法で、設定でカスタマイズ可能。

ゲームコントローラー — コントローラーのMenuボタンを押すとLaunchNextのオン/オフを切り替えられます。


アプリ管理

ライト/ダークモードのアイコン自動適応 — アイコンがシステムの外観に合わせて自動的に切り替わります。小さな機能ですが、アイコンがズラリと並んでいると違いがわかります。

強化された右クリックメニュー — 任意のアプリを右クリックするとフォルダの解散、バッチ選択、アンインストールへのアクセスが一箇所にまとまっています。


バックアップと自動化

レイアウトの設定には時間がかかり、失うと面倒です。LaunchNextには完全なバックアップシステムがあります:ディレクトリを選択し、タイムスタンプ付きのスナップショットを作成し、ワンクリックで復元できます。インポートは選択的に行えます — レイアウトのみ、設定のみ、または両方。

パワーユーザー向けには、listsearchmovecreate-foldersnapshotなどのコマンドをカバーするCLI/TUIツールがあります。AIエージェントやスクリプトワークフローとも互換性があります。自分自身もレイアウト管理に使っています。


その他の機能

マルチディスプレイ対応ページインジケーター — 接続されているモニターごとにページインジケーターのオフセットとパディングを独立して設定できます。

初回起動時のオンボーディング — 新規インストール時に、空白のインターフェースではなくレイアウトのインポートとショートカット設定のガイドが表示されます。

フォルダのアクセシビリティ — 音声フィードバックとゲームコントローラーによるナビゲーションが、メイングリッドだけでなくフォルダ内でも動作するようになりました。

リリースノートのMarkdownレンダリング — アップデートタブでフォーマットされたテキストと画像が表示されるようになりました。


インストール

ダウンロードとインストール

  1. GitHub Releasesから最新版をダウンロード
  2. LaunchNext.appをApplicationsフォルダに移動
  3. アプリを起動

セキュリティに関する注意

⚠️ macOSがアプリをブロックする場合、ターミナルで以下を実行してください:

1
sudo xattr -r -d com.apple.quarantine /Applications/LaunchNext.app

無料プロジェクトのために年間99ドルの開発者証明書を取得する余裕はありません。このコマンドは隔離フラグを削除します。信頼するソフトウェアにのみ使用してください。


先述の97%は謙遜ではありません — 元々のリストにあったほとんどのことは完了しました。

今後の展望

最近、Hacker NewsでOlivier Girardotが書いた Good software knows when to stop という記事を読みました。LaunchNextのメンテナンスを継続し、macOS 15との互換性に取り組んでいきます。ただ、それ以外は修正すべきバグや本当に良いアイデアが出てこない限り、大きな変更は行わないつもりです。アプリは今、良い状態にあります。

何か問題があったり、機能が不足していると感じたら、issueを立ててください