terminal - woodenshoe-wi/gtkdialog GitHub Wiki
A VteTerminal packed inside a GtkScrolledWindow
<terminal tag_attr="value"...>
	<variable>varname</variable>
	<height>value</height>
	<width>value</width>
	<input>command</input>
	<input file>filename</input>
	<sensitive>state</sensitive>
	<action>activity</action>...
	<action signal="type">activity</action>...
	<action function="type">parameter</action>...
</terminal>
"..." denotes acceptance of multiples of the same thing.
See the VteTerminal widget and ancestor class properties.
The following custom tag attributes are available:
| Name | Description | Value | Since | 
|---|---|---|---|
| space-expand | Pack widget expanding into space | trueorfalse | |
| space-fill | Pack widget filling space | trueorfalse | |
| block-function-signals | Block signal emissions from functions | trueorfalse | |
| file-monitor | Emit signal when input file(s) change | trueorfalse | |
| auto-refresh | Auto refresh when input file(s) change | trueorfalse | |
| hscrollbar-policy | Policy for the horizontal scrollbar | 0,1,2(always, automatic, never) | |
| vscrollbar-policy | Policy for the vertical scrollbar | 0,1,2(always, automatic, never) | |
| font-name | Font description | Example: Monospace Bold 14 | |
| background-tint-color[1][2] | Background tint colour | A standard name, #rgb or #rrggbb | |
| text-background-color | Text background colour | A standard name, #rgb or #rrggbb | |
| text-foreground-color | Text foreground colour | A standard name, #rgb or #rrggbb | |
| bold-foreground-color | Bold text foreground colour | A standard name, #rgb or #rrggbb | |
| dim-foreground-color[2] | Dim text foreground colour | A standard name, #rgb or #rrggbb | |
| cursor-background-color | Cursor background colour | A standard name, #rgb or #rrggbb | |
| highlight-background-color | Highlighted text background colour | A standard name, #rgb or #rrggbb | |
| argv? | Arguments starting at argv0 (command) | Example: /bin/sh | |
| envv? | Environment variables starting at envv0 | Example: MESSAGE=Hello | 
Some of these may have tag attribute equivalents.
| Name | Description | Contents | Since | 
|---|---|---|---|
| variable | Variable name | Command's PID ( 0if dead) | |
| variable export="false" | Variable name, not exported to shell | 0.8.3 | |
| height | Initial height | An integer > 0or-1to ignore | |
| width | Initial width | An integer > 0or-1to ignore | |
| input | Data input source | Shell command | |
| input file | Data input source | Filename | |
| sensitive | Active state | trueorfalse | |
| action | Execute command on default signal | Shell command | |
| action | Perform function on default signal | function:parameter | |
| action signal="type" | Execute command on signal | Shell command | |
| action signal="type" | Perform function on signal | function:parameter | |
| action function="type" | Perform function on default signal | parameter | 0.8.3 | 
| action condition="type" | Execute command on default signal conditionally | Shell command | 0.8.3 | 
| action condition="type" | Perform function on default signal conditionally | function:parameter | 0.8.3 | 
| action signal="type" condition="type" | Execute command on signal conditionally | Shell command | 0.8.3 | 
| action signal="type" condition="type" | Perform function on signal conditionally | function:parameter | 0.8.3 | 
| action function="type" condition="type" | Perform function on default signal conditionally | parameter | 0.8.3 | 
The default signal is "child-exited", emitted when the terminal detects that the child has exited.
The "file-changed" signal is emitted if file-monitor is true and the input file being monitored has changed.
The following signals are connected-up for all widgets:
button-press-event, button-release-event, configure-event, enter-notify-event, leave-notify-event, focus-in-event, focus-out-event, hide, show, realize, key-press-event, key-release-event, map-event, unmap-event
The following functions can be performed upon this widget by any widget capable of emitting signals:
| Type | Description | Parameter | Since | 
|---|---|---|---|
| enable | Reactivate timer | Variable name | |
| disable | Deactivate timer | Variable name | |
| show | Show widget | Variable name | |
| hide | Hide widget | Variable name | |
| grabfocus | Grab input focus | Variable name | |
| refresh | Reload input data | Variable name | |
| clear | Reset terminal and re-execute command | Variable name | 
The following general functions can be performed by any widget capable of emitting signals:
| Type | Description | Parameter | Since | 
|---|---|---|---|
| break | Break out of actions list | None | 0.8.3 | 
| command | Execute command | Shell command | |
| exit | Exit dialog | A value for the EXITvariable | |
| closewindow | Close dialog | Variable name | |
| launch | Launch dialog | Variable name | |
| presentwindow | Present dialog | Variable name | 
The following conditions can be used within the condition attribute of action directives:
| Type | Description | Argument | Since | 
|---|---|---|---|
| active_is_true(argument) | Active state of toggle widget | Variable name | 0.8.3 | 
| active_is_false(argument) | Active state of toggle widget | Variable name | 0.8.3 | 
| command_is_true(argument) | Output of shell command | Shell command | 0.8.3 | 
| command_is_false(argument) | Output of shell command | Shell command | 0.8.3 | 
| file_is_true(argument) | Contents of a file | Filename | 0.8.3 | 
| file_is_false(argument) | Contents of a file | Filename | 0.8.3 | 
| sensitive_is_true(argument) | Sensitive state of widget | Variable name | 0.8.3 | 
| sensitive_is_false(argument) | Sensitive state of widget | Variable name | 0.8.3 | 
| visible_is_true(argument) | Visible state of widget | Variable name | 0.8.3 | 
| visible_is_false(argument) | Visible state of widget | Variable name | 0.8.3 | 
true means "true", "yes" or a non-zero value, false means "false", "no" or zero, therefore the shell command is expected to echo one of these values to stdout.
- There exists an equivalently named "background-tint-color" VTE property but it doesn't accept strings so it's converted by Gtkdialog.
- The "background-tint-color" and "dim-foreground-color" tag attributes are not permitted when using VTE >= 0.38 (which is the case for gtk3).
This is a non-mandatory widget that requires libvte support be built into Gtkdialog at compile time.
This widget was introduced in version 0.8.1.