🎉 Add More Fixed Menu Positions - #1458
Conversation
…github.com/Linkazen/kando into Linkazen-feature/#546_Add_More_Fixed_Menu_Locations
|
Thank you very much for this contribution! It works really well! This would actually resolve #546. Here are some ideas / suggestions:
Screencast.From.2026-08-05.20-11-08.mp4What do you think? |
No problem! This project has been really helpful for me with productivity and otherwise, so happy to help with development on it.
Yes, I do agree, that is a much nicer name for it.
Yeah, that would work fine. I think including the presets as an option will still be good, as with Anchored Mode enabled I think it would be fine to use, but they should be more minor options compared to custom position. I'll take a look at this and get back to you when I have an implementation.
Yeah I'll definitely do this, will definitely look nicer than just having it always showing. Thanks so much for the feedback! |
|
Hey @Schneegans, I've made quite a few changes compared to this first version of the PR. Primarily custom values are now shown, and there is a GUI modal, similar to the screen area modal.
These have preset values that you can choose from, as well as picking the area like in the screen area model. Screencast_20260809_125724.webmLet me know if this all looks good to you, and if there are any improvements you think could be made, then let me know! |
…github.com/Linkazen/kando into Linkazen-feature/#546_Add_More_Fixed_Menu_Locations
|
Hey, this is totally awesome! Thank you so much for implementing this! I'll try to do a thorough review this afternoon, but a quick test revealed that the drag-and-drop picker returns wrong values for me. Maybe because I'm on a multi-monitor setup? Or due to screen-dpi-scaling? I'll look into this, but maybe you see an issue already in the mean time! |
Hmm, that's unfortunate. If I were to guess it's likely to do with this line here (https://github.com/Linkazen/kando/blob/5c6ec54b6f080aa39c5ca1f13a436e7630f35f15/src/settings-renderer/components/menu-properties/ScreenPositionPicker.tsx#L138-L139). Specifically with the I tested this on Arch with Wayland KDE, and the picker only seemed to work for me when the settings app was fullscreen, or the cursor was let go of on the settings window. But, I assumed it was just issues with Wayland and would be fine on other platforms, as this same problem with cursor position seemed to happen on the area picker component too when I tried to use it. I'll try and test it again myself sometime tomorrow and see if I can find the problem. But, if you know what the problem is and can fix it quickly, then feel free to push whatever change is needed. |
|
The ScreenAreaPicker does not work for me either anymore. I just pushed a fix which makes both work for me again. It's also much simpler this way 😄! |
Schneegans
left a comment
There was a problem hiding this comment.
So it's really just to very small comments. It works now like a charm! Thank you so much!
| "top-left-preset-tooltip": "Set position to top left", | ||
| "bottom-left-preset-tooltip": "Set position to bottom left", | ||
| "bottom-right-preset-tooltip": "Set position to bottom right", | ||
| "picker-tooltip": "Drag this to an area on your screen to set position", |
There was a problem hiding this comment.
| "picker-tooltip": "Drag this to an area on your screen to set position", | |
| "picker-tooltip": "Drag this to a position on your screen to set the position", |
| export function fixedMenuPositionToString(menuPos: number): string { | ||
| return numericFormatter(String(menuPos), { | ||
| fixedDecimalScale: true, | ||
| decimalScale: 4, | ||
| }); | ||
| } |
There was a problem hiding this comment.
Is this different than number.toFixed(4)? If not, we could remove the additional dependency, I think.
There was a problem hiding this comment.
Yep that works, fixed that now.
|
It seems like both pickers are now broken for me. I think that this PR is still fine to be merged, as it seems like an issue with the |
|
The problem seems to be that the pointer position is not updated during drag-and-drop operations by the input filter. Using an input spy fixes this issue for me. See here: kando-menu/kwin-integration#5 |
|
Once the linter errors are fixed, I think this is ready to be merged! 🎉 |
|
Alright should be fixed now! |
|
Thank you once more! I'm looking forward to your future contributions 😉 |



Aims to partially address issue #546
Changes the internal menu property
centered, to instead beisFixedPosition.The position the menu is fixed to, is instead determined by a new
fixedMenuPositionvariable within the settings. This currently can be set to 5 fixed positions;This is just stored in the config file as a Vec2, which will make implementations of custom positioning for the menu much easier in the future.
Image of new option
