DeskDot Open in browser GitHub
Screen Mirror running on a 32×32 LED panel
32×32 · Livereal render
MediaLive

Screen Mirror

Your screen, a window, the area under the cursor, or ambient colours — live on the panel.

At a glance

OutputLiveRendered by the engine and streamed over Bluetooth as its data changes (about 5–9 frames a second).
Settings23every one editable live in the studio, or by an agent with update_app_settings
Sourcelive.pysrc/deskdot/apps/live.py

Settings

Settings
SettingTypeDefaultOptions / range
General
SourcemodechoiceWhole screen
Whole screenActive windowAround cursorAmbilight colours
FitfitchoiceFit whole screen
Fit whole screenFill (crop)
Cursor box (px)cursor_boxSmaller = more magnifiedwhole number9648 – 800
Exposure
Auto exposureauto_exposureStretch levels to the contenton/offOnon / off
Exposure (EV)exposureManual, or on top of autonumber0.0-3.0 – 3.0
Black point %black_pointHigh = dark UIs go blackwhole number350 – 60
White point %white_pointwhole number9980 – 100
Brightnessbrightnessnumber0.0-1.0 – 1.0
Contrastcontrastnumber1.150.2 – 3.0
Gammagamma>1 darker mid-tonesnumber1.00.3 – 3.0
Colour
Saturationsaturationnumber1.350.0 – 3.0
Hue shift (°)huewhole number0-180 – 180
White balancetemperatureCool ← → warmnumber0.0-1.0 – 1.0
TinttintGreen ← → magentanumber0.0-1.0 – 1.0
Detail & effects
Sharpnesssharpnessnumber0.50.0 – 3.0
Posterise levelsposterize0 = offwhole number00 – 8
Invertinverton/offOffon / off
Framing
Flip horizontalflip_hon/offOffon / off
Flip verticalflip_von/offOffon / off
Rotaterotatechoice0°
0°90°180°270°
Zoomzoomnumber1.01.0 – 8.0
Pan ←→pan_xnumber0.0-1.0 – 1.0
Pan ↑↓pan_ynumber0.0-1.0 – 1.0

Try it

render a frame to PNG (no panel needed)
$ uv run deskdot preview mirror --settings '{"rotate":"90"}' --out mirror.png
show it on your panel (engine running)
$ curl -X POST http://127.0.0.1:8765/api/apps/mirror/activate

Or ask your agent: “Show Screen Mirror on my panel”. It calls show_app with "mirror". New here? Set up DeskDot first.

More media apps