Embedded functions

There are several internal Opus commands that can cause a new Lister to be opened - the most commonly used of these is Go NEW. Sometimes, you might want a button or hotkey that opens a new Lister, and then executes further commands in the context of that new Lister. This can be achieved quite simply by embedding a function that will be passed to the newly opened Lister.

 

The embedded function must be surrounded with square brackets - for example, the following command would open a new Lister and put it into thumbnails mode automatically:

 

        Go /mypictures NEW
[Set VIEW=thumbnails]
 

More complicated multiple line functions can also be embedded, for example:

 

        Go NEW
        [
        Go /mypictures
        Set VIEW=thumbnails
        ]
 

Aditionally, functions can be embedded in a Go FINDTITLE command. These functions will be run in all existing Listers that match the supplied string. If no matching Listers are found, by default the embedded command will not be run at all - you can use the RUNEMBEDDEDIFNOTFOUND argument to cause the function to be run in the current Lister in this situation.

 

You can also embed functions in several dynamic button commands - for example, Go DRIVEBUTTONS. This lets you define a command that is added to each of the buttons generated by the function. For example,

 

        Go DRIVEBUTTONS OPENINLEFT
        [
        Set FOCUS=Left
        ]
 

This command would produce drive buttons that open their folders in the left-hand file display, and automatically set the focus to that file display at the same time.

 

The dynamic button commands that currently support embedded functions are: