pgaskin / NickelMenu

The easiest way to launch scripts, change settings, and run actions on Kobo e-readers.
https://pgaskin.net/NickelMenu
MIT License
591 stars 32 forks source link

Adding (GUI) plugin support #113

Open shermp opened 3 years ago

shermp commented 3 years ago

So the past couple of days I've been experimenting with using NickelMenu to load Qt plugins. Initial impressions are quite promising.

I basically added a new action type nm_gui_plugin which currently takes a plugin path as its argument. The action loads the plugin using QPluginLoader, and calls the plugins showUI() method.

Thoughts on this @pgaskin ? If you are not opposed to the idea, I shall transfer the code to a branch here. The code itself is still fairly proof-of-concept, so will need some work to polish it up for public consumption.

fennectech commented 1 year ago

This would be incredibly cool! Think of the posibilities!

pgaskin commented 1 year ago

I'm not entirely opposed to the idea, but it depends how intrusive/version-dependent the implementation and the actual plugins end up being. However, even if it is out of scope for NM, I would like to include the functionality in one way or another.

On a somewhat related tangent, I've been considering making a custom home screen mod as my next project.

fennectech commented 1 year ago

What is added to NM should be the basic tools to launch these things. The plugins should be as self contained as possible and rely on libraries only present in stock firmware on all devices. I would also like a unified method to close them

shermp commented 1 year ago

If anyone wants to run with the idea, feel free. Unfortunately, I don't have a lot of time to spend on Kobo dev these days, so my involvement may be limited.

I had also had ideas about a plugin loader as a replacement/enhancement to NickelHook to start plugins on startup.