## 4.29 Terminal Emulator

EZwgl implements a VT100 terminal emulator. The emulator code is modified from the "xiterm" source code. Thanks to the authors of xiterm.

### Widget Info

Symbolic widget type | EZ_WIDGET_TERM
Default class name | "Term"
Default instance name | "term"

Symbolic widget type | EZ_WIDGET_ITERM
Default class name | "ITerm"
Default instance name | "iTerm"

### Subwidgets Info

Subwidgets of Text are listed below.

            ( iTerm
     term-->(
            ( verticalScrollbar

### Widget Interface Routines

`void EZ_GetTermComponents(EZ_Widget *widget, EZ_Widget **iterm,`

`EZ_Widget **vscr );`

return the components of a terminal emulator.

`void void EZ_TermStartCommand(EZ_Widget *term, char **args);`

run the specified program in the terminal emulator window.

`void void EZ_TermStopCommand(EZ_Widget *term, int sig);`

send the specified signal to the process running in the terminal emulator.

`void EZ_TermSetExitHandler(EZ_Widget *ezterm,`

`EZ_CallBack cb, void *data);`

Specifies a procedure to be invoked when the child process running in the terminal emulator exits.

`void EZ_TermTouchScreen(EZ_Widget *term);`

This procedure changes the text attributes currently displayed in the emulator window, and cause the screen to be refreshed completely.

`void EZ_TermPowerOn(EZ_Widget *term);`

This procedure completely resets the display screen.

### Screenshot

### Resources

Config_Option | ResourceName | DefaultValue
EZ_CLASS | class | `"Term"`
|  | or `"ITerm"`
EZ_NAME | name | `"term"`
|  | or `"iTerm"`

EZ_X | x |
EZ_Y | y |
EZ_WIDTH | width |
EZ_HEIGHT | height |

EZ_LOCATION | location |
EZ_SIZE | size |
EZ_GEOMETRY | geometry |

EZ_WIDTH_HINT | widthHint |
EZ_HEIGHT_HINT | heightHint |
EZ_SIZE_HINT | sizeHint |

EZ_BORDER_WIDTH | borderWidth | `0` or `2`
EZ_BORDER_TYPE | borderType | `none` or `sunken`
EZ_FOCUS_PAD | focusPad | `0` or `2`

EZ_PADX | padx | `8` or `0`
EZ_PADY | pady | `6` or `0`
EZ_IPADX | iPadx | `0`
EZ_IPADY | iPady | `0`

EZ_EXPAND | expand | `false`
EZ_PROPAGATE | propagate | `true`
EZ_TRANSIENT | transient | `false`

EZ_FONT_ID | fontID | `3`
EZ_FONT_NAME | fontName | `"*fixed*"`

EZ_CURSOR | cursor | `"XC_xterm"`
EZ_BUBBLE_STRING | bubbleString | `null`

EZ_CALLBACK | N/A | `null null`
EZ_MOTION_CALLBACK | N/A | `null null`
EZ_DESTROY_CALLBACK | N/A | `null null`
EZ_EVENT_HANDLER | N/A | `null null`

EZ_FOREGROUND | foreground | `"black"`
EZ_BACKGROUND | background | `"gray74`
EZ_BG_IMAGE_FILE | bgImageFile | `null`
EZ_BG_PIXMAP | N/A | `none`

EZ_BG_IMAGE_FILE_B | bgImageFileB | `null`
EZ_BG_PIXMAP_B | N/A | `none`
EZ_CLIENT_PTR_DATA | N/A | `null`
EZ_CLIENT_INT_DATA | clientIntData | `0`

EZ_DND_DRAG_CURSOR | dndDragCursor | `none`
EZ_DND_BUBBLE_STRING | dndBubbleString | `null`

EZ_OPTIONAL_VSCROLLBAR | optionalVScrollbar | `true`
EZ_SCROLLBAR_WIDTH | scrollbarWidth | `10`
EZ_SCROLLBAR_BORDER_WIDTH | scrollbarBorderWidth | `2`
EZ_VSCROLL_INCREMENT | vScrollIncrement | `1`

EZ_TEXT_BACKGROUND | textBackground |
EZ_TERM_COLOR_N | termColorN |
EZ_TERM_CURSOR_COLOR | termCursorColor |
EZ_TERM_SAVE_LINES | termSaveLines | `64`
EZ_TERM_REVERSE_VIDEO | termReverseVideo | `false`

HTML Documentation Maintainance:`Arturo Espinosa <arturo@nuclecu.unam.mx>`