ShelfDrop は、Dropover のように使える小さな macOS 用シェルフアプリです。Finder で項目を選択して Option + Tab を押すと選択項目を棚へ追加して表示し、Option + Shift + Tab で棚の表示・非表示を切り替えられます。表示中の棚へはファイルやフォルダ、リンク、テキストをドラッグ&ドロップでも追加でき、一時的に置いたり、コピー、移動、ZIP 化、再ドラッグできます。Option + Tab は Finder が前面のときだけ有効です。初回のショートカット利用時は macOS から Finder 操作の許可を求められます。
Finder からのファイル・フォルダに加え、PNG / TIFF / JPEG / GIF / HEIC / HEIF / SVG / WebP 等の画像データや Markdown / HTML、リンク、テキストも棚に入れられます。コピーしたプレーンテキストは、フッターのクリップボードアイコンまたはメニューバーの Add Clipboard Text を明示的に実行した時だけ追加します(自動監視はしません)。拡張子による制限は設けておらず、CSV / JSON / PDF なども受け付けます。棚に入れた項目はもう一度ドラッグして Finder や他アプリへ取り出せます。フッター左端のスタックアイコンをドラッグすると、棚にあるファイル・フォルダ・画像をまとめて他ウィンドウへ渡せます(リンクとテキストは個別ドラッグ)。棚内でドラッグしても項目は複製されません。その場で開く、Finder 上の場所を表示する、クリップボードへコピーする操作にも対応。フッターのコピーアイコンから全項目をまとめてコピーでき、元ファイルと棚の内容は残るため繰り返し利用できます(同名ファイルは連番付与)。移動・ZIP 化・不要項目のまとめてクリアにも対応します。メニューバーアイコンから Finder の選択項目追加、棚の表示・非表示・クリア・アプリ終了を操作でき、棚ヘッダーをドラッグすれば事前クリックなしで位置を移動できます。棚は前面に固定され、外側クリックやカーソルが離れても自動では消えません。× ボタンか、棚操作中の Escape キーで非表示にできます。
配布
ランディングページ と GitHub Releases から ShelfDrop-macos.dmg を主配布しています(zip も同梱)。Apple Silicon / Intel 両対応の universal アプリとしてビルドし、タグ push で GitHub Actions が DMG / zip を自動アップロードします。Apple Developer Program 未登録のため ad hoc 署名で、初回起動時に macOS の警告が出ることがあります(Control+クリック →「開く」で回避可能)。更新は curl -fsSL https://github.com/hayashiii-ghub/shelfdrop/releases/latest/download/install_latest.sh | bash かメニューバーの Download Latest Version... からも取得できます。ローカルでは ./script/build_and_run.sh または make run でビルド・起動、make check でテストとスクリプト検証、make package で配布用 DMG / zip を作成できます。main への push と Pull Request では GitHub Actions の CI も走ります。
技術スタック
| カテゴリ | ツール | 選定理由 |
|---|
| 言語 | Swift 5.9+ | macOS ネイティブ UI とドラッグ&ドロップ API を直接扱える |
| ビルド | SwiftPM | Xcode プロジェクト不要で軽量に管理・CI 連携しやすい |
| 対象 OS | macOS 14+ | 最新の AppKit / ドラッグ操作 API を前提に設計 |
| CI/CD | GitHub Actions | タグ push で universal DMG / zip を自動ビルド・Release 配布 |