CreateWindow
CreateWindow[notebook_RemoteNotebook]opens a notebook in a new window
CreateWindow[expr, opts]creates a new window with expr shown in StandardForm. CreateWindow returns RemoteCellObj.
CreateWindow[cellExpr, opts]creates a new window with cellExpr rendered:
Cell[expr_String, "Input"]Cell[expr_String, "Output"]Cell[expr_String, "Input"]Cell[expr_String, "Output", subtype_String]TextCell[expr_String]TextCell[expr_String, "Title"]TextCell[expr_String, "Section"]TextCell[expr_String, "Subsection"]ExpressionCell[expr_, "Input"]ExpressionCell[expr_, "Output"]
subtype property can be any view-component provided by known cell types:
"WLX"or"wlx""HTML"or"html""JS"or"js"or"javascript""MERMAID"or"mermaid"- ...
here CreateWindow also returns RemoteCellObj.
Options
WindowSize
Sets size {w,h} of the created window in pixels.
WindowTitle
Sets the name of created window.
"Notebook"
Specify the notebook (optional) associated with a created window.
Examples
Basic examples
Print graphics to a new window:
win = CreateWindow[Graphics3D[Cuboid[]]];then close it:
NotebookClose[win];Print HTML content to a new window:
CreateWindow[Cell["<h2 style=\"color:red\">Hello World</h2>", "Output", "HTML"]];A window that opens another window
This is possible if you provide the notebook in Options; otherwise, the system does not know where to open it:
man := ManipulatePlot[Sin[x w], {x,-1,1}, {w,1,5}];
open[n_] := CreateWindow[man];
CreateWindow[EventHandler[InputButton[], Function[Null, open[n]]]]This will continue to work even if you close the original notebook.
Tracking created window
You can assign handlers to events from the window:
state = "";
TextView[state // Offload, "Label"->"State"]
win = CreateWindow[ExpressionCell[Plot[x,{x,0,1}], "Output"]];
EventHandler[win, {
"Mounted" -> Function[Null, state = "Mounted"],
"Closed" -> Function[Null, state = "Closed"]
}];The Mounted event provides WindowObj, which can be used together with FrontSubmit and FrontFetch to trigger actions in the created window.