Commit Graph

4 Commits

Author SHA1 Message Date
Aire-One 87a767705d !feat: `connect` parameter defaults to `true` 2024-11-28 00:36:56 +01:00
Aire-One 56e76a4baf feat(slots): make predefined slots HOF 2024-11-27 01:56:10 +01:00
Aire-One d0dda9399e feat: slot are always HOF
The slot's`slot` function callback needs to be a Higher-Order function
to manage correctly and consistently the signal parameters. Before this
change, the API was broken when the user wanted to pass `slot_params` to
a signal with parameters. (e.g., the `screen`
`"request::desktop_decoration"` signal passes the screen instance as a
parameter; when used in combination with `slot_params`, `slot_param`
overwrites the parameter.)

Bonus point: every slot is by default a pseudo constructor function that
has to return the actual signal callback. It makes it obvious to the
user how to use the `slot_params` to manage external dependencies and
configurations for the actual signal callback implementation.
2024-11-26 01:46:41 +01:00
Aire-One dcee9d9553 feat: add unit tests 2024-11-17 18:50:52 +01:00