Mikael, I just looked through the source (it has been a while since I have actively worked on this) but it seems what you'll need to do is
- update RevitPythonShell.RevitPythonShellApplication.GetCommands() to return a new version of Command that has a new member "HideOutputWindow" (default: False) and read that from the settings file
- update the ConfigureCommandsForm to add a Checkbox for setting this member
- update RevitPythonShell.RevitPythonShellApplication.WriteSettings() to save the HideOutputWindow attribute (we could call it "hide-output-window" in the xml file maybe?)
- update RevitPythonShell.CommandLoaderBase: the constructor should take a new boolean "hideOutputWindow" (save to "_hideOutputWindow")
- the Execute() method should check this variable and if it's true, use a silent subclass of ScriptExecutor (also to be created) OR have ScriptExecutor take this as a parameter and use a silent version of (ScriptOutputStream) - e.g. a file in the TEMP folder.
- update RevitPythonShell.RevitPythonShellApplication.CreateCommandLoaderAssembly() to create types using the new constructor instead of the one with just a string
- ... and then check the RpsAddin parts to see what needs to change there. it's a bit involved, but if you'd like to have a go, I'd love to add you to the contributors list!
Best,
Daren