Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 07:44
· 75 commits to main since this release
5a0e013

The frame grows up: a movable divider, a resizable panel, a bird in the
menu bar. And tests for the wiring.

Added

  • The divider moves. cmd+[ and cmd+] in the frame, alt+left and
    alt+right in a terminal, give the preview or the list 5% more, and the
    width is remembered in ~/.config/swoop/config, the launcher's own
    settings file: one key = value per line.
  • The panel resizes. Drag any edge of the frame; the size is kept in
    shell-mac.json beside the font size, and can be typed there too.
  • A handle on the edge. Bring the mouse near an edge of the panel
    and a short bar appears there, a small mark near a corner: the edges
    drag. Nothing shows anywhere else.
  • A bird in the menu bar. Open swoop, Settings, Quit. The one visible
    sign the frame is running.
  • Two end-to-end tests. scripts/launcher-test drives the launcher
    through a pseudo-terminal: filter, a view and back, the action menu,
    Ask AI with a fake model, the divider keys, Enter on a row.
    scripts/launchd-test runs the installer's launchd steps against a
    fake launchctl and checks the order that keeps a stray watcher from
    winning. make e2e and make test; CI runs both.

Changed

  • swoop-ai is half the size. The AI transcript is rendered by
    swoop's own markdown renderer on goldmark, in place of glamour, which
    brought a code highlighter for every language along: 17.6 MB to
    9.3 MB, and 6.4 MB in the release tarball, which is now built with
    symbols stripped, as every tool in it is.

Fixed

  • The launcher opens on Linux. The app lister answered "not
    implemented" as an error there, and bin/swoop stopped before fzf
    started. It now answers with no apps, and the extensions' rows show.
    Found by the new launcher test on its first Linux run.
  • make install unloads before it kills. A frame killed while its
    launchd service was still loaded came back within a second, ran swoop,
    and started a clipboard watcher outside launchd, which launchd's own
    then gave way to. The installer now unloads both services, waits for
    launchd to forget them, then stops what is left, then starts.