# API

**Kind**: interface | **Module**: [Windows](https://docs.interop.io/browser/reference/javascript/windows/index.md) | **Access**: `io.windows`

**Source**: https://docs.interop.io/browser/reference/javascript/windows/api/index.html

## Methods

### findById

Finds a window by ID.

```ts
(id: string) => WebWindow | undefined
```

**Parameters**

- **`id`** (`string`, required)
  Window ID.

**Returns**: `WebWindow | undefined`

### list

```ts
() => WebWindow[]
```

**Returns**: `WebWindow[]`

### my

Returns the current window.

```ts
() => WebWindow
```

**Returns**: `WebWindow`

### onWindowAdded

Notifies when a new window is opened.

```ts
(callback: (window: WebWindow) => void) => UnsubscribeFunction
```

**Parameters**

- **`callback`** (`(window: WebWindow) => void`, required)
  Callback function to handle the event. Receives the added window as a parameter. Returns an unsubscribe function.

**Returns**: `UnsubscribeFunction`

### onWindowGotFocus

Notifies when a window receives focus.

```ts
(callback: (window: WebWindow) => void) => UnsubscribeFunction
```

**Parameters**

- **`callback`** (`(window: WebWindow) => void`, required)
  Callback function to handle the event. Receives the window instance as a parameter. Returns an unsubscribe function.

**Returns**: `UnsubscribeFunction`

### onWindowLostFocus

Notifies when a window loses focus.

```ts
(callback: (window: WebWindow) => void) => UnsubscribeFunction
```

**Parameters**

- **`callback`** (`(window: WebWindow) => void`, required)
  Callback function to handle the event. Receives the window instance as a parameter. Returns an unsubscribe function.

**Returns**: `UnsubscribeFunction`

### onWindowRemoved

Notifies when a window is closed. For backwards compatibility, you can also use `windowRemoved`.

```ts
(callback: (window: WebWindow) => void) => UnsubscribeFunction
```

**Parameters**

- **`callback`** (`(window: WebWindow) => void`, required)
  Callback function to handle the event. Receives the removed window as a parameter. Returns an unsubscribe function.

**Returns**: `UnsubscribeFunction`

### open

Opens a new IO Connect Browser Window.

```ts
(name: string, url: string, options?: Settings) => Promise<WebWindow>
```

**Parameters**

- **`name`** (`string`, required)
  The name for the window
- **`url`** (`string`, required)
  The window URL.
- **`options`** (`Settings`, optional)
  Options for creating a window.

**Returns**: `Promise<WebWindow>`

## Related types

- [Settings](https://docs.interop.io/browser/reference/javascript/windows/settings/index.md)
- [UnsubscribeFunction](https://docs.interop.io/browser/reference/javascript/search/unsubscribefunction/index.md)
- [WebWindow](https://docs.interop.io/browser/reference/javascript/windows/webwindow/index.md)
