Files
noctalia-ostt/README.md
T

1.8 KiB

Example

Example is a minimal reference plugin that demonstrates the common Noctalia plugin entry types: a bar widget, a headless service, and a control-center shortcut.

Plugin

Field Value
ID noctalia/example
Entries Bar widgets: hello, declarative; service: ticker; shortcut: toggle

Usage

Add the hello widget from the Add-widget picker. The widget displays a configurable label and glyph, counts clicks, reads data.txt, and watches the shared tick state published by the ticker service.

Add the declarative widget to see the same service tick rendered as a ui.* tree via barWidget.render() — a glyph, the live counter in a filled rounded badge (impossible with the imperative API), and an inline ui.button whose click is handled separately from the widget-level onClick. Simple widgets can keep using setText/setGlyph; render() is the declarative alternative for composite content.

Add the toggle shortcut from Settings -> Control Center shortcuts. It toggles shared plugin state and shows how shortcut entries can render an active state.

Settings

Setting Type Default Description
label string Hello Text shown in the bar widget.
glyph glyph puzzle Glyph shown before the label.
show_glyph bool true Controls whether the glyph is visible.

IPC

The hello widget exposes two IPC events:

noctalia msg plugin noctalia/example:hello focused set "Hi there"
noctalia msg plugin noctalia/example:hello focused fetch "https://example.com"

set updates the widget label at runtime. fetch performs an asynchronous HTTP request and reports the response status in a notification.

You can open the example panel with the following IPC call:

noctalia msg panel-toggle noctalia/example:panel