Git Product home page Git Product logo

kando's Introduction

Warning

This project is currently in a very early stage of development. Especially, Kando does not have a fully functional menu editor yet. If you want to use Kando already today, you will have to edit your menus in JSON files. You can read regular updates on the project on my Ko-fi page.

checks codeql downloads sponsors docs reuse

Kando will be a pie menu for the desktop. It will be highly customizable and will allow you to create your own menus and actions. For instance, you can use it to control your music player, to open your favorite websites or to simulate shortcuts. It will be available for Windows, Linux and macOS.

The Vision

I am the developer of Fly-Pie, which is a similar project but limited to the GNOME desktop. I have been working on Fly-Pie for more than 3 years now and I am very happy with the result. However, I have always wanted to create a similar application for the desktop in general. This is why I started this project.

Kando is very similar to Fly-Pie in terms of interaction and appearance. At the same time, there will be some major differences. You can read more in this blog post!

The prototype already features the same interaction methods as Fly-Pie (point-and-click, marking mode, and turbo mode).

Platform Support

Implementing a menu like Kando in a cross-platform manner is not exactly easy. Things like getting the mouse position before opening a window, simulating key presses, or getting the name of the currently focused application window has to be implemented differently on each platform.

For now, I have tested Kando on the following platforms:

Tested Environment Status Notes
 Windows ✔️ Tested on Windows 11.
 macOS ✔️ Tested on macOS 11.
 GNOME / X11 ✔️
 GNOME / Wayland ✔️ Requires adapter GNOME Shell extension which provides a DBus interface for Kando to communicate with.
 KDE / X11 ✔️
 KDE / Wayland ✔️ Uses the KWin Scripting API and the Remote-Desktop Portal to implement the required functionality. It works both on Plasma 5 and Plasma 6.
Hyprland ✔️ Uses some wlroots Wayland protocols, the hyprctl command line tool and the Hyprland Global Shortcuts protocol to implement the required functionality.
 XFCE ✔️
 MATE ✔️
 Budgie ✔️
 Cinnamon ✔️
 LXQt ✔️
 LXDE ✔️ Requires a compositor for the transparency to work.
 Openbox ✔️ Requires a compositor for the transparency to work.
 i3 ✔️ Requires a compositor for the transparency to work.

📦 Installation

You can either ⬇️ download a pre-built package from the releases page or 🚀 compile Kando yourself. With a pre-built package, you can just run the executable; no installation is required.

Important

If you are using GNOME under Wayland, you will also need to install the 🐚 adapter extension!

Manual compilation is only required if you want to test the latest development version of the prototype or if you want to contribute to the project.

🚀 Getting Started

For now, the prototype only comes with an example menu which does not do anything useful. However, if you want to get your hands dirty, you can already create custom menus and actions by editing the config files! This way, the prototype can do something useful already. You can read more about this in the 📝 documentation.

💞 I want to contribute!

kofi github paypal crypto

That's great! If you like the idea of Kando, you can help in many ways:

  • Discuss the idea! Tell me what you think about Kando and what features you would like to see. You can do this by opening a discussion.
  • Spread the word! Tell your friends about Kando and share the project on social media.
  • Contribute code! If you are a developer, you can help me with the implementation. I have never worked with Electron before, so I'm sure there is a lot of room for improvement. Please read the contributing guidelines for more information!

While direct contributions are the most awesome way to support the development, donations will encourage me to invest my spare time for developing free and open-source software.

These awesome people have already donated to the development of my open-source projects:

Sponsors List

Credits

This README uses icons from Simple Icons.

kando's People

Contributors

aliemresenel avatar d3vil0p3r avatar denis-roy avatar dependabot[bot] avatar hamishc0 avatar schneegans avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.