## Multi Gnome Terminal User's Guide

Multi Gnome Terminal &mgt-version;
2000
Miguel de Icaza
Michael Zucchi
Alexander Kirillov
2002
Hal Burgiss
Cristiano De Michele

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found here.

Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps.

## Description

Screenshot with Intro to MGT

### Features

&newfeatures;

Warning! This document is a mostly finished first draft. It will eventually encompass all the features of &term;. There still are a few small things lacking and has not been been checked for errors.

]]>

This document is included with a development version of &term;. It may be out of sync with the current code base as a result.

]]>

## Basic Usage

### Shells

&term; starts a shell environments (command line interpreter). UNIX shells can significantly extend the capabilities of the usual command line prompt. For example, the bash shell (which is the default shell for most Linux distributions) provides command completion (try entering beginning of a command or file name and press Tab key), a history buffer (you can recall previously entered commands by pressing Up arrow key), and much more. For complete documentation, see the manual pages for the appropriate shells.

&term; further extends the traditional command line interface by allowing potentially many shells to co-exist within the same Window simultaneously.

### Multiple Terminals

The most prominent innovation of &term; is the ability to run multiple terminals within the same X Window. Each terminal constitutes a fully functional shell environment and is represented in the GUI by a Tab.

The terminal window can also be split horizontally and vertically, can be moved from one &term; Window to another, and can be bonded to other terminal windows.

Navigation between opened terminals is easily done either via the Tabs, or keyboard shortcuts, which are configurable.

Tabs can be initialized in various ways, and saved such that new &term; Windows are opened with a user specified configuration, or with the previous state saved, or a combination. See the Tabs Section for details.

### Commands

&term; Commands are shell commands to initialize new terminals. These can be something simple to just start a new interactive shell. Or can do more interesting things, such as change to a specified directory on start up, or `ssh` to a remote host and start a shell there. Or whatever else the imagination may allow ;-)

&term; commands are configured from the Edit Commands selection of the Settings menu, and are then easily invoked from the the New Term menu. Or via keyboard shortcuts. See the Edit Commands Section.

### Key Bindings

Keyboard shortcuts are easily configured for various &term; functions, and various other user preferences. These are configured from the Keybindings selection of the Settings menu. See the Keybindings Section.

### GUI Controls

&term; provides various GUI components for navigation, configuration, and control over &term;'s behavior. In addition to the Menus and Scrollbar from &oldterm;, &term; adds a Toolbar and a Buttonbar. And of course, the Tabs. See the User Interface section for an explanation of each.

### Launch URLs

&term; improves &oldterm;'s recognition of URL-like strings on the screen. If clicked with CTRL-LeftMouse, &term; will try to open the appropriate application: a web browser, mail client, or file manager. See the Launching URLs Section for more on this feature.

### Command Line Options

&term; includes a number of useful command line options for creating new Windows, new Tabs, and split Windows. Tabs can even be added to the current Window dynamically. See the Command Line Options Section.

### Emulation

&term; is designed to emulate the xterm program provided by the X Consortium and provides improved emulation support over &oldterm;. xterm, in turn, is an almost-complete emulation of the DEC VT102 terminal.

&term; supports the same extensions to the VT102 that the xterm program provides, through special escape sequences. Recent changes to xterm have been been incorporated into &term;. This includes emulation of the newer DEC VT220 escape sequences and also, full support for VT52. &term; is fully compliant with `vttest`, a program for testing terminal emulator support.

In simpler terms, this means that &term; understands all the commands (escape sequences) used by VT52/VT102/VT220/xterm terminals for things like positioning of the cursor on screen. Therefore, you can run in &term; any application that is designed to work inside VT52/VT102/VT220/xterm terminals and all the controls (such as arrows, PageUp/PageDown keys, Tab key, etc) should work as expected.

## User Interface

&term; provides a number of GUI controls for manipulating various aspects of &term;'s behavior. The GUI controls may be hidden, and most are relocatable.

### Tabs

Each terminal Window has a Tab associated with it. By default, these are located immediately above the terminal Window, though can be re-positioned (see the Tabs Tab Section.). The active Tab is raised, or otherwise emphasized (depending on theme). The Tab identifies that particular terminal and shell (or terminal/shell combinations if the Window is split).

The Tab also allows easy navigation by just left clicking with the mouse. Clicking with the right mouse button on any Tab will pop-up a small menu of all opened Tabs for that Window. Navigation is also possible with keyboard shortcuts. To move sequentially: the shortcut is SHIFT plus the right or left arrow key. Or directly: CTRL plus the ordinal number of the desired Tab, example `CTRL-2`. Both methods are configurable with the Key Bindings dialog.

Each Tab has a label that can be customized by middle clicking the Tab, and entering a name in the dialog-box. This can also be done from the Toolbar or the Buttonbar. (The Titled Tabs feature should be disabled for renaming labels to work. See the Preferences Section.)

Inactive terminals (whether split screen or not) notify that their buffer is in the process of changing, or has changed, via colors of the Tab labels. By default, `red` means the buffer content is in the process of changing; and `blue` means a change has taken place, and the buffer is paused. Tab label colors are definable from the Color Tab of Preferences. The exception is if the terminal is in View mode, or is bonded with other terminals, but is not visible, then the label will not change color (see the File Menu Section. for more on bonded and view terminals).

New terminals can be initiated with selections from the New Term menu. This menu is available from the Buttonbar, Menubar, or the application control pop-up menu that is activated by CTRL-LeftMouse (see the Pop-up Menu Section.).

The New Term menu has three built-in selections: Shell (a regular bash shell is started), Root (a root shell is started with `su`), and mc, or Midnight Commander (a console file manager application). You may add your own customizations to this menu through the Edit Command menu selection of the Settings menu.

Selecting any item from the New Term menu will open a small sub-menu with various options on how and where to open the new terminal. It may be opened as a new Tab in the existing Window, or opened within the existing Window, but with the Window split either horizontally or vertically, or can be opened in a new &term; Window. See the New Term Section.for details.

### Scrollbar

&term; provides a Scrollbar so that the user can scroll back and see previous commands and output in the terminal buffer history with the mouse. This is especially convenient when a command output does not fit in the viewable screen area. By default, the scrollbar is placed on the right side of the terminal Window. You can change its location or remove the scrollbar altogether using the Preferences dialog. You can also use the keyboard for scrolling: SHIFT-PageUp scrolls up, SHIFT-PageDown — scrolls down.

### Toolbar

The Toolbar is used to manipulate and initialize Tabs. Like most other GUI components, it may be hidden, or re-located. To move, just grab the handle on the left edge. To hide, see the File menu on the Menubar, or the Pop-up control menu. Also, see the Preferences Section..

The Toolbar provides the following functions:

- Use the arrow buttons, to re-position the current Tab to the right or to the left.

- Open new Tabs with the three built-in Commands of New Shell, Root Shell, and mc. (See the section called Menubar - New Term.)

- Close and remove the current Tab.

- Change the current Tab's title.

Screenshot Showing GUI Features

From top to bottom: Menubar, Toolbar, Tabs, terminal window, Buttonbar. The Scrollbar is on the left in this shot.

### Buttonbar

The Buttonbar is also used to manipulate and initialize Tabs. Like other GUI components, it may be hidden (but not moved). To hide, see the File menu on the Menubar, or the Pop-up control menu. Also, see the Tabs Tab Section..

The Buttonbar provides the following functions:

- Open new Tabs with the special Commands as listed in the New Term menu. This menu includes the built-in Commands, as well as any user-defined commands. See the New Term Section. for more explanation.

- Use the Tab Left and Tab Right buttons, to re-position the current Tab to the right or to the left.

- The Remove button removes (closes) the current Tab.

- Change the current Tab's Title.

### Menus

There are three main menus available: the Menubar located at the top of the terminal Window, a Pop-up control menu available by pressing the right mouse button while holding the CTRL key while on the terminal Window, and the Settings menu which can be accessed with the left mouse button while holding the CTRL key (this is a shortcut to the Menubar menu of the same name).

The Menubar is detachable by grabbing the handle (on left edge) with the mouse, and dragging to the bottom of the Window, or can be left free-floating on the Desktop.

#### Menubar - File menu

New Window

  Create a new &term; Window, complete with start-up Tabs and any saved terminals. This is an efficient way to create new &term; Windows, as this uses less system resources than starting a separate copy of &term;. (For advanced users: the new terminal Window created in this way is owned by the same process, with the same PID as the original terminal. Each Window starts its own sub-shell process, however.)

Remove Term

  Deletes the current active terminal and associated shell. A prompt is given first to verify the intent. If this terminal is the only opened terminal in that Window, then the Window exits too.

Change Title

  Opens a dialog-box for changing the current Tab label.

Save Terminals

  Save the current Tab arrangement. This will be used on the next start up of &term;, if the Reopen tabs option is enabled in the Tabs section of the Preferences dialog-box. See the Tabs Tab Section.

All bonded

  This will bond all terminals. This means that whatever commands are run in one bonded terminal, are replicated in all the others that are bonded. Note: this is not appropriate for all commands, such as editing a file, or compiling, for instance, since you will have multiple edit and compile sessions running concurrently. Use with discretion!

All unbonded

  Remove bonding (see above).

Show menubar

  Hides the main Menubar on the terminal if unchecked, creating a neater, smaller terminal. The Menubar can be restored using the pop-up menu.

Show toolbar

  Hides the Toolbar if unchecked. The Toolbar can be retrieved using the pop-up menu or the main Menubar.

Show buttonbar

  Hides the Buttonbar if unchecked. The Buttonbar can be retrieved using the pop-up menu or the main Menubar.

Close Window

  Closes the current terminal and shell. It also closes any other terminals opened via the command line from that terminal. If this is the only terminal open, then the &term; program exits, closing the Window.

#### Menubar - New Term menu

Actually, this same menu is accessible also by clicking with CTRL-LeftMouse on the terminal Window, and from the Buttonbar. This is a tear off menu, and can be positioned on the desktop, independently of the main Window (except the CTRL-LeftMouse Pop-up menu).

This menu is used to manually start the shells and custom Commands of &term;, thus initializing new Tabs and terminals. Most entries when selected will open a sub-menu with four entries to determine how and where the new terminal will be opened (see below).

There are three built-in command entries:

Shell

  Opens a new terminal with a normal, interactive bash shell.

Root

  Opens a new terminal with a root shell via `su`.

mc

  Opens a new terminal with Midnight Commander (a console file manager).

Split

  Split the current terminal by moving a terminal from another, already opened &term; Window, or from another Tab in the same Window.

  This selection opens a short sub-menu with selection options of Horizontally with... and Vertically with... to determine which type of split will be used in the current terminal. Choose one. Then change to another Tab for this same Window, click the terminal Window itself, and the terminal is moved. Or to move between Windows, click on the terminal in the other Window that you want to use to make the split in the current Window.

  Moving between Windows requires that both Windows be opened with either New Window menu selection or with the &oldterm; factory server command line option.

View

  View the output of a terminal running in another Window or another Tab, in this terminal. This selection also opens a short sub-menu with selection options of Horizontally with... and Vertically with... to determine which type of split will be used in the current terminal to view the target terminal's output.

  Choose the appropriate option, and then click on the already opened terminal running on another Tab, or in another Window. The output of that terminal will now also be displayed in the new split terminal. A [V] will show on the Tab label to denote that it is in View mode. Note that the View terminal will accept no input. Use the GUI controls to close it.

  This also requires that the Windows be opened with either New Window menu selection or with the &oldterm; factory server command line option if using terminals from two Windows.

New Tab with...

  Similar to the above two selections, this selection will open a completely new Tab, but it will be created by moving an opened split terminal from the same Window to its own Tab (i.e. it is not split any more), or by moving an already opened terminal running in another &term; Window to the current Window. After clicking the menu selection, then left click on the selected terminal, and it will be moved to its own, new Tab in the current Window.

  Again, this requires that the Windows be opened with either New Window menu selection or with the &oldterm; factory server command line option if moving Tabs from one Window to another.

Below this point, any user defined Commands would be shown.

The three built-in shell commands (see above), and any user defined commands will open a sub-menu with four selections:

> New Tab

>   Open the new terminal with its own Tab and full terminal screen (i.e. not split).

> HSplit

>   Split the current terminal in half horizontally, and then open a new shell (or run a command). The split can be resized manually by moving the divider with the mouse. Both terminals are associated with the same Tab.

> VSplit

>   Split the current terminal in half vertically, and then open a new shell (or run a command). The split can be resized manually by moving the divider with the mouse. Both terminals are associated with the same Tab.

> New Window

>   Open the new Tab in a new &term; Window.

New entries can be added to the New Term menu from Edit Commands selection of the Settings Menu. The above built-in entries can not be removed.

#### Menubar - Edit menu

Search

  Opens a dialog-box for searching the terminal buffer contents. Checkboxes are provided for matching upper/lower case, wrapping, and backward searching.

Search Again

  Repeats the last search of the terminal buffer.

Paste

  Pastes the current selection (from the X clipboard) into the terminal at the current cursor position. This can also be achieved by clicking with the MiddleMouse button.

#### Menubar - Settings menu

&term; configuration is accessed through the Settings menu. (This is also reachable by clicking CTRL-LeftMouse on the terminal background.)

Preferences

  Displays the important Preferences dialog-box where many important configuration options can be set. For more, see the Preferences Section.

Class

  Allows changing the current Class from a sub-menu of all defined Classes. See the Terminal Classes Section.

Edit Commands

  This will open a Window where custom Commands can be defined or modified. These commands are used to open new terminals. See the Edit Commands Section.

Keybindings

  This will open a Window where custom keyboard shortcuts for various &term; functions and other uses can be defined or modified. See the Keybindings Section.

Adjust size

  After adding or removing GUI components (e.g. the Toolbar), there may be a slight discrepancy between the character based terminal window, and the pixel based X window, leaving a small amount of wasted space. This setting will adjust the Window appropriately.

Reset Terminal

  Resets the terminal parameters. This will not clear the screen or move the cursor, but any subsequent terminal output will be reset to the default font and attributes. This is probably only useful if a problem occurs, and the terminal is misbehaving.

Reset and Clear

  Resets the terminal parameters as above, and also clears the screen. All character fonts and attributes are reset.

Color selector ...

  Can be used to drag-and-drop colors into the terminal to change the background color. See the Colors Tab Section for details.

#### Menubar - Help menu

Terminal Help

  Get to this document from within &term;.

About ...

  A few kudos for some of the people behind &term;. See the Authors and Credits Section.

#### Pop-up menu

The Pop-up control menu can always be invoked by clicking with CTRL-RightMouse anywhere within the terminal Window. (It may not always be necessary to hold down the CTRL key to get the pop-up menu, but do not assume this is always so, particularly if a selection is in progress.) It is provided as a simple short-cut to many of the important selections from the main menus. This is especially useful when the Menubar is hidden. Or you are too lazy to move the mouse that far ;-) The following items are available:

New Window

  Opens a new &term; Window. See the section called New Window.

New Shell

  Opens a new Tab with a normal, interactive bash shell in a new terminal.

Root Shell

  Opens a new Tab with a root shell via `su`, running in a new terminal.

mc

  Opens a new Tab with Midnight Commander (a console file manager) in a new terminal.

Remove Term

  Remove the current terminal, and close the associated shell. If this is the only terminal for this Window, then the Window closes too.

Change Title

  Change the Tab title string.

Settings

  Opens a sub-menu with three options:

  - Preferences

  - Edit Commands

  - Keybindings

  - Adjust size

Class

  Allows changing the current Class from a sub-menu of all defined Classes. See the Terminal Classes Section.

Bonded Terminal

  Mark this terminal as a bonded terminal in this Window. All bonded terminals share the same input and output.

Show menubar

  Hides the main Menubar on the terminal if unchecked, creating a neater, smaller terminal. The Menubar can be restored using the pop-up menu.

Show toolbar

  Hides the Toolbar if unchecked. The Toolbar can be retrieved using the pop-up menu or the main Menubar.

Show buttonbar

  Hides the Buttonbar if unchecked. The Buttonbar can be retrieved using the pop-up menu or the main Menubar.

Secure keyboard

  This option forces all the keyboard input to be sent directly to the terminal, and bypass anything else. This is useful in the (rare) situation when the same X server is used by many users, and the X server is not using proper authentication methods, thus making it possible for other users to snoop on what you are typing. In such a situation, it is advised that you switch to "secure keyboard" mode before entering any confidential information, such as passwords.

Reset Terminal

  Resets the terminal parameters. This will not clear the screen or move the cursor, but any subsequent terminal output will be reset to the default font and attributes. This is probably only useful if a problem occurs, and the terminal is misbehaving.

Reset and Clear

  Resets the terminal parameters as above, and also clears the screen. All character fonts and attributes are reset.

Open in browser

  Depending on the URL type, this menu selection might also say Send Mail or Open in File Browser.

  If the mouse pointer is over a URL (for example, an Internet address) when the Pop-up menu is invoked, then this option becomes available to launch a browser (or other appropriate application) to view the URL, send email, etc. See the Launching URLs Section.

## Preferences Configuration

Configurable options are set via the Preferences dialog-box, which can be invoked by selecting Preferences from the Settings menu, or a similar selection from the Pop-up menu. Preferences options are grouped into Tabs according to their functionality.

The Preferences Dialog

### The General Tab

While most options are self-explanatory, a brief explanation of all options follows. Most options are simple checkboxes that are either enabled or disabled. After making any changes, be sure to click the Apply button to save and activate changes.

Terminal Class

  Define a new Class from the currently selected settings, essentially cloning the configuration to a new class. Classes can also be deleted here. Refer to the section on Classes for further information on &oldterm; Classes.

Font

  Click the Browse button to choose a font from the GNOME font chooser. Or, you can alternately click the input field, and hand edit the font entry. (There is also a command line option for the preferred font.)

Enable bold text

  Enable bold text for applications that request it (example: man pages).

Hide menu bar

  Hide the main Menubar at the top of the Window, or not.

Swap Delete/Backspace

  If your DEL and BS are working backward from what you expect, this will reverse it.

Delete generates DEL/^H

  Try this if having problems with the DEL key.

Hide tool bar

  Hide the Toolbar if checked.

No Border

  The border is a very fine frame around the edge of the terminal Window. Turn on or off here.

Enable multibyte support

  Turn on multi-byte support for font characters.

Blinking cursor

  If you prefer a blinking style cursor, turn it on here.

Silence terminal bell

  Turn off the terminal bell (^G).

Use --login by default

  If this option is selected, &term; will launch the shell in login mode (it will run all of your login initialization scripts in this mode). See also the information about `--login` and `--nologin` command line options.

Hide button bar

  Disable the button bar.

Confirm window closing

  Alert the user before closing the &term; Window.

Open IM (input method)

  Input method is useful for multi-byte support. (?)

Select-by-word characters

  Defines a list of characters (or character classes) that should be considered 'word characters'. These are used when selecting text by word with the mouse (i.e. double-click).

### The Tabs Tab

This is where much of the configuration for the Tabs that represent multi terminals is done.

Reopen tabs

  This option enables saving the current Tab set-up, but you will need to actually do the saving, either manually with the Save Tabs menu selection of the File menu (see above). Or, with the Auto Save Tabs feature (see below). This just enables/disables these other features. Re-opening will not restore the buffer contents or shell command history. Just the Tab layout and titles.

Restore Paths

  When re-opening Tabs (see above), restore the shell `path` (pwd) as well.

Titled Tabs

  The Window title is the same as the Tab label. Normally, this is the case anyway, but some applications may change the Window Title dynamically (e.g. vim). In this case, the Tab title will change also to match the Window Title. If not checked, then the Tab title stays constant. This should be disabled if you want to be able to change Tab labels with MiddleMouse.

No Numeric Prefix

  Without this checked, &term; will prepend a number in front of the Tab label to designate its position: `[ 3-My Projects ]`. Also, on the Window title. Check this to turn off this feature.

Restore Commands

  Re-execute any &term; customized start-up Commands on application start-up. This requires that the Reopen tabs option is also enabled (see above).

Auto Save Tabs

  Save Tabs for the current Class automatically when the Window is closed. Tab configuration can also be saved manually with the Save Tabs menu selection of the File menu (see above). This also requires that the Reopen tabs option is enabled (see above, this section).

Max Chars in Titled Tabs

  Maximum number of total characters to use for Tab titles.

Tab position

  Choose from the droplist the relative position within the Window: top (default), bottom, right, left, or hidden.

### The Image Tab

In the Image tab, you can set various options for the &term; Window background. The available choices are:

None

  If checked, then disable transparent and pixmap backgrounds. In this case, &term; will use the background color as set in Colors. See the Colors Tab Section.

Background pixmap

  This option allows you to choose an image file to be used as background. Press the Browse button to choose an image file. The image can also be scaled or tiled.

Transparent

  With this option, &term; will use a pseudo-transparent background. It is not truly transparent; it just mimics the background of your desktop (root Window), much like a chameleon does. Do not expect to see other Windows through the &term; Window though.

Shaded Background

  Pixmap and Transparent backgrounds can also be shaded, which will "dim" the background. With the slider control to the right, you can choose the degree of shading to use.

Tint Background

  Pixmap and Transparent backgrounds can also be tinted with the Tint background checkbox. This will color the background according to the color value in the color selector control to the right. Just click on this to select a color to use for the tint.

Text Shadow

  This will enable font shadowing, which is a technique for drawing a very fine outline around each character when the terminal is in image mode. This can improve readability of text on transparent or pixmapped backgrounds. And just looks cool ;-) See the Colors Tab Section below for selecting the shadow color.

### The Colors Tab

The Colors tab is used to configure various color settings. &term; fully supports the color extensions used by xterm.

Color scheme

  Some applications are capable of using the color capabilities of a terminal. The way the interaction between an application and the terminal is set up is that the application can request one of sixteen named colors (ANSI colors), such as "blue" or "bright red": for example, mutt mail reader can use red color to show urgent messages. However, it is up to the terminal to decide which exact tint to use for "bright red" or "blue". This collection of sixteen colors is called a palette, or "color scheme".

  &term; supports four color schemes: the Linux console scheme, the Color Xterm scheme, the rxvt color scheme, and a completely customizable color scheme. They all are slightly different: for example, Linux console uses light gray in place of "white", while rxvt uses real white.

  If you have selected the custom option, then all 16 colors (nominally 8 colors and 8 bright colors) can be customized by clicking on the Color palette buttons at the bottom of the dialog.

Foreground/Background Color

  Here you can set the default terminal foreground and background colors, which are used when no colors have been requested by the application running inside of &term;.

  The following options are available: white on black, black on white, green on black, black on light yellow, and custom. How these actually appear depends on the palette selected (for the white on black and black on white options). Custom allows you to select the default foreground and background colors individually and separate from the palette.

  Additionally, the user can drag a color from the rectangular box beneath the color wheel from any GNOME color selector or color source and drop it into the terminal. If the user drops the color on a blank space, it will set the background, if the user drops the color on a cell that contains a character, it will change the foreground. This will also automatically change foreground/background type to Custom colors and set the custom foreground or background color.

Foreground Color

  This is the color for font characters and cursor.

Background Color

  The background color to be used for the terminal Window. Except for transparent and pixmap backgrounds, in which case it is ignored.

Terminal is changing

  The color used for inactive Tab labels to indicate that the terminal buffer is in the process of changing. This is so the user is alerted that something is happening in a terminal, other than the current one. The default is `red`.

Terminal changed

  The color used for inactive Tab labels to indicate that the terminal buffer has undergone a change. This is so the user is alerted that something has happened in a terminal other than the current one, and that the activity has either stopped or paused. The default is `blue`.

Text shadow color

  The color to be used for the shadow effect if Text Shadow is enabled. See the Image Tab Section.

### The Scrolling Tab

Scrollbar position

  For the Scrollbar position, select from the list: either Left, right, or hidden.

Scrollback lines

  Set the number of lines that will be maintained in the scrollback buffer. The buffer history can be viewed by using the Scrollbar, or the keyboard (SHIFT-PageUp and SHIFT-PageDown).

Scroll on keystroke

  If this is enabled, then when you have scrolled backward into the buffer, and press any key, the screen will automatically jump back to the cursor position. If not, keystrokes are still echoed to the screen, but may not be visible.

Scroll on output

  If this is enabled, then when you have scrolled backward into the buffer, and any output is echoed to the screen (either by you typing or some process that generates the output), the screen will automatically jump back to the end of the terminal buffer so that the output is immediately visible.

## Edit Commands

&term;'s Edit Commands function is a way to customize the creation of new terminals. Edit Commands is accessed from the Settings menu.

A command in this context can be any command recognized by the shell. Typically, this is used to start a new interactive shell (which in most cases would be bash). But actually any command may be run. When the command exits, so does the shell, and so does the Tab (unless it was running a split terminal, in which case the split is removed). So, if simple commands are to be run (i.e. not an interactive shell), they should include some means to keep the shell from exiting, or else the output of the command will be lost when the terminal closes. Example:

     tail  -f  /var/log/messages

`tail -f` does not exit immediately like just plain `tail` does (without the -f). See the `tail` man page for exactly what this does, and other options.

There are two categories of commands: common to all Classes (these will appear on the New Term menu), and class dependent (used to initialize Tabs for a particular Class).

The Edit Commands Window

### Creating New Commands

To create a new &term; command, open the Settings menu, and click on the Edit Commands selection. A new Window will open. At the top are three input fields: `Name`, `Path`, and `Command`. The Name is what will appear as the menu selection on the New Term menu. Path is optional, and &term; will change to this directory when executing the command. Command is, of course, the command to execute.

After adding a new Command, click the Add button just below the input fields, then the Apply button near the bottom of the Window. Your command will now appear in the upper of the two listboxes, and also now on the New Term menu. Commands created this way are always available, and not tied to a specific &oldterm; Class (see Startup Tabs below for Class dependent Tabs).

To create multi-level sub-menus, use a / character for each level. Example:

       Projects/School/Science

This would put a Projects item on the New Term menu, which would open a sub-menu with School on it, which, in turn, would open a third level sub-menu with Science on it. Now clicking on School would initiate a new terminal, and it will be titled Science (unless running in a split terminal). This is good for grouping commands that are often used in conjunction with each other. And to reduce clutter on the New Term menu.

If you want to start a new interactive shell (command line session), then for the Command input field, you should use the command name to invoke your preferred shell, with appropriate command line options. For most of us, this is `bash`. Example command entry:

       /bin/bash --login

This will open a new Tab, with a bash login shell running. See the Appendix for more advanced examples.

The first word entered in the command input field, is the command to be executed. Any other words, or characters (separated by white space), will be passed to the command as arguments. So combining commands in one statement, will not work (e.g. `ls -l | less`). Create a shell script to do this for you, then use the script name for the command. (See examples in the Appendix.)

### Startup Tabs

You will notice there are two listboxes within the main Window. The upper one is for normal commands that will always appear on the New Term menu. The bottom one is used for defining Startup Tabs which will not show on the menu, and which belong to a Class (see the Terminal Classes Section.). Different Classes can have their own unique start up Commands.

As long as the Don't open startup tabs checkbox at the very bottom of the Window is not checked, then any commands in the bottom listbox, will be executed on program start-up with the appropriate Class (or the `Default` Class if no Class is specified), thus creating the desired Tabs.

You can either create new startup commands through the same steps as outlined above, but using the second set of buttons (e.g. Add, etc), or you can copy commands from the upper listbox with the Get button. Just highlight the command you want to copy with the mouse first, then click on Get, and then Apply. Start-up commands will belong to whatever Class is currently active when they are created, unless you specify a different one using the selection options in the lower right hand corner.

Start-up commands do not appear on the New Term menu, but you can use the Get feature to have the same command in both locations.

### Editing and Deleting Commands

To make any changes to an existing command, click on the command with the mouse, and then click the appropriate button: Edit to modify this command, or Remove to delete this command. If editing, then once you've changed the input fields at the top, click the Update button. For both situations, click Apply to have your changes take effect.

## Keybindings

This is where keyboard shortcuts for &term; functions and key definitions for various other purposes may be customized. It is accessed from the Settings menu. This selection will open a Window that displays the current settings. These may be customized to suit individual preferences by using the input fields at the top of the Window.

The Keybindings Window

At the top of the Window, there is a list of &term; actions, with an initial entry of Shell->New Tab. Click here to see all available actions that can be customized. The first input field is labeled String and the second input field is labeled Keybinding. The Keybinding field is where you enter your keyboard combination for a particular action or usage.

To define a new shortcut, first select an item from the actions drop-down list, then click on the Keybinding field, and then press the keyboard combination you want to use. Do NOT type the keystroke representations. Example: if you want SHIFT-F1, then press SHIFT-F1, and do not try to spell it. There is no limit on the number of keys that can be used for the key binding definition. This is your choice.

After setting the action and the Keybinding, click on Add, and then, of course, at the bottom of the Window, Apply to make your new addition permanent.

The String input field is for use with the special Escape Sequence action. Use this to associate any string with a keystroke combination. This is helpful for forcing problem keys to do what you want, or to perform some custom function that you do repetitively.

As an example, select Escape Sequence from the list, and enter the following text to the String field:

echo hello world\n

And then, click the Keybinding field, and press F7, then click the Add, and then Apply. Now press F7 to see the results. You should see:

     [bash]$ echo hello world
     hello world

A more useful example: Select Escape Sequence from the Action list and then enter:

multi-gnome-terminal --add-tab --tpath=`pwd`\n

into the String field. Then whatever key combination you like for Keybinding (e.g. F9), then click Add, and lastly Apply. Now try it ;-) This should open a new Tab in the same Window and also land you in the same directory as your current directory.

The Keybinding field will recognize common meta-characters such as `\n` (as above) for newline, and also `\r`, `\t`, etc. `\033` is used to represent the escape character. For instance, my keyboard generates `^[[1^` for CTRL-Home. This would be represented in the String field as `\033[1^`.

The Keybinding field will also recognize any octal ascii representation. Example: `\141` octal equals the letter a. This may be useful for non-printable characters. See `man ascii` for a complete listing of values.

Editing and removing key bindings, is similar, but first highlight the one to be changed from the main listbox, by clicking on it. Then either click Update to modify, or Remove to delete it. And again, click Apply at the bottom of the Window.

You can also easily re-set the default key bindings here. And also specify a different modifier key for the control Pop-up menu (default is CTRL-RightMouse, though often just RightMouse works).

## Mouse usage

The mouse can be used to select (copy), and extend-select text, paste text from other terminals or applications, and also bring up a menu, as well as select other GUI components.

### Selection

The following assumes a standard three-button mouse that has not been made left-handed via the control center. Left-handed mice will of course work, but with the right button instead of the left one, and so on.

The left mouse button can be used to initiate a selection. If the mouse button is held down, and dragged, then characters (and lines) are selected individually. If you drag past the vertical boundaries of the Window it will scroll to keep up.

If the left mouse button is double-clicked, then the selection will be by word-characters. Hold the mouse button down on the second click to drag the mouse and enlarge the selection. The word-characters are defined in the General options tab of Preferences dialog-box.

Finally, if the left mouse button is triple-clicked and held, whole lines are selected as you drag the mouse up and down.

The right mouse button can be used to extend the selection. Simply scroll to where you wish to extend the selection to, and click the right mouse button in the desired place. Again, single, double and triple clicks will result in by-character, by-word, or by-line selection.

For all cases, releasing the mouse button automatically copies the selected text into the clipboard, so that it may be pasted to other applications. Note that any screen output will clear the highlighting of the selection, but it will still be kept on the X clipboard.

### Pasting text

If the middle mouse button is pressed, then the current selection is pasted into the Window. This can be used to transfer text from other applications, as well as from other locations within the same terminal Window.

If you only have a two-button mouse, then your X server probably has a method of emulating the middle mouse button. The most common method is to emulate the middle mouse button by simultaneous pressing of left and right mouse buttons. Refer to your X server documentation for further information.

SHIFT-INSERT can be used as a keyboard shortcut for pasting.

### Wheel mouse

If you have a wheel mouse (which sends mouse button 4 and mouse button 5 events), then you can use the wheel to scroll up and down through the scrollback buffer. If properly configured for X, no additional configuration should be required.

### Pop-up Control Menu

The mouse pointer can also be used to bring up the Pop-up menus, which can be used to open new &term; Windows, open new Tabs and to access many other &term; features. There are two such menus: the New Term menu which is accessed with CTRL-LeftMouse (see the New Term Section.). And the control Pop-up menu, accessed with CTRL-RightMouse (see the Pop-up Menu Section for more details).

### Launching URL's

&term;, like &oldterm;, can be used to select URL's (Uniform Resource Locators; such as `http://www.gnome.org`, or `file:///usr/share/doc/mgt/index.html`, or `cristiano@example.com`) from the text displayed in the terminal Window, simply by moving the mouse over the URL text. The URL will be emphasized, by being redrawn with an underscore, and the mouse pointer will change to a pointing hand.

&term; also now understands email addresses and file path names, in addition to traditional `http://` type URLs. Invoking the control-menu while over a highlighted URL will add a new option to load that URL into an appropriate application, for instance a mail client if the URL represents an email address. The menu selection text will reflect what the appropriate client should be.

Pressing the middle mouse button, while holding down the CTRL key is a shortcut to launch the URL with the appropriate application immediately.

### Drag and Drop

Drag and drop can be used for a number of operations within the terminal.

Dragging Files and URLs

  If files are dragged into the terminal, then their full filename is pasted into the Window. URL's can also be dropped in this manner.

Dragging Colors

  A color can be dragged from another gnome application, or from the color selector into the display. If it lands on a character, it sets the foreground color, otherwise it sets the background color. Refer to the color configuration section.

## Terminal classes

&term;, like &oldterm;, allows you to have different configuration profiles to suit different uses (different start-up Tabs, background colors, presence, absence or position of scrollbars, and so on). These are known as Classes.

To define a new Class, invoke the Preferences dialog-box from the Settings menu. Select whatever settings and configuration options you prefer first (these changes will be made to your currently opened terminal, so you can see what they look like), and before closing the Preferences box, click the New button, and you will be prompted for a new name.

To activate a specific Class at program startup you can use the `--tclass` command line option (see below). If invoked with a new, undefined Class name, the new Class will be created, but with all default settings. It is generally better to create Classes through the Preferences dialog-box, where the current settings can be cloned.

To dynamically change the currently active Class, select Class from the Settings menu, and then choose from the sub-menu selections. Or the same can be done from the control Pop-up menu, accessed with CTRL-RightMouse.

## Command line options

The following options can be used to start &term;. These will over-ride any saved configuration settings.

- `--version`

  Show the current &term; version information, then exit.

- `--usage`

  Show the this help information, plus various GNOME and GDK options, then exit.

- `--background COLOR`

  Used to specify the background color for the terminal at startup. The COLOR can be any form accepted by your windowing system.

- `--tclass CLASSNAME`

  Specifies the terminal class used to configure the terminal at start-up.

- `--class WM_CLASS`

  Specify a Window class name for X (this is different than `--tclass` above).

- `--display DISPLAY`

  Specify the X display to be used.

- `--command CMD ARGS, -e CMD ARGS`

  Executes the command CMD with its arguments ARGS on startup. No arguments beyond this one will be processed by the terminal. This behavior mimics the `xterm -e` behavior.

- `--execute CMD ARGS`

  Same as `--command` above, included for compatibility.

- `--font FONT`

  Sets the font of the terminal to FONT

- `--foreground COLOR`

  Sets the foreground of the terminal to COLOR.

- `--geometry GEOMETRY`

  Specifies the startup geometry for this terminal. The geometry specifies the desired width and height in terminal characters. For example: `--geometry=80x40` will create an eighty-column by forty-line terminal. You can also specify the location of the terminal Window on the screen; for example, `--geometry=80x40+100+200` will create a Window whose top left corner is 100 pixels to the right and 200 pixels down from the top left corner of the screen, while `--geometry=80x40+100-200` will give a Window whose bottom left corner is 100 pixels to the right and 200 pixels up from the bottom left corner of the screen.

- `--login`

  Make &term; launch the built-in shell (from the New Term menu) in login mode (it will run all of your login initialization scripts in this mode).

- `--nologin`

  Make &term; only launch a shell, without running any login initialization scripts. This is the default, unless you have selected Use --login by default in the Preferences dialog.

- `--noutmp`

  Indicates that this and the associated shell should not be registered in the system database of users logged into the computer.

- `--utmp`

  Indicates that the user wants this terminal to be registered in the system database of users logged into the computer (the utmp database). This is the default.

- `--lastlog`

  Always create a `lastlog` entry for each terminal login.

- `--nolastlog`

  Do not create a `lastlog` entry for each terminal login.

- `--wtmp`

  Requests that this session will be logged into the system records for users that have logged into the system. This is different from `utmp' because this keeps track of who logged in and logged out of the system, independently of whether it shows up in the list of users.

- `--nowtmp`

  Requests that the session be not logged into the system records.

- `--title TITLE, -t TITLE`

  Makes &term; use TITLE for the Window title.

- `--termname TERMNAME`

  Makes &term; use TERMNAME as the value of the `TERM` environment variable. This is generally not needed, but is available for those who find they do need to change it.

- `--start-factory-server`

  Try to start the TerminalFactory service for this terminal (see below).

- `--use-factory`

  If there is already a terminal process started with `--start-factory-server` option, then running the command `multi-gnome-terminal --use-factory` will create a new terminal Window owned by the existing terminal process. In other words, it will have the same effect as choosing File New Window in the existing terminal.

  If there is no TerminalFactory running, then this option has no effect.

- `--solid`

  Force a solid background color, i.e. turn off transparency or pixmap backgrounds.

- `--pixmap FILENAME`

  Specifies the image filename to be used as the background for this terminal Window.

- `--bgscroll`

  Specifies that the background image should scroll together with the text as the screen scrolls.

- `--nobgscroll`

  Specifies that the background image should not scroll together with the text as the screen scrolls.

- `--shaded`

  Requests that the background be shaded (for use with `--transparent` and `--pixmap`).

- `--noshaded`

  Requests that the background remain untouched (no shading is applied).

- `--transparent`

  Requests that the terminal should run in pseudo-transparent mode, making the background of the terminal Window be the same as the background of your root Window. It is not truly transparent since other Windows will not be visible through the terminal Window.

- `--icon FILENAME`

  Specifies the filename that contains the icon image that should be used for &term; when iconified (as long as your Window Manager supports icon hints).

- `--add-window`

  Launch a new Window from the parent Window, as a sub-process. This will automatically open one Tab. This can be combined with various other options listed below.

- `--newapp`

  Start a completely new &term; process from within the current &term; process. This too can be combined with the options listed below to alter the default start-up configuration.

- `--add-tab`

  Add a new Tab. `--add-tab` can be used to add a Tab to a new Window that is being created (see `--add-window`), and also to dynamically add a new Tab to the Window that invokes the command. Example:

        multi-gnome-terminal --add-tab

  Something fun to use with Keybindings. See example below for combining various command line options.

- `--tname NAME`

  Use this NAME for the new Tab and shell being launched. If white space is included, use quotes.

- `--hsplit`

  Split the Tab or Window being created horizontally in equal parts.

- `--vsplit`

  Split the Tab or Window being created vertically in equal parts.

- `--tpath PATH`

  Change to this PATH when starting the new Tab.

- `--tcommand COMMAND`

  Use this COMMAND to launch the new shell. This can be used in conjunction with `--add-tab` to create a new Tab or with `--add-window`. Successive `--tcommand`'s can also be invoked so as to pass arguments to the first `--tcommand`. Or if white space is included, the command must be in quotes. The first word should be the command in this case, and any additional words, or characters separated by white space, would be arguments to the command. Example:

        multi-gnome-terminal --add-tab --tname="MGT Man Page" \
         --tcommand="man multi-gnome-terminal"

  This creates a new Tab with the &term; man page opened. Obviously, something more suited for a key binding shortcut. Remember, once the command exits, so does the Tab.

- `-x COMMAND`

  As above, use this COMMAND to launch the new shell, but quoting is not required with this option.

- `--tnext`

  When creating split terminals, force the split to the next terminal being created. This is to aid in the positioning of terminals within the Window.

- `--tprev`

  When creating split terminals, force the split to the previous terminal being created.

You can use more than one option at once. Example:

      multi-gnome-terminal --transparent \
        --font -b&wh-lucidatypewriter-medium-r-normal-*-14-*-*-*-m-*-iso8859-1 \
        --add-window --tname="My Window" --tcommand=vi \
        --tpath=$HOME/multignometerm --tclass=Default --add-tab \
        --tname=MGT1 --hsplit --tname=MGT2 --vsplit --tname=MGT3 \
        --tcommand=mc &

This opens a new transparent Window and one Tab with `vi` running, and then adds another Tab (MGT1) which is split horizontally first, and then vertically, where Midnight Commander is then launched. Who says the command line is not useful? ;-)

## Environment

The following variables are set by &term;:

- `TERM`

  This variable is set to xterm by default. Some curses implementations and applications based on curses might want the value to be xterm-color, color-xterm or xterm-debian to support color. You might need to change this setting if your application does not display in color to one of those values, or for other special case situations. This can also be set via the `--termname` command line option.

- `COLORTERM`

  This variable is set by &term; to gnome-terminal. Various applications (especially the Slang-based applications) use this setting to determine whether the terminal supports color or not.

- `WINDOWID`

  This variable contains the X11 Window identifier. In some situations, this is used by applications to modify the contents of the Window, or to provide special effects.

## Authors and Credits

Cristiano De Michele is the creator and author of &term;.

Various people have contributed to &term;, in one way or another:

Most of the new features of &term; are the work of Cristiano. Other contributing developers that have made significant contributions include Soeren Sonnenburg and Guillermo Ontanon.

Erik Bourget, Stefan Kost and Jan Oberlaender have also contributed.

Multi-gnome-terminal is partially based on the original work of Michael Zucchi, Miguel de Icaza, Erik Troan and others. &term; also includes additional influences from screen, konsole, xterm, and Eterm.

This Guide was updated by Hal Burgiss for &term; and retains some of the original content written for &oldterm; by Miguel de Icaza and Michael Zucchi with minor contributions by Alexander Kirillov. Please send comments or suggestions on this documentation to multignometerm-devel@lists.sourceforge.net.

### Bugs, Feature Requests, and Mailing Lists

- Bug Reports
- Feature Requests
- Mailing Lists
- Patch Tracker
- Home Page

## License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of the GNU General Public License is included as an appendix to the GNOME Users Guide. You may also obtain a copy of the GNU General Public License from the Free Software Foundation by visiting their Web site or by writing to

     Free Software Foundation, Inc.
       59 Temple Place - Suite 330 Boston,
       MA 02111-1307 USA

## Appendix: Command Examples

This following will include some examples of things that can be done with &term;'s Edit Commands feature. The following examples are the command input field (third field) at the top of the Window. You will have to supply your own Command name, and path if wanted.

Starting shells:

### Start a login shell

The most typical usage is to start a normal, interactive shell. The `--login` bash command line option above is optional.

bash --login

### Start a remote shell with `ssh`

But we can also start a remote shell on another host:

ssh some_host.example.com

### Start a mail reader

We can also start any text based program automatically, like a mail reader, or news reader:

pine

### Specify a specific mailbox

You can watch multiple mailboxes with multiple instances of your mail reader. This way the Tab labels will change color to alert you to new mail in that mail box.

mutt -f ~/Mail/inbox

And another command for another mailbox:

mutt -f ~/Mail/multignometerm-usability

We could get really fancy and create a special Class, maybe titled mail, and create a custom start-up Tab for each mailbox we want to access.

### Start a text web browser

w3m ~/my_bookmarks

In fact, you could create a sub-menu with your favorite links all in their own sub-menu:

> - w3m/freshmeat
> - w3m/slashdot
> - w3m/sourceforge
> - w3m/user friendly

### Start a remote shell and start a program on the remote host

ssh -t some_host.example.com pine

### 'watch' netstat connections

watch netstat -tn

### Watch the message log

tail -f /var/log/messages

The Tab labels will also change colors every time a new entry is made to the log.

To this point, all our examples have been single shell commands with arguments (though the arguments in some cases are other commands). If we want to combine commands, like piping `ps` to `less`:

/bin/ps ax | less

then it is useful to put these types of commands in a shell script, and then invoke the script from Edit Commands. Much more can be done this way.

Some ideas:

### A Google search

      #!/bin/sh
      txt_browser=w3m

      read -e -p "search google for: " search_str
      [ -z "$search_str" ] && exit
      $txt_browser \
      "http://www.google.com/linux?num=50&restrict=linux&\
      hl=en&lr=lang_en&q=%22$search_str%22&btnG=Google+Search"

This uses the shell `read` command to get user input, which is passed to a text web browser. If the user enters nothing, or after the web browser exits, then the script exits also, effectively closing the Tab. (The google search parameters also include some personal preferences that might be customized as well.)

### Look up a word in a Dictionary

      #!/bin/sh
      txt_browser=w3m

      read -e -p "Look up: " word
      [ -z "$word" ] && exit
      $txt_browser "http://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va\
       =$(echo "$word" | sed 's/ /+/')"

This looks up any word in the Merriam-Webster on line dictionary, also using `read` and a text browser, like above.

### A better netstat watcher

Above we had an example of `watch netstat -tn` that displays a continually self updating display of all our network connections. But `watch` wants to put a clock on the screen, and as it updates the Tab titles alternate from `blue` to `red` every 2 seconds as the screen updates. Very annoying IMO!

So here is a short script to do most of the same thing. It just writes the `netstat` output to a file, and only dumps this file to screen when and if the `netstat` output changes. It also uses some filters to eliminate some things we (errr, I) did not want to be bothered with (e.g. `CLOSE_WAIT` condition, see the `netstat` man page).

      #!/bin/sh
      # display netstat output only if it changes

       tmp_file=/tmp/_netstat
       exclude='127\.0\.0.*127\.0\.0\|_WAIT'
       command="netstat -tn |grep -v \"$exclude\""
       eval $command |tee $tmp_save.sav
       while :; do
         eval $command > $tmp_file.tmp
         ! diff $tmp_file.tmp $tmp_save.sav && clear && cat $tmp_file.tmp |tee $tmp_save.sav
         sleep 2
       done

Now the Tab title will only change color when the connections change, and we are alerted accordingly.

### Starting with Split Tab

To have &term; start with a split Tab, create a short script like below. Name it something like `add-htab.sh`.

      #!/bin/sh
       multi-gnome-terminal --add-tab --hsplit

Now go into Edit Commands, and add a new startup Tab (lower listbox). Use `add-htab.sh` as the command to open the Tab. Save and apply changes, and make sure Don't open startup tabs is unchecked. Now, when &term; is started, it will be started with a split window. Remember too, you can have different startup commands for different classes.

Maybe you prefer just typing simple commands rather than going through the GUI, or defining a keyboard shortcut? Sometimes this is simpler. Some ideas using bash aliases ...

A simple bash alias to just create a new Tab in the current Window:

      alias m="multi-gnome-terminal  --add-tab"

Now, create a Tab and running the `vim` editor at the same time:

      alias me="multi-gnome-terminal  --add-tab  --tname=Vim  -x vim"

The Tab, of course, closes neatly whenever you exit `vim`.

Now, a open a man page in its own Tab:

      alias mm="multi-gnome-terminal  --add-tab  --tname=Man  -x  /usr/bin/man"

Maybe we want to work in one terminal, and be able to read the man page in the same Window at the same time. So we will do the same here, except just split the current Tab:

      alias mmh="multi-gnome-terminal  --hsplit  -x /usr/bin/man"

Maybe you have better ideas ;-)

If you have any cool command tricks, please submit to: multignometerm-devel@lists.sourceforge.net.

## Appendix: Screenshots

### Screenshot with Menubar, Toolbar, Buttonbar, and Shadowed Text on Pixmap Background

Screenshot 1

Notice there are four Tabs here, with the second one being the current Tab. This one also shows the Tab label and Window title can be the same with some applications (configurable option).

### Screenshot of Edit Commands Window with various custom Commands

Screenshot 2

Note the Class here is specified as screenshots, and that Class has one custom start-up Tab called Home. The user is in the process of defining a new Tab, that will use `ssh` to start a remote shell on another host.

### Screenshot of Keybindings Window with Default Settings

Screenshot 3

### Screenshot with Toolbar and Buttonbar disabled and with Shadowed Text

Screenshot 4

This also shows how text shadowing helps with text against a similarly colored background.

### Screenshot Showing Horizontal and Vertical Splitting

Screenshot 5

This shows a total of five terminals opened within the same Window using the `HShell` and `VShell` splitting features.

### Horizontal Split with a View Terminal

Screenshot 6

This one shows a horizontal split with a regular user shell in the top, and a View of `tail -f /var/log/messages` running on another host via `ssh` in the lower terminal. Tabs are on the bottom in this shot.

### Screenshot Showing Multiple Mailboxes

Screenshot 7

There are five Tabs in this shot, four of which are different mailboxes. Also, one Tab is just a normal shell. Notice two Tabs are blue, so they are changed since last viewed, and presumably have new mail waiting.

I'll be back!