Commit Graph

22 Commits

Author SHA1 Message Date
Aire-One 87a767705d !feat: `connect` parameter defaults to `true` 2024-11-28 00:36:56 +01:00
Aire-One 08102153b1 chore(rockspec): add lua dependency constraints 2024-11-27 02:02:15 +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 d4add4fb8a chore: add spec directory to luacheck 2024-11-26 01:23:33 +01:00
Aire-One dcee9d9553 feat: add unit tests 2024-11-17 18:50:52 +01:00
Aire-One 44686975f4 ci: add rock workflow 2024-10-25 02:54:44 +02:00
Aire-One b2d65fdc40 chore: add Makefile 2024-10-25 01:50:55 +02:00
Aire-One ebf9a4c766 ci: fix branch name 2024-10-24 20:54:07 +02:00
Aire-One c5a1de4e2a ci: add lint workflow 2024-10-24 20:47:57 +02:00
Aire-One fae32823a3 add(README) # Documentation 2024-10-24 20:47:57 +02:00
Aire-One 4660dc62f8 ci: add doc workflow
GitHub Actions to build and deploy doc to gh-pages.
2024-10-24 20:47:57 +02:00
Aire-One 31d7d7831b feat: reorganize as a rock 2024-10-24 18:48:49 +02:00
Aire-One 4162b3b0ff add(doc) ldoc and base README 2021-10-16 19:36:46 +02:00
Aire-One 3ad2403a2a add(tooling) .luacheckrc 2021-10-16 18:11:53 +02:00
Aire-One 776868b430 add: API changes
- move `registered_slots` to `_private`
- change `status` to `connected: boolean`
- expose `get_slot` function
- make the API declarative only
- simplify static functions name
- add a `connect` parameter to the create function
2021-10-16 16:42:35 +02:00
Aire-One 756c39207e add: remove singleton pattern
The module pattern induced by Lua is enough for this module  use case.
2021-10-16 15:53:00 +02:00
Aire-One 61cbed0c52 add: tooling
- vim modline
- .editorconfig
- stylua.toml
2021-10-16 15:44:16 +02:00
Aire-One cf38140254 add(slot.id) id check and generator 2021-10-16 14:42:16 +02:00
Aire-One 147212a1a0 fix(luacheck) ignore unused self 2021-10-16 14:41:34 +02:00
Aire-One 903e2a64db fix(slots.client) iterate over bindings parameters 2021-10-15 01:14:07 +02:00
Aire-One 4d0f0b9be3 init 2021-05-24 11:40:33 +02:00