~/hayashigoto/works/shelfdrop

>cat/works/shelfdrop/README.md

title: ShelfDrop — macOS ドラッグシェルフ
about: ファイルやテキストを一時保管し、別の場所へコピー、移動、再ドラッグできるmacOSアプリ。Finderのショートカットとドラッグ&ドロップを中心に、作業を中断しない操作を設計した。
year: 2026
role: Product Design / Software Development
category: 自作
stack: SwiftAppKitmacOS
workflow: CodexSwiftPMGitHub Actions
> cat details.md

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 を直接扱える
ビルドSwiftPMXcode プロジェクト不要で軽量に管理・CI 連携しやすい
対象 OSmacOS 14+最新の AppKit / ドラッグ操作 API を前提に設計
CI/CDGitHub Actionsタグ push で universal DMG / zip を自動ビルド・Release 配布