# PlacementSettings

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

**Source**: https://docs.interop.io/desktop/reference/javascript/windows/placementsettings/index.html

Describes the window position relative to the screen.

## Properties

- **`bottom`** (`number | string`, optional)
  Bottom margin for the placed window. Use a `number` to define the value in pixels, or use a `string` to define the value in pixels
  or in percentage of the screen - e.g., `"10px"` or `"10%"`.
- **`display`** (`IOConnectDesktop.Displays.Display | "current"`, optional)
  Defines the current display.
- **`height`** (`number | string`, optional)
  Defines the window height.
  Use a `number` to define the height in pixels. Use a `string` to define the height in pixels or percentage of the screen height - e.g., "10px" or "10%".
- **`horizontalAlignment`** (`"left" | "right" | "center" | "stretch"`, optional)
  Horizontal alignment for the placed window. If `verticalAlignment` is set, then `horizontalAlignment` will default to "stretch".
- **`left`** (`number | string`, optional)
  Left margin for the placed window. Use a `number` to define the value in pixels, or use a `string` to define the value in pixels
  or in percentage of the screen - e.g., `"10px"` or `"10%"`.
- **`right`** (`number | string`, optional)
  Right margin for the placed window. Use a `number` to define the value in pixels, or use a `string` to define the value in pixels
  or in percentage of the screen - e.g., `"10px"` or `"10%"`.
- **`saveBounds`** (`boolean`, optional) *(since io.Connect Desktop 9.9, @interopio/desktop 6.14.0)*
  If `true`, the last known bounds of the io.Connect Window will be saved unless the window has already been snapped.
  This allows the window to be restored using these saved bounds when clearing the placement settings for the window via the `clearPlacement()` method.
- **`snapped`** (`boolean`, required)
  If `true`, the io.Connect Window will remain snapped to the specified screen position even in cases of resolution changes,
  window visibility changes or when the app virtualization window hosting the io.Connect Window has been resized.
  However, this doesn't include any API calls or manual user interaction which affect the window placement or bounds.
  If `false`, the window will be positioned at the specified screen location only once when created.
- **`top`** (`number | string`, optional)
  Top margin for the placed window. Use a `number` to define the value in pixels, or use a `string` to define the value in pixels
  or in percentage of the screen - e.g., `"10px"` or `"10%"`.
- **`verticalAlignment`** (`"top" | "bottom" | "center" | "stretch"`, optional)
  Vertical alignment for the placed window. If `horizontalAlignment` is set, then `verticalAlignment` will default to "stretch".
- **`width`** (`number | string`, optional)
  Defines the window width.
  Use a `number` to define the width in pixels. Use a `string` to define the width in pixels or percentage of the screen width - e.g., "10px" or "10%".

## Related types

- [Display](https://docs.interop.io/desktop/reference/javascript/io.connect%20desktop/display/index.md)
