Skip to content

Cyclist 0.4.0

Choose a tag to compare

@pszypowicz pszypowicz released this 17 Jul 15:55
1958db7

The switcher grows a real Settings window and rebindable shortcuts, and configuration moves to standard user defaults.

Settings window

  • The status menu slims to Settings, About, and Quit; everything else lives in a two-column Settings window. Cmd+, opens it while the switcher is held open, and Cmd+W / Cmd+Q work inside it.
  • The less obvious settings carry an info dot with a quick hover explanation.
  • Launch at Login lives there too and resyncs itself after changes made in System Settings > General > Login Items.
  • New About window with version and project links.

Rebindable shortcuts

  • The four global bindings - open switcher, cycle app windows, previous/next Space - are recordable in Settings: click the shortcut, press the new keys; Esc cancels. Shift stays the reverse key, so a binding needs a real modifier and shift-variants count as duplicates.
  • Keyboard Space navigation has an on/off switch alongside the trackpad-swipe one.

Configuration is user defaults

  • Every setting is a key under io.github.pszypowicz.Cyclist - the README documents the full table. defaults write applies to the running app immediately, rebinds included.
  • Breaking: the ~/.config/cyclist/cyclist.toml file is no longer read. Move any non-default values to defaults write (the README table maps them one to one).
  • The Enabled switch is gone: quitting Cyclist is the disable, and every native shortcut returns the moment it exits.

Fixes

  • The window-title cache evicts closed windows instead of growing for the whole boot session.
  • An AeroSpace request timeout no longer completes twice and desyncs the workspace cache refresh.
  • A shortcut recording now dies with the Settings window instead of swallowing keystrokes system-wide.
  • Less per-event work on the keystroke reject path in the event tap.

Requirements

Unchanged: macOS 26 (Tahoe), Accessibility required, Screen Recording optional.