External Script Editor Workspace
-
Is it possible to pop-out the whole script editor workspace so I can put it on another monitor? Currently I'm using the external editor but it would be great to have the console and variable monitor there too.
-
Yes you can do this with a bit of undocumented wizardry:
- View -> Add floating Window
- Copy this JSON into the clipboard:
{ "Type": "HorizontalTile", "Title": "Scripting Workspace", "StyleData": { "backgroundColour": "ff373737", "resizerColourId": "ff666666" }, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 }, "Dynamic": false, "Content": [ { "Type": "GlobalConnectorJavascriptProcessor", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": 18, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 } }, { "Type": "VerticalTile", "StyleData": { "backgroundColour": "ff373737", "resizerColourId": "ff666666" }, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 }, "Dynamic": false, "Content": [ { "Type": "VisibilityToggleBar", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": 32, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 } }, { "Type": "ApiCollection", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": 300, "Folded": 1, "Visible": false, "ForceFoldButton": 0, "MinSize": -1 } }, { "Type": "FileBrowser", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": 300, "Folded": 0, "Visible": false, "ForceFoldButton": 0, "MinSize": -1 } }, { "Type": "HorizontalTile", "Title": "Script Editor", "StyleData": { "backgroundColour": "ff373737", "resizerColourId": "ff666666" }, "LayoutData": { "ID": "anonymous", "Size": -0.48116029, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 }, "Dynamic": false, "Content": [ { "Type": "VerticalTile", "StyleData": { "backgroundColour": "ff373737", "resizerColourId": "ff666666" }, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 }, "Dynamic": false, "Content": [ { "Type": "Tabs", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": -0.52218935, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 }, "Content": [ { "Type": "ScriptEditor", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 1, "MinSize": -1 } }, { "Type": "Empty", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 } } ], "CurrentTab": 0 }, { "Type": "ScriptWatchTable", "StyleData": { "showConnectionBar": false }, "LayoutData": { "ID": "anonymous", "Size": 321, "Folded": 1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 } } ] }, { "Type": "Console", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": -0.27966102, "Folded": 1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 } } ] }, { "Type": "VerticalTile", "Title": "Interface Designer", "StyleData": { "backgroundColour": "ff373737", "resizerColourId": "ff666666" }, "LayoutData": { "ID": "anonymous", "Size": -0.73714115, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 }, "Dynamic": false, "Content": [ { "Type": "HorizontalTile", "StyleData": { "backgroundColour": "ff373737", "resizerColourId": "ff666666" }, "LayoutData": { "ID": "anonymous", "Size": -0.53276699, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 }, "Dynamic": false, "Content": [ { "Type": "ScriptContent", "Title": "Interface", "StyleData": { "showConnectionBar": false }, "LayoutData": { "ID": "anonymous", "Size": -0.5, "Folded": -1, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 } }, { "Type": "ScriptEditor", "Title": "onInit callback", "StyleData": { "showConnectionBar": false }, "LayoutData": { "ID": "anonymous", "Size": 200, "Folded": 0, "Visible": true, "ForceFoldButton": 1, "MinSize": -1 } }, { "Type": "Keyboard", "StyleData": { "backgroundColour": "0" }, "LayoutData": { "ID": "anonymous", "Size": 72, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 } } ] }, { "Type": "InterfacePropertyEditor", "StyleData": { }, "LayoutData": { "ID": "anonymous", "Size": 383, "Folded": 0, "Visible": true, "ForceFoldButton": 0, "MinSize": -1 } } ] } ] } ] }
- Rightclick and choose "Load JSON from clipboard".
There are a few features that are only working with the "native" scripting workspace (eg. the "Open Scripting Workspace" button on the header of ScriptProcessors, but on the other hand, you can customise the appearance by modifying the JSON above. I will write a extensive documentation of the JSON data layout system when I find the time as it will also be incorporated into the plugin interface design.
-
Oh this is very fancy, I like it!
-
Is there a shortcut key to change workspaces?
-
Not yet. What do you think is practical?
-
CTRL+1, 2, 3 or perhaps some F keys- or make them user assignable?