While Kando does not have a cross-platform way to open menus with a mouse button, there are many platform-dependent third-party tools which can help you with this.
Opening Menus with the Mouse
With some creativity, you can open menus not only with mouse buttons but also with gestures, desktop widgets, or in many other ways.
Open Menus from Third-Party Tools
You can either make the third-party tool open the menu by simulation the shortcut for the menu, or it can directly call the Kando executable with the --menu "menu name"
argument.
Depending on your operating system, the command to open a Kando menu would look like this:
Third-Party Tools
Below are some applications which can help you to open menus in various ways. Most of them are free and open-source.
- AutoHotkey is a powerful scripting language for Windows. You can use it to run the kando command when you press a mouse button or to remap a mouse button to a keyboard shortcut which opens a Kando menu.
- GestureSign allows opening a Kando menu with multi-touch taps and gestures on both touchpad and touchscreen.
- Karabiner-Elements can be used to remap mouse buttons to keyboard shortcuts.
- BetterTouchTool allows opening a Kando menu via touchpad gestures.
- BetterMouse is a tool which allows you to remap mouse buttons to keyboard shortcuts.
- Input Remapper is a tool which allows you to remap mouse buttons to keyboard shortcuts. It works both on X11 and Wayland.
- Touchegg is a multitouch gesture recognizer for Linux. You can use it to open a Kando menu with touchpad gestures. It only works on X11.
- KDE Plasma comes with built-in support for remapping mouse buttons to keyboard shortcuts. You can find this feature in the system settings under “System Settings” / “Mouse & Touchpad” / “Add Binding”.
- There’s a Configurable Button widget for KDE Plasma which allows running
kando --menu "menu name"
when clicked. - On GNOME Shell, you can use the CHC-E (Custom Hot Corners - Extended) extension to run arbitrary commands when you move your mouse to a corner of the screen.