> For the complete documentation index, see [llms.txt](https://chaoses-ib.gitbook.io/directory-opus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chaoses-ib.gitbook.io/directory-opus/manual/reference/scripting_reference/scripting_objects/viewer.md).

# Viewer

The **Viewer** object represents a standalone [image viewer](/directory-opus/manual/additional_functionality/viewing_images.md). A collection of **Viewer** objects is returned by the [**Viewers**](/directory-opus/manual/reference/scripting_reference/scripting_objects/viewers.md) object, which is obtainable via the [**DOpus**](/directory-opus/manual/reference/scripting_reference/scripting_objects/dopus.md)**.viewers** property. For functions launched from within a viewer (e.g. from its toolbar), the current **Viewer** object is provided by the [**ClickData**](/directory-opus/manual/reference/scripting_reference/scripting_objects/clickdata.md)**.**[**func**](/directory-opus/manual/reference/scripting_reference/scripting_objects/func.md)**.viewer** property.

| Property Name      | Return Type                                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                  |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| bottom             | *int*                                                                                                                         | Returns the bottom coordinate of the viewer window.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |                                                  |
| current            | *object:*[**Item**](/directory-opus/manual/reference/scripting_reference/scripting_objects/item.md)                           | Returns an [**Item**](/directory-opus/manual/reference/scripting_reference/scripting_objects/item.md) object representing the currently displayed image.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |                                                  |
| desktop            | *string*                                                                                                                      | Returns the ID of the virtual desktop this viewer is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |                                                  |
| files              | *object:*[**Items**](/directory-opus/manual/reference/scripting_reference/scripting_objects/items.md)                         | Returns an [**Items**](/directory-opus/manual/reference/scripting_reference/scripting_objects/items.md) object representing the images in the viewer's list.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                  |
| foreground         | *bool*                                                                                                                        | Returns **True** if the viewer is currently the foreground (active) window in the system.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                  |
| imagesize          | *object:*[**Rect**](/directory-opus/manual/reference/scripting_reference/scripting_objects/rect.md)                           | Returns a [**Rect**](/directory-opus/manual/reference/scripting_reference/scripting_objects/rect.md) object representing the size of the currently displayed image (native size, ignoring any scaling).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                  |
| index              | *int*                                                                                                                         | Returns the index of the currently viewed image within the viewer's list of files.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                                  |
| lastactive         | *bool*                                                                                                                        | Returns **True** if the viewer is the most recently active viewer.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                                  |
| left               | *int*                                                                                                                         | Returns the left coordinate of the viewer window.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                  |
| parentlister       | *object:*[**Lister**](/directory-opus/manual/reference/scripting_reference/scripting_objects/lister.md)                       | <p>Returns a <a href="/directory-opus/manual/reference/scripting_reference/scripting_objects/lister.md"><strong>Lister</strong></a> object representing the Lister that launched the viewer (if there was one, and if it still exists) or, if viewer re-use is enabled, last sent files to the viewer.</p><p>There may be a <strong>parentlister</strong> object in situations where there is no longer a <strong>parenttab</strong> object. For example, if the tab was closed since the viewer opened, or if a request to open an image from something other than a folder tab was received by the viewer, then there will no longer be a <strong>parenttab</strong> but the <strong>parentlister</strong> property will persist.</p><p>This property is a snapshot of the situation when the <strong>Viewer</strong> scripting object was created; it won't change in reaction to script actions.</p> |                                                  |
| parentlisterlinked | *bool*                                                                                                                        | <p>Returns <strong>True</strong> if the viewer is in <em>Lister-Linked</em> mode with the parent Lister. This means the viewer acts like a detached preview pane, displaying each file as it is selected in the Lister.</p><p>This property is a snapshot of the situation when the <strong>Viewer</strong> scripting object was created; it won't change in reaction to script actions.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                  |
| parenttab          | *object:*[**Tab**](/directory-opus/manual/reference/scripting_reference/scripting_objects/tab.md)                             | <p>Returns a <a href="/directory-opus/manual/reference/scripting_reference/scripting_objects/tab.md"><strong>Tab</strong></a> object representing the tab that launched the viewer (if there was one, and if it still exists) or, if viewer re-use is enabled, last sent files to the viewer.</p><p>If you want the <a href="/directory-opus/manual/reference/scripting_reference/scripting_objects/lister.md"><strong>Lister</strong></a> rather than the Tab, the <strong>parentlister</strong> property (above) should be used, as it is more persistent. Additionally, do not assume <strong>parenttab</strong> is still the active tab in the Lister; query the Lister object if you need that.</p><p>This property is a snapshot of the situation when the <strong>Viewer</strong> scripting object was created; it won't change in reaction to script actions.</p>                                |                                                  |
| right              | *int*                                                                                                                         | Returns the right coordinate of the viewer window.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                                  |
| selection          | *object:*[**Rect**](/directory-opus/manual/reference/scripting_reference/scripting_objects/rect.md)                           | Returns a [**Rect**](/directory-opus/manual/reference/scripting_reference/scripting_objects/rect.md) object representing the current selection area (if any) of the image. If there's no selection the rectangle will be empty.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| title              | *string*                                                                                                                      | <p>Returns or sets the title bar string for the viewer window.</p><p>You can use several special "tokens" in the title string to insert various pieces of information:</p><p><em>int</em></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Returns the top coordinate of the viewer window. |
|                    |                                                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%P**             | full path of the currently viewed image                                                                                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%N**             | name of the current displayed image                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%R**             | drive root of the current image                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%E**             | displays \* if the image's metadata has been modified and not saved                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%I**             | current image's index (number) in the list of images                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%O**             | total number of images in the list                                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%W**             | width of the current image                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%H**             | height of the current image                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%D**             | depth of the current image (bits per pixel)                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%M**             | current image's dimensions                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%S**             | file size on disk                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%F**             | folder name                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%C**             | collection name if current image is [marked](/directory-opus/manual/additional_functionality/viewing_images/image_marking.md) |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%L**             | any [labels](/directory-opus/manual/file_operations/labels.md) assigned to the current image                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%T**             | original title (useful for simply adding a prefix or suffix to the title)                                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| **%%%%%%**         | insert a literal % character                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
|                    |                                                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
|                    |                                                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |
| top                |                                                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                  |

|            |                                                                                                                               |   |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------- | - |
| **%P**     | full path of the currently viewed image                                                                                       |   |
| **%N**     | name of the current displayed image                                                                                           |   |
| **%R**     | drive root of the current image                                                                                               |   |
| **%E**     | displays \* if the image's metadata has been modified and not saved                                                           |   |
| **%I**     | current image's index (number) in the list of images                                                                          |   |
| **%O**     | total number of images in the list                                                                                            |   |
| **%W**     | width of the current image                                                                                                    |   |
| **%H**     | height of the current image                                                                                                   |   |
| **%D**     | depth of the current image (bits per pixel)                                                                                   |   |
| **%M**     | current image's dimensions                                                                                                    |   |
| **%S**     | file size on disk                                                                                                             |   |
| **%F**     | folder name                                                                                                                   |   |
| **%C**     | collection name if current image is [marked](/directory-opus/manual/additional_functionality/viewing_images/image_marking.md) |   |
| **%L**     | any [labels](/directory-opus/manual/file_operations/labels.md) assigned to the current image                                  |   |
| **%T**     | original title (useful for simply adding a prefix or suffix to the title)                                                     |   |
| **%%%%%%** | insert a literal % character                                                                                                  |   |
|            |                                                                                                                               |   |
|            |                                                                                                                               |   |
| top        |                                                                                                                               |   |

| Method Name        | **Arguments**                                                                                                                                                     | Return Type | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AddFile            | <p>\<string:filepath><br>\<int:index></p>                                                                                                                         | *none*      | Adds the specified file to the viewer's current list of files. You can either pass a string or a [**Path**](/directory-opus/manual/reference/scripting_reference/scripting_objects/path.md) object to indicate the file to add to the list. By default the file will be added to the end of the list, unless you specify a 0-based index as the second argument.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Command            | <p>\<string:command> or<br><<a href="/directory-opus/manual/reference/scripting_reference/scripting_objects/command.md"><strong>Command</strong></a>:command></p> | *none*      | <p>Runs a command in the context of this viewer window. You can either pass a string or a \*\*<a href="/directory-opus/manual/reference/scripting_reference/scripting_objects/command.md">Command</a>\*\*object.</p><p>If the argument you pass is a string then it can only be a viewer command argument as documented for the <a href="/directory-opus/manual/reference/command_reference/internal_commands/show.md"><strong>Show</strong></a> <strong>VIEWERCMD</strong> command. For example, <strong>Command("next")</strong> would run the \*\*Show VIEWERCMD=next \*\* command in the context of this viewer.</p><p>If you pass a <a href="/directory-opus/manual/reference/scripting_reference/scripting_objects/command.md"><strong>Command</strong></a> object then all commands (internal or external) can be used.</p> |
| IsOnCurrentDesktop | *none*                                                                                                                                                            | *bool*      | Returns **True** if the viewer is on the current virtual desktop.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| MoveToDesktop      | \<string:desktop>                                                                                                                                                 | *bool*      | Moves the viewer window to the specified virtual desktop. Returns **True** if successful.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| RemoveFile         | <p>\<int:index> or<br>\<string:filepath></p>                                                                                                                      | *none*      | Removes the specified file from the viewer's current list of files. You can either pass the 0-based index of the file to remove, or the filepath (either as a string or a [**Path**](/directory-opus/manual/reference/scripting_reference/scripting_objects/path.md) object).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| SetTaskbarGroup    | \<string:group>                                                                                                                                                   | *bool*      | <p>Used to change how the viewer window is grouped with other Opus windows on the taskbar. Specify a group name to move the window into an alternative group, or omit the group argument to reset back to the default group. If one or more windows are moved into the same group, they will be grouped together, separate from other the default group.</p><p>This only works when taskbar grouping is enabled. Group names are limited to 103 characters and will be truncated if longer. Spaces and dots in group names are automatically converted to underscores.</p><p>Returns true on success.</p>                                                                                                                                                                                                                          |
