{% extends "app_base.html" %} {% block title %}{{ frame.name or "Frame" }} ยท Configuration{% endblock %} {% block page_title %}{% include "_frame_name_edit.html" %}{% endblock %} {% block device_status %}{% include "_device_status_bar.html" %}{% endblock %} {% block tabs %}{% include "_frame_tabs.html" %}{% endblock %} {% block content %}

Display settings

Quiet hours times are interpreted in this timezone. The device may still wake once right at the start of quiet hours -- it can't know ahead of time -- but goes right back to sleep until they end.

Button assignments

What the frame's physical NEXT and BACK buttons do -- assign one or more widget actions to each, in the order they should run. A button with several actions runs all of them, in order, then the panel redraws once.

NEXT button

    BACK button

      Firmware update

      {% if frame.device_board_variant %}Detected board: {{ frame.device_board_variant }} {% else %}Board not detected yet -- the frame reports it on its next check-in.{% endif %}

      {% if frame.firmware_available_version %}Uploaded: v{{ frame.firmware_available_version }} -- the frame updates itself on its next wake if it's running something else.{% else %}No firmware uploaded yet.{% endif %}

      Gitea repo: {{ frame.firmware_update_repo_url }}

      While on, this frame installs whatever the repo above publishes next, with nobody reviewing it first -- only point it at a repo you trust.

      Battery alerts

      Sent once per discharge cycle to the frame owner's email (set in Settings) -- clear the field to disable. Needs SMTP configured by an admin.

      Advanced configuration

      Color-quantization values used when dithering photos for this panel -- approximations by default, since exact primaries aren't published. Tune them by comparing a rendered photo against the physical panel; different panel units can vary enough to be worth calibrating per frame.

      {% set current_palette = frame.palette_rgb or default_palette_rgb %} {% set current_hex = palette_to_hex(current_palette) %} {% for label in palette_labels %} {% endfor %}
      ColorHexRGB
      {{ label }}

      Image adjustments

      1.00 is unchanged for color/ contrast. Dithering strength trades noise texture for smoother gradients as it goes down; 0 is a flat, un-dithered quantization. Use the preview below to compare.

      Preview

      {% if photo_widget_id %}

      The current photo (from this frame's photo widget), and exactly how it renders on the panel with this frame's saved settings above.

      Now displaying

      Original photo

      How it will look on the frame

      Rendered preview
      {% else %}

      This frame doesn't have a photo widget to preview against yet -- add one from the Layout tab.

      {% endif %}
      {% endblock %} {% block scripts %} {% endblock %}