Since Eterm 0.9.6 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 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.
- 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.
- COLOR CONTEXT
-
This context contains color specifications. With the exception
of the terminal colors 0-15, all colors should be either a valid
color name or an RGB string as outlined in the X11(7) man
page.
foreground color
Use color for the foreground (text) color.
background color
Use color for the background color.
cursor color
Use color for the cursor color.
cursor_text color
Use color for the cursor text color.
pointer color
Use color for the mouse pointer color.
video { normal | reverse }
normal will not reverse the foreground and
background colors. reverse (meaning reverse video) will.
color num color
Set terminal color num (0-15) to the color name,
string, or set of 3 decimal/hex/octal RGB values specified by
color.
color { bd | ul } color
Set terminal bold (bd) or underline
(ul) color to the color name, string, or set of 3 decimal/hex/octal RGB
values specified by color.
- ATTRIBUTES
CONTEXT
-
This context contains X11 attributes. Most of these are
dependent upon the cooperation of the window manager.
geometry geom
Use the geometry string geom to specify the
startup geometry. geom should be in the format
WxH+X+Y where W is the width, H is the
height, and +X and +Y are the X and Y offsets. If the signs on
X and 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.
title title
Use title as the text in the title bar of the
Eterm window.
name name
Use name as the resource name of the Eterm
window.
iconname name
Use name as the icon name of the Eterm window
icon.
desktop num
Start Eterm on desktop num. NOTE: This
requires a GNOME-compliant Window Manager. Please see
http://www.gnome.org/devel/gnomewm/ for more information on the
_WIN_WORKSPACE property and how to support it.
scrollbar_type type
Use a scrollbar with the type style. type
can be any of motif, xterm, or next.
scrollbar_width num
Use a scrollbar that is num pixels wide.
font num font
font bold font
Set the numth font, or the bold font, to
font.
font default num
Specifies that the numth font should be considered
the "default" font.
font proportional boolean
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.
font fx effects
Specifies the effects to apply to the terminal window
font. The value of
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:
top_left or
tl,
top_right or
tr,
bottom_left or
bl, and
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 outline followed by a
color. A single-color drop shadow is also available using the keyword
shadow followed by an optional corner specifier
(bottom_right being the default) and a color. For a 3-D
embossed look, use emboss dark_color light_color. The
opposite effect, a carved-out look, can be obtained with carved
dark_color 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
none.
The default value is 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.
- IMAGECLASSES
CONTEXT
-
This context contains global image attributes. It also
provides the parent context for defining images via the
"image" context.
icon filename
Use filename as the icon image for the Eterm
window. filename can be an absolute path, relative to the current
theme, or relative to one of the directories in the path attribute
listed below.
cache num
Sets the Imlib2 cache size to num bytes. The
default is 0.
path directory_list
Specifies a colon-delimited list of directories relative
to which Eterm should search for image and menu files. The syntax for
directory_list is precisely the same as that of the $PATH
environment variable in UNIX shells.
anim interval images ...
Specifies an animation list to be use in cycling the
background pixmap. The 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
images specify background images and have the same syntax as the
-P option above, including the optional geometry string.
- 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.
type class
Specifies the type, or 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: background, trough,
anchor, up_arrow, down_arrow, left_arrow,
right_arrow, menu, menuitem, 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 type definition will be applied to that image class.
mode initial_mode [
allow
allowed_modes ]
Specifies the initial mode for this image class as well
as the modes which the image class is allowed to use. initial_mode is
the mode that the image will have on startup (unless overridden by
command-line options. allowed_modes is a list of one or more modes. The
image will be prevented from switching to any mode not listed in the
allow section. If the allow section is omitted entirely, the
image will never be permitted to change from the initial_mode. If no
mode line is specified for an image class, the default is equivalent to
mode solid allow solid. Valid mode names are image (to use an
image), trans (for transparency), viewport (for viewport mode),
auto (for auto mode, which requires Enlightenment 0.16 or better), and
solid (which is a solid color only).
state {
normal |
selected |
clicked |
disabled }
This sets the state of the image you are about to define.
Up until the next 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 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.
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.
color fg bg
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 fg is white, and the default for bg is black.
file filename
Sets the filename from which to load the image file. This
is used for the 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 @ symbol and the geometry string to
the end of the filename. See below for the syntax of the geometry string.
filename must be an absolute path or a path relative to one of the
directories in the path attribute. Note that the image is verified and
loaded when this attribute is encountered during parsing.
geom image_geometry
Specifies the geometry and geometry-related operations
which are to be applied to the image. This attribute only applies to image
classes using the image mode. Image geometry is specified as
wxh+x+y:ops
where w and h are the horizontal/vertical scaling percentages,
x and y are the horizontal/vertical alignment percentages, and
ops is a colon-delimited list of operations: tiled (to tile the
image), propscaled (for proportional scaling). Note that these
operations can be combined for various effects.
cmod {
image |
red |
green |
blue }
brightness [
contrast [
gamma ] ]
colormod {
image |
red |
green |
blue }
brightness [
contrast [
gamma ] ]
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 brightness value is required for this option. Keep in mind,
though, that you must specify brightness with contrast, and both
of these with gamma.
border left right top bottom
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.
bevel {
up |
down }
left right
top bottom
Adds a bevel to an image class. This can be done to any
image class using the 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.
padding left right top bottom
This is used only for the 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.
-
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).
title menu_title
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.
font font_name
Tells Eterm to use font_name as the font for this
menu. If not given, the default terminal font is used.
sep or
-
These symbols can be used as shorthand to insert a
separator into the menu.
-
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.
text label
This is the text that is displayed for this menuitem. It
is left-justified in the menu window. It can have spaces, but enclose
label in quotes if it does.
rtext label
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.
action {
string |
echo |
submenu |
script }
param
action separator
Specifies the action to occur when the menuitem is
chosen. If you specify separator, nothing else is needed. The other
action types require a parameter, param. string specifies a
string to be sent to Eterm for handling (escape codes, for example).
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, param will be parsed for escape
codes (\a, C-, and the like) before being sent. submenu specifies a
submenu which should be displayed when this item is selected, and param
is the title of the submenu to show. The submenu must have already been
defined. The script action type executes the Eterm-builtin script
contained in param. See the section below for more details on the
builtin Eterm functions allowed for this action type.
- 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.
bind [
modifiers ] {
keysym |
button }
to {
string |
echo |
menu |
script }
param
Binds a keysym or a mouse button to an
action. The action syntax follows the keyword to and is identical to
the syntax used for menus (see above). There can be any number of
modifiers (so long as the combination is reasonable) but only one
keysym or button. Valid modifiers are ctrl,
shift, lock, mod1 through mod5, 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 anymod to allow any arbitrary modifier key to be used.
The keysym can be given in text (case-sensitive) or as a hex number.
buttons should be specified as button1 through button5.
Also note that alt and meta will be equivalent to one or more of
mod1 through mod5, as well as perhaps each other, based on your
modifier settings. You can view these settings using xmodmap -pm. See
also the alt_mod and meta_mod options below.
- 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.
font font
Specifies the font in which button labels will be
displayed.
dock { top | bottom | no }
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 top and bottom are currently enabled.
visible boolean
Toggle whether or not this particular buttonbar will be
visible on startup.
button [ text ] [ icon filename ]
action { string | echo | menu | script }
param
Binds an action to a button. The usage of param
and the action types work the same here as they do for menuitems. Also note
that you may specify some text or an icon or both, but you
cannot omit both.
- MULTICHAR
CONTEXT
-
Behavior for multi-byte fonts and encodings are defined here.
This context does not exist by default.
encoding {
eucj |
sjis |
euckr |
big5 |
gb |
iso-10646 }
Specifies the encoding method. Patches to support other
encoding methods are encouraged.
font num font
Set the numth multichar font to font.
- XIM CONTEXT
-
This context controls locale-based behavior.
input_method input_method
Specify your input method program of choice.
preedit_type {
OverTheSpot |
OffTheSpot |
Root }
Specify your preedit type of choice.
- ESCREEN CONTEXT
-
This context allows for customizations specific to Escreen
mode. See the Escreen section below for more details.
url
protocol://user@host:port/params
Connect to (or create) a particular screen session via a
URL-type construct. Standard URL rules apply. The
protocol should be
either
screen (the default) or
twin. If
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 params that are given are passed directly to the
underlying protocol and are separated from each other by a plus sign
(+).
firewall
localport:firewall:remoteport
Bounce the connection through a firewall via ssh.
delay secs
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.
bbar_font font
Font to use for the Escreen buttonbar. The default is
-*-helvetica-medium-r-normal--10-*-*-*-p-*-iso8859-1.
bbar_dock {
top |
bottom |
no
}
Dock the Escreen buttonbar as specified. Note that only
top and bottom are currently enabled.
- 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
boolean. They all default to false unless otherwise noted.
map_alert boolean
If true, Eterm will un-iconify itself when it receives a
beep (ASCII 0x07).
visual_bell boolean
If true, Eterm will flash rather than sending a
beep.
login_shell boolean
If true, Eterm will prepend '-' to the shell name when
calling it. Depending on your shell, this may modify its startup
behavior.
scrollbar boolean
This turns on and off the display of the scrollbar.
Default is on.
utmp_logging boolean
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.
meta8 boolean
Toggles the interpretation of the Meta key setting the
8th bit in a character.
iconic boolean
If true, Eterm will launch as an icon.
home_on_output boolean
Zoom to the bottom of the scrollback buffer on
output.
home_on_input boolean
Zoom to the bottom of the scrollback buffer on
input.
no_input boolean
If true, Eterm will not accept any keyboard input and
will ask the window manager to not allow it to be focused.
scrollbar_floating boolean
If true, the scrollbar will have no trough.
scrollbar_right boolean
If true, Eterm will put the scrollbar on the right of the
window (default is left).
scrollbar_popup boolean
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.
borderless boolean
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
geometry with this attribute.
double_buffer boolean
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.
no_cursor boolean
If true, Eterm will not display a text cursor.
pause boolean
After the child process terminates, Eterm will wait for a
keypress before exiting.
xterm_select boolean
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.
select_line boolean
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.
select_trailing_spaces boolean
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.
report_as_keysyms boolean
Reports certain keystrokes as keysyms and modifiers
rather than escape sequences. 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.
itrans boolean
immotile_trans boolean
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 Mon Mar 6 21:11:13
PST 2000 ChangeLog entry for a more detailed explanation.
buttonbar boolean
Toggle the display of all buttonbars.
resize_gravity boolean
If true, Eterm will automatically detect the nearest
corner, and font-change resizes will cause the Eterm window to gravitate
toward that corner.
overstrike_bold boolean
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.
bold_brightens_foreground boolean
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.
blink_brightens_background boolean
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).
colors_suppress_bold boolean
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).
sticky boolean
If true, Eterm will make its window sticky (shows on all
desktops).
- KEYBOARD
CONTEXT
-
This context contains keyboard-related configuration
options.
smallfont_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).
bigfont_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).
keysym keysym string
Define keysym keysym to send string instead
of its default. keysym must be between 0xff00 and 0xffff or Eterm will
complain.
meta_mod num
Specify which X modifier (1-5) to treat as the Meta key.
See
xmodmap(1) and the output of
xmodmap -pm for more
details.
alt_mod num
Same as meta_mod, but for the Alt key.
numlock_mod num
Same as meta_mod, but for the NumLock key.
greek boolean { iso | ibm
}
Turn on/off greek keyboard support, and set which greek
mode to use.
app_keypad boolean
Turn on/off application keypad mode on startup.
app_cursor boolean
Turn on/off application cursor key mode on startup.
- MISC CONTEXT
-
This context contains miscellaneous attributes that really
didn't belong anywhere else.
print_pipe command
Set the command to which to pipe print requests
(printscreen) to command.
save_lines num
Set the number of lines in the scrollback buffer to
num.
cut_chars string
Define the characters used as word delimiters to the
characters contained in string.
min_anchor_size num
Sets the minimum size, in pixels, of the scrollbar anchor
(the part your mouse grabs onto and moves around) to num.
border_width num
Sets the width of the border between the text window and
the X window to num.
line_space num
Put num pixels' worth of space between each row of
the terminal window.
finished_title title
Specifies that title should be displayed in the
title bar of a paused Eterm when the child process has completed.
finished_text text
Specifies that text should be displayed in the
terminal window of a paused Eterm when the child process has completed.
term_name name
Use name as the $TERM environment variable,
which controls which termcap/terminfo entry gets used. The default is
Eterm.
exec command
Rather than executing a shell, this will cause Eterm to
spawn command as its child process. You can only have one of
these!
- 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 % character.
%appname()
Returns the application name, a hyphen, and the version
number. Currently this is the string Eterm-0.9.6.
%exec(command)
Executes command and returns the result. Basically
it's exactly like using backquotes.
%get(variable)
Retrieve the value of a config file variable. Refer to
the %put() function below.
%put(variable value)
Create a config variable named variable and assign
it the value of value. The value can then subsequently be retrieved
using %get(variable)
%random(params)
This function randomly chooses one of the words which
compose 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.
%version()
Returns the version number. Currently this is the string
0.9.6.
- PREPROCESSING
-
Eterm supports the %include file directive to
allow for separation of the configuration information into multiple
files. Eterm will load and parse 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 %preproc command directive. You may specify
anything you like for command so long as it accepts input on
STDIN and sends output to STDOUT. See the menus.cfg file in the
default chooser theme for an example.
- SCRIPT FUNCTIONS
-
One of the action types which can be bound to keypresses,
mouse buttons, menuitems, or buttonbar buttons is a 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 (;).
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.
copy(buffer)
Copies the current selection to the specified clipboard
or cut buffer. buffer is either a number 0-7, in which
case the selection is copied to the cut buffer specified, or one of the words
clipboard, primary, or secondary (or any initial
substring thereof), in which case the selection is copied to the specified
clipboard. You may omit buffer, in which case the default buffer is
primary (XA_PRIMARY in Xlib-speak).
echo(string)
Send the specified string to the subcommand.
Exactly equivalent to the echo action.
es_display(cmd, params)
Aliases: es_disp
This is a master function which permits manipulation of
Escreen displays through the use of a series of subcommands. The specified
cmd determines what, if any,
params are permitted. Available
subcommands are:
goto - Switch to the specified display (0-9)
prev - Switch to the previous display
next - Switch to the next display
toggle - Toggle display
new - Create a new display. A name for the new display may be passed as a
parameter, or ask to prompt the user for the name.
rename - Change the name of the current display. A name for the new
display may be passed as a parameter, or ask to prompt the user for the
name.
kill - Terminate the current (or specified) display.
watch - Toggle monitoring of the current/specified display for activity.
scrollback - View the scrollback for the current/specified display.
es_region(cmd, params)
Aliases: es_reg es_win es_window
This is a master function which permits manipulation of
Escreen display regions through the use of a series of subcommands. The
specified
cmd determines what, if any,
params are permitted.
Available subcommands are:
goto - Switch to the specified region (0-9)
prev - Switch to the previous region
next - Switch to the next region
toggle - Toggle region
new - Create a new region. A name for the new region may be passed as a
parameter, or ask to prompt the user for the name.
rename - Change the name of the current region. A name for the new region
may be passed as a parameter, or ask to prompt the user for the name.
kill - Terminate the current (or specified) region.
only - Maximize the current/specified region to the full display.
watch - Toggle monitoring of the current/specified region for activity.
scrollback - View the scrollback for the current/specified region.
es_statement(statement)
Execute an Escreen (screen/twin) command directly.
es_reset()
Aliases: es_rst
Reset the Escreen session
exec_dialog(command)
The same as 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.
exit(message)
exit(code)
Aliases: die quit
Exit Eterm with an optional message or an integer
return code. Either parameter may be specified, but not both. If
neither is specified, a code of 0 (zero) is the default.
kill(signal)
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, signal must be numeric. SIGTERM is the default
if signal is omitted.
msgbox(message)
Displays a small dialog box containing message and
waits for a keypress before continuing.
nop()
Does absolutely nothing except waste time. :-)
paste(buffer)
Pastes the contents of the specified clipboard or cut
buffer into the terminal window. buffer is either a number
0-7, in which case the selection is pasted from the cut buffer
specified, or one of the words clipboard, primary, or
secondary (or any initial substring thereof), in which case the
contents of the specified clipboard are pasted. You may omit buffer, in
which case the default buffer is primary (XA_PRIMARY in
Xlib-speak).
save(type, filename)
Save the current theme/user configuration. type
can be either user or theme; the default is user.
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 user is user.cfg, and the default
filename for theme is theme.cfg.
save_buff(filename)
Dumps the contents of the scrollback buffer to the
specified file.
scroll(n)
Scrolls backward or forward in the scrollback buffer.
n is a floating point number followed by an optional unit specifier.
The unit specifier is one of: lines or l; pages or
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 scroll(-1p). You may also specify
fractional quantities, such as scroll(0.5p) to scroll down half a page.
The default unit if not specified is lines.
search(str)
Presents a dialog box into which the user may enter a
search term. The default value is set to 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.
spawn(command)
Aliases: exec
Spawns a secondary child process to execute
command, or Eterm if no value is passed.
string(string)
The specified string is parsed via Eterm. This is
exactly identical to the string action.