terminal - step-/gtkdialog GitHub Wiki

terminal widget

A VteTerminal packed inside a GtkScrolledWindow


Definition

<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.

Tag Attributes

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 true or false
space-fill Pack widget filling space true or false
block-function-signals Block signal emissions from functions true or false
file-monitor Emit signal when input file(s) change true or false
auto-refresh Auto refresh when input file(s) change true or false
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

Directives

Some of these may have tag attribute equivalents.

Name Description Contents Since
variable Variable name Command's PID (0 if dead)
variable export="false" Variable name, not exported to shell 0.8.3
height Initial height An integer > 0 or -1 to ignore
width Initial width An integer > 0 or -1 to ignore
input Data input source Shell command
input file Data input source Filename
sensitive Active state true or false
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

Signals

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

Functions

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 EXIT variable
closewindow Close dialog Variable name
launch Launch dialog Variable name
presentwindow Present dialog Variable name

Conditions

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.

Notes

  1. There exists an equivalently named "background-tint-color" VTE property but it doesn't accept strings so it's converted by Gtkdialog.
  2. 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.


⚠️ **GitHub.com Fallback** ⚠️