Apollys / PoEDynamicLootFilter

Tool to Modify your Loot Filter seamlessly while playing Path of Exile
56 stars 9 forks source link

Consider removing AHK dependency #8

Open MarkKoz opened 2 years ago

MarkKoz commented 2 years ago

Why depend on AHK when Python can be used to create a GUI and listen for keyboard events? You seem to have this awkward thing going on where you use a CLI interface for the backend and communicating between frontend and backend via file I/O. Not only is this an extra dependency for users, it also seems to make the project more difficult to reason about and maintain (also cause it requires knowledge of two languages).

Apollys commented 2 years ago

There were a few reasons I decided to use AHK for the GUI originally (mainly: zero extra python package dependencies, and I thought all PoE players use AHK anyway). Now that I know pyinstaller can cover our python package dependency issues, this is definitely possible. Thanks for the suggestion.

After we fix the immediately pressing bugs, we'll come back to this.

MarkKoz commented 2 years ago

I was thinking tkinter could be used for the GUI, though in hindsight it is technically an optional component when installing Python. Regardless, it may be a good choice since it's a relatively lightweight dependency as far as GUI frameworks go. If anything, it's the keyboard events that would benefit from a third-party library, though it seems you only use that to toggle the GUI being the active window.

I thought all PoE players use AHK anyway

Not necessarily, especially not the ones on macOS or Linux.