# DisplayWindowBinding

`import { DisplayWindowBinding } from "destack:display/binding";`

Window binding family.

```ds title="DisplayWindowBinding"
export interface DisplayWindowBinding {
    openWindow(request: &'a readonly WindowRequest): Result<WindowHandle, HostError>;
    closeWindow(window: WindowHandle): Result<void, HostError>;
    describeWindow(window: WindowHandle): Result<WindowDescriptor, HostError>;
    windowState(window: WindowHandle): Result<WindowState, HostError>;
    setWindowTitle(window: WindowHandle, title: &'a readonly string): Result<void, HostError>;
    setWindowIcons(window: WindowHandle, icons: &'a readonly [WindowIcon]): Result<void, HostError>;
    setWindowPosition(window: WindowHandle, position: &'a readonly WindowPosition): Result<void, HostError>;
    setWindowSize(window: WindowHandle, size: &'a readonly WindowSize): Result<void, HostError>;
    setWindowSizeLimits(window: WindowHandle, limits: &'a readonly WindowSizeLimits): Result<void, HostError>;
    setWindowVisibility(window: WindowHandle, visibility: WindowVisibility): Result<void, HostError>;
    setWindowMode(window: WindowHandle, mode: &'a readonly WindowMode): Result<void, HostError>;
    setWindowResizable(window: WindowHandle, isResizable: boolean): Result<void, HostError>;
    setWindowDecorated(window: WindowHandle, isDecorated: boolean): Result<void, HostError>;
    focusWindow(window: WindowHandle): Result<void, HostError>;
    raiseWindow(window: WindowHandle): Result<void, HostError>;
    requestWindowAttention(window: WindowHandle, level: WindowAttentionLevel): Result<void, HostError>;
    invalidateWindow(window: WindowHandle): Result<void, HostError>;
    setWindowCursorMode(window: WindowHandle, mode: WindowCursorMode): Result<void, HostError>;
    setWindowCursorIcon(window: WindowHandle, icon: WindowCursorIcon): Result<void, HostError>;
    setWindowCursorPosition(window: WindowHandle, position: &'a readonly WindowPoint): Result<void, HostError>;
    beginWindowMoveDrag(window: WindowHandle): Result<void, HostError>;
    beginWindowResizeDrag(window: WindowHandle, edge: WindowResizeEdge): Result<void, HostError>;
}
```

[language/library/src/display/binding/window.ds:299:553](https://github.com/destack-sh/destack/blob/main/language/library/src/display/binding/window.ds#L299-L553)

## Members

### `openWindow(request: &'a readonly WindowRequest): Result<WindowHandle, HostError>`

Open one window.

### `closeWindow(window: WindowHandle): Result<void, HostError>`

Close one window.

### `describeWindow(window: WindowHandle): Result<WindowDescriptor, HostError>`

Describe one window.

### `windowState(window: WindowHandle): Result<WindowState, HostError>`

Read one window state snapshot.

### `setWindowTitle(window: WindowHandle, title: &'a readonly string): Result<void, HostError>`

Set one window title.

### `setWindowIcons(window: WindowHandle, icons: &'a readonly [WindowIcon]): Result<void, HostError>`

Set one window icon set.

### `setWindowPosition(window: WindowHandle, position: &'a readonly WindowPosition): Result<void, HostError>`

Set one window desktop position.

### `setWindowSize(window: WindowHandle, size: &'a readonly WindowSize): Result<void, HostError>`

Set one window logical size.

### `setWindowSizeLimits(window: WindowHandle, limits: &'a readonly WindowSizeLimits): Result<void, HostError>`

Set one window size constraint.

### `setWindowVisibility(window: WindowHandle, visibility: WindowVisibility): Result<void, HostError>`

Set one window visibility.

### `setWindowMode(window: WindowHandle, mode: &'a readonly WindowMode): Result<void, HostError>`

Set one window display mode.

### `setWindowResizable(window: WindowHandle, isResizable: boolean): Result<void, HostError>`

Set one window resizable state.

### `setWindowDecorated(window: WindowHandle, isDecorated: boolean): Result<void, HostError>`

Set one window decoration state.

### `focusWindow(window: WindowHandle): Result<void, HostError>`

Focus one window.

### `raiseWindow(window: WindowHandle): Result<void, HostError>`

Raise one window.

### `requestWindowAttention(window: WindowHandle, level: WindowAttentionLevel): Result<void, HostError>`

Request host attention for one window.

### `invalidateWindow(window: WindowHandle): Result<void, HostError>`

Request one redraw or frame tick for one window.

### `setWindowCursorMode(window: WindowHandle, mode: WindowCursorMode): Result<void, HostError>`

Set one window cursor mode.

### `setWindowCursorIcon(window: WindowHandle, icon: WindowCursorIcon): Result<void, HostError>`

Set one window cursor icon.

### `setWindowCursorPosition(window: WindowHandle, position: &'a readonly WindowPoint): Result<void, HostError>`

Set one window cursor position.

### `beginWindowMoveDrag(window: WindowHandle): Result<void, HostError>`

Start a host move gesture for one window.

### `beginWindowResizeDrag(window: WindowHandle, edge: WindowResizeEdge): Result<void, HostError>`

Start a host resize gesture for one window.
