Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Plugin support #10

Open
ItsProfessional opened this issue Feb 1, 2023 · 4 comments
Open

[Feature Request] Plugin support #10

ItsProfessional opened this issue Feb 1, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@ItsProfessional
Copy link

ItsProfessional commented Feb 1, 2023

Is your feature request related to a problem? Please describe.
At the moment, I have to either modify the source code and recompile it, or inject dlls into the shell in order to modify its behaviour.

Describe the solution you'd like
A plugin system with a flexible API, for modifying the behaviour of the shell.

Describe alternatives you've considered
I can hook into it, but that is a hack. Also recompiling is an option but pretty annoying, as you have to merge changes when new versions come out.

Additional context
I do not expect this to be added for the moment, but I'd like for this to become a thing, at some point.

@Pdawg-bytes
Copy link
Owner

Pdawg-bytes commented Feb 1, 2023

Okay, thanks! What type of plugins would you like (more specifically?) What types of behavior would you like the modify? Having plugins would need a ton of refactoring, so I need a more scoped list of changes to make. Widespread support for modifying any component would be really hard to do (since there's a lot in the backend that you don't really see in the frontend). I will create a task list to keep up with the features after this question is answered. Good idea though, thanks again!

@ItsProfessional
Copy link
Author

ItsProfessional commented Feb 2, 2023

I would just like some of the features of the pre-existing shell/taskbar tweaking programs that are made for the default shell (by hooking) to be rewritten as plugins for use with gyroshell. You can look up a list on your preferred search engine yourself, but some include: startallback, translucenttb, 7+ taskbar tweaker, taskbarx, roundedtb, tclock, etc.

Also, the plugin system should be designed such that plugins can be installed as simply as a drag and drop into a plugins folder, and a system restart (or maybe just a shell restart is enough). Having to recompile the program to add new plugins (made by someone on the internet, of self-made, for example) completely makes the system worthless because it does not change anything since you still have to recompile it to add new features via plugins.

Something similar is Windhawk, It has plugins that use dll injection (I'm pretty sure) to hook into the official shell (and other programs) for modifying behaviour. But the problem with it is that it hooks into the programs, however since GryoShell is community-made, it can have a plugin system, which eliminates the issue of having to hook into the shell.

@Pdawg-bytes
Copy link
Owner

Pdawg-bytes commented Feb 2, 2023

Plugins

  • Shell Customization Plugins
  • Add plugin system to code

@Pdawg-bytes Pdawg-bytes self-assigned this Feb 2, 2023
@Pdawg-bytes Pdawg-bytes added the enhancement New feature or request label Feb 2, 2023
@Pdawg-bytes
Copy link
Owner

This is finally being worked on! I'm working on implementing the loader that loads the modules. Currently it's reflection based.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants