v0.8.0
What a launcher has: quicklinks, emoji, snippets, window management,
notes, tasks and reminders, all in the panel, with an editor inside it,
a paste that lands where you were typing, and a switch for each.
Added
- Edit inside the panel. Enter on a note, or on
New note, opens it
in your editor right in the panel, and quitting brings the list back
with the preview redrawn; ctrl-kOpen in appkeeps the old way. The
editor is a new Settings row,editor = nvimin the config, else
$EDITOR, elsenano. Tasks gets ctrl-kEdit the list, Search Files
gets ctrl-kEditon a text file. Extensions can use it too: a row of
kindterminalgets the whole terminal and the launcher stays open. - Notes. Type
notes, Enter: markdown files in
~/.local/share/swoop/notes/, newest change first, searched by title
and text, previewed rendered. Enter opens the file;New notemakes
one from what you typed; ctrl-k copies, reveals, or deletes to
deleted/. - Tasks. Type
tasks, Enter: a checklist in
~/.local/share/swoop/tasks.md. Typed text adds a task, and
today,tomorrow, a weekday or a date at its end is the due date.
Enter ticks a task and the list stays open; ctrl-k undoes, deletes,
copies. On a Mac,remindersis the same view over Apple Reminders. - Snippets. Named text as rows at the root, one markdown file each in
~/.config/swoop/snippets/: name, an optionalkeyword:line, text.
Enter pastes into the app in front with{date},{time},
{clipboard}and{uuid}filled, and leaves the caret at{cursor};
it copies where emoji copies.swoop-snippets importreads a JSON
export (name, text, keyword); ctrl-k copies or deletes. - Emoji and symbols. Type
emoji, Enter, then a name or keyword:
every emoji and flag, and a few hundred symbols. Enter pastes into the
app in front, or copies without Accessibility, in a plain terminal,
and on Linux; ctrl-k copies or picks one of six skin tones, and the
default tone is a setting. The most recently used lead the view. - Window management. Rows that move and size the window you were in:
halves, thirds, quarters, maximize, almost maximize, reasonable size,
center, next and previous display. macOS, through the Accessibility
API; the first run without the permission opens the settings pane. - Quicklinks. Named links as rows at the root, from
~/.config/swoop/quicklinks.tsv: name, link, app to open it with. A
link holding{argument}is a pane: Enter, type, Enter opens the link
with the text in it, encoded. Google, DuckDuckGo, Wikipedia, YouTube,
and GitHub ship until the file exists.swoop-links addand
swoop-links import(a JSON export) write the file; ctrl-k copies
the link or deletes it. - Apps on Linux. swoop lists the applications in
.desktopfiles, in
XDG order, so a copy in~/.local/share/applicationsoverrides or hides
the system's. Enter launches withgio launch, or runs the Exec line
when gio is missing; the menu shows the folder and copies the path. The
preview shows the name, the command, the comment, and the file. - Start, stop, restart.
swoop start|stop|restart|statusworks the
same from Homebrew, the curl installer, or a checkout; the bird menu
has Restart and Quit; and after an upgrade the frame restarts itself
once the panel is hidden. - Turn extensions on and off. Settings, Extensions lists every
extension, bundled and your own; Enter turns one off, and it leaves the
root, Tab and ctrl-k until you turn it back on. It is one line in the
config,off = reminders, tasks, which you can also write by hand.
Settings itself stays on.
Changed
- Emoji and snippets paste from the frame. The frame hides its panel,
then presses cmd+V itself, and only into a text field (or an app that
shows no focus, like a terminal); on a button or the desktop the text
is copied and a notification says so. No more osascript keystroke or
fixed wait, and the Accessibility prompt now names swoop-shell-mac. - Lighter tools. The twelve tools together are 30 MB stripped, from
35. swoop-settings no longer carries an HTTP stack for one request to
LM Studio on localhost; the Kitty placeholder table and a small width
function replace a Charm package that brought four modules along for
two constants and one measurement.
Fixed
- The Reminders pane is no longer empty. It opens at once, from a
cache or with aLoading reminders…row, and fills itself when the
list arrives. The list is read through EventKit in a fraction of a
second, not in 40 through Apple Events.