dumbeau / AutoHotPie

Radial menus in Windows, aka PIE MENYOOS!
MIT License
324 stars 17 forks source link

[Feature request] Zone areas #53

Open Crunchbits opened 2 years ago

Crunchbits commented 2 years ago

Hi, I'd like to first thank you for AutoHotPie as it has become one of my favorite tools in the most recent years.

One feature that I believe might make the use of radial menus even greater would be "zones". These zones refer to predetermined areas of a monitor/screen. When a pie key is first detected, the program checks which area of the zones your mouse was in and opens the dedicated pie menu connected to the zone. This option would essentially allow for one single pie key to open different radial menus based on the location of your mouse cursor.

To visualize this I am using the Microsoft program 'PowerToys' that has a feature(for window organizing) called 'Fancyzones'. PowerToys-FancyZones-Monitors-And-Templates2

Having templates to quickly select would be nice, whether user customized or not. If customizable, the editor for zones might have zones with handles for dragging and assigned numbers/titles. The editor may resemble something like this: pt-fancyzones-grideditor2

Additionally, there is a question of implementation. The previous mentioned templates/editor shown all consisted of zones that are 'glued' together. In Fancyzones, this layout type is called a Grid type. However, there is also a Canvas type which allows for more window-like zones. They are not required to stick and more noteworthy have zones that can overlap. This may allow for zone templates like the one shown below: Screenshot_34 Screenshot_19 Screenshot_23

I don't know the difficulty of implementing this but I think it would be a neat and useful feature. Regardless, thanks!

dumbeau commented 2 years ago

This is a good idea to address the limitation of AHP to integrate directly with applications. I do have a plan to address this, however probably not directly in this bit of software. My plan is to make a PieMenu AHK class type that users can use in their own AHK scripts (#44). With this, users could add that kind of zone contexts to pie menus directly in AHK.

So I don't want to add this feature to the AHP app just because it would be kind of jank, and would just be difficult to implement in a user-friendly way. When I make the PieMenu AHK class type, I'll be sure to include how to set up this kind of functionality, considering this would be a good example of why someone should use it. So I'm going to close this for now, but I will at least address it later.

Happy you like my circle software thing! :D

dumbeau commented 2 years ago

jk probably makes sense to leave it open if I'm going to address it later

mmikeww commented 7 months ago

whats the use case for this? if you are using fancyzones and have dedicated apps in each slot, then the app specific profile menu should account for this

Crunchbits commented 7 months ago

I just used fancyzones to demonstrate the grid ui but the functionality I'm proposing is not related to fancyzones. The purpose would make it so that you could use the same hotkey for different pie menus with the condition being dependent on where your mouse cursor is.

For example, imagine the following on a typical adobe program: 176594425-0deb21a5-3cb9-4c50-bfe4-1b2c41e5b588

Zone 1: Could be used for a pie dedicated to effects (exposure, contrast, lighting, etc.) Zone 2: Could be used for a pie dedicated to tools (brush, pencil, bucket, gradient tool, etc.) Zone 3: Could be used for a pie dedicated to canvas control (rotate, size change, crop, etc.)

Essentially this would be a way to have more pie slices/functions without needing to:

  1. Go into more child folders(pie menus). and/or
  2. Make your pie menus have a lot of slices which is not desirable as it gets cramped and makes muscle memory much much more difficult.
mmikeww commented 7 months ago

in that example above with 3 zones, youre saying one single application takes up that entire area? and you want to break up that single app into 3 diff zones for diff menus?

i think that feature is a lot of work, especially building an editor to allow the user to create these zones. the functionality is doable yourself if you wanted to do some ahk scripting

Crunchbits commented 7 months ago

Yup, one application.

The editor isn't really necessary, more for convenience. There could be text inputs for x1, x2, y1, y2 coordinates to tell Autohotpie where the zone should be. It is possible via autohotkey as you say. It'd ,however, be better if this feature was built-into Autohotpie because making a separate ahk script would have the big disadvantage of needing to use up multiple shortcut keys to interact with autohotpie to simulate this behavior(at least that's the only way I could see it being done).

mmikeww commented 6 months ago

This is now possible, see PR #143 for instructions on how to test