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:

    1. View -> Add floating Window
    2. 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
                  }
                }
              ]
            }
          ]
        }
      ]
    }
    
    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?


 

2
Online

409
Users

1.4k
Topics

9.9k
Posts