Skip to content

Interface: Window ​

Defined in: types/desktop-engine.d.ts:682

A native window (NSWindow) that is the root of a component tree; left/top/width/height in its style map to the window's position and size

Extends ​

Properties ​

allowsTiling ​

ts
allowsTiling: boolean;

Defined in: types/desktop-engine.d.ts:707

Whether macOS may tile the window, e.g. to half the screen when it's dropped on a screen edge. false (default): it keeps its size and where it was dropped. Tiling from the Window menu, a keyboard shortcut or a title bar double click set to fill is undone too; resizing by the edges, zooming and full screen aren't affected.


children ​

ts
readonly children: AnyComponent[];

Defined in: types/desktop-engine.d.ts:597

Array of child components (each read returns a new array)

Inherited from ​

ComponentBase.children


childWindows ​

ts
readonly childWindows: Window[];

Defined in: types/desktop-engine.d.ts:688

Array of child windows


devicePixelRatio ​

ts
readonly devicePixelRatio: number;

Defined in: types/desktop-engine.d.ts:684

Screen scale factor (backingScaleFactor); uses the main screen while the window isn't shown. Changes with the display (devicepixelratiochange)


dragRegion ​

ts
dragRegion: Rect[] | null;

Defined in: types/desktop-engine.d.ts:701

For widget and overlay windows, which move when dragged: the parts that move the window, in points from its top left corner. Elsewhere a press and its drag go to the components (mousedown, mousemove while the button is down, mouseup), e.g. for a dial or a slider. null (default): the whole window; [] : none. Other window types ignore it. Rectangles without a positive size are left out.


height ​

ts
readonly height: number;

Defined in: types/desktop-engine.d.ts:595

Height after layout (reading triggers layout first)

Inherited from ​

ComponentBase.height


hitRegion ​

ts
hitRegion: Rect[] | null;

Defined in: types/desktop-engine.d.ts:694

The parts of the window that take the mouse, in points from its top left corner. Elsewhere clicks, drags and hovering go through to whatever is below, e.g. around the shape of a desktop pet. null (default): the whole window. Rectangles without a positive size are left out.


identifier ​

ts
readonly identifier: string;

Defined in: types/desktop-engine.d.ts:588

Unique identifier of the native component (a pointer string)

Inherited from ​

ComponentBase.identifier


onblur ​

ts
onblur: 
  | EventHandler<Window, void>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:733

blur callback (not supported by the desktop type)


onclick ​

ts
onclick: 
  | EventHandler<Window, ClickPayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:608

click callback

Inherited from ​

ComponentBase.onclick


onclose ​

ts
onclose: 
  | EventHandler<Window, void>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:725

close callback


ondbclick ​

ts
ondbclick: 
  | EventHandler<Window, ClickPayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:610

dbclick (double-click) callback

Inherited from ​

ComponentBase.ondbclick


ondevicepixelratiochange ​

ts
ondevicepixelratiochange: 
  | EventHandler<Window, void>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:739

devicepixelratiochange callback


onfocus ​

ts
onfocus: 
  | EventHandler<Window, void>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:731

focus callback (not supported by the desktop type)


onframechange ​

ts
onframechange: 
  | EventHandler<Window, FrameChangePayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:606

framechange callback

Inherited from ​

ComponentBase.onframechange


onhide ​

ts
onhide: 
  | EventHandler<Window, void>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:723

hide callback


onkeydown ​

ts
onkeydown: 
  | EventHandler<Window, KeyboardPayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:735

keydown callback (not supported by the desktop type)


onkeyup ​

ts
onkeyup: 
  | EventHandler<Window, KeyboardPayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:737

keyup callback (not supported by the desktop type)


onmousedown ​

ts
onmousedown: 
  | EventHandler<Window, MousePayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:612

mousedown callback

Inherited from ​

ComponentBase.onmousedown


onmouseenter ​

ts
onmouseenter: 
  | EventHandler<Window, MousePayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:616

mouseenter callback

Inherited from ​

ComponentBase.onmouseenter


onmouseleave ​

ts
onmouseleave: 
  | EventHandler<Window, MousePayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:618

mouseleave callback

Inherited from ​

ComponentBase.onmouseleave


onmousemove ​

ts
onmousemove: 
  | EventHandler<Window, MousePayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:620

mousemove callback, also while a press that began on the component is dragged, unless the press moves the window (see Window.dragRegion)

Inherited from ​

ComponentBase.onmousemove


onmouseup ​

ts
onmouseup: 
  | EventHandler<Window, MousePayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:614

mouseup callback

Inherited from ​

ComponentBase.onmouseup


onmove ​

ts
onmove: 
  | EventHandler<Window, MovePayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:729

move callback


onresize ​

ts
onresize: 
  | EventHandler<Window, void>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:727

resize callback


onshow ​

ts
onshow: 
  | EventHandler<Window, void>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:721

show callback


onwheel ​

ts
onwheel: 
  | EventHandler<Window, WheelPayload>
  | null
  | undefined;

Defined in: types/desktop-engine.d.ts:622

wheel callback

Inherited from ​

ComponentBase.onwheel


parentWindow ​

ts
parentWindow: Window | null;

Defined in: types/desktop-engine.d.ts:686

Parent window; assign null to detach


width ​

ts
readonly width: number;

Defined in: types/desktop-engine.d.ts:593

Width after layout (reading triggers layout first)

Inherited from ​

ComponentBase.width

Accessors ​

style ​

Get Signature ​

ts
get style(): ComponentStyle;

Defined in: types/desktop-engine.d.ts:590

Reading returns the style object; assigning an object replaces the whole style

Returns ​

ComponentStyle

Set Signature ​

ts
set style(value): void;

Defined in: types/desktop-engine.d.ts:591

Parameters ​
ParameterType
valueStyleProperties
Returns ​

void

Inherited from ​

ComponentBase.style

Methods ​

addEventListener() ​

ts
addEventListener<K>(type, listener): void;

Defined in: types/desktop-engine.d.ts:128

Adds an event listener; type may be given with or without the on prefix

Type Parameters ​

Type Parameter
K extends | "move" | "close" | "framechange" | "click" | "dbclick" | "mousedown" | "mouseup" | "mouseenter" | "mouseleave" | "mousemove" | "wheel" | "show" | "hide" | "resize" | "focus" | "blur" | "keydown" | "keyup" | "devicepixelratiochange"

Parameters ​

ParameterType
typeK | `on${K}`
listenerEventHandler<Window, WindowEventMap[K]>

Returns ​

void

Inherited from ​

ComponentBase.addEventListener


appendChild() ​

ts
appendChild(child, index?): void;

Defined in: types/desktop-engine.d.ts:599

Adds a child component at index (0 to the number of children); omit it or pass -1 to append at the end. Throws a RangeError for other indexes; a Window can't be a child

Parameters ​

ParameterType
childAnyComponent
index?number

Returns ​

void

Inherited from ​

ComponentBase.appendChild


close() ​

ts
close(): void;

Defined in: types/desktop-engine.d.ts:711

Closes the window (fires close)

Returns ​

void


destroy() ​

ts
destroy(): void;

Defined in: types/desktop-engine.d.ts:713

Releases listeners and drops the strong reference to the JS object; a window stays retained after creation until this is called

Returns ​

void

Overrides ​

ComponentBase.destroy


offblur() ​

ts
offblur(): void;

Defined in: types/desktop-engine.d.ts:753

Removes the onblur callback

Returns ​

void


offclick() ​

ts
offclick(): void;

Defined in: types/desktop-engine.d.ts:626

Removes the onclick callback

Returns ​

void

Inherited from ​

ComponentBase.offclick


offclose() ​

ts
offclose(): void;

Defined in: types/desktop-engine.d.ts:745

Removes the onclose callback

Returns ​

void


offdbclick() ​

ts
offdbclick(): void;

Defined in: types/desktop-engine.d.ts:628

Removes the ondbclick callback

Returns ​

void

Inherited from ​

ComponentBase.offdbclick


offdevicepixelratiochange() ​

ts
offdevicepixelratiochange(): void;

Defined in: types/desktop-engine.d.ts:759

Removes the ondevicepixelratiochange callback

Returns ​

void


offfocus() ​

ts
offfocus(): void;

Defined in: types/desktop-engine.d.ts:751

Removes the onfocus callback

Returns ​

void


offframechange() ​

ts
offframechange(): void;

Defined in: types/desktop-engine.d.ts:624

Removes the onframechange callback

Returns ​

void

Inherited from ​

ComponentBase.offframechange


offhide() ​

ts
offhide(): void;

Defined in: types/desktop-engine.d.ts:743

Removes the onhide callback

Returns ​

void


offkeydown() ​

ts
offkeydown(): void;

Defined in: types/desktop-engine.d.ts:755

Removes the onkeydown callback

Returns ​

void


offkeyup() ​

ts
offkeyup(): void;

Defined in: types/desktop-engine.d.ts:757

Removes the onkeyup callback

Returns ​

void


offmousedown() ​

ts
offmousedown(): void;

Defined in: types/desktop-engine.d.ts:630

Removes the onmousedown callback

Returns ​

void

Inherited from ​

ComponentBase.offmousedown


offmouseenter() ​

ts
offmouseenter(): void;

Defined in: types/desktop-engine.d.ts:634

Removes the onmouseenter callback

Returns ​

void

Inherited from ​

ComponentBase.offmouseenter


offmouseleave() ​

ts
offmouseleave(): void;

Defined in: types/desktop-engine.d.ts:636

Removes the onmouseleave callback

Returns ​

void

Inherited from ​

ComponentBase.offmouseleave


offmousemove() ​

ts
offmousemove(): void;

Defined in: types/desktop-engine.d.ts:638

Removes the onmousemove callback

Returns ​

void

Inherited from ​

ComponentBase.offmousemove


offmouseup() ​

ts
offmouseup(): void;

Defined in: types/desktop-engine.d.ts:632

Removes the onmouseup callback

Returns ​

void

Inherited from ​

ComponentBase.offmouseup


offmove() ​

ts
offmove(): void;

Defined in: types/desktop-engine.d.ts:749

Removes the onmove callback

Returns ​

void


offresize() ​

ts
offresize(): void;

Defined in: types/desktop-engine.d.ts:747

Removes the onresize callback

Returns ​

void


offshow() ​

ts
offshow(): void;

Defined in: types/desktop-engine.d.ts:741

Removes the onshow callback

Returns ​

void


offwheel() ​

ts
offwheel(): void;

Defined in: types/desktop-engine.d.ts:640

Removes the onwheel callback

Returns ​

void

Inherited from ​

ComponentBase.offwheel


remove() ​

ts
remove(): void;

Defined in: types/desktop-engine.d.ts:718

Window doesn't support remove

Returns ​

void

Remarks ​

Unconfirmed: the name clashes with Component.remove, and calling it may log a not-implemented warning

Overrides ​

ComponentBase.remove


removeChild() ​

ts
removeChild(child): void;

Defined in: types/desktop-engine.d.ts:601

Removes a child component; throws if it isn't a child of this component

Parameters ​

ParameterType
childAnyComponent

Returns ​

void

Inherited from ​

ComponentBase.removeChild


removeEventListener() ​

ts
removeEventListener<K>(type, listener): void;

Defined in: types/desktop-engine.d.ts:130

Removes the given event listener

Type Parameters ​

Type Parameter
K extends | "move" | "close" | "framechange" | "click" | "dbclick" | "mousedown" | "mouseup" | "mouseenter" | "mouseleave" | "mousemove" | "wheel" | "show" | "hide" | "resize" | "focus" | "blur" | "keydown" | "keyup" | "devicepixelratiochange"

Parameters ​

ParameterType
typeK | `on${K}`
listenerEventHandler<Window, WindowEventMap[K]>

Returns ​

void

Inherited from ​

ComponentBase.removeEventListener


show() ​

ts
show(): void;

Defined in: types/desktop-engine.d.ts:709

Shows the window and activates the app

Returns ​

void

The SDK is released under the Apache License 2.0