# WorkspaceConfig

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

**Source**: https://docs.interop.io/desktop/reference/javascript/workspaces/workspaceconfig/index.html

Workspace-specific options.

## Properties

- **`allowDrop`** (`boolean`, optional) default: `true`
  Controls the users ability to drop outside windows in the workspace
- **`allowDropBottom`** (`boolean`, optional) default: `true`
  Controls the users ability to drop windows in the bottom-most zone of the workspace
- **`allowDropLeft`** (`boolean`, optional) default: `true`
  Controls the users ability to drop windows in the left-most zone of the workspace
- **`allowDropRight`** (`boolean`, optional) default: `true`
  Controls the users ability to drop windows in the right-most zone of the workspace
- **`allowDropTop`** (`boolean`, optional) default: `true`
  Controls the users ability to drop windows in the top-most zone of the workspace
- **`allowExtract`** (`boolean`, optional) default: `true`
  Controls the users ability to extract windows from the workspace
- **`allowSplitters`** (`boolean`, optional) default: `true`
  Prevents the splitters for being draggable, so the windows cannot be resized
- **`allowSystemHibernation`** (`boolean`, optional) default: `true`
  If `true`, will allow the Workspace to be hibernated via the platform configuration.
  This setting doesn't apply to programmatic hibernation via the `hibernate()` method of a `Workspace` instance.
- **`allowWindowReorder`** (`boolean`, optional) default: `true`
  Control the users ability to reorder windows in the workspace
- **`allowWorkspaceTabExtract`** (`boolean`, optional) default: `true`
  Controls whether a workspace tab can be extracted from the frame.
  *Available only in **io.Connect Desktop**.*
- **`allowWorkspaceTabReorder`** (`boolean`, optional) default: `true`
  Controls whether a workspace tab can be reordered in the frame
- **`icon`** (`string`, optional)
  Sets the icon related for the workspace. The icon will be used for example for pinned workspaces.
- **`isPinned`** (`boolean`, optional) default: `false`
  Controls whether the workspace will be opened in a pinned or in a normal state
- **`isSelected`** (`boolean`, optional) default: `true`
  Controls whether the workspace will be focused or not in the frame when opened
- **`loadStrategy`** (`LoadingStrategy`, optional)
  Controls when the windows inside this workspace should load when the workspace is created or restored
- **`noTabHeader`** (`boolean`, optional) default: `false`
  Provides the opportunity to open a workspace with no tab header
- **`position`** (`number`, optional)
  Position of the workspace in relation to it's siblings in the frame.
- **`positionIndex`** (`number`, optional)
  Specifies the position of the Workspace within the `Frame` instance.
  This index is ignored by the `init()` method for initializing an empty `Frame`.
- **`reuseWorkspaceId`** (`string`, optional)
  Used for replacing the specified workspace instead of creating a new one
- **`showAddWindowButtons`** (`boolean`, optional) default: `true`
  Controls the visibility of all the add window buttons (the ones with the plus icon) located in the group headers
- **`showCloseButton`** (`boolean`, optional) default: `true`
  Controls the visibility of the close button located in the workspaces tab
- **`showEjectButtons`** (`boolean`, optional) default: `true`
  Controls the visibility of all eject buttons located in the groups' headers
- **`showSaveButton`** (`boolean`, optional) default: `true`
  Controls the visibility of the save workspace button located in the workspace tab
- **`showWindowCloseButtons`** (`boolean`, optional) default: `true`
  Controls the visibility of all close button located in the windows' tab elements
- **`title`** (`string`, optional)
  A title of the workspace.
- **`windowDragMode`** (`"keepInside" | "autoEject"`, optional)
  Mode for dragging the windows that are part of the Workspace. If set to `"autoEject"` (available only in **io.Connect Desktop**), when the user drags a Workspace window, it will be ejected from the Workspace during the dragging operation and the user will be able to drop it back inside the Workspace, or out of the Workspace.
  If set to `"keepInside"`, the window won't be ejected from the Workspace when being dragged and the user will be able to drop it only inside the Workspace.

## Related types

- [LoadingStrategy](https://docs.interop.io/desktop/reference/javascript/workspaces/loadingstrategy/index.md)
