Workspaces

ConsoleZ

Workspaces

Workspace (XML) file

Workspace's definition is stored in XML file with workspace file extension. A workspace contains a collection of tabs.
By default, workspace files location is settings directory. The settings directory is the directory containing your configuration file. So usually workspaces are located in %appdata%\Console\Snippets.

XML files schema:

ConsoleZWorkspace

Contains workspace definition. Root element of XML schema. See XML file example.


Attributes
None.

Child Elements

ElementDescription
Tab Required element.

Contains tab definition. You can define one or multiple Tab elements in ConsoleZWorkspace element.

Parent Elements
None.


Tab

Tab definition.

Attributes

AttributeDescription
Title Required attribute.

Specifies the title of the tab, defined in configuration file, containing the tab settings (background, cursor and text colors).
Name Optional attribute.

Specifies the displayed tab name. By default, the tab title is used.

Child Elements

ElementDescription
SplitView Optional element.

Contains two panes of a split view. There must be exactly one SplitView or View element in Tab element.
View Optional element.

Console view definition. There may be zero or one Declarations element in Snippet element.

Parent Elements

ElementDescription
ConsoleZWorkspace Root element of XML schema.


SplitView

Contains two panes of a split view.

Attributes

AttributeDescription
Type Required attribute.

Specifies if the split is horizontal or vertical.
Ratio Optional attribute.

Specifies the split ratio in percent. By default, the ratio is 50%.

Child Elements

ElementDescription
Pane0 Required element.

Contains the left pane definition (if split is vertical) or the top pane definition (if split is horizontal). There must be exactly one Pane0 element in a SplitView element.
Pane1 Required element.

Contains the right pane definition (if split is vertical) or the bottom pane definition (if split is horizontal). There must be exactly one Pane1 element in a SplitView element.

Parent Elements

ElementDescription
Tab Tab definition.
Pane0 Contains the left pane definition (if split is vertical) or the top pane definition (if split is horizontal).
Pane1 Contains the right pane definition (if split is vertical) or the bottom pane definition (if split is horizontal).


Pane0

Contains the left pane definition (if split is vertical) or the top pane definition (if split is horizontal).
Attributes
None.

Child Elements

ElementDescription
SplitView Optional element.

Contains two panes of a split view. There must be exactly one SplitView or View element in Pane0 element.
View Optional element.

Console view definition. There may be zero or one Declarations element in Pane0 element.

Parent Elements

ElementDescription
SplitView Contains two panes of a split view.


Pane1

Contains the right pane definition (if split is vertical) or the bottom pane definition (if split is horizontal).
Attributes
None.

Child Elements

ElementDescription
SplitView Optional element.

Contains two panes of a split view. There must be exactly one SplitView or View element in Pane1 element.
View Optional element.

Console view definition. There may be zero or one Declarations element in Pane1 element.

Parent Elements

ElementDescription
SplitView Contains two panes of a split view.


View

Console view definition.

Attributes

AttributeDescription
Title Required attribute.

Specifies the title of the tab, defined in configuration file, containing the console settings (shell, icon and environment variables).
CurrentDirectory Optional attribute.

Specifies the console current directory. By default, the startup directory configured in tab settings is used.
ShellArguments Optional attribute.

Appends arguments to the shell command line. Do not confuse whith a command that you type in the shell! By default, empty.
BasePriority Optional attribute.

Specifies shell base priority. By default, the base priority configured in tab settings is used. Idle: Specifies that the threads of this process run only when the system is idle.
The idle priority class is inherited by child processes.

BelowNormal: Specifies that the process has priority above Idle but below Normal.
The below normal priority class is inherited by child processes.

Normal: Specifies that the process has no special scheduling needs.

AboveNormal: Specifies that the process has priority above Normal but below High.

High: Specifies that the process performs time-critical tasks that must be executed immediately, regardless of the load on the operating system. The threads of the process preempt the threads of normal or idle priority class processes. Use extreme care when specifying High for the process's priority class, because a high priority class application can use nearly all available processor time.

Realtime: Specifies that the process has the highest possible priority. The threads of a process with RealTime priority preempt the threads of all other processes, including operating system processes performing important tasks. Thus, a RealTime priority process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.

Child Elements
None.

Parent Elements

ElementDescription
Tab Tab definition.
Pane0 Contains the left pane definition (if split is vertical) or the top pane definition (if split is horizontal).
Pane1 Contains the right pane definition (if split is vertical) or the bottom pane definition (if split is horizontal).


Here an example of workspace file:

<?xml version="1.0" encoding="utf-8"?> <ConsoleZWorkspace> <Tab Title="tabA" Name="first"> <SplitView Type="Horizontal" Ratio="30"> <Pane0> <View Title="tabA" CurrentDirectory="G:\gitstuff\console.git\Console" ShellArguments="" </Pane0> <Pane1> <SplitView Type="Vertical" Ratio="50"> <Pane0> <View Title="tabA" CurrentDirectory="%AppData%\Console" ShellArguments="" </Pane0> <Pane1> <View Title="tabC" ShellArguments="" BasePriority="BelowNormal"/> </Pane1> </SplitView> </Pane1> </SplitView> </Tab> <Tab Title="tabB" Name="second"> <View Title="tabB" CurrentDirectory="G:\gitstuff\console.git\Console" ShellArguments=""/> </Tab> </ConsoleZWorkspace>