lookeypl / lookeypl/LukeBot

Add Widget configuration backend

Open
#16 0 comments 0 reactions 1 assignee View on GitHub

@lookeypl is already working on this.

Since Feb 7, 2025.

enhancement
Dominant language
C#
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

At this point in time Widgets cannot be configured in any official way. The only real way to affect how widgets work in runtime are either some visual changes by CSS overriding in OBS (which, while unintuitive, to a certain degree are fine) or hacky-coded (ex. Alerts widget reacting to its name suffix).

Widgets should have following configuration-related features added:
- [x] Actual Widget configuration interface which would allow to:
- [x] Set configuration options via CLI
- [x] Automatically save and load configuration options to Config
- [x] Unified way to submit Widget's configuration on its startup (hopefully as transparent as possible to Widgets themselves). Widgets should be able to provide which configuration options they expect, rest should be handled by the unified part. Configuration update should (at least partially) also be handled in common Widget JS code
- [x] Configuration updates should be immediately reflected on Widget's side (Widgets should be able to reload and adapt to new configuration on runtime)

This should also be used in existing Widgets to provide them with appropriate settings. Examples are:
- [ ] Alerts widget:
- [x] Alert box alignment (left or right)
- [ ] Alert sound to be played
- [ ] TTS voice used to read the text message
- [ ] Whether TTS should read the Alert title
- [ ] What alerts to react to
- [ ] Chat widget:
- [ ] Chat layouts - compact (current) or expanded
- [ ] Showing/hiding chat badges
- [ ] Font and its size
- [ ] Now Playing widget:
- [ ] Showing/hiding playback info (title/author/label/album)
- [ ] Font and its size
- [ ] Smart scroll parameters (scroll speed, pause between scrolls, spacing between texts when scrolling)

Some of these Widget functionalities don't exist yet and should be added with this task. Also, please consider testing at least some of these features (we need tests please test).

This should be tackled probably after #15 is complete.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.