NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Show HN: Kando – A cross-platform pie menu for your desktop (kando.menu)
TripleChecker 1 days ago [-]
Looks cool! I was surprised to see it using Electron. Does it use the Canvas API or HTML/DOM for the UI elements?

There were also a few typos on the homepage and other pages that you might want to review: https://triplechecker.com/s/166843/kando.menu

schneegans 17 hours ago [-]
Thanks for the typo pointers! It uses DOM elements. This makes it really easy to develop themes with CSS. I also did some experiments with alternatives to Electron, but found that the advantages of Electron clearly outweigh the disadvantages in this case. Here is some background information: https://github.com/orgs/kando-menu/discussions/58
retrochameleon 5 hours ago [-]
Thank you for addressing the Electron discussion thoroughly on Github. I am always very disappointed to see an application I am interested in using Electron. It is often enough of an issue for me to immediately write it off as something I will never use. I hope to see more Tauri instead, but you also addressed some minor issues about that option.

I'll have to play around with this application.

schneegans 4 hours ago [-]
Yeah, Tauri would be great. But I think it will take quite some time until the fundamental rendering performance issues [1] under Linux can be fixed. There seem to be rough plans to bundle CEF on Linux [2], but AFAICS this seems to be only a discussion at this point.

[1] https://github.com/tauri-apps/tauri/issues/3988 [2] https://github.com/tauri-apps/wry/issues/1064

woolion 13 hours ago [-]
It looks a bit like the Krita right-click palette menu, which is made with a similar idea that you want to be fast while only access to a tablet stylus. I've seen that it has controller support, which is great; it's a cheap 'shortcut enabling' device that is readily available to most people.

It would be a bit easier to have a video on the homepage that is a whirlwind tour of the program rather than the latest changelog. Although I have a motivation to find it useful (using a stylus restricts keyboard use), I've already set up a Tartarus with Input remapper to act as custom shortcuts etc, and it seems complicated to find how it would simplify or improve my existing setup.

emacsen 1 days ago [-]
I remember in the late 90s when there were so many alternative interfaces for PCs. It was a great time for exploration on what could be done.

Kando is very pretty, and it can be fun to use an interface like this, but in terms of practicality, text inputs are better.

For example, on my desktop, there's an icon on my taskbar for Firefox, but most of the time, I get my screen to the search bar and type "F" and my system knows I probably want Firefox. Done.

There's a game I play, Astroneer, and it uses a pie interface. I often wish I could just type in what I want. It'd be faster.

I want to love this, but I can type on a keyboard so much faster, and use up so much less cognitive energy doing so than switching my hand to the mouse, pulling up a menu, reading the symbols (even if I have their location memorized) and pulling my wrist/arm in the right direction.

schneegans 17 hours ago [-]
If you have both hands at your keyboard, that's 100% true. However, it really works well with workflows which rely on mouse, stylus, touch, or controller input.

Especially when used for "creative" or "artistic" tasks (e.g. painting, video editing, 3D modelling, etc.) pie menus can really have a benefit because you have your hand at the stylus or at the mouse most of the time anyways.

dr_kiszonka 2 hours ago [-]
Kando looks incredible - congrats! And I can see how it works well for the use cases you described. Maybe it would be possible to add keyboard support? One could use left and right arrow keys to highlight an item and the up arrow key to select it.
hju22_-3 1 days ago [-]
I agree, but I also really like the pie menus. Personally, I'd like the ability to simply write to match, but otherwise working as demonstrated. E.g. like the Windows search works when you've hidden the search bar. I'd prefer both, in other words.
snapplebobapple 23 hours ago [-]
Rofi has that search to match but iant a pie menu
dingnuts 1 days ago [-]
ideally you have a button on your mouse to summon this, and use it when you are already using your mouse, and summon a different interface for typing from your keyboard, when your hands are there
astrosloth 15 hours ago [-]
I am running RPi OS with GNOME 43.9 and was wondering if you have a release build for Arm (Pi 5)?
oulipo 1 days ago [-]
Really cool!

On osX BetterTouchTool can also do radial menus!

Would there be a way to import/export a menu configuration from your tool as a .json?

schneegans 17 hours ago [-]
Thanks! All menus are actually stored in a JSON file. The format is documented here: https://kando.menu/config-files/

So maybe it could be converted to different formats...

oulipo 15 hours ago [-]
yes, I was thinking more of having a kind of "dotfile" approach to all my configs for automation on macOs, as there are so many different overlapping apps like BTT, KeyboardMaestro, skhd, Kando, Alfred, etc

I'd love to have a `.automation` folder in my home where I can add descriptions of all my menus, keyboard shortcuts, scripts, Shortcut App scripts, BTT config, etc, and each time I modify them it updates in the app

It would be nice to have a kind of overview of all my automations

Also I'd like it that each file is some kind of "executable markdown" container which can contain textual description, images, etc, and the scripts/configs themselves, and the bindings

Something like this

    --
    name: emoji-picker
    author: xxx
    description: Various emoji-related bindings
    version: 1.0
    url: xxx
    license: ...
    --
    
    ```@deps
    ts: mdex>=1.0,<2.0
    ```
    
    ```@deps test
    // deps only for testing, etc
    ```
    
    ```@include
    // can seamlessly include other .mdex, libs, code, repos, etc
    ```
    
    # Open emoji picker
    
    The Raycast emoji finder is clean and easy to use, so I'll use it instead of the system picker
    
    ```@code ts openPicker
    const openPicker = async (prompt: string = "") => {
        api.url.open(`raycast://extensions/emoji?prompt={prompt}`);
    }
    ```
    
    ```@test
    // define some code to run tests and ensure everything works
    ```
    
    ## Trigger on `fn` key
    
    ```@binding key
    trigger: @on(platform == "darwin") key=[fn]
    action: code openPicker @(openPicker();)
    # equivalently, action: api open("raycast://...")
    ```
    
    ## When called as a CLI, allow to pass an optional prompt to the emoji picker
    This installs an `emoji` cli, which parses with an optional prompt
    ```@binding cli
    name: emoji
    args: [prompt=""]
    action: code openPicker @(openPicker(prompt);)
    ```
    
    ## Add custom bindings through extensions
    ```@binding ext:alfred
    keyword: emoji [query=""]
    action: code openPicker @(openPicker(query);)
    ```
    
    ## Every hour, refresh the emojis
    ```@binding cron
    every: 1h
    action: code openPicker @(refreshEmojiData();)
    ```
    
    ## Create an UI
    ```@binding ui
    name: emoji-ui
    layout: ...
    html: ...
    css: ...
    ```
    
    ## Usage:
    
    ```sh
    mdex list emoji
    mdex info emoji-picker
    mdex install @user/emoji-picker
    mdex install emoji-picker.mdex # install or refresh script, install deps, setup key-bindings
    mdex test emoji-picker.mdex
    emoji "clown" # cli
    mdex uninstall emoji-picker
    # or trigger the `fn` shortcut
    mdex logs emoji-picker
    ```
bella964 13 hours ago [-]
[dead]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 22:48:01 GMT+0000 (UTC) with Wasmer Edge.