HotkeylessAHK icon indicating copy to clipboard operation
HotkeylessAHK copied to clipboard

Port to AHK v2

Open greener-hayden opened this issue 1 year ago • 3 comments

I have ported the AHK code so its able to run on AHK v2. The code has been stable but there could be outliers or problems that i haven’t encountered yet so be warned. The only thing missing from this conversion is the validation of whether a method exists. So, if the user presses a key that hasn’t been updated, it will result in an error so keep that in mind. In addition, I am currently working on integrating a plugin with Flow-Launcher. There is also a possibility of integrating with Powertoys Run, but for now, my focus is on Flow since it seems like a more agile system since i can build the plugin with python.

I also have plans to enhance the code options by allowing users to set parameter values for the methods. Improving the ability of the plugin on stream deck. I also have plans to add descriptions/flavour text to functions. Which should improve the aesthetics of hooking HotkeylessAHK to other things.

greener-hayden avatar Dec 11 '23 04:12 greener-hayden

Could you please look over this pull @sebinside ? I've now added support for parameters. Currently can do strings, integers, floats, boolean, arrays, objects, and nulls. However, I couldn’t figure out how to pass mathematical operations, so it’s not a complete one-to-one conversion of the method(params*). Nevertheless, it covers about 90% of the functionality and 100% of what I needed.

I hope that the port is at the quality that it could be merged.

image

greener-hayden avatar Feb 23 '24 04:02 greener-hayden

Thank you for this giant PR! Looks like a great improvement of the overall code base. However, I will need to find quite some time to review (and first, to understand) the changes and additions. In my current extremely tight schedule, this will probably take some time, I'm sorry. Still, thank you very much, this PR will eventually be merged :)

sebinside avatar Feb 24 '24 22:02 sebinside

Multiple Function Class Support

This update introduces support for multiple function classes, allowing for better organization and separation of functions based on their purpose or context. For example, you can now have classes like WorkFunctions, PersonalFunctions, etc., in addition to the main CustomFunctions class.

The changes made include:

  • Added support for multiple function classes in the GetAvailableFunctions() function. The functionClasses array can be expanded to include additional function classes as needed.
  • Modified the register endpoint to handle multiple function classes. It now extracts the function class and function name from the registered list and stores them in the functionClassMap.
  • Updated the send endpoint to find the corresponding function class for a given function name using the findFunctionClass method. If a matching function class is found, the command is sent with the appropriate class prefix.

greener-hayden avatar Mar 10 '24 20:03 greener-hayden