How to use buttons and scripts from this forum

This post explains how to add buttons to toolbars and menus, and also applies to raw commands for things like standalone hotkeys.

For how to use Script Add-Ins, please scroll down to see the post below this one.


Much of this assumes Directory Opus Pro. While Opus Light does have the ability to edit some toolbars, it is not a focus of the Light version and much less extensive.

See Also: The manual has more detail in Editing The Toolbar and the Customize section in general.


Buttons and toolbars can be shared in several different ways.

Raw Commands

Posts often contain commands which you can put in a button, hotkey or menu. For example:

Copy INSTALLFONT

To create a toolbar button which runs that command:

  1. Select Settings -> Customize Toolbars (the Customize window will open; keep it open but move it out of the way)
  2. Back in the main window, right-click your toolbar somewhere and (depending on where you clicked) there will be a New or Insert New sub-menu. Click that sub-menu, and then New Button.
  3. Right-click the button that was just added and choose Edit. (Or double-click the button.)
  4. For single-line commands: Paste the command into the Function field.
    For multi-line commands: Click the Advanced button, then paste the command into the big area at the bottom.
  5. Click OK in the button editor, then OK in the Customize window.

For more details, see Editing the Toolbar in the Opus manual.


XML Button Definitions

Some posts contain blocks of XML which define all aspects of a button (or even a menu containing several buttons).

These blocks of XML define not just the command (like in the Raw Commands example above), but also the button's icon, label and other attributes.

Don't worry, you don't need to know anything about XML. You just need to copy the text and paste it to your toolbar to create the button.

Here is an example:

<?xml version="1.0"?>
<button display="both" separate="yes">
	<label>Install Font</label>
	<icon1>#otherplugins</icon1>
	<function type="normal">
		<instruction>Copy INSTALLFONT</instruction>
	</function>
</button>

(What the button does isn't important for this explanation but, if you are wondering, it installs any selected font files into your system.)

Here's how to take the code box above and turn it into a button in a toolbar or menu:

  1. In your web browser, copy the contents of the code box to your clipboard.

    The easiest way is to use the button in the top-right corner of the code box: Copy_Icon
    Alternatively, select everything in the code box and right-click to copy it to your clipboard.

  2. Switch to Opus and enter Customize mode via the menu: Settings -> Customize Toolbars

    The Customize dialog will open and your toolbars and menus may change appearance slightly.

  3. Find where you want to put the new button in your toolbars or menus, then right-click that place and select Paste.

    (The screenshot shows the menu you get if you right-click an empty part of the toolbar. You'll get a slightly different menu if you right-click one of the buttons on the toolbar. In either case, you still want the same Paste item.)

    The button will have been added to your toolbar or menu.

  4. (Optional)

    While in Customize mode you can move and edit your buttons and menus:

    • To move buttons simply drag them around.
    • To create a separator bar between two buttons, drag one slightly away from the other until a marker appears.
    • To change the appearance of a button, for example to remove the label or put the label in a different place, right-click the button and select Edit (or double-click it).
  5. Click OK in the Customize dialog to exit Customize mode and save your changes.

    The new button is now ready to use.

(See also: Sharing functions with others, in the Opus manual.)


Toolbar .dop Files

A few posts contain entire toolbars, in .dop files. To load one, simply double-click it and Opus will import it.


Button .dcf Files

Individual buttons can be stored as .dcf files by dragging them to your desktop while in Customize mode.

These files are great for keeping a library of buttons on your computer, but rarely used on the forum where it is more convenient to share the XML versions, seen above. (If you open a .dcf file in a text editor, you'll see it is similar to the XML codes shared on the forum. It's really just another way of storing the same data.)

On the forum, .dcf files are usually only used for buttons which are bundled with other things in zip archives.

To add a button from a .dcf file to your toolbar:

  1. Navigate to where the .dcf file is. (If it is inside a zip, extract it first.)
  2. Select Settings -> Customize Toolbars.
  3. Drag the .dcf file to your toolbar.
  4. Click OK in the Customize window.

(Note: If you double-click a .dcf file it will run the commands inside it.)


Scripts: Continue to the post below...

4 Likes
Toolbar button that can NAME a created zip file on the fly?
Open new lister with a specific Folder Format?
RegExp basics: Removing characters from start/end of names
Select only the same files
A few suggestions
"Select By Filter" menu button
Find images and convert them
"Select Similar Dimensions" menu button
Universal Zoom
Convert image file to pdf?
Date format for dated folder
Refine synchronisation
How do I save after rotating in the image viewer?
Geting a Script To Focus on the Source Pane Strategically
Suggestion : Undo Closed Lister
Copy sequential folder with increment
Button to Copy product version?
How to make 'create shortcut to current folder' button?
How to Create a Folder Alias
Open new lister with a specific Folder Format?
Copy music metadata to clipboard
How do you display actual number of bytes in Size column?
Refresh folder tree, not just lister
Lister in Admin Mode, programs not elevated
"<?xml" not found - can't use Tera Copy with toolbar button
Directory sort order
Dopus with Virtual Dub button
Need help with a button!
Can i save selection state?
Copy path to text file, then create zip?
XML Help -
Obtaining text from an existing text file
Obtaining text from an existing text file
Dots to spaces except in numbers. (For files and folders.)
Text extraction in viewer plugin
Create folder name from parent name + 'Covers'
Multiple opened tab groups
Move found files and recreate directory stucture
Register or Unregister DLL or OCX
Adding Explorer Search Command
SELECT Field: Partial Match; Deselect
"Create File" option?
Creating folders from filename
Find duplicate filenames with different extensions
How to close the FIND dialog from a button
Combo box which contains all drive letters (like TC)?
Questions about TeraCopy and Directory Opus
Questions about TeraCopy and Directory Opus
Rename Parent Folder as Selected File/Folder (or vice versa)
XML code . How to use
RegExp basics: Removing characters from start/end of names
Trouble Saving Layouts
Trouble Saving Layouts
Request: Favorite Feature
Button for Hide Filters in Folder Options
Copy & Move with TeraCopy
Copy and change date
Feature request: stop the focus stealing "insert a disk"
Copy paths of selected files to clipboard
Save current layout
Hide System Files
Hide System Files
SELECT user command
Column: Pandoc Word Count
Renaming + numbering multiple files?
Recursive copy/rename function
Renaming files
Is there a Copy To... that will create a folder?
Manual ftp get and chdir
Is there a way to batch shrink CBR & CBZ files?
Help needed for creating a special copy-create folder button
Copy files to Windows 10 Sandbox shared folder and start Sandbox
Create Dated Zip
Start Menu button
EditBOM - Command to add, remove or toggle UTF-8 byte-order-mark
New Folder Drop Down Button
How do I make my style looks like this?
LinkedTab_AutoClose_Handler: Auto-close linked tabs
LinkedTab_AutoOpen_Handler: Open related folder tabs automatically
Create a folder from the path of a file and move the file inside
Synchronising files of different types
Dynamic SWITCHPATH v2.2
Create .m3u playlist file from dir contents
Column sizes in Commander View
Help creating a dialog input, please
Help creating a dialog input, please
SmartGetSizes_Handler: Toggle automatic folder size calculation
Why are my Opus windows on-top?
Button to move files in folder named from file
Delete or rename non-matching files only
Sort dd-mm-yyyy
Customize Lister window title
Script to covert text files (e.g. srt) into UTF-8, without BoM
Copying Files to changes Owner Name? :S
"Play All" audio functionality is missing
Work Offline / Online button?
Display or select unique or distinct files
Remove empty folders (I know this isn't new on the forum)
Windows 8 File History
MTP & Set FOCUS=Dest command
Updating Many files that have the same name
Updating Many files that have the same name
Thumbnail size override
Beyond Compare buttons
10Gb network transfers
Moving pictures and videos within Sub-folders
Open path from clipboard on current or active lister display?
Collection feature
Thumbnail Appearance - hot switch from landscape to portrait
How to restore FTP menu?
How to reset status and execute video with button?
"Move to new folder" Button
TV Episode XBMC Renamer
Extract archives with condition?
Copy into multiple selected destinations
Swap the names of two files
How to Put favorite label and status icons in the top toolbar
Script to take micro4/3 (MFT) Focal Length & fill 35mm column
Focus of Lister Files
Copy & Move with TeraCopy
How to install fonts
Change Date Taken on JPG or other picture files
Editing a MS-DOS batch function
Individual manual headline text per Lister window
Insert new text file "info.txt" by shortcut?
RAW and JPEG preview selection
Close all listers except source and destination
Star Rating (+ toggling) a file `site-wide`
PDF-Toolkit Menu (PDF merge, extract, protect, unprotect, organize)
Rename and copy
Sort music files and go to the target folder
V12 - Multiple status icons and stacked labels not working for me
How to copy file contents from the context menu
Text file line count
How to create a button to switch to a particular lister style?
Button:ParentContent
Change "Style Tab" font
Help Menu has disappeared
Help Menu has disappeared
"Play All" audio functionality is missing
Long delay when right-clicking 39,000 files
Grouping files by a date
Directory Opus config paths checker (DOChecker)
Open folder of flat filtered file
Calibre Buttons
WinRAR Compress/Decompress Buttons (and other)
Apply a command to each selected files separately
Collection by Label and Reorder Labels
'Bookmark' file or 'go to' Last viewed file option?
Ultracopier Integration
How to add file and folder direct shortcuts in the top toolbar?
SetAttr from Clipboard date
Documentation suggestion -- ">" to get a command box
File rename control arrows
Label Colour on Toolbar?
How to move the thumbnail cache
Command: ClipAttr (copy/paste timestamps between files)
ZIP compression level ignored
How to set up a Quick Filter menu
TheMovieDB Poster&Info Downloader V2.0
Metadata copy from one field to another
TortoiseSVN Buttons
Command: Go-Relative (go to next/prev sibling folder)
Locked tabs which can only navigate to sub folders
GoParallel - Jump between related folder trees
Comparison between fields of the same file
Extract Multiple .rar Archives to a Single Folder Using .rar Names
Flat View how to setup
Quickly find shell property names
Show first selected file
Setting a DEFAULT text for the ZIP creation dialog
Button to open same PDF file with changing index number?
'Fetch' command: Find and copy related files
Sort Folder Tabs (on-demand, or when listers open)
How to use Rename Presets from this forum
Add new tag to existing tags
Move viewers or layouts into separate Taskbar groups
Script to Populate Summary Properties
Creating "extract here" button when inside archive
GetExtendedFileAttributes
Is there a copy program faster than Opus's internal copy function?
Show / Hide File Extensions
Robocopy Drive Mirror
Is there a good way to transfer coordinates from one image to another?
New folder with items ... I want to be able to give it a name
New Doc Hot Key
Rename folder based on mp3 tag of included files
EBook Metadata Editor
Sort folders on top except when sorted by "Modified"
Add applications to Favorites? / Grid in file display?
Replace a string of characters + Renaming tag titles from file name
Automatically move last downloaded file
Button to toggle list sort
Can't find metadata pane
Find Empty Folders & SubFolders
Layout UpdateOnClose: Autosave non-default layouts when listers close
Flat View without files (2)
Layout AutoOpen: Open lister layout on entering trigger folder
Wallpaper Changer
Button: Show MD5/SHA
Manage folder and video thumbnails v0.5.3
Folder clean up and unrar scripts v1.0
Empty Recycle Bin (with icon matching state)
Display UserCommands overview
Basic pdf page handling
Copy/Move items to the tab next to current active tab (script button)
Move installers to predefined location, appending version numbers
Move subfolders up one level
Fully display Search panel including the Find Button
Delete (hidden) RAW files from Viewer as once with JPG
Export directory structure to txt
Help with Clipboard Copyname button
Rename a file to its parent folder's name
QuickFilter Button
How to Put favorite label and status icons in the top toolbar
Modify Rename menu item script
New user switching from Total Commander
Duplicate current lister
Parents to Collection
Copy & Move with TeraCopy
Keep on Top
7zip - Copy As [Directory]
Command for Alias listing?
Button: Random Shuffle
Info Tip - File Collections
Help creating drive buttons in Opus 11
DO Archives
On the fly resizing window :)
"Play All" audio functionality is missing
Copy files to specific folders
CBX_Handler: Comic Book Reader
NavSync - an alternative to NavLock
Button: Recursive Slideshow
Quickly Moving Duplicate Files and Their Folders
Scrollable list of drives to select from
Search the same folders in Find Panel
Determine & add correct file extensions
Create multiple folders once such as 50 at once
Changing The Cache Location On Our New System
Folder Tree Question
Can I add a Dual Horizontal Lister button to my toolbar
List of FAQs organised by topic
How to save a dual display as a default layout
Deleted Shortcut
How to create folder name with tomorrow(next date)?
Possible To Check For Folder/File in .ZIP File?
Compare directories based on first part of filename
Find Duplicates - Different Names - Same Size - No MD5 hashing
Easy way to make files 0 KB with a button?
Folder Tree to display only a designated folder and its contents
Drive test button
Question - Paste same file to different folders
Hotkey for Edit a file
"File Not Found" Issue when opening files
Prevent automatically rotating images using any picture viewer
[Feature Request] Folder Creation From Multiple Files
DO12.7b1 Secure Screenshot in Help Menu
Tool bar button commands for tab groups
Open an instance of DO with only a branch of the tree?
Keep original file ext name in link name when "Paste Shortcut"
Very basic file/document versioning
Using "Flat View" for File Collection
Quickly find shell property names
Want Help for Edit .flac Tag from file name
PowerShell Here not in Tools menu
Checkbox to Selection
Linked Folder Pairings
Filter/Select Multiple Files
Tab-related buttons
Flat View without files (2)
Files for Favorites
Command: GetHash
Columns: Movie Filename Database
Close Current Layout
Command: Regulate CalcFolderSizes setting
Feature: "Take Ownership" of a file or folder?
Batch rename *and* copy or move the files in one go?
Yes/no Dialogue with variables in CMD
Making the FIND window close as soon as it has done its job

Scripts

Scripts are usually written in JScript (a version of Javascript) or VBScript.

Scripts may be shared on the forum in a few different ways.


Script Buttons

These are like regular toolbar buttons, except they contain script code.

If they are shared as XML code or .dcf files then you can add them to your toolbars the same as you would a button containing non-script commands. See the XML Button Definitions and Button .dcf Files sections of the post above for how do that.

If someone posts some raw script code which starts with an OnClick method, that is usually intended to be placed in a button.

For example, here is some simple JScript that goes in a button:

function OnClick(clickData)
{
	DOpus.Output("Hello World");
}

Creating a new button to run that script is exactly the same as the Raw Commands part of the post above, with two extra steps:

  1. When you edit the empty button, set the Function drop-down to Script Function.
  2. Change the Script Type drop-down to JScript or VBScript as appropriate.

Before Opus 12, instead of the Script Type drop-down, scripts in buttons would begin with a line like:

@script jscript

That served the same purpose as the drop-down. (In fact, that line is still there behind the scenes, and you'll see it if you look at the button's XML code. The button editor UI just turns the line into a nicer drop-down.)


Rename Scripts and Presets

Rename scripts will typically be provided as part of a Rename Preset (.orp file), which can be imported into the Rename dialog.

See the separate topic, How to use Rename Presets from this forum.


Script Add-Ins

Script Add-Ins are like extensions or plug-ins for Opus, written in a scripting language. They can add custom commands to use in buttons, and custom columns to show in the file display. They can be triggered on events (e.g. changing folders) and alter the way Opus behaves. And various other things.

Script Add-Ins are managed under Preferences / Toolbars / Scripts.

If you look at the code for a Script Add-In, it will almost always have an OnInit function, usually near the top.

There are three ways someone might share a Script Add-In on the forum:

  1. As a downloadable script file, usually with a .js.txt or .vbs.txt extension.

    To install these, simply download them, then drag & drop the file to the list of scripts in Preferences / Toolbars / Scripts.

    You might want to open the script in a text editor first, to get an idea of what it does.

    Remember, scripts can do absolutely anything to your computer. Buttons can as well, but it's a lot easier to hide something in a script. It is worth looking at what you are about to run.

    If you install the script using drag & drop, you'll notice that Opus removes the .txt extension. Opus doesn't care if the extension is .js.txt or just .js but will remove the .txt part to tidy things up.

    The reason the .txt part is added is that most web browsers and anti-virus won't let you download files with script extensions, and it also prevents you from accidentally double-clicking the script and running it outside of Opus, which would not work.

  2. As a downloadable script package, with a .osp extension:

    These are pretty rare, but may be used when a script needs to come packaged with icons or other resources in addition to the script itself.

    Installation is the same as above. Just drag the .osp file to the list of scripts in Preferences / Toolbars / Scripts.

    If you want to look inside the .osp file before installing it, simply rename it to .zip and then open it like a normal archive.

  3. As script code pasted into a message:

    Some posts include both a downloadable version of the script, and the script code in the post itself.

    If you have both options, the downloadable version is easiest to use, and the other version is there because it's easiest to read. (Sometimes people browse the forum for scripting techniques, not for scripts to install and use.)

    If a post has no downloadable version of a script add-in, and just contains the script code in the post itself, then you should do the following:

    • Copy the script code to the clipboard.

    • Go to Opus and push Ctrl-V to paste the clipboard contents into a new file.

      (The file will be called Clipboard Text.txt, at least in English versions of Opus.)

    • Rename the new file to something unique that matches what the script is about.

    • Give the new file a .js.txt or .vbs.txt extension as appropriate.

      (If the poster hasn't said which language the script is in, the forum often works it out for you and puts a "js" or "vbs" watermark at the top-right of the code box. If the poster has not used a code box, js scripts typically contain the word "var" in a few places and lots of { } brackets, while vbs scripts typically contain the word "dim" in a few places and lots of "begin" and "end".)

    You can then drag the script file to the list of scripts in Preferences / Toolbars / Scripts.

    You might also want to complain to the person who posted it for not providing an easier to use version. :slight_smile:

3 Likes