Skip to content

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 12 Sep 00:02
· 21 commits to main since this release

First release. Everything below is new, so this entry describes the product
rather than listing changes against a version nobody has.

Corners

  • Twenty-one built-in actions across Windows & desktops, shell, tools, and
    power/screen, plus a Custom action that runs any program, script, document,
    or URL with arguments.
  • Configurable dwell (250 ms default). A corner does not fire the instant
    you touch it, so overshooting toward a window's Close button is harmless.
  • Cooldown and leaving. After firing, a corner stays disarmed until both
    the cooldown elapses and the cursor leaves it — otherwise parking the mouse
    in a corner would repeat the action.
  • Optional modifier key requirement (Ctrl, Alt, Shift, or Win). Any
    modifier you are physically holding is released before the app synthesises
    its own shortcut, so Win+Tab does not arrive as Ctrl+Win+Tab.
  • Suppressed while dragging (on by default), so dragging a window into a
    corner stays a Windows Snap and nothing else. Suppression disarms the corner
    rather than deferring it, so releasing the button to complete the snap does
    not fire the action at that exact moment.
  • Suppressed over fullscreen (on by default), via both the shell
    notification state and the foreground window's geometry. An ordinary
    maximised window is explicitly not fullscreen.

Multiple monitors

  • Three modes: Outer (the four corners of the whole virtual desktop,
    the default), Every screen, and Primary only.
  • On L-shaped arrangements, an outer corner that does not sit on any physical
    display is dropped rather than published as a corner that can never fire.
  • Each display's corners are tracked separately, so one screen's top-left is
    never confused with another's.

Settings and tray

  • Tray icon with an enable/disable toggle, and a settings window that draws
    your real display arrangement and highlights which corners are live.
  • The settings window is a WebView2 control built on demand and torn down
    completely on close, which is what keeps the app at ~2 MB private while
    idle. If the WebView2 runtime is missing, the app says so in a dialog and
    offers the download page instead of silently doing nothing.
  • Settings live in %APPDATA%\Cantos\config.json, written via a temp file
    and rename. The file is watched, so a hand edit takes effect within a second
    rather than being ignored until restart and then overwritten.
  • Optional run-at-login via the per-user Run key — no scheduled task, no
    elevation, and visible in Task Manager's Startup tab.
  • Single instance: launching the app again surfaces the settings window.

Diagnostics

  • A log at %APPDATA%\Cantos\cantos.log, reachable from the tray even
    when the settings window is the thing refusing to open. It records every
    decision that can make a corner do nothing, because from the outside they
    all look identical. CANTOS_LOG=debug adds per-transition detail.
  • Rotates at 1 MB, keeping one previous generation.

Known limitations

  • The binary is not code-signed. Windows SmartScreen will warn on first
    run until the download accumulates reputation.
  • Windows discards synthesised keystrokes aimed at a window owned by an
    elevated process, so keyboard-driven actions do nothing while an
    administrator window has focus. Actions that do not synthesise input (Lock,
    Screensaver, Turn display off, Custom command) are unaffected, and the log
    names the cause when it happens. See the README for the workarounds.
  • x64 only. Windows 10 or later.

Full Changelog: https://github.com/kidchenko/windows-cantos/commits/v0.0.1