DatumHueEnterprise v0.0.24datumhue.com
Contents

namespaceDisplay Control8 functions, 9 propertiesUI apps only

datumhue.screen

Window dimensions, fullscreen, resolution, stretch/zoom, and monitor information. Scope follows the caller: bootstrap controls the workstation window, while a regular app controls its own root panel. The request_* functions are proposals — bootstrap's apply at the end of the frame (in a browser the page sets the workstation's size, so its request_resolution changes nothing), and an app's are sent to its window manager to answer (see the app_*_request events and the wm namespace).

Returns handles
Image

Fields 9

FieldTypeAccessDescription
keep_awakebooleanread/writeWhether this app asks the host to keep the display awake. While any running app holds true, the host inhibits the machine's screensaver and display sleep; the request is released when the app clears it or exits. Best-effort: where the system offers no way to keep the display awake, the value still reads back as set and nothing else changes.
is_fullscreenbooleanread-onlyRead-only. Whether the workstation window is in full screen, as the window system reports it: it turns true once a full-screen request has landed, a few frames after the call, and false after any exit, including ones the app did not make (the browser's Esc, an OS shortcut, the window manager). A regular app's maximized panel does not count.
fullscreen_availablebooleanread-onlyRead-only. Whether this host can put the workstation in full screen. Always true natively; false in a browser without full-screen support (iPhone Safari) or where the page is not allowed to use it. While this is false the bootstrap's fullscreen raises for a full-screen mode, and leaving full screen does nothing.
zoomnumberread-onlyCurrent end-user comfort zoom multiplier.
widthnumberread-onlyDrawable surface width in UI px — the app's own panel (the whole window for bootstrap).
heightnumberread-onlyDrawable surface height in UI px — the app's own panel (the whole window for bootstrap).
stretch_modescreen.StretchModeread-onlyCurrent stretch mode.
resolutionscreen.Resolutionread-onlyDrawable surface resolution — the app's own panel (the whole window for bootstrap).
design_resolutionscreen.DesignResolutionread-onlyCurrent design resolution.

Functions 8

datumhue.screen.fullscreen

functionUI apps only
datumhue.screen.fullscreen(mode: screen.FullscreenMode | false, monitor_index?: integer)

Enter a full-screen mode, or leave it with "windowed" or false. It raises for true, a non-string or an unknown mode. For the bootstrap this is the workstation window: the change lands a few frames later (read is_fullscreen), on the monitor monitor_index names, 1-based as monitors() lists them (default: the window's current monitor; a browser uses the screen showing the page). The bootstrap's call also raises for "exclusive" in a browser, for a full-screen mode while fullscreen_available is false (leaving does nothing there), and for a monitor_index outside monitors(). In a browser without a recent tap, click or key press (after a gamepad press), the call returns, the workstation shows its "Continue" chip, and full screen starts on that chip's tap, click or key press; is_fullscreen turns true then. A regular app's call asks its window manager to maximize or restore the app's panel instead (app_fullscreen_request).

Example
datumhue.screen.fullscreen("borderless")
datumhue.screen.fullscreen(false)

datumhue.screen.request_resolution

functionUI apps only
datumhue.screen.request_resolution(width: number, height: number)

Request a size for the caller's window. The bootstrap's sizes the workstation window while it is windowed; a full-screen mode keeps the monitor's size, and the request applies again on the return to windowed. In a browser the page sets the workstation's size, so the bootstrap's request changes nothing there. A regular app's request goes to the window manager framing it (app_resize_request); without a frame it resizes the app's own root panel.

datumhue.screen.monitors

functionUI apps only
datumhue.screen.monitors() -> screen.Monitor[]

List of connected monitors.

returns screen.Monitor record 8 keys

KeyTypeDescription
indexinteger1-based monitor index.
name?stringMonitor name, when the OS reports one.
widthintegerWidth in pixels.
heightintegerHeight in pixels.
scale_factornumberDevice pixel ratio.
refresh_rate_hz?numberRefresh rate in Hz, when known.
is_primarybooleanWhether this is the primary monitor.
is_currentbooleanWhether the window is currently on this monitor.

datumhue.screen.current_monitor

functionUI apps only
datumhue.screen.current_monitor() -> screen.Monitor?

The monitor the window is currently on, or nil.

returns screen.Monitor record 8 keys

KeyTypeDescription
indexinteger1-based monitor index.
name?stringMonitor name, when the OS reports one.
widthintegerWidth in pixels.
heightintegerHeight in pixels.
scale_factornumberDevice pixel ratio.
refresh_rate_hz?numberRefresh rate in Hz, when known.
is_primarybooleanWhether this is the primary monitor.
is_currentbooleanWhether the window is currently on this monitor.

datumhue.screen.screenshot

functionUI apps onlysuspendsneeds screenshot
datumhue.screen.screenshot() -> Image

Capture the whole workstation window.

datumhue.screen.request_stretch_mode

functionUI apps only
datumhue.screen.request_stretch_mode(mode: screen.StretchMode)

Request how the design canvas fits the window when their sizes differ.

datumhue.screen.request_design_resolution

functionUI apps only
datumhue.screen.request_design_resolution(width: number, height: number)

Request the logical design resolution (0, 0 to clear).

datumhue.screen.request_zoom

functionUI apps only
datumhue.screen.request_zoom(factor: number)

Request a change to the end-user comfort zoom multiplier.

Types 5

screen.DesignResolution

record

record 2 keys

KeyTypeDescription
widthnumberDesign width in points.
heightnumberDesign height in points.

Used by: datumhue.screen.design_resolution

screen.FullscreenMode

enum
ValueDescription
"windowed"Normal decorated window. Also selected by passing false.
"borderless"Borderless window filling the current monitor at its desktop resolution.
"exclusive"Exclusive fullscreen at the monitor's current video mode.

Used by: datumhue.screen.fullscreen

Nested in: events.AppFullscreenRequest

screen.Monitor

record

record 8 keys

KeyTypeDescription
indexinteger1-based monitor index.
name?stringMonitor name, when the OS reports one.
widthintegerWidth in pixels.
heightintegerHeight in pixels.
scale_factornumberDevice pixel ratio.
refresh_rate_hz?numberRefresh rate in Hz, when known.
is_primarybooleanWhether this is the primary monitor.
is_currentbooleanWhether the window is currently on this monitor.

Used by: datumhue.screen.monitors, datumhue.screen.current_monitor

screen.Resolution

record

record 6 keys

KeyTypeDescription
widthnumberWidth in UI px (the value screen.width reads).
heightnumberHeight in UI px (the value screen.height reads).
scale_factornumberDevice pixel ratio (physical / logical).
physical_widthintegerWidth in physical pixels, as the display draws the surface: after the zoom, the stretch mode and the scale factor.
physical_heightintegerHeight in physical pixels, as physical_width.
zoomnumberCurrent zoom factor.

Used by: datumhue.screen.resolution

screen.StretchMode

enum
ValueDescription
"fill"
"letterbox"
"pixel_perfect"

Used by: datumhue.screen.request_stretch_mode, datumhue.screen.stretch_mode

Nested in: events.AppStretchModeRequest

datumhue.com

(c) 2026 Shuusei AB. Quote excerpts of this manual, with attribution to DatumHue, in your own documentation, tutorials, course materials, reviews, and other writing or video. Republishing it in whole or in substantial part needs written permission: support@datumhue.com.

Victor Mono is licensed under the SIL Open Font License 1.1
Copyright (c) 2024, Rune Bjørnerås (https://github.com/rubjo)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Try

    ↑↓ selectEnter openTab filter

    Settings

    Theme
    Text
    Print

    Keyboard shortcuts

    / or Ctrl KSearch
    ↑ ↓ EnterPick a result
    TabNext result filter
    j kNext or previous entry
    [ ]Previous or next page
    yCopy a link to the current entry
    ?These shortcuts
    EscClose

    On this page