# hbox widget A GtkHBox optionally packed inside a GtkViewport inside a GtkScrolledWindow ## Definition
    <hbox tag_attr="value"...>
    	widget...
    	<variable>varname</variable>
    	<height>value</height>
    	<width>value</width>
    	<sensitive>state</sensitive>
    	<action signal="type">activity</action>...
    </hbox>
"..." denotes acceptance of multiples of the same thing. ## Tag Attributes See the GtkHBox widget and ancestor class properties. The following custom tag attributes are available:
Name | Description | Value | Since
--- | --- | --- | ---
space-expand[1] | Pack this and nested widgets expanding into space | `true` or `false` | 0.7.21
space-fill[1] | Pack this and nested widgets filling space | `true` or `false` | 0.7.21
block-function-signals | Block signal emissions from functions | `true` or `false` | 0.8.1
hscrollbar-policy | Policy for the horizontal scrollbar | `0`, `1`, `2` (always, automatic, never) | 0.8.1
vscrollbar-policy | Policy for the vertical scrollbar | `0`, `1`, `2` (always, automatic, never) | 0.8.1
scrollable | Scrolled window capability | `true` or `false` | 0.7.21
height | Scrolled window dimension | An integer > `0` or `-1` to ignore | 0.7.21
width | Scrolled window dimension | An integer > `0` or `-1` to ignore | 0.7.21
shadow-type | Viewport shadow type | `0` to `4` (see GtkShadowType) | 0.8.1
## Directives Some of these may have tag attribute equivalents.
Name | Description | Contents | Since
--- | --- | --- | ---
variable | Variable name |  | 0.8.1
variable export="false" | Variable name, not exported to shell |  | 0.8.3
height[2] | Scrolled window dimension | An integer > `0` or `-1` to ignore | 0.8.1
width[2] | Scrolled window dimension | An integer > `0` or `-1` to ignore | 0.8.1
sensitive | Sensitive state | `true` or `false` | 0.8.1
action signal="type" | Execute command on signal | Shell command | 0.8.1
action signal="type" | Perform function on signal | function:parameter | 0.8.1
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
## Signals There is no default signal for this widget. 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 | Sensitise widget | Variable name | 0.8.1
disable | Desensitise widget | Variable name | 0.8.1
show | Show widget | Variable name | 0.8.1
hide | Hide widget | Variable name | 0.8.1
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 | 0.8.1
exit | Exit dialog | A value for the `EXIT` variable | 0.8.1
closewindow | Close dialog | Variable name | 0.8 1
launch | Launch dialog | Variable name | 0.8.1
presentwindow | Present dialog | Variable name | 0.8.1
## 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. By default the frame widget and every widget automatically placed inside a scrolled window (edit, tree, list, table and optionally the h/vbox) are packed with expand and fill set to true, otherwise widgets are packed with expand and fill set to false. This rather quirky system constitutes the original Gtkdialog widget packing method and therefore must continue to be supported, but since 0.7.21 it's now possible to override this behaviour globally with the --space-expand=state and --space-fill=state command line options, at the h/vbox container level or at the individual widget level or a combination thereof. 2. The scrolled window has a default dimension of 200x100 which can be overridden with the height and/or width directives. This widget has a default spacing of 5 which can be overridden with the "spacing" tag attribute. button, checkbox, colorbutton, comboboxentry, comboboxtext, combobox, edit, entry, eventbox, expander, fontbutton, frame, hbox, hscale, hseparator, list, menubar, menuitemseparator, menuitem, menu, notebook, pixmap, progressbar, radiobutton, separator, spinbutton, statusbar, table, terminal, text, timer, togglebutton, tree, vbox, vscale, vseparator, window,