# Widget reference A "widget" here is a view: an XML tag that a screen template can emit, which renders itself (and, for containers, its children) into a `PIL.Image`. Every tag not in this list still "works" — it's silently treated as the inert base `View`, which renders as nothing — so a typo in a tag name fails quietly rather than with an error. If a screen renders blank where you expected something, check the tag name first. | Tag | Category | Renders | | --- | --- | --- | | `` | {doc}`layout` | Free-form container; positions children by `x`/`y`/`align`/`valign`. | | `` | {doc}`layout` | Stacks children top to bottom. | | `` | {doc}`layout` | Stacks children left to right. | | `` | {doc}`layout` | The document root; a `` with a filled background at the panel's full size. | | `` | {doc}`text` | A run of (optionally word-wrapped) text. | | `` | {doc}`image` | An image file loaded from config storage. | | `` | {doc}`image` | Today's strip from a [GoComics](https://www.gocomics.com/) title. | | `` | {doc}`image` | A weather condition icon, from either bundled icon set. | | `` | {doc}`shapes` | A straight line between two points. | | `` | {doc}`shapes` | An outlined or filled (optionally rounded) rectangle. | Every attribute value in the template is a plain string pulled straight off the XML element — there's no schema validation, so a misspelled attribute name is silently ignored (the widget just falls back to its default) rather than raising an error. Keep that in mind when a screen doesn't look the way an attribute name suggests it should. ```{toctree} :hidden: layout text image shapes ```