Section: User Commands (1)Updated: December 17, 2004Local indexUp
Terminal - GNUstep Terminal Emulator
openapp Terminal [program [arguments ...]]
This manual page documents briefly the
This manual page was written for the Debian distribution
because the original program does not have a manual page.
Terminal provides terminal emulation in a GNUstep environment.
It gives colorized terminals with configurable fonts, and also allows
users to configure shell utilities as GNUstep services.
You can change the fonts used for normal and bold text in the preferences
panel. Terminal will get the metrics for the character cells from the
normal font, so this font really should be a fixed pitch font or things
will look messed up. The bold font should closely match the normal
Terminal assumes that all characters, bold and normal, stay inside
the normal font's bounding box. If they don't, there will be visual
glitches. However, it is more common that a non-fixed pitch font's
bounding box is very large (since it needs to enclose all
characters in the font), so that the terminal window will be very
By default, the command key is used to access key equivalents for menu
entries, and thus can't be used as a meta key in the terminal. If you
have command mapped to the key you want to use as meta, you can enable
will disable all key equivalents in Terminal. The 'proper' solution
to this problem is to remap the command key (and possibly alternate key).
The alternate key will always be treated as meta.
Often, the escape key can be used to emulate a meta key. This means that
in some programs, you might have to press escape twice to get a 'real'
escape, or there will be a delay before it is handled. The 'Send a double
escape...' option causes Terminal to send a double escape when you hit
the escape key (ie. "\e\e"), which should work better (but you can no
longer use the escape key as meta).
Terminal can provide services for other applications by piping the
selection through arbitrary commands. Services are configured in one
of the preferences panel's tabs. The first time you open this tab, a
default set of services will be loaded. To save these where
make_services will actually find them, press 'Apply and save'. This
will also run make_services to update the services list, but it may
take up to 30 seconds for running applications to notice the change.
The 'Add' and 'Remove' buttons add and remove services. Using the
These files can be imported using the 'Import' button, so it is
possible for users to share terminal services definitions. The
extension of the file should be '.svcs'. The default set of services
is such a file located in the application wrapper's resource
directory. If you import a service with the same name as an existing
service, and they aren't identical, the new one will be renamed to
avoid a conflict.
This is the name of the service as it appears in the services menu.
By default, terminal services will be placed in a 'Terminal' submenu
of the Services menu, but you can override this by giving the name a
leading '/'. In this case, you can also use a second '/' to create
your own submenus. (gnustep-gui doesn't support submenus of submenus,
though.) Names must be unique.
The key equivalent for this command, if any. Note that if an
application uses this key for some other menu entry, the key will
activate that menu entry, not the service.
The command line. It is passed to /bin/sh, so any shell commands will
work, and arguments may have to be quoted. A '%p' in the command line
will cause a prompt to be brought up when the service is run. If
input is to be placed on the command line, you can mark the place to
put it at with '%s' (otherwise it will be appended to the command
line). You can use '%%' to get a real '%'.
Run in background/new window/idle window
If a service is set to run in the background, the command will have to
complete before the service will return, and the service can return
output. Otherwise, the command's output will appear in a window.
``new window'' causes a completely new window to be opened (and it will
close automatically when the command is completed if that option is
``idle window'' causes Terminal to try to reuse an existing idle
window. If there is no such window it will open a new window (and that
window won't close automatically).
Ignore/return output (only applies to background services)
If set to ignore, the output of the command will be discarded.
Otherwise, it will be parsed to a string or a bunch of filenames,
depending on the acceptable types. The output is assumed to be utf8
No input/Input in stdin/Input on command line
If set to 'No input', the service won't accept any input. Otherwise
it is necessary to select something to run it, and the selection will
be either piped to the command ('in stdin') or placed on the service's
command line (either at the '%s' or at the end, see above). Input will
be sent to the command utf8 encoded.
Plain text will be sent verbatim to the command. A list of filenames
(possibly just one) will be sent separated by ' ':s (if on the command
line), or newlines (if in stdin).
Commands can be given on the command line which will be run in the
newly opened shell window.
The terminal emulation code is based on Linux's console code, and nearly
all parts of it are handled. Thus, the TERM environment variable is set
to 'linux'. Additionally, 'vt100', 'vt220', 'xterm', and others similar
to these should mostly work. To distinguish Terminal from a 'real'
linux console, the environment variable TERM_PROGRAM is set to
The xterm extensions for setting the window's title are also supported.
You set the title using:
1 sets the miniwindow title, 2 sets the window title, and 0 sets both.