Styling API
Style and theme management live in wijjit.styling. These classes determine how elements look and how overrides cascade.
Overview
The styling system provides:
Theme-based styling: 4 built-in themes (default, dark, light, high_contrast) with 150+ style definitions
Pseudo-class support:
:focus,:hover,:disabled,:checked,:selectedScrollbar theming: Separate styles for
scrollbar.trackandscrollbar.thumbwith focus statesModal-specific styles: Modals use
modal.*styles instead of inheriting from framesPlaceholder styling: Input placeholders use
input.placeholderstyle (dim gray)Global focus color: Set
FOCUS_COLORconfig to override all focus styles
Key style classes
# Frame and scrollbar
frame, frame:focus, frame.border, frame.border:focus
scrollbar.track, scrollbar.track:focus
scrollbar.thumb, scrollbar.thumb:focus
# Modal (separate from frame)
modal, modal:focus, modal.border, modal.border:focus, modal.text
# Input
input, input:focus, input:disabled, input.placeholder
# Button
button, button:focus, button:hover, button:disabled
Key classes
CSS-like style specification for terminal UI elements. |
|
Resolves element styles using theme and element state. |
|
A named collection of style definitions for UI elements. |
|
Default theme with sensible defaults for all elements. |
|
Manages theme registration and switching. |