Repository navigation
v0.0.1
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, soWin+Tabdoes not arrive asCtrl+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
Runkey — 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=debugadds 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