The DOpus object is one of the two global script objects provided by Opus, and is available to all scripts. It provides various helper methods, and collections that let you access things like Listers and toolbars.
Property Name |
Return Type |
Description |
---|---|---|
aliases |
object:Aliases |
The Aliases object gives the script
access to the defined folder
aliases. |
favoriteformats |
collection:Format |
Returns a collection of Format objects representing the used-defined favorite formats. |
favorites |
object:Favorites |
Returns a Favorites object which lets you query and modify the user-defined favorite folders. |
filetypegroups |
object:FiletypeGroups |
Returns a FiletypeGroups object which lets you enumerate and query the configured file type groups. |
filters |
object:GlobalFilters |
Returns a GlobalFilters object which lets you access information about the global filter settings (configured on the Folders / Global Filters page in Preferences). |
language |
string |
Returns a string representing the current user interface language. |
listers |
object:Listers |
Returns a Listers object which
represents any currently open Lister windows (each one is represented by a
Lister object). |
smartfavorites |
object:SmartFavorites |
Returns a SmartFavorites object which lets you query the SmartFavorites data. |
strings |
object:ScriptStrings |
Returns a ScriptStrings object which lets your script access any strings defined as string resources. |
tabgroups |
object:TabGroups |
Returns a TabGroups object which lets your script access and manipulate the configured folder tab groups. |
vars |
object:Vars |
This Vars object represents all defined variables with global scope. |
version |
object:Version |
The Version object provides information about the current Opus program version. |
viewers |
object:Viewers |
Returns a Viewers object which represents any currently open standalone image viewers (each one is represented by a Viewer object). |
Method Name |
Arguments |
Return Type |
Description |
---|---|---|---|
ClearOutput |
none |
none |
Clears the script output log. |
Create |
none |
object:DOpusFactory |
Creates and returns a new DOpusFactory object, which can be used to create various lightweight helper objects like Blob, Map and Vector. |
Delay |
<int:time> |
none |
Delays for the specified number of milliseconds before returning. |
Dlg |
none |
object:Dialog |
Creates a new Dialog object, that lets you display dialogs and popup menus. Note: Scripts should not usually use this when responding to events triggered by toolbars or folder tabs. The Dialog returned by DOpus.Dlg will not have its parent window configured. Most scripting events provide you an object which can either create a pre-configured Dialog or which includes a SourceTab property or similar which can do the same. In almost all situations you should use those instead. |
DPI |
none |
object:DPI |
Creates the DPI helper object which assists when dealing with different system scaling settings (e.g. high-DPI monitors). |
FSUtil |
none |
object:FSUtil |
Creates a new FSUtil object, that provides helper methods for accessing the file system. |
GetClip |
none or <string:type> |
string |
Retrieves the current contents of the system clipboard, if it contains
either text or files. |
GetClipFormat |
none |
string |
Returns a string indicating the native format of the clipboard contents - "text", "files" or an empty string in any other case. |
GetQualifiers |
none |
string |
Returns a string indicating which qualifier keys are currently held down. If none are held down, the string will be "none". Otherwise, the string can contain any or all of the following, separated by commas: "shift", "ctrl", "alt", "lwin", "rwin". Note that many events pass you a similar list of qualifiers. If you are passed a list of qualifiers, you should generally use that list rather than call DOpus.GetQualifiers. For example, script commands are passed a Func object with a qualifiers property. That property will tell you which keys were held down when the command was triggered, and that may be different to the keys held down a few seconds later. When the user clicks a button to run a command, they normally expect the command to use the keys they held when they clicked, not the keys they are touching later while waiting for it to finish. Similarly, events like OnBeforeFolderChange will often pass you an object like BeforeFolderChangeData containing a qualifiers property which indicates key state when the event was triggered. You should normally use that instead of calling DOpus.GetQualifiers. If you do call DOpus.GetQualifiers, you would normally want to call it as soon as possible and then store the result, so there is less time for the user to let go of a key after triggering your script. If you call DOpus.GetQualifiers more than once, you may get a different result each time, due to keys being pushed or released between calls. Call it once and store the result if you need to do multiple checks and need them to be consistent. This does not generally affect the qualifiers properties mentioned earlier, since they are usually stored snapshots of the key state. |
LoadImage |
<string:filename> or <object:Blob> [<bool:alpha>] |
object:Image |
Loads an image file from the specified external file. You can optionally specify the desired size to load the image at, and whether the alpha channel (if any) should be loaded or not.
You can also provide a Blob object containing the image data
instead of a filename. The returned Image object can be given as the value of the Control.label property for a static control in a script dialog (when that control is in "image" mode). You can also assign as to the icon property of a Dialog object to specify a custom window icon for your script dialog. |
LoadThumbnail |
<string:filename> [<int:timeout>] [<string:flags>] |
object:Image bool (False) |
Extracts a thumbnail from the specified external file. You can optionally specify a timeout (in milliseconds) and the desired size to load the thumbnail at.
The optional flags value supports the following flags (supplied as a string):
If loading fails (or the timeout expires before the
thumbnail could be generated) this method returns
False. The returned Image object can be given as the value of the Control.label property for a static control in a script dialog (when that control is in "image" mode). You can also assign as to the icon property of a Dialog object to specify a custom window icon for your script dialog. |
Output |
<string:text> |
none |
Prints the specified text string to the script output log (found in the
Utility Panel,
the CLI in script mode, the
Rename dialog and the Command Editor in script
mode).
If the optional third argument is provided and set to True then the log message will have a timestamp prepended to it. Timestamps only appear in the utility panel, not in places like the Command Editor's output panel. Error messages always get timestamps so if the second argument is True then the third is ignored |
ReloadScript |
<string:file> |
none |
Causes Opus to reload and reinitialize the specified script. You must provide the full pathname of the script on disk (if a script add-in wants to reload itself you can pass the value of the Script.file property). |
SetClip |
<string:text> |
none |
Places the specified text, or Item collection (or Vector of Item objects) on the system clipboard. If called with no arguments the clipboard will be cleared. |
Toolbars |
<string:type> |
object:Toolbars |
Returns a Toolbars object which lets you enumerate all defined toolbars (whether they are currently open or not).
You can restrict this object to only return in-use toolbars by specifying the optional type parameter - specify "listers" to only return toolbars currently turned on in a Lister, and "docks" to only return toolbars that are currently floating. |
TypeOf |
any |
string |
Returns a string indicating the type of an object or variable. |