Skip to content

Screens ​

A Screen is one unit of content in a Device's Rotation. Screens play in their Order, which you rearrange by drag and drop, and the Rotation advances one step on every poll, skipping any Screen that is not eligible right now.

A Device's Screens in their Order, with the Current Screen and each Screen's ScheduleA Device's Screens in their Order, with the Current Screen and each Screen's Schedule
A Device's Screens in their Order, with the Current Screen and each Screen's Schedule

Images are generated for the Device's Device Model (panel size, colour depth, rotation) and dithered to its Palette: 1-bit, 4 or 16 greys, or the colours of a colour panel.

Kinds of Screen ​

Adding a Screen to a DeviceAdding a Screen to a Device
Adding a Screen to a Device
  • Upload: Kuroshiro fits a file onto the Device's panel with ImageMagick and dithers it. The original is kept, so switching the Device's model or Palette regenerates the image from the source.
  • Link: give a URL and Kuroshiro fetches, converts and serves it. Cache it for speed, or fetch fresh every time.
  • HTML: write raw HTML with the TRMNL framework at hand.
  • Plugin: the rendered output of a Plugin.
  • Mashup: several Plugins combined on one Screen.

HTML editor ​

The HTML editor previews the Screen for its Device as you type.

The HTML editor, previewing the Screen for its Device as you typeThe HTML editor, previewing the Screen for its Device as you type
The HTML editor, previewing the Screen for its Device as you type

Mashups ​

A Mashup combines multiple Plugin outputs into one Screen using one of 7 layouts: 1L×1R, 1T×1B, 1L×2R, 2L×1R, 2T×1B, 1T×2B and 2×2. Mashups use the official TRMNL CSS framework. If one Plugin fails to render, an error placeholder takes its slot and the rest of the Mashup still displays.

Schedules ​

Attach a Schedule to any Screen, Mashups included, to gate when it may become the Active Screen: a weekday selection, a daily time-of-day window (which may cross midnight), an optional date range, and its own on/off switch. The Rotation simply skips Screens that are not eligible; a Schedule never reorders anything, and a Screen without one is always eligible.

A rendered page can also opt out by itself: Plugin, HTML and Mashup Screens may set TRMNL's skip or hold flags, and Kuroshiro honours them as Render Signals.

Each Screen shows why it is or is not playing right now: Active Screen, Up next, Schedule off, Not today, Not at this hour, or Skipping.

Released under the MIT License.