# DisplayMonitorBinding

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

Monitor binding family.

```ds title="DisplayMonitorBinding"
export interface DisplayMonitorBinding {
    listMonitors(query: &'a readonly MonitorQuery): Result<Monitor[], HostError>;
    primaryMonitor(query: &'a readonly MonitorQuery): Result<MonitorHandle, HostError>;
    openMonitor(id: &'a readonly string, query: &'b readonly MonitorQuery): Result<MonitorHandle, HostError>;
    closeMonitor(monitor: MonitorHandle): Result<void, HostError>;
    describeMonitor(monitor: MonitorHandle): Result<Monitor, HostError>;
    listMonitorModes(monitor: MonitorHandle): Result<MonitorMode[], HostError>;
    closestMonitorMode(monitor: MonitorHandle, mode: &'a readonly MonitorMode): Result<MonitorMode, HostError>;
    setMonitorMode(monitor: MonitorHandle, mode: &'a readonly MonitorMode): Result<void, HostError>;
    monitorColorState(monitor: MonitorHandle): Result<MonitorColorState, HostError>;
    setMonitorHdrMode(monitor: MonitorHandle, mode: DisplayHdrMode): Result<void, HostError>;
    readMonitorGamma(monitor: MonitorHandle): Result<MonitorGammaRamp, HostError>;
    writeMonitorGamma(monitor: MonitorHandle, gamma: &'a readonly MonitorGammaRamp): Result<void, HostError>;
}
```

[language/library/src/display/binding/monitor.ds:154:283](https://github.com/destack-sh/destack/blob/main/language/library/src/display/binding/monitor.ds#L154-L283)

## Members

### `listMonitors(query: &'a readonly MonitorQuery): Result<Monitor[], HostError>`

List monitors.

### `primaryMonitor(query: &'a readonly MonitorQuery): Result<MonitorHandle, HostError>`

Return the primary monitor handle.

### `openMonitor(id: &'a readonly string, query: &'b readonly MonitorQuery): Result<MonitorHandle, HostError>`

Open one monitor endpoint.

### `closeMonitor(monitor: MonitorHandle): Result<void, HostError>`

Close one monitor endpoint.

### `describeMonitor(monitor: MonitorHandle): Result<Monitor, HostError>`

Describe one monitor.

### `listMonitorModes(monitor: MonitorHandle): Result<MonitorMode[], HostError>`

List supported monitor modes.

### `closestMonitorMode(monitor: MonitorHandle, mode: &'a readonly MonitorMode): Result<MonitorMode, HostError>`

Select the closest supported monitor mode.

### `setMonitorMode(monitor: MonitorHandle, mode: &'a readonly MonitorMode): Result<void, HostError>`

Set one monitor mode.

### `monitorColorState(monitor: MonitorHandle): Result<MonitorColorState, HostError>`

Read one monitor color state.

### `setMonitorHdrMode(monitor: MonitorHandle, mode: DisplayHdrMode): Result<void, HostError>`

Set one monitor HDR policy.

### `readMonitorGamma(monitor: MonitorHandle): Result<MonitorGammaRamp, HostError>`

Read one monitor gamma ramp.

### `writeMonitorGamma(monitor: MonitorHandle, gamma: &'a readonly MonitorGammaRamp): Result<void, HostError>`

Set one monitor gamma ramp.
