Command Line Interface

Flexi-deck offers a Command Line Interface.

This can be used to open projects, menus or invoke macros.

This can be used from within Automator, Applescripts or user written applications, albeit a programming API is planned for a future release.

You can get instructions on how to use the command line arguments by invoking Flexi-deck with the argument "--help" within a terminal window.

Drag the Flexi-deck application into the terminal window to automatically create the path to the app, leaving you to amend '/Contents/MacOS/Flexi-deck [options]' to the path.

Here is the output when you do:

Usage: ../mac-debug-qt551/ [options]

Parameter Options  Description 
-h, --help    Displays this help.
-v, --version   Displays version information.
-o, --open  <menu name>  Open the specified menu if it's closed
-c, --close  <menu name>  Close the specified menu if it's opened
-t, --toggle  <menu name>  Toggle visibility of the specified menu
-r, --open-persistently
<menu name> Persistently opens the specified menu if it's closed
-m, --macro <Macro path> Executes a macro with the specified path. Any currently running macros are canceled. The macro is assumed to be in  the active project unless its path starts with @global, indicating a macro in the global library, or @builtin,  indicating a macro in the built-in library.
-f, --macro-file <File path> Executes the macro in a fdmacro or fdmacros file.  Any currently running macros are cancelled.
-x, --cancel        Cancels the currently executing macro.  Cannot be combined with -m or -f.
-w, --wait     Waits until the macro is finished before exiting. Has no effect if not used with -m or -f.
-s, --suppress-errors    If an error occurs while executing a  macro, suppresses any error dialogs from opening in the app. Has no effect if not used with -m or -f.
-p, --project <project name / path> Specifies which project to use when combined with -o, --open-persistently, -w, -t, or -m. A project can be specified by name or partial path. When omitted, the active project will be used.
--soft-match-project   When used with --project, will attempt to match a project by name if matching by path fails.
--list-menus   Lists all menus in all open projects in json format. Cannot be combined with any other option.
--list-macros    Lists the full path of all macros in all open projects in json format. Cannot be combined with any other option.