seanime
seanime copied to clipboard
feature request: Plugin-controlled, persistent UI panels (Widgets/HUDs) alternative to ctx.dom
Checklist
- [x] I checked that this feature has not been requested before
- [x] I checked that this feature is not in the "Not planned" list
- [x] This feature will benefit the majority of users
Problem Description / Use Case
Right now there isn’t really a good way for plugins to create a UI panel that just stays visible on the screen on any page.
ctx.trayis nice for small popovers, but those only show up when the user clicks something.ctx.actionis good for adding buttons or menu items, but not for something custom and always visible.- The only option left is
ctx.dom, which works but feels hacky. It’s hard to manage, not very performant, and the UI doesn’t really look like it belongs to Seanime.
Because of this, it’s not possible (or at least not convenient) to build plugins like:
- A small HUD that shows torrent download/upload speed
- A dashboard with playback info or library stats
- A panel with extra info (e.g. anime/character details) while browsing
- (And what I want to do/add is read and post comments directly inside the Seanime UI.)
- And many more stuff....
Proposed Solution
It would be great to have something like ctx.newPanel that lets a plugin create a fixed, always-visible UI area/box on any page they want.
Some thoughts on how it could work:
- The plugin defines the position + size and what page (like “bottom-right corner, 250x100px”).
- The panel should be able to use the same components and state system as
ctx.tray(sostack,flex,button,ctx.state, event handlers, etc).
That way, plugin developers don’t need to abuse ctx.dom and can make UI elements that actually feels native to Seanime.