Heft 0.3.0
The file tree grows up, and a capture stops disturbing the app.
Added
- Copy, paste and duplicate in the file tree, through the general pasteboard, so a file moves between Heft and the Finder either way. Dragging a file in from the Finder copies it into the vault.
- Select several rows in the file tree: command-click to add, shift-click for a range. Copy, paste, drag and Move to Trash act on the whole selection, and trashing several asks once rather than once each.
- ⌘Z undoes the last move, rename, paste or delete in the tree. Undoing a paste puts the copies in the Trash rather than deleting them. With the caret in a note, ⌘Z still undoes typing.
- ⌘⌫ moves the clicked row to the Trash, asking what the menu asks.
- ⌘L ticks and unticks checkboxes, matching Obsidian's "Toggle checkbox status": a plain line gains an empty box, an empty box is ticked, a ticked one is cleared. The caret stays where it was.
- The command palette offers what a row's right-click menu offers, acting on the note in front: both paths, the wikilink, Reveal in Finder, Rename, Duplicate, Move to and Move to Trash. Copying a note's absolute path no longer means finding its row first.
- Reference links render, all four CommonMark forms. A bracketed aside with no matching definition stays prose.
- Settings ▸ Capture: whether a captured line starts with the time it arrived.
- Settings ▸ Typing: whether pasting a copied "- item" onto an existing bullet drops the pasted marker.
- A caution when an agent's proposed move would take a daily note out of its folder, said in the review sheet and by
heft propose --move.
Changed
- Captures from Spotlight and Shortcuts run in an extension of their own. A background intent declared in the app runs in the app, and macOS brings the app forward to run it, so a minimised Heft came out of the Dock every time a line was filed into it. Now nothing enters the app, and it need not be running.
- A palette command that cannot run right now sinks below the ones that can, so the first row is always runnable. It stays visible and dimmed rather than disappearing.
- Every menu Heft draws carries symbols and its keyboard hints, in the macOS 26 style.
- A note keeps its quick-open rank when renamed or moved, whether in the app, by
heft rename, or by an accepted proposal. The rank used to stay at the old path, so a moved note started from nothing and whatever was created there next inherited it. - Dragging a daily note out of its folder asks first. The folder is what makes it a daily note, so moving it quietly turns it into an ordinary one.
Fixed
- ⌘V now pastes files copied in the tree. The Edit menu disables Paste when the pasteboard holds only files, and a disabled menu item swallows its own shortcut.
- Copying from a row's context menu and then pressing ⌘V now pastes, instead of doing nothing.
- Pasting a copied list item onto a line that is already a bullet no longer writes
- - milk. - The upgrade instructions say
brew updatefirst: Homebrew refreshes taps once a day on its own, so a release made the same day was invisible tobrew upgrade.
Under the hood
- Four targets.
HeftCaptureis an App Intents extension, sandboxed because macOS launches no extension that is not, and silently refuses one that is not. - The sidebar's selection, the palette's ordering, the checkbox cycle and the undo routing are values with no window in them, so each is checked directly rather than through a running app.