eterm/doc/Eterm.1.in

2329 lines
65 KiB
Groff

.TH ETERM 1 "@DATE@" "X Version 11" "X Tools"
.SH NAME
Eterm - the Enlightened terminal emulator for the X Window System
.SH SYNOPSIS
.B Eterm
.RI [ options ]
.SH DESCRIPTION
.PP
.B Eterm
\(em version
.B @VERSION@
\(em is a color vt102 terminal emulator intended as an
.IR xterm (1)
replacement. It is designed with a Freedom of Choice philosophy, leaving as
much power, flexibility, and freedom as possible in the hands of the user.
It is designed to look good and work well, but takes a feature-rich approach
rather than one of minimalism.
.B Eterm
uses Imlib for advanced graphic abilities. See below for details.
.SH OPTIONS
The
.B Eterm
options are listed below.
In keeping with the freedom-of-choice philosophy, options may be eliminated
or default values chosen at compile-time, so options and defaults listed
may not accurately reflect the version installed on your system.
Options that do not take a parameter (besides -h and --help) are boolean. If
you use the POSIX (short) option, you are forcing the parameter to "true". If
you use the long option, you can use any of the accepted boolean values, which
are "yes", "on", "1", and "true" to turn the option on, or "no", "off", "0", or
"false" to turn the option off. The same is true for boolean values in the
configuration file.
.LP
.TP
.BI \-t " theme" ", \-\-theme " theme
Load specified
.I theme\.
Consult the FAQ for more details on what constitutes an Eterm
.I theme\.
.TP
.BI \-X " conffile" ", \-\-config-file " conffile
Use an alternative user config file name. Otherwise Eterm uses the default,
which is
.I user.cfg\.
The theme config file is always
.I theme.cfg\.
.TP
.BI \-d " displayname" ", \-\-display " displayname
Attempt to open a window on the named X display
.I displayname.
In the absence of this option, the display specified by the
.B DISPLAY
environment variable is used.
.TP
.BI \-\-debug " level"
Show debugging output.
.I level
is an integer between 0 and 5 which determines how verbose the debugging
output is.
.TP
.B \-\-install
Tells Eterm to install its own colormap rather than using the default
one.
.TP
.BR "\-h" , " \-\-help"
Print out a message describing available options.
.TP
.BR \-\-version
Print
.B Eterm
version and compile-time configuration.
.TP
.BR "\-r" , " \-\-reverse-video"
Reverse video, swaps the foreground and background colors.
.TP
.BI \-b " color" ", \-\-background-color " color
Set
.I color
as the background color.
.B NOTE:
this will actually be the foreground color if reverse video is also
selected.
.TP
.BI \-f " color" ", \-\-foreground-color " color
Set
.I color
as the foreground (text) color.
.B NOTE:
this will actually be the background color if reverse video is also
selected.
.TP
.BI \-\-color0 " color"
.TP
.BI ...
.TP
.BI \-\-color15 " color"
Use
.I color
as color X.
.TP
.BI \-\-colorBD " color"
Use
.I color
as the bold color.
.TP
.BI \-\-colorUL " color"
Use
.I color
as the underline color.
.TP
.BI \-\-pointer-color " color"
Use
.I color
as the pointer color.
.TP
.BI \-c " color" ", \-\-cursor-color " color
Use
.I color
as the cursor color.
.TP
.BI \-\-cursor-text-color " color"
Use
.I color
as the cursor text color.
.TP
.BI \-g " geom" ", \-\-geometry " geom
Window geometry as Width x Height+X coord+Y coord, i.e 100x200+0+100
.TP
.BR "\-i" , "\-\-iconic"
Start in iconified state (only if the window manager supports
iconification).
.TP
.BI \-n " name" ", \-\-name " name
Sets name of current instance to
.I name.
This will affect the icon title and the window title string unless
they are otherwise explicitly set.
.TP
.BI \-T " title" ", \-\-title " title
Sets window's title text to
.I title.
.TP
.BI \-\-icon-name " text"
Sets the icon title text to
.I text.
.TP
.BI \-B " type" ", \-\-scrollbar-type " type
Specifies the
.I type
scrollbar style should be used.
.I type
can be any of
.BR "motif" ", " "xterm" ", or " "next" "."
.TP
.BI \-\-scrollbar-width " width"
Set the width of the scrollbar, in pixels, to
.IR width "."
Eterm does not impose any restrictions on this value, but it should be reasonable.
.TP
.BI \-D " desktop" ", \-\-desktop " desktop
Starts the Eterm on the specified desktop.
.I desktop
should be an integer between 0 and your highest-numbered desktop.
.BR "NOTE" ": "
You must have a GNOME-compliant window manager for this feature to work. Please see
http://www.gnome.org/devel/gnomewm/ for more information on the
.B _WIN_WORKSPACE
property and how to support it.
.TP
.BI \-\-line-space " num"
Size of the extra gap, in pixels, to provide between lines in the terminal window.
.TP
.BI \-\-bold-font " font"
Sets the bold text font to
.IR font .
.TP
.BI \-F " font" ", \-\-font " font
Sets the normal text font to
.IR font .
.TP
.BI \-\-default-font\-index " num"
Specifies the index of the default (normal) text font.
.TP
.BI \-\-font1 " font"
.TP
.BI ...
.TP
.BI \-\-font4 " font"
Sets the font at the specified index (1-4) to
.IR font .
.TP
.BR \-\-proportional
Specifies that the font in use is proportional and requests standard
deviation-based character cell spacing. Terminals must use
fixed-width character cells to maintain proper columnal alignment,
even when proportionally-spaced fonts are in use. Some
proportionally-spaced fonts vary greatly between the minimum and
maximum character widths. This option chooses a character cell size
which is up to two standard deviations above the average character
width but will not exceed the maximum width of the largest glyph.
Note that characters larger than the chosen cell width will overwrite
(or be overwritten by) other characters and may tend to leave pixel
droppings. This behavior is an expected side-effect of an imperfect
scenario. If you object to this behavior, do not use this option.
.TP
.BI \-\-font-fx " effects"
Specifies the effects to apply to the terminal window font. The value
of
.I effects
is a single string containing a series of corner/color pairs. These
pairs define toward which corner a drop shadow of each character
should be made, and what color that shadow will be. The corner is
specified first using the following keywords:
.BR top_left " or " tl ", "
.BR top_right " or " tr ", "
.BR bottom_left " or " bl ", and "
.BR bottom_right " or " br .
Each corner specifier is then followed by a color.
There are also several shortcuts for doing common effects. You can
get a single-color outline by using the keyword
.B outline
followed by a color. A single-color drop shadow is also available
using the keyword
.B shadow
followed by an optional corner specifier
.BR "" "(" bottom_right " being the default)"
and a color. For a 3-D embossed look, use
.BI emboss " dark_color"
.IR light_color .
The opposite effect, a carved-out look, can be obtained with
.BI carved " dark_color"
.IR light_color .
(Of course, with those last two, the 3-D look will only work if you
choose the light and dark colors wisely.)
Finally, for no font effects at all, simply specify the keyword
.BR none .
The default value is
.B bottom_right black
which yields a black drop shadow, greatly improving the visibility of
lightly-colored fonts on top of light spots in a background image.
Note that font effects are not active in solid color mode.
.TP
.BI \-P " pic" ", \-\-background-pixmap " pic
Use
.I pic
as the background image.
.I pic
can be in any format that Imlib understands. Currently this means just
about anything, including JPG, PNG, GIF, TIFF, PPM, etc. The image is
tiled by default. To specify alternate geometry, follow the filename
with an
.B @
sign and the geometry string. Image geometry is specified as
.BI @ w x h + x + y : ops
where
.IR w " and " h
are the horizontal/vertical scaling percentages,
.IR x " and " y
are the horizontal/vertical alignment percentages, and
.I ops
is a colon-delimited list of operations:
.BR tiled " (to tile the image), "
.BR propscaled " (for proportional scaling)."
Note that these operations can be combined for various effects.
.TP
.BI \-I " pic" ", \-\-icon " pic
Sets the icon pixmap file to
.IR "pic" "."
Works similarly to the
.B -P
option above.
.TP
.BI \-\-up-arrow-pixmap " pic"
As above, except the scrollbar's up-arrow is set.
.TP
.BI \-\-down-arrow-pixmap " pic"
As above, except the scrollbar's down-arrow is set.
.TP
.BI \-\-trough-pixmap " pic"
As above, except the scrollbar's background (trough) is set.
.TP
.BI \-\-anchor-pixmap " pic"
As above, except the scrollbar's anchor image is set.
.TP
.BI \-\-menu-pixmap " pic"
As above, except the menu background image is set.
.TP
.BR "\-O" , " \-\-trans"
This gives a pseudo-transparent Eterm. The image is taken directly from the
root window, so any requests for changing the pixmap are ignored. If you do
not use Enlightenment (http://www.enlightenment.org/) as your window manager
(or another compliant window manager...I have been told that WindowMaker works
also), you will need to use the
.I Esetroot
program (found in the
.B utils/
directory) to set your root background image.
.TP
.BR \-0 ", " \-\-itrans
Activate the immotile transparency optimization for transparent Eterm
windows. Note that this does NOT activate transparency; you must
still include the
.BR \-O " or " \-\-trans
option. This option should be used on transparent windows which are
shaded or tinted and which do not move around on the desktop much.
See the
.B "Mon Mar 6 21:11:13 PST 2000"
ChangeLog entry for a more detailed explanation.
.TP
.BR \-\-viewport-mode
This activates a special Eterm mode which is hard to describe in words.
Basically, imagine the effect you get with pseudo-transparency, where
the desktop background moves through the Eterm window as you move the
window, so that it always aligns with the desktop image. Now, imagine
the same effect, but the image used isn't the desktop image but any
pixmap you choose. The image is scaled or tiled up to the size of the
desktop, and dragging the Eterm around the screen reveals different
portions of the image as you move, much like a small viewport window
in a ship or submarine does. The effect is especially keen if you
open several Eterms in this mode with the same image.
.TP
.BI \-\-shade " percentage"
Shade the background image/transparency by a specified percentage.
.TP
.BI \-\-tint " mask"
.TP
.BI \-\-tint " color"
Tints the background pixmap (either an image file or the transparent
portion can be shaded). The
.I mask
is an integer, usually specified in hexadecimal in the form
.BR " " "0x" "RRGGBB" ","
where
.BR "RR" ", " "GG" ", and " "BB"
are hexadecimal numbers between
.BR "00" " and " "ff" " (" "0" " and"
.BR "255" " decimal)"
which represent the brightness of the image's red, green, and blue
values, respectively. A value of
.B 00
will mask that color out entirely, while a value of
.B ff
will not change that color at all.
You may also specify an X
.I color
such as
.BR grey75 " or " MidnightBlue " or " "#babb7f"
instead of a
.IR mask .
.TP
\fB\-\-cmod\fR \fIbrightness\fR [ \fIcontrast\fR [ \fIgamma \fR] ]
Specifies a color modifier to apply to the image overall. Each of the three
values is a number greater than or equal to 0. The numbers can be specified as
decimal, octal (if preceded by "0"), or hexadecimal (if preceded by "0x").
A value of 256 (0x100) represents 100%, or "leave that value unchanged."
0 represents 0%, 512 (0x200) is 200%, etc. However, be aware that overflow
can occur with excessively high values. Only the
.I brightness
value is required for this option. Keep in mind, though, that you must
specify
.IR brightness " with " contrast ", and both of these with " gamma "."
.TP
\fB\-\-cmod\-red\fR \fIbrightness\fR [ \fIcontrast\fR [ \fIgamma \fR] ]
Same as above, except that the modifier applies to the red values of the
image.
.TP
\fB\-\-cmod\-green\fR \fIbrightness\fR [ \fIcontrast\fR [ \fIgamma \fR] ]
Same as above, except that the modifier applies to the green values of the
image.
.TP
\fB\-\-cmod\-blue\fR \fIbrightness\fR [ \fIcontrast\fR [ \fIgamma \fR] ]
Same as above, except that the modifier applies to the blue values of the
image.
.TP
.BI \-p " newpath" ", \-\-path " newpath
Sets the pic search path. When the
.B --background-pixmap
or other pixmap options are used, this path will be used to find the
image.
.TP
.BI \-\-cache " size"
Specify the
.I size
in bytes for the Imlib2 cache.
.TP
.BI \-N " list" ", \-\-anim " list
Specifies an animation list to be use in cycling the background pixmap. The
.I list
consists of two or more words. The first word defines the delay, in seconds,
between updates of the background. This should be set to a reasonable value
to insure that Eterm doesn't spend all its time rendering backgrounds. All
remaining words specify background images and have the same syntax as
the
.B \-P
option above, including the optional geometry string.
.TP
.BI \-M " font" ", \-\-mfont " font
Sets the normal multibyte text font to
.I font.
.TP
.BI \-\-mfont1 " font"
.TP
.BI ...
.TP
.BI \-\-mfont4 " font"
Sets multibyte font X to
.I font.
.TP
.BI \-\-mencoding " encoding"
Sets multichar encoding mode (eucj or sjis or euckr)
.TP
.BI \-\-input-method " method"
Sets XIM input method
.TP
.BI \-\-preedit-type " type"
Sets XIM preedit type
.TP
.BR "\-l", " \-\-login-shell"
Makes the new shell a login shell.
.TP
.BR "\-s", " \-\-scrollbar"
Enables the scrollbar. (Default)
.TP
.BR "\-u", " \-\-utmp-logging"
Tries to enable proper utmp logging. For this to work, Eterm probably needs
to run setuid or setgid, usually setuid root.
.TP
.BR "\-v", " \-\-visual-bell"
Enables the "visual bell". Means the window will flash or blink rather
than beep.
.TP
.BR "\-H", " \-\-home-on-output"
Jump to bottom on output.
.TP
.BR "\-\-home-on-input"
Jump to bottom on input.
.TP
.BR \-q ", " \-\-no-input
Keeps Eterm from accepting keyboard input, and keeps the window
manager from focusing it. Useful for log tailers and such.
.TP
.BR "\-\-scrollbar-right"
Display scrollbar on the right hand side.
.TP
.BR "\-\-scrollbar-floating"
Display the scrollbar without a trough.
.TP
.BR "\-\-scrollbar-popup"
Display the scrollbar only when the Eterm window is focused.
.TP
.BR "\-x", " \-\-borderless"
This option forces Eterm to have no borders.
.TP
.BR "\-S", " \-\-sticky"
Start Eterm as a sticky window (shows on all desktops)
.TP
.BR "\-m", " \-\-map-alert"
Un-iconify on beep.
.TP
.BR "\-8", " \-\-meta8"
Causes the Meta key to set the 8th bit in the char.
.TP
.BR "\-\-double-buffer"
Rather than drawing text directly onto the window, this option causes
Eterm to allocate an additional pixmap the size of the terminal window
into which the background *and* the text are rendered. This pixmap is
then set as the window background. Double-buffering uses additional
memory in the X server, but it allows Eterm to ignore expose events so
redraws are faster.
.TP
.BR "\-\-no-cursor"
Disables the text cursor.
.TP
.BR \-\-pause
After the child process terminates, Eterm will wait for a keypress
before exiting.
.TP
.BR \-\-xterm-select
Duplicate's xterm's treatment of cutchars. The only real difference is
what happens when you double click on a single cutchar between two
words. If this option is on, only that single character gets selected.
If it is off, that character is selected along with the two words. The
latter behavior is useful for double-clicking on the space between someone's
first and last names, or the @ sign in an e-mail address, etc.
.TP
.BR \-\-select-line
If activated, this option causes a triple click to select the entire line
from beginning to end. If off, a triple-click selects just from the current
word to the end of the line.
.TP
.BR \-\-select-trailing-spaces
Determines whether or not trailing spaces in a selection are maintained (on)
or discarded (off).
.TP
.BR \-\-report-as-keysyms
Reports certain keystrokes as keysyms and modifiers rather than escape sequences.
.B NOTE:
This option is intended for use only with programs that support this special Eterm
mode. Do not enable it unless you are executing a program which uses this mode.
.TP
.BR \-\-buttonbar
Toggle the display of all buttonbars.
.TP
.BR \-\-resize-gravity
If true, Eterm will automatically detect the nearest corner, and
font-change resizes will cause the Eterm window to gravitate toward
that corner.
.TP
.BR \-\-overstrike-bold
If true (default), Eterm will simulate a bold font by printing each
character twice, offsetting the second pass by one pixel. This makes
the characters seem thicker without the need for a special font. You
may wish to disable this if you use a specific color for bold.
.TP
.BR \-\-bold-brightens-foreground
If true (default), Eterm will use the "bold" ANSI color attribute to
brighten the foreground color by using the high-intensity colors (8
through 15) rather than the low-intensity colors (0 through 7). Note
that having a specific color selected for bold will override this.
.TP
.BR \-\-blink-brightens-background
If true (default), Eterm will use the "blink" ANSI color attribute to
brighten the background color by using the high-intensity colors (8
through 15) rather than the low-intensity colors (0 through 7).
.TP
.BR \-\-colors-suppress-bold
If true (default), any colored text (that is, any text not rendered
using the default foreground color) will not be given any other
special treatment for bolding (e.g., bold font or bold overstrike).
.TP
.BI \-\-big-font-key " keysym"
Specify a keysym to increase the font size. Default is Shift and the +
key on the keypad. Ctrl-> or Meta-> may also work (if you #define one
of the hotkeys in src/feature.h).
.TP
.BI \-\-small-font-key " keysym"
Specify a keysym to decrease the font size. Default is Shift and the -
key on the keypad. Ctrl-< or Meta-< may also work (if you #define one
of the hotkeys in src/feature.h).
.TP
.BI \-\-meta-mod " num"
Specify which X modifier (1-5) to treat as the Meta key. See
.IR xmodmap (1)
and the output of
.B xmodmap -pm
for more details.
.TP
.BI \-\-alt-mod " num"
Same as
.BR \-\-meta-mod ","
but for the Alt key.
.TP
.BI \-\-numlock-mod " num"
Same as
.BR \-\-meta-mod ","
but for the NumLock key.
.TP
.BI "\-\-greek-keyboard" " mode"
Use Greek keyboard mapping (iso or ibm).
.TP
.BR \-\-app-keypad
Start Eterm in application keypad mode (as opposed to normal keypad mode).
.TP
.BR \-\-app-cursor
Start Eterm in application cursor key mode (as opposed to normal cursor
key mode).
.TP
.BI \-L " num" ", \-\-save-lines " num
Set the number of lines in the scrollback buffer to
.I num.
.TP
.BI \-a " size" ", \-\-min-anchor-size " size
Specifies the minimum size, in pixels high, of the scrollbar anchor.
.B NOTE:
This causes abnormal scrolling behavior when combined with large
scrollback buffers!
.TP
.BI \-w " width" ", \-\-border-width " width
Set the window's border width to
.I width.
The border this controls is the gap between the edge of the X window and
the edge of the terminal window; this has nothing to do with the window
border's your window manager supplies.
.TP
.BI \-\-print-pipe " pipe"
The pipe for the PrintScreen function.
.TP
.BI \-\-cut-chars " separators"
The seperators for double-click selection.
.TP
.BI \-\-finished-title " title"
Specifies the string Eterm should add to its title bar if
.B \-\-pause
is specified and the child process completes.
.TP
.BI \-\-finished-text " text"
Same as above, but displays text in the terminal window.
.TP
.BI \-\-term-name " TERM"
Use
.I TERM
for the value $TERM.
.TP
.BI \-\-pipe-name " pipe"
Specifies a named pipe from which to display output. This is useful
for systems where syslog output goes to a named pipe, like
.B /dev/xconsole
on Debian.
.TP
.BI "\-a " "line" ", \-\-attribute " "line"
This option is used to pass config file attributes on the command
line.
.I line
should be a single string, so you will almost certainly have to quote
it. The first word of
.I line
must be the context (see config file section below) which should parse
the rest of the
.IR line .
So, for example, you could specify the foreground color like so:
.BR "-a 'color foreground blue'" .
Or you could add a binding:
.BR "-a 'actions bind anymod button1 to script exit'" .
Note that this option may only be used with config file attributes
that are not context-sensitive; i.e., menus and imageclasses cannot be
specified using this option.
.TP
.BR "\-C", " \-\-console"
Grab console messages. Depending on your system, Eterm may need to be
setuid root to do this.
.TP
.BI \-e " command" ", \-\-exec " command
Execute
.I command
rather than a shell. Forces Eterm mode.
.TP
.BI \-U " URL" ", \-\-url " URL
Pick up a "screen" session at
.I URL
rather than a local (-U "") one. URLs look like so
(screen://user@host.dom:port/screen_options), with all parts optional,
defaulting to "screen://current_user@localhost:22/-RDD". Forces Escreen mode,
overrides \-\-exec. Note that only screen-options (see "man screen") are
allowed; do not pass a command (with or without arguments) here: to pass
a command to the screen-session, use
.I screen [<options>] <command> [<args>]
instead.
.TP
.BI \-Z " lclport:fw:fwport,delay" ", \-\-fw " lclport:fw:fwport,delay
The URL given to \-U is in an intranet behind firewall
.I fw
so we'll build an SSH-tunnel to that firewall (to port 22/SSH, or
.I fwport
if given) from our local machine (using any available port-number, or
.I lclport
if given). Then, after
.I delay
seconds (or a sensible default if not given), we will try to open a
screen session on the host behind the firewall using
.I ssh -p localport ... localhost screen
cf.
.I ssh -L
.SH THEMES
Eterm is built on the philosophy of Freedom of Choice. Each user
should be able to choose the environment in which he or she wishes to
exist, and the tools used should support that. In accordance with
that philosophy, Eterm is extremely configurable. Eterm supports a
concept called "themes," which should be familiar to users of
Enlightenment, icewm, or Microsoft Windows 95/98/NT. The general
concept of a theme is a collection of resources that change as many
aspects of a programs look and feel as possible. For example, an
Enlightenment theme allows you to customize menus, window borders,
desktops, icons, iconbars, and everything else about how E looks and
feels.
An Eterm theme consists of a primary configuration file, always called
"theme.cfg", residing in a directory bearing the same name as the
theme. This directory must be a child of one of the directories
specified by CONFIG_SEARCH_PATH in src/feature.h. The theme may also
contain additional configuration files referenced by the primary
theme.cfg file, as well as pixmaps, menu files, documentation, etc.,
which are allowable as extensions to the minimum requirement of an
Eterm theme.
By convention and default, Eterm themes should be stored under
~/.Eterm/themes/<theme_name>/ or @THEMEDIR@/<theme_name>.
Eterm now supports the existence of a user configuration file as a
supplement to the theme configuration file. The default name for this
file is user.cfg, and it follows the exact same syntax as any other
configuration file. It is searched for using the same algorithm used
for the theme.cfg file, and any settings in the user.cfg will override
any previous values for those settings defined by the theme. Thus, it
is recommended that any user.cfg files not be complete config files,
but rather only contain those values which the user wishes to
explicitly override.
NOTE: If you have a user.cfg file in the Eterm theme directory or in
~/.Eterm/, it will override
.B any
previous settings, even if you are running a different theme. For
example, if you run the trans theme, but
~/.Eterm/themes/Eterm/user.cfg has a mode line which sets the image
mode to "image" rather than "trans," you will not get transparency.
This is why user.cfg files should be kept small and only override
settings that you know you want to enforce. If, on the other hand,
you were running the trans theme and had a user.cfg file in the trans
theme (or in ~/.Eterm/themes/trans/), that user.cfg would be found
before the one in the Eterm theme.
Almost all command line options can be enabled/disabled in the theme's
configuration file (the default is @THEMEDIR@/Eterm/theme.cfg). The
next section contains details on the format and usage of the
configuration file.
.SH CONFIGURATION
Since Eterm @VERSION@ is based on the concept of themes, it is vital
that you have a thorough understanding of the previous section before
taking on this one. The previous section and this one were written by
the same person who wrote the Eterm code which handles options, config
files, and themes, so it's probably the most authoritative
documentation on the subject you're going to find.
From here on out, I will assume you've read the above text and know
how to change the default value for the theme. It is highly
recommended that you have a copy of the Eterm theme config file that
comes with Eterm handy while you read this documentation.
Okay, first the general idea. The theme.cfg file is composed of
comments and non-comments. Comments begin with a pound sign and
continue to the end of the line. Lines of whitespace are also
ignored. The rest of the file is the config stuff, which is divided
into sections (called "contexts") and variables (called "attributes").
There are several contexts which are listed below in sections. Each
attribute must be inside a certain context to be valid. For instance,
while the "foreground" attribute is perfectly acceptable in the color
context, it would be rejected if found in, say, the toggles context.
This allows for better organization of the config file as well as for
multiple contexts to have attributes of the same name (like the
.B scrollbar
attributes in the color and toggles section).
Each context must be enclosed in a begin...end pair that specifies the
type of section. The statement "begin toggles" starts the toggles
context, and the next "end" statement would terminate it. (You'll
notice that some "end" statements have the context name after them.
This is for readability only; any text after the word "end" is
ignored.)
The rest of this section will contain a step-by-step analysis of the
config file, including what can go in each section. Note that some
attributes (and even entire contexts) may not be available depending
on what support was compiled into Eterm by the person who built it.
.LP
.TP
MAGIC NUMBER
The first line of the config file must contain a "magic number" type
line that lets Eterm verify that it's reading an Eterm config file and
not something else (like an Enlightenment 0.13 and earlier config
file). The line should look like this:
<Eterm-VERSION>
where VERSION is the Eterm version for which the config file is
intended. For example, config files written for Eterm 0.9 should have
"<Eterm-0.9>" as their first line, followed immediately by a newline.
.TP
COLOR CONTEXT
This context contains color specifications. With the exception of
the terminal colors 0-15, all
.IR color s
should be either a valid color name or an RGB string as outlined in the
.IR X11 (7)
man page.
.RS 5
.BI foreground " color"
.RS 5
Use
.I color
for the foreground (text) color.
.RE
.BI background " color"
.RS 5
Use
.I color
for the background color.
.RE
.BI cursor " color"
.RS 5
Use
.I color
for the cursor color.
.RE
.BI cursor_text " color"
.RS 5
Use
.I color
for the cursor text color.
.RE
.BI pointer " color"
.RS 5
Use
.I color
for the mouse pointer color.
.RE
.BR video " { " normal " | " reverse " }"
.RS 5
.B normal
will not reverse the foreground and background colors.
.B reverse
(meaning reverse video) will.
.RE
.BI color " num" " " "color"
.RS 5
Set terminal color
.I num
(0-15) to the color name, string, or set of 3 decimal/hex/octal RGB values
specified by
.IR color .
.RE
.BR color " { " "bd" " | " "ul" " }"
.I color
.RS 5
Set terminal bold
.BR " " "(" bd ") or underline (" ul ") color"
to the color name, string, or set of 3 decimal/hex/octal RGB values
specified by
.IR color .
.RE
.RE
.TP
ATTRIBUTES CONTEXT
This context contains X11 attributes. Most of these are dependent
upon the cooperation of the window manager.
.RS 5
.BI geometry " geom"
.RS 5
Use the geometry string
.I geom
to specify the startup geometry.
.I geom
should be in the format
.BI " " W x H+X+Y
where
.I W
is the width,
.I H
is the height, and
.I +X
and
.I +Y
are the X and Y offsets. If the signs on
.I X
and
.I Y
are positive, the coordinates are offsets (in pixels) from the left and top,
respectively, of the screen. If the signs are negative, the offsets are
relative to the right and bottom of the screen, respectively.
.RE
.BI title " title"
.RS 5
Use
.I title
as the text in the title bar of the Eterm window.
.RE
.BI name " name"
.RS 5
Use
.I name
as the resource name of the Eterm window.
.RE
.BI iconname " name"
.RS 5
Use
.I name
as the icon name of the Eterm window icon.
.RE
.BI desktop " num"
.RS 5
Start Eterm on desktop
.IR num .
.BR NOTE ": "
This requires a GNOME-compliant Window Manager. Please see
http://www.gnome.org/devel/gnomewm/ for more information on the
.B _WIN_WORKSPACE
property and how to support it.
.RE
.BI scrollbar_type " type"
.RS 5
Use a scrollbar with the
.IR type " style. " type " can"
be any of
.BR motif ", " xterm ", or " next "."
.RE
.BI scrollbar_width " num"
.RS 5
Use a scrollbar that is
.I num
pixels wide.
.RE
.BI font " num" " " "font"
.br
.BI "font bold " font
.RS 5
Set the
.IR num th
font, or the
.B bold
font, to
.IR font .
.RE
.BI "font default" " num"
.RS 5
Specifies that the
.IR num th
font should be considered the "default" font.
.RE
.BI "font proportional" " boolean"
.RS 5
Specifies that the font in use is proportional and requests standard
deviation-based character cell spacing. Terminals must use
fixed-width character cells to maintain proper columnal alignment,
even when proportionally-spaced fonts are in use. Some
proportionally-spaced fonts vary greatly between the minimum and
maximum character widths. This option chooses a character cell size
which is up to two standard deviations above the average character
width but will not exceed the maximum width of the largest glyph.
Note that characters larger than the chosen cell width will overwrite
(or be overwritten by) other characters and may tend to leave pixel
droppings. This behavior is an expected side-effect of an imperfect
scenario. If you object to this behavior, do not use this option.
.RE
.BI "font fx" " effects"
.RS 5
Specifies the effects to apply to the terminal window font. The value
of
.I effects
is a single string containing a series of corner/color pairs. These
pairs define toward which corner a drop shadow of each character
should be made, and what color that shadow will be. The corner is
specified first using the following keywords:
.BR top_left " or " tl ", "
.BR top_right " or " tr ", "
.BR bottom_left " or " bl ", and "
.BR bottom_right " or " br .
Each corner specifier is then followed by a color.
There are also several shortcuts for doing common effects. You can
get a single-color outline by using the keyword
.B outline
followed by a color. A single-color drop shadow is also available
using the keyword
.B shadow
followed by an optional corner specifier
.BR "" "(" bottom_right " being the default)"
and a color. For a 3-D embossed look, use
.BI emboss " dark_color"
.IR light_color .
The opposite effect, a carved-out look, can be obtained with
.BI carved " dark_color"
.IR light_color .
(Of course, with those last two, the 3-D look will only work if you
choose the light and dark colors wisely.)
Finally, for no font effects at all, simply specify the keyword
.BR none .
The default value is
.B bottom_right black
which yields a black drop shadow, greatly improving the visibility of
lightly-colored fonts on top of light spots in a background image.
Note that font effects are not active in solid color mode.
.RE
.RE
.TP
IMAGECLASSES CONTEXT
This context contains global image attributes. It also provides the
parent context for defining images via the "image" context.
.RS 5
.BI icon " filename"
.RS 5
Use
.I filename
as the icon image for the Eterm window.
.I filename
can be an absolute path, relative to the current theme, or relative to
one of the directories in the
.B path
attribute listed below.
.RE
.BI cache " num"
.RS 5
Sets the Imlib2 cache size to
.I num
bytes. The default is 0.
.RE
.BI path " directory_list"
.RS 5
Specifies a colon-delimited list of directories relative to which
Eterm should search for image and menu files. The syntax for
.I directory_list
is precisely the same as that of the
.B $PATH
environment variable in UNIX shells.
.RE
.BI anim " interval" "" " images ..."
.RS 5
Specifies an animation list to be use in cycling the background pixmap. The
.I interval
defines the delay, in seconds, between updates of the background.
This should be set to a reasonable value to insure that Eterm doesn't
spend all its time rendering backgrounds. All the
.I images
specify background images and have the same syntax as the
.B \-P
option above, including the optional geometry string.
.RE
.RE
.TP
IMAGE CONTEXT
This context defines all the attributes of a particular image. There
can be (and usually are) several image contexts per theme, one for
each class of image.
.RS 5
.BI type " class"
.RS 5
Specifies the type, or
.IR class ","
of the image that is going to be defined in that context. This MUST be the
first attribute defined in the image context. Valid classes are:
.BR background ", " trough ", " anchor ", "
.BR up_arrow ", " down_arrow ", " left_arrow ", "
.BR right_arrow ", " menu ", " menuitem ", "
.BR submenu ", " button ", and " buttonbar .
Note that the left and right arrows, while valid, don't do anything just
yet. All the subsequent attributes up to the next
.B type
definition will be applied to that image class.
.RE
.RE
.RS 5
\fBmode\fR \fIinitial_mode\fR [ \fBallow\fR \fIallowed_modes\fR ]
.RS 5
Specifies the initial mode for this image class as well as the modes which
the image class is allowed to use.
.I initial_mode
is the mode that the image will have on startup (unless overridden by
command-line options.
.I allowed_modes
is a list of one or more modes. The image will be prevented from switching
to any mode not listed in the
.B allow
section. If the
.B allow
section is omitted entirely, the image will never be permitted to change
from the
.IR initial_mode "."
If no
.B mode
line is specified for an image class, the default is equivalent to
.BR "mode solid allow solid" "."
Valid mode names are
.BR image " (to use an image), " trans " (for transparency), " viewport " (for viewport mode), "
.BR auto " (for auto mode, which requires Enlightenment 0.16 or better), and " solid " (which is a solid color only)."
.RE
.RE
.RS 5
.BR state " { " normal " | " selected " |"
.BR clicked " | " disabled " } "
.RS 5
This sets the state of the image you are about to define. Up until the next
.B state
attribute that is encountered (or until you change types), all attributes will
apply to that particular state of the image. You should at minimum define the
.B normal
state of the image. It will be used as the default if the attributes
for the other states are not specified. However, each image state has
self-contained options. Therefore, if you define multiple states for
an image class, you must define ALL attributes needed by that state.
The sample themes supplied with Eterm demonstrate how to define 1-,
2-, 3-, and 4-state images.
.RE
.PP
The above attributes affect the image class as a whole. All remaining
attributes in this context affect only the current state of the image class.
.RE
.RS 5
.BI color " fg" " " "bg"
.RS 5
Sets the foreground and background colors for this imageclass. The
foreground color is used for text, and the background color is used
for the object itself. If an invalid color is specified, the default
value for
.I fg
is white, and the default for
.I bg
is black.
.RE
.RE
.RS 5
.BI file " filename"
.RS 5
Sets the filename from which to load the image file. This is used for the
.B image
mode. If you allow the image mode for your image, don't forget to supply an
image file! Note that you can also supply an image geometry string here by
adding an
.B @
symbol and the geometry string to the end of the filename. See below for the
syntax of the geometry string.
.I filename
must be an absolute path or a path relative to one of the directories in the
.B path
attribute. Note that the image is verified and loaded when this attribute is
encountered during parsing.
.RE
.RE
.RS 5
.BI geom " image_geometry"
.RS 5
Specifies the geometry and geometry-related operations which are to be applied
to the image. This attribute only applies to image classes using the
.B image
mode. Image geometry is specified as
.IB w x h + x + y : ops
where
.IR w " and " h
are the horizontal/vertical scaling percentages,
.IR x " and " y
are the horizontal/vertical alignment percentages, and
.I ops
is a colon-delimited list of operations:
.BR tiled " (to tile the image), "
.BR propscaled " (for proportional scaling)."
Note that these operations can be combined for various effects.
.RE
.RE
.RS 5
\fBcmod\fR { \fBimage\fR | \fBred\fR | \fBgreen\fR | \fBblue\fR } \fIbrightness\fR [ \fIcontrast\fR [ \fIgamma\fR ] ]
.br
\fBcolormod\fR { \fBimage\fR | \fBred\fR | \fBgreen\fR | \fBblue\fR } \fIbrightness\fR [ \fIcontrast\fR [ \fIgamma\fR ] ]
.RS 5
Specifies a color modifier to apply to the image. The second keyword determines
whether the modifier will be applied to the image overall, the red values, the
green values, or the blue values. Each of the three parameters is a number
greater than or equal to 0. The numbers can be specified as decimal, octal (if
preceded by "0"), or hexadecimal (if preceded by "0x"). A value of 256 (0x100)
represents 100%, or "leave that value unchanged." 0 represents 0%, 512 (0x200)
is 200%, etc. However, be aware that overflow can occur with excessively high
values. Only the
.I brightness
value is required for this option. Keep in mind, though, that you must
specify
.IR brightness " with " contrast ", and both of these with " gamma "."
.RE
.RE
.RS 5
.BI border " left right top bottom"
.RS 5
Specifies that the image has borders which should not be scaled with the rest of
the image. This is primarily used for images that have a beveled look, so that
the bevel will not end up getting scaled and lose the bevel effect. All four
parameter values are in pixels, just like the equivalent options for E themes
and Gtk+ pixmap themes.
.RE
.RE
.RS 5
.BR bevel " { " up " | " down " } "
.I left right top bottom
.RS 5
Adds a bevel to an image class. This can be done to any image class using the
.BR image " or " trans
modes. The parameters are pixel values which represent the width of each edge
of the bevel. This is especially useful if you want to use tiled images or
transparency for the arrow or anchor scrollbar widgets, or for menus.
.RE
.RE
.RS 5
.BI padding " left right top bottom"
.RS 5
This is used only for the
.B submenu
image class. It defines the amount of pixels on each side to reserve so that
the text will not overwrite part of the image. Works just like the same option
in Enlightenment themes.
.RE
.RE
.RE
.TP
MENU CONTEXT
This context is used to create a menu. There is one instance of this context
per menu, and the menus should be defined in submenu-menu order; i.e., any menu
that refers to another menu (as its submenu) should be defined after the submenu
is defined. Within the menu context, there should be a menuitem subcontext for
each menu item (with the exception of the shorthand for separators).
.RS 5
.BI title " menu_title"
.RS 5
This specifies the title for the menu to be defined. This MUST be the first
attribute given after the "begin menu". The title must be unique amongst all
the menus. It may contain spaces, but don't forget to enclose it in single or
double quotes if it does. Any future references to the menu will use the
title.
.RE
.RE
.RS 5
.BI font " font_name"
.RS 5
Tells Eterm to use
.I font_name
as the font for this menu. If not given, the default terminal font is used.
.RE
.RE
.RS 5
.BR sep " or " -
.RS 5
These symbols can be used as shorthand to insert a separator into the menu.
.RE
.RE
.RE
.TP
MENUITEM CONTEXT
This is a subcontext of the menu context which creates a single item for a menu.
There can be (and usually are) several menuitem contexts per menu.
.RS 5
.BI text " label"
.RS 5
This is the text that is displayed for this menuitem. It is left-justified in
the menu window. It can have spaces, but enclose
.I label
in quotes if it does.
.RE
.RE
.RS 5
.BI rtext " label"
.RS 5
This is text which is right-justified next to the menuitem text. This is
generally used to show what keystrokes correspond to a particular menu item,
like "C-x C-c" for the "Exit" menuitem in an Emacs menu.
.RE
.RE
.RS 5
\fBaction\fR { \fBstring\fR | \fBecho\fR | \fBsubmenu\fR | \fBscript\fR } \fIparam\fI
.br
.B action separator
.RS 5
Specifies the action to occur when the menuitem is chosen. If you specify
.BR separator ","
nothing else is needed. The other action types require a parameter,
.IR param "."
.B string
specifies a string to be sent to Eterm for handling (escape codes, for example).
.B echo
specifies a string to be sent to the client program (for sending commands to a
shell, or keystrokes to an application like emacs or mutt). If you use either
of these action types,
.I param
will be parsed for escape codes (\\a, C-, and the like) before being sent.
.B submenu
specifies a submenu which should be displayed when this item is
selected, and
.I param
is the title of the submenu to show. The submenu must have already been
defined. The
.B script
action type executes the Eterm-builtin script contained in
.IR param .
See the section below for more details on the builtin Eterm functions
allowed for this action type.
.RE
.RE
.RE
.TP
ACTION CONTEXT
Actions are key or mouse button bindings which activate certain
behaviors. Any action that can be triggered through an escape code
can be bound to a key or mouse button, with or without modifiers. You
can also bind menus to keystrokes or mouse buttons.
.RS 5
\fBbind\fR [ \fImodifiers\fR ] { \fIkeysym\fR | \fIbutton\fR } \fBto\fR { \fBstring\fR | \fBecho\fR | \fBmenu\fR | \fB script \fR } \fIparam\fR
.RS 5
Binds a
.IR keysym " or a mouse " button
to an action. The action syntax follows the keyword
.B to
and is identical to the syntax used for menus (see above). There can be any
number of
.I modifiers
(so long as the combination is reasonable) but only one
.IR keysym " or " button "."
Valid
.I modifiers
are
.BR ctrl ", " shift ", " lock ", "
.BR mod1 " through " mod5 ", "
.BR alt ", " meta ", and " anymod " (which allows any modifier)."
If none are given, the keypress must not have modifier keys in use or the action
will not be triggered. Use
.B anymod
to allow any arbitrary modifier key to be used. The
.I keysym
can be given in text (case-sensitive) or as a hex number.
.IR button s
should be specified as
.BR button1 " through " button5 "."
Also note that
.BR alt " and " meta
will be equivalent to one or more of
.BR mod1 " through " mod5 ", "
as well as perhaps each other, based on your modifier settings. You
can view these settings using
.BR "xmodmap -pm" .
See also the
.BR alt_mod " and " meta_mod
options below.
.RE
.RE
.RE
.TP
BUTTON_BAR CONTEXT
The buttonbar is an addition to Eterm 0.9.1 which allows users to have
a fully-customizeable buttonbar at the top or bottom of each terminal
window. Buttons on the buttonbar can be used just like menuitems;
they can popup menus (like a menubar), or they can activate any other
action a menuitem can.
.RS 5
.BI font " font"
.RS 5
Specifies the font in which button labels will be displayed.
.RE
.BR dock " { " top " | " bottom " | "
.BR no " } "
.RS 5
Specify whether or not to dock the buttonbar, and if so, whether to
dock it at the top or the bottom of the Eterm window. Note that only
.BR top " and " bottom
are currently enabled.
.RE
.BI visible " boolean"
.RS 5
Toggle whether or not this particular buttonbar will be visible on
startup.
.RE
\fBbutton\fR [ \fItext\fR ] [ \fBicon\fR \fIfilename\fR ] \fBaction\fR { \fBstring\fR | \fBecho\fR | \fBmenu\fR | \fB script\fR } \fIparam\fR
.RS 5
Binds an action to a button. The usage of
.I param
and the action types work the same here as they do for menuitems.
Also note that you may specify some
.I text
or an
.B icon
or both, but you cannot omit both.
.RE
.RE
.TP
MULTICHAR CONTEXT
Behavior for multi-byte fonts and encodings are defined here. This
context does not exist by default.
.RS 5
\fBencoding\fR { \fBeucj\fR | \fBsjis\fR | \fBeuckr\fR | \fBbig5\fR | \fBgb\fR | \fBiso-10646\fR }
.RS 5
Specifies the encoding method. Patches to support other encoding methods are
encouraged.
.RE
.RE
.RS 5
.BI font " num" " " "font"
.RS 5
Set the
.IR num th
multichar font to
.IR font .
.RE
.RE
.RE
.TP
XIM CONTEXT
This context controls locale-based behavior.
.RS 5
.BI input_method " input_method"
.RS 5
Specify your input method program of choice.
.RE
.RE
.RS 5
.BR preedit_type " { " OverTheSpot " | " OffTheSpot " | "
.BR Root " }"
.RS 5
Specify your preedit type of choice.
.RE
.RE
.RE
.TP
ESCREEN CONTEXT
This context allows for customizations specific to Escreen mode. See
the Escreen section below for more details.
.RS 5
.BI url " protocol" :// user @ host : port / params
.RS 5
Connect to (or create) a particular screen session via a URL-type
construct. Standard URL rules apply. The
.I protocol
should be either
.B screen
(the default) or
.BR twin .
If
.IR user ", " host ", and/or " port
are specified, an ssh connection is made to the remote server using
the given login information. The default is to create/attach to a
local session.
Any
.I params
that are given are passed directly to the underlying protocol and are
separated from each other by a plus sign
.BR "" "(" "+" ")."
.RE
.RE
.RS 5
.BI firewall " localport" : firewall : remoteport
.RS 5
Bounce the connection through a firewall via ssh.
.RE
.RE
.RS 5
.BI delay " secs"
.RS 5
Specify the amount of time to wait before sending the screen/twin
initialization sequence. This is required to insure that the remote
session has been established prior to sending the init sequence.
.RE
.RE
.RS 5
.BI bbar_font " font"
.RS 5
Font to use for the Escreen buttonbar. The default is
.BR "-*-helvetica-medium-r-normal--10-*-*-*-p-*-iso8859-1" .
.RE
.RE
.RS 5
.BR bbar_dock " { " top " | " bottom " | " no " }"
.RS 5
Dock the Escreen buttonbar as specified. Note that only
.BR top " and " bottom
are currently enabled.
.RE
.RE
.RE
.TP
TOGGLES CONTEXT
This context contains boolean variables which can be toggled on or off. Valid
values for the attributes in this section are "yes", "on", "1", and "true" to
turn the option on, or "no", "off", "0", or "false" to turn the option off.
These values are denoted by
.IR boolean .
They all default to false unless otherwise noted.
.RS 5
.BI map_alert " boolean"
.RS 5
If true, Eterm will un-iconify itself when it receives a beep (ASCII 0x07).
.RE
.BI visual_bell " boolean"
.RS 5
If true, Eterm will flash rather than sending a beep.
.RE
.BI login_shell " boolean"
.RS 5
If true, Eterm will prepend '-' to the shell name when calling it. Depending
on your shell, this may modify its startup behavior.
.RE
.BI scrollbar " boolean"
.RS 5
This turns on and off the display of the scrollbar. Default is on.
.RE
.BI utmp_logging " boolean"
.RS 5
If true, Eterm will attempt to make an entry in the utmp file to record the
login information. Eterm may need to run privileged to do this.
.RE
.BI meta8 " boolean"
.RS 5
Toggles the interpretation of the Meta key setting the 8th bit in a
character.
.RE
.BI iconic " boolean"
.RS 5
If true, Eterm will launch as an icon.
.RE
.BI home_on_output " boolean"
.RS 5
Zoom to the bottom of the scrollback buffer on output.
.RE
.BI home_on_input " boolean"
.RS 5
Zoom to the bottom of the scrollback buffer on input.
.RE
.BI no_input " boolean"
.RS 5
If true, Eterm will not accept any keyboard input and will ask the
window manager to not allow it to be focused.
.RE
.BI scrollbar_floating " boolean"
.RS 5
If true, the scrollbar will have no trough.
.RE
.BI scrollbar_right " boolean"
.RS 5
If true, Eterm will put the scrollbar on the right of the window (default is left).
.RE
.BI scrollbar_popup " boolean"
.RS 5
If true, Eterm will hide the scrollbar when the Eterm window loses focus and restore
it when focus is regained. Default is to not change the scrollbar state based on
focus.
.RE
.BI borderless " boolean"
.RS 5
If true, Eterm will run with no window borders. This also means that the
window can not be moved or resized. You will want to specify a
.B geometry
with this attribute.
.RE
.BI double_buffer " boolean"
.RS 5
Rather than drawing text directly onto the window, this causes Eterm
to allocate an additional pixmap the size of the terminal window into
which the background *and* the text are rendered. This pixmap is then
set as the window background. Double-buffering uses additional memory
in the X server, but it allows Eterm to ignore expose events so
redraws are faster.
.RE
.BI no_cursor " boolean"
.RS 5
If true, Eterm will not display a text cursor.
.RE
.BI pause " boolean"
.RS 5
After the child process terminates, Eterm will wait for a keypress
before exiting.
.RE
.BI xterm_select " boolean"
.RS 5
Duplicate's xterm's treatment of cutchars. The only real difference is
what happens when you double click on a single cutchar between two
words. If this option is on, only that single character gets selected.
If it is off, that character is selected along with the two words. The
latter behavior is useful for double-clicking on the space between someone's
first and last names, or the @ sign in an e-mail address, etc.
.RE
.BI select_line " boolean"
.RS 5
If true, this attribute causes a triple click to select the entire
line from beginning to end. If false (default), a triple-click
selects from the current word to the end of the line.
.RE
.BI select_trailing_spaces " boolean"
.RS 5
If true, this attribute causes spaces at the end of a line to be included
as part of the selection text when selecting. The default is to strip
these trailing spaces.
.RE
.BI report_as_keysyms " boolean"
.RS 5
Reports certain keystrokes as keysyms and modifiers rather than escape sequences.
.B NOTE:
This option is intended for use only with programs that support this special Eterm
mode. Do not enable it unless you are executing a program which uses this mode.
.RE
.BI itrans " boolean"
.br
.BI immotile_trans " boolean"
.RS 5
Toggles the immotile transparency optimization for transparent Eterm
windows. Note that this does NOT activate transparency; you must
still activate "trans" mode for the background image. This option
should be used on transparent windows which are shaded or tinted and
which do not move around on the desktop much. See the
.B "Mon Mar 6 21:11:13 PST 2000"
ChangeLog entry for a more detailed explanation.
.RE
.BI buttonbar " boolean"
.RS 5
Toggle the display of all buttonbars.
.RE
.BI resize_gravity " boolean"
.RS 5
If true, Eterm will automatically detect the nearest corner, and
font-change resizes will cause the Eterm window to gravitate toward
that corner.
.RE
.BI overstrike_bold " boolean"
.RS 5
If true (default), Eterm will simulate a bold font by printing each
character twice, offsetting the second pass by one pixel. This makes
the characters seem thicker without the need for a special font. You
may wish to disable this if you use a specific color for bold.
.RE
.BI bold_brightens_foreground " boolean"
.RS 5
If true (default), Eterm will use the "bold" ANSI color attribute to
brighten the foreground color by using the high-intensity colors (8
through 15) rather than the low-intensity colors (0 through 7). Note
that having a specific color selected for bold will override this.
.RE
.BI blink_brightens_background " boolean"
.RS 5
If true (default), Eterm will use the "blink" ANSI color attribute to
brighten the background color by using the high-intensity colors (8
through 15) rather than the low-intensity colors (0 through 7).
.RE
.BI colors_suppress_bold " boolean"
.RS 5
If true (default), any colored text (that is, any text not rendered
using the default foreground color) will not be given any other
special treatment for bolding (e.g., bold font or bold overstrike).
.RE
.BI sticky " boolean"
.RS 5
If true, Eterm will make its window sticky (shows on all desktops).
.RE
.RE
.TP
KEYBOARD CONTEXT
This context contains keyboard-related configuration options.
.RS 5
.BI smallfont_key " keysym"
.RS 5
Specify a keysym to decrease the font size. Default is Shift and the - key on
the keypad. Ctrl-< or Meta-< may also work (if you #define one of the hotkeys
in src/feature.h).
.RE
.BI bigfont_key " keysym"
.RS 5
Specify a keysym to increase the font size. Default is Shift and the + key on
the keypad. Ctrl-> or Meta-> may also work (if you #define one of the hotkeys
in src/feature.h).
.RE
.BI keysym " keysym" " " "string"
.RS 5
Define keysym
.I keysym
to send
.I string
instead of its default.
.I keysym
must be between 0xff00 and 0xffff or Eterm will complain.
.RE
.BI meta_mod " num"
.RS 5
Specify which X modifier (1-5) to treat as the Meta key. See
.IR xmodmap (1)
and the output of
.B xmodmap -pm
for more details.
.RE
.BI alt_mod " num"
.RS 5
Same as
.BR meta_mod ","
but for the Alt key.
.RE
.BI numlock_mod " num"
.RS 5
Same as
.BR meta_mod ","
but for the NumLock key.
.RE
.BI greek " boolean"
.BR " " "{ " "iso" " | " "ibm" " }"
.RS 5
Turn on/off greek keyboard support, and set which greek mode to use.
.RE
.BI app_keypad " boolean"
.RS 5
Turn on/off application keypad mode on startup.
.RE
.BI app_cursor " boolean"
.RS 5
Turn on/off application cursor key mode on startup.
.RE
.RE
.TP
MISC CONTEXT
This context contains miscellaneous attributes that really didn't belong
anywhere else.
.RS 5
.BI print_pipe " command"
.RS 5
Set the command to which to pipe print requests (printscreen) to
.IR command .
.RE
.BI save_lines " num"
.RS 5
Set the number of lines in the scrollback buffer to
.IR num .
.RE
.BI cut_chars " string"
.RS 5
Define the characters used as word delimiters to the characters contained in
.IR string .
.RE
.BI min_anchor_size " num"
.RS 5
Sets the minimum size, in pixels, of the scrollbar anchor (the part your mouse
grabs onto and moves around) to
.IR num .
.RE
.BI border_width " num"
.RS 5
Sets the width of the border between the text window and the X window to
.IR num .
.RE
.BI line_space " num"
.RS 5
Put
.I num
pixels' worth of space between each row of the terminal window.
.RE
.BI finished_title " title"
.RS 5
Specifies that
.I title
should be displayed in the title bar of a paused Eterm when the child
process has completed.
.RE
.BI finished_text " text"
.RS 5
Specifies that
.I text
should be displayed in the terminal window of a paused Eterm when the
child process has completed.
.RE
.BI term_name " name"
.RS 5
Use
.I name
as the
.B $TERM
environment variable, which controls which termcap/terminfo entry gets used.
The default is
.BR Eterm .
.RE
.BI exec " command"
.RS 5
Rather than executing a shell, this will cause Eterm to spawn
.I command
as its child process. You can only have one of these!
.RE
.RE
.TP
BUILT-IN FUNCTIONS
Eterm has a set of built-in functions which are available in config
files. Each one accepts zero or more parameters and outputs a series
of zero or more words. "Words" are defined in shell terms; i.e.,
words are separated by whitespace, and single or double quotes can be
used to encapsulate words which contain whitespace themselves. You
also employ backquotes to execute a command whose output can become
part of the config file itself or can be passed to a built-in function
as its parameter list. Built-in functions and backquotes may be used
anywhere their output would be valid. Built-in functions are prefixed
with the
.B %
character.
.RS 5
.BI %appname()
.RS 5
Returns the application name, a hyphen, and the version number. Currently this
is the string
.BR Eterm-@VERSION@ .
.RE
.BI %exec( command )
.RS 5
Executes
.I command
and returns the result. Basically it's exactly like using backquotes.
.RE
.BI %get( variable )
.RS 5
Retrieve the value of a config file variable. Refer to the
.B %put()
function below.
.RE
.BI %put( "variable value" )
.RS 5
Create a config variable named
.I variable
and assign it the value of
.IR value .
The value can then subsequently be retrieved using
.BI %get( variable )
.RE
.BI %random( params )
.RS 5
This function randomly chooses one of the words which compose
.I params
and returns that. The default themes that come with Eterm use this
function to choose random backgrounds, but backgrounds aren't the only
things that can be randomized with this function. You can randomize
anything...colors, toggles, fonts, tinting, etc.
.RE
.BI %version()
.RS 5
Returns the version number. Currently this
is the string
.BR @VERSION@ .
.RE
.RE
.TP
PREPROCESSING
Eterm supports the
.BI %include " file"
directive to allow for separation of the configuration information into
multiple files. Eterm will load and parse
.I file
just like any other config file, but will treat its contents as if
they replaced the directive itself.
You may also request that the config file be run through an external
preprocessor (such as m4 or cpp) before Eterm reads it. This is done
via the
.BI %preproc " command"
directive. You may specify anything you like for
.I command
so long as it accepts input on STDIN and sends output to STDOUT. See
the
.B menus.cfg
file in the default
.B chooser
theme for an example.
.TP
SCRIPT FUNCTIONS
One of the action types which can be bound to keypresses, mouse
buttons, menuitems, or buttonbar buttons is a
.BR script .
The script must be a single word (i.e., containing no spaces or
enclosed in quotes) and consists of one or more calls to the script
functions below. Each call is separated from the next by a semicolon
.BR "" ( ; ).
Function parameters are enclosed in parentheses; the parentheses are
optional if no parameters are to be passed. Commas and/or whitespace
separate parameters from each other.
.RS 5
.BI copy( buffer )
.RS 5
Copies the current selection to the specified clipboard or cut buffer.
.I buffer
is either a number
.BR 0 - 7 ,
in which case the selection is copied to the cut buffer specified, or
one of the words
.BR clipboard ", " primary ", or " secondary
(or any initial substring thereof), in which case the selection is
copied to the specified clipboard. You may omit
.IR buffer ,
in which case the default buffer is
.B primary
(XA_PRIMARY in Xlib-speak).
.RE
.BI echo( string )
.RS 5
Send the specified
.I string
to the subcommand. Exactly equivalent to the
.B echo
action.
.RE
.BI es_display( cmd ", " params )
.br
.BR "" "Aliases: " es_disp
.RS 5
This is a master function which permits manipulation of Escreen
displays through the use of a series of subcommands. The specified
.I cmd
determines what, if any,
.I params
are permitted. Available subcommands are:
.RS 5
.B goto
- Switch to the specified display (0-9)
.br
.B prev
- Switch to the previous display
.br
.B next
- Switch to the next display
.br
.B toggle
- Toggle display
.br
.B new
- Create a new display. A name for the new display may be passed as a
parameter, or
.B ask
to prompt the user for the name.
.br
.B rename
- Change the name of the current display. A name for the new display
may be passed as a parameter, or
.B ask
to prompt the user for the name.
.br
.B kill
- Terminate the current (or specified) display.
.br
.B watch
- Toggle monitoring of the current/specified display for activity.
.br
.B scrollback
- View the scrollback for the current/specified display.
.RE
.RE
.BI es_region( cmd ", " params )
.br
.BR "" "Aliases: " "es_reg es_win es_window"
.RS 5
This is a master function which permits manipulation of Escreen
display regions through the use of a series of subcommands. The
specified
.I cmd
determines what, if any,
.I params
are permitted. Available subcommands are:
.RS 5
.B goto
- Switch to the specified region (0-9)
.br
.B prev
- Switch to the previous region
.br
.B next
- Switch to the next region
.br
.B toggle
- Toggle region
.br
.B new
- Create a new region. A name for the new region may be passed as a
parameter, or
.B ask
to prompt the user for the name.
.br
.B rename
- Change the name of the current region. A name for the new region
may be passed as a parameter, or
.B ask
to prompt the user for the name.
.br
.B kill
- Terminate the current (or specified) region.
.br
.B only
- Maximize the current/specified region to the full display.
.br
.B watch
- Toggle monitoring of the current/specified region for activity.
.br
.B scrollback
- View the scrollback for the current/specified region.
.RE
.RE
.BI es_statement( statement )
.RS 5
Execute an Escreen (screen/twin) command directly.
.RE
.BI es_reset()
.br
.BR "" "Aliases: " es_rst
.RS 5
Reset the Escreen session
.RE
.BI exec_dialog( command )
.RS 5
The same as
.BR exec / spawn ,
but this function presents the user with a dialog box in which she can
edit/confirm the command to be run and specify additional parameters
if needed.
.RE
.BI exit( message )
.br
.BI exit( code )
.br
.BR "" "Aliases: " "die quit"
.RS 5
Exit Eterm with an optional
.I message
or an integer return
.IR code .
Either parameter may be specified, but not both. If neither is
specified, a
.I code
of
.B 0
(zero) is the default.
.RE
.BI kill( signal )
.RS 5
Sends the specified signal to Eterm's primary child process (either
your shell, or whatever you specify for Eterm to execute). For the
time being,
.I signal
must be numeric.
.B SIGTERM
is the default if
.I signal
is omitted.
.RE
.BI msgbox( message )
.RS 5
Displays a small dialog box containing
.I message
and waits for a keypress before continuing.
.RE
.BI nop()
.RS 5
Does absolutely nothing except waste time. :-)
.RE
.BI paste( buffer )
.RS 5
Pastes the contents of the specified clipboard or cut buffer into the
terminal window.
.I buffer
is either a number
.BR 0 - 7 ,
in which case the selection is pasted from the cut buffer specified, or
one of the words
.BR clipboard ", " primary ", or " secondary
(or any initial substring thereof), in which case the contents of the
specified clipboard are pasted. You may omit
.IR buffer ,
in which case the default buffer is
.B primary
(XA_PRIMARY in Xlib-speak).
.RE
.BI save( type ", " filename )
.RS 5
Save the current theme/user configuration.
.I type
can be either
.BR user " or " theme ;
the default is
.BR user .
.I filename
is the file to which the settings should be saved. It may contain a
path which is either absolute or relative to the theme directory. The
default filename for
.B user
is
.BR user.cfg ,
and the default filename for
.B theme
is
.BR theme.cfg .
.RE
.BI save_buff( filename )
.RS 5
Dumps the contents of the scrollback buffer to the specified file.
.RE
.BI scroll( n )
.RS 5
Scrolls backward or forward in the scrollback buffer.
.I n
is a floating point number followed by an optional unit specifier.
The unit specifier is one of:
.BR lines " or " l "; " pages " or "
.BR p "; or " buffers " or " b .
The floating point number may be separated from the unit specifier by
whitespace or a comma, but it is not required. The floating point
number should be positive to scroll down (forward) and negative to
scroll up (backward). For example, the key sequence Shift-PgUp is
equivalent to
.BR scroll(-1p) .
You may also specify fractional quantities, such as
.B scroll(0.5p)
to scroll down half a page. The default unit if not specified is
.BR lines .
.RE
.BI search( str )
.RS 5
Presents a dialog box into which the user may enter a search term.
The default value is set to
.IR str .
All occurrences of the specified search string are highlighted in the
scrollback buffer, and Eterm jumps back to the most recent one.
Searching again with the same keyword will clear the previous
highlighting.
.RE
.BI spawn( command )
.br
.BR "" "Aliases: " exec
.RS 5
Spawns a secondary child process to execute
.IR command ,
or
.B Eterm
if no value is passed.
.RE
.BI string( string )
.RS 5
The specified
.I string
is parsed via Eterm. This is exactly identical to the
.B string
action.
.RE
.RE
.SH ESCREEN
Escreen is a screen/twin interface layer which allows Eterm to
interoperate with GNU
.B screen
and with Massimiliano Ghilardi's
.B twin
software. This allows Eterm to support multiple subshell sessions
within a single window. On the surface, this feature works similarly
to the "tabbed" sessions offered by programs like
.BR konsole " and " multi-gnome-terminal .
However, Escreen has the advantage of being an interface to existing
software, thus providing additional capabilities like multiple regions
per display, detach/reattach capability, seamless remote session
support, firewall support, and more.
Escreen support is still somewhat experimental and is thus not
compiled into Eterm by default. To enable it, you must compile with
.BR --enable-escreen " and/or " --enable-etwin
(depending on whether you have screen, twin, or both). If you
installed from a package, you can use
.B Eterm --version
and check for either
.BR "+ESCREEN" " (enabled) or " "-ESCREEN" " (disabled)."
For best results, if you wish to use Escreen mode, do so by invoking
Eterm with the Escreen theme
.BR "" "(" "Eterm -t Escreen" ")."
This theme supplies default key bindings, the basic Escreen menu,
color definitions, etc. for use by the Escreen engine. Most
importantly, it supplies the required
.B url
parameter in order to invoke Escreen mode.
Consult the README.Escreen file for more in-depth discussion of
Escreen mode.
.SH AUTHORS
Michael Jennings (mej@eterm.org)
.SH URL(s)
Eterm Home Page -- http://www.eterm.org/
.br
Author's Home Page -- http://www.kainx.org/