I often use CreateNotebook to enclose GUIs that open in a Deployed, non Saveable and non Editable Notebook. I want these GUIs to be as efficient as possible on Kernel performance and managing memory. In summary, I don't want to allow the FrontEnd the possibility of any distraction trying to do anything but evaluating and allowing the manipulation of what's contained in the output Cell(s). These are GUIs that are created every time they will be used, so there is no need to select cells or specific content, modify or save the notebook containing the GUI, etc. As examples I'm showing these possible initial settings for those notebooks:

CurrentValue[EvaluationNotebook[], "ShowPredictiveInterface"] = False; SetOptions[EvaluationNotebook[], PrivateNotebookOptions -> {"FileOutlineCache" -> False}; SetOptions[EvaluationNotebook[], "SeTrackCellChangeTimes" -> False];

Can you help adding other desirable Notebook and Cell options that can help save memory and improve overall performance of GUIs? I think that the best way to answer this question is creating a function (similar to CDFDeploy), CreateDeployedNotebook (or so) with editable Options like "ShowPredictiveInterface", "AllowInternet", etc.

  • 3
    $\begingroup$ Look at the options on "Dialog.nb" (you can get it like FrontEndExecute@FrontEnd`FindFileOnPath["Dialog.nb", "StyleSheetPath"]). That's probably the most comprehensive set of options. Also be careful with FrontEnd`FindFileOnPath as using a bad second argument will crash the front end. The one I just gave you is fine though. $\endgroup$ – b3m2a1 Apr 2 '18 at 23:44
  • $\begingroup$ @b3m2a1: Very nice and long list. Still it would be great if we had a selection of those more critical for the purposes I highlight in my question. $\endgroup$ – Ariel Sepulveda Apr 3 '18 at 1:01
  • $\begingroup$ @ArielSepulveda, why are you disabling the file outline cache? $\endgroup$ – ihojnicki Apr 3 '18 at 12:42
  • $\begingroup$ @ihojnicki: I don't have a strong justification for any of the examples I provided as I really don't know all the implications of these setting. That's why I posted the question. Do you think it should remain enabled? Why? $\endgroup$ – Ariel Sepulveda Apr 3 '18 at 14:49
  • 1
    $\begingroup$ And if you are setting Deployed->True on the notebook, setting ShowPredictiveInterface is not required. Doesn't hurt anything either... $\endgroup$ – ihojnicki Apr 3 '18 at 15:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.