Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 20:58
· 47 commits to main since this release
54b8d30

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-k Open in app keeps the old way. The
    editor is a new Settings row, editor = nvim in the config, else
    $EDITOR, else nano. Tasks gets ctrl-k Edit the list, Search Files
    gets ctrl-k Edit on a text file. Extensions can use it too: a row of
    kind terminal gets 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 note makes
    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, reminders is the same view over Apple Reminders.
  • Snippets. Named text as rows at the root, one markdown file each in
    ~/.config/swoop/snippets/: name, an optional keyword: 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 import reads 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 add and
    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 .desktop files, in
    XDG order, so a copy in ~/.local/share/applications overrides or hides
    the system's. Enter launches with gio 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|status works 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 a Loading 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.