# kando-menu/kando

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kando-menu-kando).**

5,618 stars · 161 forks · TypeScript · other

## Links

- GitHub: https://github.com/kando-menu/kando
- Homepage: https://kando.menu
- awesome-repositories: https://awesome-repositories.com/repository/kando-menu-kando.md

## Topics

`cross-platform` `electron` `gestures` `linux` `macos` `marking-menu` `pie-menu` `ux-design` `windows`

## Description

Kando is a cross-platform desktop pie menu launcher that runs on Windows, macOS, and Linux, including Wayland compositors. It opens a radial menu on a hotkey and lets users select applications, files, or shortcuts by moving the cursor toward a slice, and can also be controlled from the command line to open specific menus or trigger shortcuts.

The project distinguishes itself through a gesture-based selection system that interprets pointer movement direction and distance rather than requiring precise clicking, and an input device abstraction layer that normalizes input from mouse, stylus, touch, game controllers, and keyboards into a unified event stream. It supports nested menu gesture recognition for traversing multiple submenu levels in a single fluid motion, and an application context switching system that monitors active window changes to switch the active pie menu configuration based on the foreground application. An inter-process communication bridge exposes a JSON-based interface for external tools to trigger menu actions and query menu state.

The menu system supports multiple navigation modes including gesture dragging, held-key browsing, hover selection, and point-and-click, with the ability to switch between centered and anchored modes. Users can create and edit menus graphically, build nested hierarchies, customize appearance through themes and icons, and bind global shortcuts for system-wide accessibility. The tool can launch applications, open files and websites, simulate keyboard shortcuts, execute macros, and paste text into active applications, all triggered by directional gestures from the pie menu. Installation is available through package managers, standalone binaries, or pre-packaged packages across all supported platforms.

## Tags

### User Interface & Experience

- [Radial Menu Launchers](https://awesome-repositories.com/f/user-interface-experience/cursor-management/pane-cursor-controllers/cursor-controllers/radial-input-controllers/radial-menu-management/radial-menu-launchers.md) — Opens a radial menu on a hotkey and lets users select apps, files, or shortcuts by moving the cursor toward a slice.
- [Gesture-Based Menu Systems](https://awesome-repositories.com/f/user-interface-experience/gesture-based-menu-systems.md) — A menu system that recognizes directional mouse, stylus, touch, or controller movements to select items without precise aiming.
- [Application-Context Menu Switchers](https://awesome-repositories.com/f/user-interface-experience/application-context-menu-switchers.md) — Displays a different pie menu configuration based on the currently active window or application for context-aware actions.
- [Pie Menu Shortcut Triggers](https://awesome-repositories.com/f/user-interface-experience/component-utilities/keyboard-shortcuts/pie-menu-shortcut-triggers.md) — Simulates complex key sequences or macros by selecting a slice in a pie menu, reducing repetitive input tasks.
- [Keyboard-Navigable Menu Generators](https://awesome-repositories.com/f/user-interface-experience/context-menu-construction/keyboard-navigable-menu-generators.md) — Navigates and selects pie-menu items using mouse, stylus, touch, controller, or keyboard interchangeably.
- [Gesture-Triggered Launchers](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/application-launch-menus/gesture-triggered-launchers.md) — Opens applications by moving the pointer in a direction from a radial menu, eliminating browsing or searching. ([source](https://kando.menu))
- [Menu-Triggered Command Launchers](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/application-launch-menus/menu-triggered-command-launchers.md) — Runs a shell command or opens an application when the user selects the item from a pie menu. ([source](https://kando.menu/creating-menus/))
- [Per-Application Menu Switching](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/application-launch-menus/per-application-menu-switching.md) — Opens a different pie menu depending on the active window, giving each app its own set of actions. ([source](https://kando.menu))
- [Radial Menu Management](https://awesome-repositories.com/f/user-interface-experience/cursor-management/pane-cursor-controllers/cursor-controllers/radial-input-controllers/radial-menu-management.md) — Opens a radial menu on a hotkey and lets users select apps, shortcuts, or files by moving the cursor toward a slice. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))
- [Radial Layout Engines](https://awesome-repositories.com/f/user-interface-experience/cursor-management/pane-cursor-controllers/cursor-controllers/radial-input-controllers/radial-menu-management/radial-layout-engines.md) — Arranges menu items in a circular pattern around the cursor, computing slice angles and positions dynamically.
- [Directional Menu Selectors](https://awesome-repositories.com/f/user-interface-experience/directional-menu-selectors.md) — Registers a selection based on the approximate direction of a mouse, stylus, touch, or controller movement. ([source](https://kando.menu))
- [Pie Menu Gesture Navigators](https://awesome-repositories.com/f/user-interface-experience/drag-and-drop-libraries/gesture-navigation/pie-menu-gesture-navigators.md) — Selects a menu item by pressing the mouse button and dragging across it, using directional gestures. ([source](https://kando.menu/usage/))
- [Radial Menu Gesture Navigators](https://awesome-repositories.com/f/user-interface-experience/drag-and-drop-libraries/gesture-navigation/radial-menu-gesture-navigators.md) — Navigates and selects items in a radial menu using directional pointer movements, touch gestures, or game controller input.
- [Gesture-Based Menu Selectors](https://awesome-repositories.com/f/user-interface-experience/gesture-based-menu-selectors.md) — Selects menu items by drawing directional gestures like zig-zag lines for fast submenu navigation. ([source](https://kando.menu/intro/))
- [Directional Gesture Selectors](https://awesome-repositories.com/f/user-interface-experience/gesture-interaction-hooks/system-gesture-injection/directional-gesture-selectors.md) — Interprets pointer movement direction and distance to select menu items without precise clicking.
- [Menu Item](https://awesome-repositories.com/f/user-interface-experience/icons/menu-item.md) — Draws zig-zag lines to select items in nested submenus without looking at the screen. ([source](https://kando.menu/intro))
- [Input Abstraction Layers](https://awesome-repositories.com/f/user-interface-experience/input-abstraction-layers.md) — Normalizes input from mouse, stylus, touch, game controller, and keyboard into a unified event stream.
- [Multi-Device Menu Navigators](https://awesome-repositories.com/f/user-interface-experience/navigation-input-controllers/multi-device-menu-navigators.md) — Navigates and selects pie-menu items using mouse, stylus, touch, controller, or keyboard interchangeably. ([source](https://kando.menu/intro))
- [Pointing Device Menu Navigators](https://awesome-repositories.com/f/user-interface-experience/navigation-input-controllers/pointing-device-menu-navigators.md) — Navigates and selects pie-menu items using mouse, stylus, touch, or game controller input. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))
- [Gesture-Traversed](https://awesome-repositories.com/f/user-interface-experience/nested-menus/gesture-traversed.md) — Recognizes directional gestures to traverse multiple submenu levels in a single fluid motion. ([source](https://kando.menu/))
- [Menu Hierarchies](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/conditional-menu-items/menu-hierarchies.md) — Supports building multi-level pie menus with submenus for deep item organization. ([source](https://kando.menu/))
- [Hover Menu Selectors](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/conditional-menu-items/menu-interaction-utilities/intentional-hover-logic/hover-menu-selectors.md) — Selects a menu item by hovering over it for a brief moment, requiring no clicks or key presses. ([source](https://kando.menu/usage/))
- [Menu Theme Customizers](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/tenant-menu-customizers/menu-theme-customizers.md) — Allows users to change pie menu appearance through themes, icons, and sound effects. ([source](https://kando.menu))
- [Radial Menu File Pickers](https://awesome-repositories.com/f/user-interface-experience/cursor-management/pane-cursor-controllers/cursor-controllers/radial-input-controllers/radial-menu-management/radial-menu-file-pickers.md) — Presents a file picker inside a pie menu and opens the chosen file with its default handler. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))
- [Nested Gesture Recognizers](https://awesome-repositories.com/f/user-interface-experience/gesture-recognition-utilities/nested-gesture-recognizers.md) — Detects zig-zag or continuous directional movements to traverse multiple submenu levels in one fluid motion.
- [Pie Menu Keyboard Navigators](https://awesome-repositories.com/f/user-interface-experience/keyboard-navigation/pie-menu-keyboard-navigators.md) — Selects pie-menu slices using keyboard keys as an alternative to pointing-device input. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))
- [Visual Menu Editors](https://awesome-repositories.com/f/user-interface-experience/menus-and-toolbars/visual-menu-editors.md) — Provides a visual drag-and-drop editor for building and modifying pie menu configurations. ([source](https://kando.menu/creating-menus/))
- [Nested Menus](https://awesome-repositories.com/f/user-interface-experience/nested-menus.md) — Builds hierarchical pie menus with submenus, icons, and custom configurations. ([source](https://kando.menu))
- [Point-and-Click Menu Selectors](https://awesome-repositories.com/f/user-interface-experience/point-and-click-menu-selectors.md) — Selects a menu item by clicking anywhere inside its wedge, without requiring precise aiming. ([source](https://kando.menu/usage/))
- [Keyboard Menu Selections](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/item-navigation-and-selection/keyboard-menu-selections.md) — Allows selecting pie menu items using keyboard input as an alternative to pointer-based selection. ([source](https://kando.menu))
- [Command-Line Menu Launchers](https://awesome-repositories.com/f/user-interface-experience/view-configurations/menu-command-bindings/command-line-menu-launchers.md) — Opens a specific menu or triggers a shortcut by running a command from the terminal or window manager configuration. ([source](https://kando.menu/installation-on-linux/))

### Part of an Awesome List

- [Keyboard Shortcuts](https://awesome-repositories.com/f/awesome-lists/productivity/keyboard-shortcuts.md) — Opens the pie menu by pressing a configurable hotkey, then navigates slices with arrow keys or number keys. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))
- [Navigation Menus](https://awesome-repositories.com/f/awesome-lists/devtools/navigation-menus.md) — Links pie menus together so users can jump between menus without closing the interface. ([source](https://kando.menu/creating-menus/))
- [Touch and Gestures](https://awesome-repositories.com/f/awesome-lists/devtools/touch-and-gestures.md) — Responds to touch input for opening and selecting items in the radial menu without a physical pointer. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))

### Business & Productivity Software

- [Pointer Menu Navigations](https://awesome-repositories.com/f/business-productivity-software/personal-notes/stylus-input-capture/pointer-menu-navigations.md) — Navigates and selects pie-menu items using pointer devices, including pressure-sensitive stylus input. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))

### Development Tools & Productivity

- [Cross-Platform Desktop Utilities](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-desktop-utilities.md) — A desktop application that runs on Windows, macOS, and Linux with support for Wayland compositors and multiple input devices.
- [Global Keyboard Shortcuts](https://awesome-repositories.com/f/development-tools-productivity/global-keyboard-shortcuts.md) — Registers keyboard shortcuts through desktop portals or window manager configs so the menu can be opened from anywhere. ([source](https://kando.menu/installation-on-linux/))
- [Keyboard Shortcut Mappers](https://awesome-repositories.com/f/development-tools-productivity/keyboard-shortcut-mappers.md) — Triggers configurable key combinations when a pie-menu slice is selected, automating repetitive input tasks. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))
- [Menu Launchers](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces/hcatalog-command-line-interface/menu-launchers.md) — Opens specific pie menus or triggers shortcuts via terminal commands or window manager keybindings.
- [Pie Menu CLI Controllers](https://awesome-repositories.com/f/development-tools-productivity/command-line-window-controllers/pie-menu-cli-controllers.md) — Opens specific pie menus or triggers shortcuts via terminal commands or window manager keybindings for external automation.
- [JSON IPC Controllers](https://awesome-repositories.com/f/development-tools-productivity/extensible-media-players/json-ipc-controllers.md) — Accepts commands from third-party tools and plugins through a JSON-based IPC interface for external automation. ([source](https://kando.menu))
- [Held Key Menu Navigators](https://awesome-repositories.com/f/development-tools-productivity/held-key-trackers/held-key-menu-navigators.md) — Keeps a modifier key pressed after opening the menu to browse and select items without clicking. ([source](https://kando.menu/usage/))
- [Keyboard Macro Engines](https://awesome-repositories.com/f/development-tools-productivity/keyboard-macro-engines.md) — Simulates keyboard shortcuts when a menu item is selected, so complex key combinations run from a single motion. ([source](https://kando.menu))
- [Gesture-Triggered Macros](https://awesome-repositories.com/f/development-tools-productivity/keyboard-macro-engines/gesture-triggered-macros.md) — Triggers keyboard shortcuts or complex macro sequences by performing a single directional gesture. ([source](https://kando.menu))
- [Menu-Triggered Shortcut Simulators](https://awesome-repositories.com/f/development-tools-productivity/keyboard-shortcut-mappers/menu-triggered-shortcut-simulators.md) — Triggers configurable key combinations when a pie-menu slice is selected, automating repetitive input tasks.
- [Gesture-Triggered File Openers](https://awesome-repositories.com/f/development-tools-productivity/url-based-file-openers/command-line-file-and-url-openers/gesture-triggered-file-openers.md) — Opens files and folders by selecting a direction in a radial pie menu triggered by a hotkey. ([source](https://kando.menu))
- [Menu-Triggered File Openers](https://awesome-repositories.com/f/development-tools-productivity/url-based-file-openers/command-line-file-and-url-openers/menu-triggered-file-openers.md) — Opens files, folders, or URIs in the default system handler from a pie menu item. ([source](https://kando.menu/creating-menus/))

### Operating Systems & Systems Programming

- [Application Context Switching](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-development/paging-and-context-switching/client-context-switching/application-context-switching.md) — Switches pie menu configurations based on the currently active application window.
- [Game Controller Menu Navigations](https://awesome-repositories.com/f/operating-systems-systems-programming/virtual-joystick-controls/game-controller-menu-navigations.md) — Maps controller joystick or D-pad movement to pie-menu navigation and button presses to selection. ([source](https://cdn.jsdelivr.net/gh/kando-menu/kando@main/README.md))

### Software Engineering & Architecture

- [Inter-Process Communication Bridges](https://awesome-repositories.com/f/software-engineering-architecture/inter-process-communication-bridges.md) — Exposes a JSON-based IPC interface for external processes to trigger menu actions and query state.

### Web Development

- [Pie Menu](https://awesome-repositories.com/f/web-development/routing-configurations/navigation-modes/pie-menu.md) — Changes the default navigation behavior to centered or anchored mode for touch screens or gamepad input. ([source](https://kando.menu/usage/))
