When registering an event (especially mouse events), if the parameter
is a valid method in the Module, execute that with the event as
parameter.
Add this in the core.spacer module as an example.
fixes#858
see #857
to trigger an update of a module (without actually triggering a mouse
interaction), use the special event "update":
bumblebee-ctl -m <module> -b update
see #784
make sure that for a given event (widget/object/module, whatever), only
a *single* input event per button can be registered at one time.
the problem otherwise is with modules that re-register their widgets
with the same IDs (cmus, spotify, etc.): Each time the widget is
re-created (each intervall, typically), it re-registers an input event,
creating an always longer list of callbacks being executed when the
button is clicked (not speaking of the memory leak this introduces).
fixes#668
OK - so I have to admit I *hate* the fact that PIP seems to require a
subdirectory named like the library.
But since the PIP package is something really nifty to have (thanks to
@tony again!!!), I updated the codebase to hopefully conform with what
PIP expects. Testruns so far look promising...