How to use buttons and scripts from this forum

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:

6 Likes
How to install JScript describe in Copy Selected Filenames
Select folders which (sub)folder(s) contains certain file?
Scripts that delete all files without a corresponding *.jpg file
TV Episode XBMC Renamer
Finding the right tab
"Soft"linking collections into normal folders (also outside of DOpus)
Convert Office docs to PDF
Rename .srt file based on .mkv in same folder
Select All / Select Nothing button
Find folders that do not have a specific file?
Attaching files as extensions with Outlook.exe
Select files that contain name similar to the selected file
Flat View without files (2)
DeDuplicateTabs: Auto-close duplicate tabs when new windows open
Command.Rename.DialogParams: Pass parameters to rename presets with script code
Rename only works if I click "run" twice
Problems / Questions regarding file preview
Script command: Send text file content to clipboard
Machine-sensitive tab labels, show \\Server\Share\Parent\Path as 'Server-Path'
Cannot display seconds in the "Release Date" column for video files
Scripts to copy file/folder name(s) or path(s) with automatic surrounding quotes based on spaces
How to select every x files
TagMaster : Visual tagging for Directory Opus
CD for multiple files/locations in MS-DOS Batch
Button to remove metadata and convert image
TagMaster Script add-in (preview)
"Unknown" format for folders not loaded at startup?
'Duplicate tab' next to active tab, but 'New Tab' at end?
ifpath is not working when the lister-tab is a collection
EVSearchLabels : Search for Opus labels using Everything 1.5