~/hayashigoto

> ~/hayashigoto/works/shelfdrop/

README.md

ShelfDrop — macOS ドラッグシェルフ

ファイル、フォルダ、リンク、テキストを一時的に置き、別の場所へまとめて取り出せるmacOS用フローティングシェルフ。

project.yml
year:
2026
role:
Product Design / Software Development
category:
自作
stack:
SwiftAppKitmacOS
workflow:
CodexSwiftPMGitHub Actions
links.yml
details.md

ShelfDropは、作業中のファイル、フォルダ、リンク、テキストを一時的に置くmacOSアプリです。Finderから離れたフォルダや別のアプリへ複数項目を移すときに、常に手前に残る小さな棚として使えます。

ドラッグ操作を中断しない

Finderで項目を選びOption + Tab押すか、表示中の棚へ直接ドラッグすると追加できます。棚から項目をもう一度ドラッグして取り出せるほか、複数項目の一括コピー、移動、ZIP化にも対応しています。クリップボードは自動監視せず、保存したいテキストを明示的に追加したときだけ扱います。

操作対象は拡張子で制限せず、通常のファイルとフォルダ、画像、URL、プレーンテキストを同じ棚で扱います。Finderが前面のときだけショートカットを有効にし、棚は閉じるまでほかのウィンドウより手前に残すことで、意図しない表示切り替えを減らしました。

ネイティブアプリとして配布する

SwiftとAppKitで実装し、Apple SiliconとIntelの両方で動くuniversalアプリをGitHub Releasesから配布しています。タグをpushするとGitHub ActionsがDMGとZIPを生成します。Apple Developer Program未登録のため配布版はad hoc署名で、初回起動時にmacOSの警告が出る場合があります。

Webアプリでは扱いにくいFinderの選択項目、ドラッグ&ドロップ、常時手前のウィンドウを、macOS標準の操作感へ合わせて設計した事例です。