Skip to main content
otter-theme provides Theme values through otter_theme.theme and loaders through otter_theme.loader. A theme owns its text fields, so call deinit() or clone it explicitly for another owner. Themes contain colors, layout, spacing, and globals. Render applications consume semantic roles and metrics instead of branching on theme names. There are 11 color presets. The bar_islands global controls Islands styling; Islands is not a twelfth preset.

Lua

The separate otter_theme_lua package exposes otter.theme. Reads such as get, color, surface, alpha, contrast, presets, and generation need no capability. subscribe reports successful changes. use_preset requires theme-write. The host installs the environment/root before loading plugins and registers the module. Broken theme edits keep the previous valid snapshot and do not notify subscribers.

Reference pages

Source reference

otr/otr.toml, otr/ in the component repository.