maeterm

Index Home MAE > MAE Architecture > MAE Daemons > maeterm

MAE Terminal Application

The MaeTerm application connects to various input sources (file, unix domain socket, UDP port, TCP port, ptty, serial port) and displays output from it in a terminal window in a user HTTP session, possibly embedded inside another application.

Daemon Parameters

MaeTerm reads these attributes that originate from the [commhub.ini] file:

Keyword

Value

termtype

The default terminal type.  For example: xterm. See termgw for full list.

userstart.resname

This is the default MAE I/O resource that will be connected to the terminal. See tioreg to creating/viewing resources.

userstart.region

This is the default UI region where the terminal will display. An app may simultaneously display more than one terminal. Default: terminal

userstart.hello

This is the default initial message sent to the resource upon user's first connection.

channels

App channels.  This is the list of additional msgbroker channels to listen to; these channels are also registered with usergw as apps, so a user can access a customized terminal environment with Action, Shortcut, and Processor menus.


Each channel can be subsequently configured with these attributes. Note that the maeterm channel is configured implicitly (no channel name or trailing dot or explicitly, using maeterm.attribute).

Keyword

Value

channel.termtype

The default terminal type.  For example: xterm. See termgw for full list.

channel.userstart.resname

This is the default MAE I/O resource that will be connected to the terminal. See tioreg to creating/viewing resources.

channel.userstart.region

This is the default UI region where the terminal will display. An app may simultaneously display more than one terminal. Default: terminal

channel.userstart.hello

This is the default initial message sent to the resource upon user's first connection.

channel.actions

Comma separated list of action names to display as Action menu options.

channel.action.option

For an Action menu option, define the I/O resource name to connect to when user selection this menu option. An I/O resource must already be registered; see tioreg. If the resource name begins with channel:channel, then MaeTerm will run that MAE app (switch to that MAE channel); this is handy for switching to a different MaeTerm configuration that's listening on channel.

channel.shortcuts

Comma separated list of shortcut names to display as Shortcut menu options.

channel.shortcut.option

For a Shortcut menu option, define the text to send to the terminal when the user selects this Shortcut menu option.

channel.processors

Comma separated list of processor names to display as Processor menu options.

channel.processor.option

For a Processor menu option, specify the message channel where termgw should send screenshots.


Programming API to MaeTerm

Use the MaetermAPI class to interface with MaeTerm.

Database Tables

None.

Messages Received and Processed (maeterm)

The following messages may be received on the maeterm channel.

Specific Messages (maeterm)

MsgTag

Description

userstart

Initiate a new user session.


Menu

MsgTag

Description

Terminal - > Re-connect

maeterm.reconnect

Reconnect to the last connected resource.

Reconnect to the last connected resource.

Terminal - > Disconnect

maeterm.disconnect

Disconnect from the last connected resource.

Disconnect from the last connected resource.

Terminal - > Status

maeterm.status

Review the current status of the connection.

Review the current status of the connection.

Terminal - > Clear

maeterm.clear

Clear the terminal screen.

Clear the terminal screen.

Quit - > Quit

maeterm.quit

Quit the MaeTerm app

Quit the MaeTerm app


Keystroke Messages (maeterm)

Key

MsgTag

Description

all

key

Route *all* keystrokes from the user device to the connected resource.

Route *all* keystrokes from the user device to the connected resource.


Server API Messages (maeterm)

MsgTag

Description

key

Relay user keystroke to a specific MaeTerm instance's application.

device - end-user's device

key - single keystroke, either the character or special keystroke name

keycode - the printable ASCII code of the key, if defined

redraw

Request a redraw.

device - end-user's device

@return true if sent