refactor(handlers): refactor handlers to allow plugins development #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What's new
How the new handlers engine works?
Now each handler registers itself automatically. During initialization each handler starts listening for keys events. They can listen to it's own event or you can also listen to events to other listeners too. This gives us a lot of flexibility, and you can even have a handler that plays a sound on every website opened. Or an April fools day handler that when pressing any keys, has 1% chance of opening of opening the rick roll video.
There is also a new handler config mechanism too, that allows developers to specify what should be configurable in their handler (example: API Key). You can even say that the config is secret so you can only write it, and cannot read it from client side.
If a plugin is not initialized (active), they are hidden from the sidebar
Screenshots