Action Wheel: a radial menu for Windows — one middle click puts your everyday actions right under the cursor
Action Wheel is KonexForge's open-source (MIT) app for Windows 10 and 11: middle-click anywhere and a ring of 9 buttons appears around the cursor to send a shortcut, launch an app, run a Windows function, or open an AI tool such as Claude Code or Codex. This post covers how it works, how we designed the AI features to be safe, privacy, and how to install it in a few minutes.
Imagine an ordinary working day: you switch between a browser, Excel, a design tool and a terminal window hundreds of times. Every time you need a screenshot, want to snap a window to the left half, or open the project folder, your hand leaves the mouse to find a key combination — or your eyes go hunting for a small toolbar button. Each one takes a few seconds, but they add up.
Action Wheel targets exactly that: middle-click anywhere in Windows and a ring appears right around the cursor; flick towards a button, let go, done. It is KonexForge's fifth open-source project, released under the MIT license, and the first desktop app on the list — the earlier projects are web libraries and a VS Code theme. Website: actionwheel.konexforge.com.
Press, flick, done
The radial menu (also called a pie menu) has been around for a long time in design software and games: options are arranged around a centre, so every button is the same distance from the cursor and you can pick by direction instead of precise aiming. Action Wheel brings that idea to all of Windows:
- Press: the middle mouse button by default. It can be switched to a side button (4/5) or a two-button chord — hold one button, press the other.
Ctrl+Alt+Spacealways works as a fallback. - Flick: keep holding, flick towards a button on the ring and release. Release without moving and the ring stays open to be clicked like a normal menu.
- Done: the shortcut goes to the app you were actually using, the program opens, the window snaps into place. The ring disappears, and because it never takes focus, shortcuts do not land in the wrong place.
The middle click that opens the ring is swallowed, so the app underneath never sees it: the browser does not open a stray tab or start autoscrolling.
Nine buttons, more than nine jobs
The ring has 8 outer buttons and 1 centre button. Each can:
- Send a keyboard shortcut, such as
Ctrl+Shift+SorWin+Shift+S - Launch a program, file, folder or URL
- Run one of 30+ built-in Windows functions: lock, sleep, snap windows, show desktop, Task View, volume, clipboard history…
- Become a group: a small satellite ring of up to 8 more buttons that fans out on hover
- Open an AI tool (see below)
On top of its main action, each button can have a hold action: press and hold for about half a second to run a second job. Combined with profiles — one set of buttons for office work, one for design, one for coding — 9 buttons cover most of the repetitive actions in a day. Switch profiles from the tray menu, or straight from a button on the ring.
The look is adjustable too: button size, distance from the centre, 7 opening animations and, since 2.11.0, 4 hover effects, all with a live preview in Settings. An icon can be a built-in glyph, your own SVG or PNG, the icon of the app the button launches, or a short label or emoji.
AI tools in the right place, and only what is installed
Since 2.10.0, a button can open Claude Code, Codex, OpenCode, Gemini CLI or GitHub Copilot CLI in a terminal, in the folder of the File Explorer window you were using. It can also open Antigravity, Cursor or Windsurf on that folder, or start the Claude desktop app. For developers, it is the fastest way to go from "looking at the project folder" to "working with an AI assistant in exactly that folder".
We hold to three design rules here:
- Only list tools that are actually installed. Each tool leaves traces in different places: PATH, App Paths, a URL protocol handler, a Microsoft Store package. Action Wheel checks those sources, but only counts a tool as installed when a trace resolves to a program file that exists right now. A registry entry left behind after uninstalling is reported as "registered, but its program is missing", never shown as installed.
- Never open an AI tool's configuration or credential folders. Detection reads only executables, the registry and
--helpoutput; Action Wheel does not read configuration folders such as.geminiand does not use them to decide anything. - A button must never start an installer. VS Code, for example, installs a stand-in launcher for Copilot CLI that only installs the real CLI on first run. Action Wheel recognises that launcher and leaves it off the list.
AI tasks on the selected text
Another kind of button works on text: select a passage in any app, then use a button such as "Fix spelling and grammar with Claude Code". The text goes to Claude Code or Codex with your prompt template, and the answer opens in its own window where you can copy it or replace the selection with it.
Because this runs an AI tool unattended, the safety level is set per tool: Claude Code runs with every tool disabled, in an empty folder; Codex runs in its read-only sandbox. OpenCode and Copilot CLI have no verified read-only mode yet, so they are not used for unattended tasks — only for opening in a terminal, where you are in direct control. The details are in the repo's AI assistants document.
A speed-up is only worth having if you do not have to worry about what it does behind your back.
Privacy and reliability
Action Wheel installs a system-wide mouse hook to catch clicks everywhere, so we treat privacy as a requirement, not an extra:
- No activity log: no clicks, gestures, launched actions, profile changes or ordinary errors are recorded
- The one exception is the most recent crash, kept in
%LOCALAPPDATA%\ActionWheel\last-crash.txtand overwritten by the next one, so Copy diagnostics can say why the app closed. It contains nothing about what you were doing and leaves the machine only if you paste it somewhere yourself - No server, no account, no usage data sent anywhere
On reliability: only one instance runs, so starting it again opens the running copy's settings instead of installing a second hook. The main window says plainly whether the hooks are installed and whether the actions.json configuration file is valid. Configuration files are written atomically: to a temp file, flushed to disk, with a .bak kept, and only then replaced — so a power cut halfway through does not corrupt your configuration.
Backup is tidy too: every profile, the trigger, the ring's appearance and extracted icons go into one file. Before restoring, the app lists every program the buttons could launch, so you do not accidentally import a configuration that opens something you did not expect.
Inside: core logic split from the UI
Action Wheel is written in C# on .NET 10, with a WinUI 3 (Windows App SDK) interface. The code is split in two:
- ActionWheel.Core holds all the logic — the action model, reading, writing and validating
actions.json, profiles, backup, the Windows function catalog, the AI tool catalog — and references only the .NET base class library, with no WinUI or Win32 dependency - Action Wheel is the app: windows, mouse and keyboard hooks, the transparent overlay and the Windows-specific work
The split lets the compiler enforce the layering instead of relying on discipline: logic cannot quietly grow a dependency on a UI type. It is the same principle we apply on client Development projects — business logic that can be tested independently of the interface.
Install in a few minutes
Action Wheel is portable (it runs straight away, no installer): a release is a zip of about 108 MB with .NET and the Windows App SDK already included.
- Download
ActionWheel-v<version>-win-x64.zipfrom the releases page - Extract it to a fixed folder and run
Action Wheel.exe— keep that file name, because a renamed copy will not start - The release is not code-signed yet, so SmartScreen may show "Windows protected your PC" the first time. Every release ships a
.sha256file; compare the hash before choosing More info → Run anyway - Turn on Start with Windows if you want the ring always ready; it uses the current user's Run key, so it needs no administrator rights
Requirements: Windows 10 version 1809 or later, or Windows 11, 64-bit.
Open source, MIT license
Like KonexForge's other projects, Action Wheel is free for commercial use, with no paid edition. The source is at github.com/cmm-cmm/Action-Wheel; the repo accepts issues and pull requests and has its own contributing guide and private security reporting policy. You can see every project on the Community page.
Conclusion
Action Wheel does not change how you work; it just brings the actions you already repeat hundreds of times a day closer to the cursor. One middle click, one flick, and your hand stays on the mouse. The AI features follow the same spirit: fast, but using only what is installed and doing nothing behind your back.
If your business needs an internal desktop or web tool built on the same principles — logic separated from the UI, private by default, simple to install — get in touch with KonexForge.
Related articles
KonexForge Themes: a VS Code theme family with a 'forge' aesthetic — not another One Dark clone
Engineers stare at their editor all day, yet the VS Code theme market is saturated with variants that look nearly identical to One Dark Pro. KonexForge Themes is the open-source set of 4 themes we built ourselves — not to sell, but because a distinct visual identity is part of engineering culture too.
Forge Dialog: dialogs built on the native <dialog> element, with no z-index left to hunt
An admin page needs to ask "are you sure you want to delete this?". The browser's built-in confirm can do it, but it freezes the whole page and cannot be styled; the usual replacements drag in a framework. Forge Dialog is how we solved that for our own products: no runtime dependencies, built on the native dialog element, with React, Vue and Svelte adapters inside the same package.
Forge Select: a zero-dependency, framework-agnostic open-source replacement for Select2
Select2 has served the web community for years, but it's built on jQuery — a dependency that's increasingly hard to justify on a modern stack. Forge Select is the select/combobox component we built ourselves: a 5-file core, zero runtime dependencies, yet full-featured enough for real products — virtual scroll, tree select, tags, and full accessibility.