Merge pull request 'Document Downloads ingest, drag-out, and screenshot paste' (#16) from docs/downloads-drag-shipped into main
CI / skip-ci-check (push) Successful in 14s
CI / secret-scan (push) Successful in 12s
CI / node-ci (push) Successful in 29s

This commit was merged in pull request #16.
This commit is contained in:
2026-10-03 10:53:31 -05:00
3 changed files with 15 additions and 11 deletions
+7 -3
View File
@@ -5,14 +5,18 @@ All notable changes to maCopy. Format loosely follows
## [Unreleased]
### Fixed
- Oversized screenshots pasted as the literal text `[image 2541x1650]` — history now always keeps a PNG, and older stub rows paste/drag their thumbnail instead of the stub.
- Drag-out died as soon as the picker hid (blur hide cancelled the macOS drag). The session now stays alive until drop.
## [0.2.1] — 2026-10-03
Downloads ingest, drag-out from the picker, and screenshot paste (no more `[image WxH]` stubs).
### Added
- Capture finished files from `~/Downloads` into history (Settings toggle, on by default). Existing files are not imported; in-progress `.crdownload` / `.download` / `.part` files are skipped. PNGs are stored as images.
- Drag any history row onto another app (screenshot → Messages, PDF → Finder, …). Click still pastes; moving the pointer starts a native file drag.
### Fixed
- Oversized screenshots pasted as the literal text `[image 2541x1650]` — history now always keeps a PNG, and older stub rows paste/drag their thumbnail instead of the stub.
- Drag-out died as soon as the picker hid (blur hide cancelled the macOS drag). The session now stays alive until drop.
### Changed
- Menu-bar glyph is a clipboard with an infinity mark (template image so
macOS tints it). Replaces the dark app icon that collapsed into a grey pill.
+3 -3
View File
@@ -23,7 +23,7 @@ macOS clipboard manager in the menu bar. Built with Tauri 2, React, TypeScript,
| Pin | Pinned items stay at top and skip auto-delete |
| Context menu | Right-click: Paste, Pin/Unpin, Delete (multi-select aware) |
| Window | Resizable; size remembered; position: near cursor, center, or corner |
| Auto-trim | Up to 50K entries (1K/5K/10K/50K); skips oversized images |
| Auto-trim | Up to 50K entries (1K/5K/10K/50K); large screenshots are downscaled but still paste as PNG |
| Appearance | Dark/light follows macOS |
| Privacy | Ignores whitespace-only entries; redacts password/card previews; pause monitoring from tray |
| Transforms | Option-click or right-click: plain text, trim, case, JSON, etc. |
@@ -157,7 +157,7 @@ A second thread polls `~/Downloads` for files that appear after launch. In-progr
### Drag out
Click still pastes. Moving the pointer ~8px starts a native macOS file drag (images and text are written to a temp file first). The picker hides so you can drop onto another app.
Click still pastes. Moving the pointer ~8px starts a native macOS file drag (images and text are written to a temp file first). Blur-hide is paused for the drag so the drop can finish; the picker hides afterward.
### Paste and return
@@ -169,7 +169,7 @@ The database uses a content-synced FTS5 virtual table with triggers that automat
### Window behavior
The window uses `titleBarStyle: "overlay"` for native resize handles while keeping the frameless aesthetic. It's always-on-top and hides on blur (with a short delay so clicks register). Position is determined by the user's setting (near cursor via CoreGraphics, center, or a screen corner).
The window uses `titleBarStyle: "overlay"` for native resize handles while keeping the frameless aesthetic. It's always-on-top and hides on blur (with a short delay so clicks register), except while a drag-out is in progress. Position is determined by the user's setting (near cursor via CoreGraphics, center, or a screen corner).
## Data storage
+5 -5
View File
@@ -48,6 +48,7 @@ login** to stick across rebuilds (see step 4 below).
- [ ] Global hotkey `` Ctrl+` `` opens/closes the picker
- [ ] Gear next to Search opens the Settings panel
- [ ] (Optional) Settings → **Launch at login** turned on
- [ ] (Optional) Settings → **Capture Downloads folder** on — new downloads appear in history
---
@@ -67,8 +68,8 @@ field → press your new combo.
| Action | How |
|---|---|
| Paste an item into the app you were just using | Click it, or select + `Enter` |
| **Drag** an item onto another app | Click and drag the row — the picker hides so you can drop |
| Paste an item into the app you were just using | Click it, or select + `Enter` (images paste as images, not as `[image …]` text) |
| **Drag** an item onto another app | Click-hold the row and move ~8px; drop on Finder, Messages, etc. |
| Paste **plain** (strip formatting) | `⌥`/`Alt` + click, or right-click → **Paste plain** |
| Paste with a transform | Right-click → **Transform** → pick one |
| Paste the Nth item directly (no picker needed) | `Cmd+1` … `Cmd+9` while picker is open |
@@ -93,8 +94,7 @@ On macOS, **Control+click** opens the context menu (same as right-click). Use **
### What you'll see in the list
- **Images** show a small thumbnail; the full-resolution image stays in
the database and is only loaded when you actually paste.
- **Images** show a small thumbnail in the list. Click/Enter pastes a real PNG. Rows captured before 2026-10-03 as `[image WxH]` stubs paste a thumbnail until you recapture.
- **Colors** — an entry that's *exactly* a hex/rgb/hsl value (e.g.
`#3366ff`) shows a small color chip next to it.
- **Sensitive items** (passwords, card numbers, banking details) show
@@ -145,7 +145,7 @@ two-finger / right-click, or the gear.)
|---|---|
| Hotkey does nothing | Settings → check it isn't a duplicate of a macOS shortcut (the old default `Cmd+\`` conflicted with window-cycling — current default is `` Ctrl+` ``) |
| Paste doesn't happen (item copies but old app doesn't receive it) | Grant **Accessibility** permission — System Settings → Privacy & Security → Accessibility → add/enable maCopy |
| Drag onto another app does nothing | Click-hold and move ~8px; drop after the picker hides. If the file was a download you already moved, the path is stale — copy/paste instead |
| Drag onto another app does nothing | Click-hold and move ~8px, then drop. The picker stays up during the drag. If the file was a download you already moved, the path is stale — copy/paste instead |
| Image pastes as `[image 1234x567]` | Update to a build after 2026-10-03. Recapture the screenshot if it was stored as a stub before that fix. |
| New Downloads files don't appear | Settings → **Capture Downloads folder** on; wait ~1s after the download finishes; tray **Pause monitoring** also pauses this |
| App won't open ("cannot verify developer") | Right-click → Open, or `xattr -cr /Applications/maCopy.app` — see [docs/SHARING.md](SHARING.md) |