# Eterm

## SYNOPSIS

           Eterm [options]

## DESCRIPTION

           Eterm -- version 0.9 -- is a color vt102 terminal emulator
           intended as an xterm(1) replacement. It is designed with a
           Freedom of Choice philosophy, leaving as much power, flex-
           ibility, 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.
           Eterm uses Imlib  for  advanced  graphic  abilities.   See
           below for details.

## OPTIONS

           The  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  val-
           ues,  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.

           -t theme, --theme theme
                  Load specified theme.  Consult  the  FAQ  for  more
                  details on what constitutes an Eterm theme.

           -X conffile, --config-file conffile
                  Use  an  alternative user config file name.  Other-
                  wise Eterm uses the  default,  which  is  user.cfg.
                  The theme config file is always theme.cfg.

           -d displayname, --display displayname
                  Attempt  to  open  a  window on the named X display
                  displayname.  In the absence of  this  option,  the
                  display  specified by the DISPLAY environment vari-
                  able is used.

           --debug level
                  Show debugging output.  level is an integer between
                  0  and 5 which determines how verbose the debugging
                  output is.

           -b color, --background-color color
                  Set color as the background color.  NOTE: this will
                  actually be the foreground color if  reverse  video
                  is also selected.

           -f color, --foreground-color color
                  Set  color  as  the foreground (text) color.  NOTE:
                  this will  actually  be  the  background  color  if
                  reverse video is also selected.

           --color0 color

           ...

           --color15 color
                  Use color as color X.

           --colorBD color
                  Use color as the bold color.

           --colorUL color
                  Use color as the underline color.

           --menu-color color
                  Use  color  as  the menu color (only makes sense if
                  menu is enabled).

           --menu-text-color color
                  Use color as the menu text color (only makes  sense
                  if menu is enabled).

           -S color, --scrollbar-color color
                  Use  color as the scrollbar color (only makes sense
                  if scrollbar is enabled).

           --unfocused-menu-color color
                  Use color as the menu color when  window  does  not
                  have  focus  (only  makes  sense  if  scrollbar  is
                  enabled).

           --unfocused-scrollbar-color color
                  Use color as the scrollbar color when  window  does
                  not  have  focus  (only makes sense if scrollbar is
                  enabled).

           --pointer-color color
                  Use color as the pointer color.

           -c color, --cursor-color color
                  Use color as the cursor color.

           --cursor-text-color color

           -T title, --title title
                  Sets window's title text to title.

           --icon-name text
                  Sets the icon title text to text.

           -B type, --scrollbar-type type
                  Specifies the type scrollbar style should be  used.
                  type can be any of motif, xterm, or next.

           --scrollbar-width width
                  Set  the  width  of  the  scrollbar,  in pixels, to
                  width.  Eterm does not impose any  restrictions  on
                  this value, but it should be reasonable.

           -D desktop, --desktop desktop
                  Starts the Eterm on the specified desktop.  desktop
                  should be an integer between 0  and  your  highest-
                  numbered desktop.  NOTE: You must have a GNOME-com-
                  pliant window manager for  this  feature  to  work.
                  Please  see http://www.gnome.org/devel/gnomewm/ for
                  more information on the _WIN_WORKSPACE property and
                  how to support it.

           --line-space num
                  Size  of  the  extra  gap,  in  pixels,  to provide
                  between lines in the terminal window.

           --bold-font font
                  Sets the bold text font to font.

           -F font, --font font
                  Sets the normal text font to font.

           --font1 font

           ...

           --font4 font
                  Sets font X to font.

           -P pic, --background-pixmap pic
                  Use pic as the background image.  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  @  sign  and  the geometry string.  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  per-

           --down-arrow-pixmap pic
                  As above, except the scrollbar's down-arrow is set.

           --trough-pixmap pic
                  As   above,   except   the  scrollbar's  background
                  (trough) is set.

           --anchor-pixmap pic
                  As above, except the scrollbar's  anchor  image  is
                  set.

           --menu-pixmap pic
                  As  above, except the menu background image is set.

           -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.enlighten-
                  ment.org/) as your window manager (or another  com-
                  pliant  window manager...I have been told that Win-
                  dowMaker works also), you  will  need  to  use  the
                  Esetroot program (found in the utils/ directory) to
                  set your root background image.

           --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 por-
                  tions 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.

           --cmod brightness [ contrast [ gamma ] ]
                  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 brightness
                  the blue values of the image.

           -p newpath, --path newpath
                  Sets  the  pic search path.  When the --background-
                  pixmap or other pixmap options are used, this  path
                  will be used to find the image.

           -N list, --anim list
                  Specifies  an  animation  list to be use in cycling
                  the background pixmap.  The 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  back-
                  grounds.   All remaining words have the same syntax
                  as the background attribute in a configuration file
                  (two  integers  followed  by  the  image filename),
                  except that the two integers are optional.  If they
                  are  specified,  remember  to  group  them with the
                  filename using  quotes.   The  following  are  both
                  valid:
                     Eterm -N '10 image1.jpg image2.jpg'
                     Eterm   -N   '10   "0   0   image1.jpg"  "-1  -1
                     image2.jpg"'

           -M font, --mfont font
                  Sets the normal multibyte text font to font.

           --mfont1 font

           ...

           --mfont4 font
                  Sets multibyte font X to font.

           --mencoding encoding
                  Sets multichar  encoding  mode  (eucj  or  sjis  or
                  euckr)

           --input-method method
                  Sets XIM input method

           --preedit-type type
                  Sets XIM preedit type

           -l, --login-shell
                  Makes the new shell a login shell.

           -s, --scrollbar
                  Enables the scrollbar. (Default)

           -u, --utmp-logging
           -E, --home-on-refresh
                  Jump to bottom on refresh (^L)

           --scrollbar-right
                  Display scrollbar on the right hand side.

           --scrollbar-floating
                  Display the scrollbar without a trough.

           --scrollbar-popup
                  Display the scrollbar only when the Eterm window is
                  focused.

           -x, --borderless
                  This option forces Eterm to have no borders.

           -m, --map-alert
                  Un-iconify on beep.

           -8, --meta8
                  Causes the Meta key to set the 8th bit in the char.

           --backing-store
                  If supported by the X server, tries to use  backing
                  store for faster refreshes.

           --no-cursor
                  Disables the text cursor.

           --pause
                  After the child process terminates, Eterm will wait
                  for a keypress before exiting.

           --xterm-select
                  Duplicate's xterm's  treatment  of  cutchars.   The
                  only  real difference is what happens when you dou-
                  ble 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
                  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.

           --select-trailing-spaces
                  Determines  whether  or  not  trailing  spaces in a

           --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).

           --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-keyboard mode
                  Use Greek keyboard mapping (iso or ibm).

           --app-keypad
                  Start Eterm in application keypad mode (as  opposed
                  to normal keypad mode).

           --app-cursor
                  Start  Eterm  in  application  cursor  key mode (as
                  opposed to normal cursor key mode).

           -L num, --save-lines num
                  Set the number of lines in the scrollback buffer to
                  num.

           -a size, --min-anchor-size size
                  Specifies  the minimum size, in pixels high, of the
                  scrollbar  anchor.   NOTE:  This  causes   abnormal
                  scrolling behavior when combined with large scroll-
                  back buffers!

           -w width, --border-width width
                  Set the window's border width to 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.

           --print-pipe pipe
                  The pipe for the PrintScreen function.

           --cut-chars separators
                  The seperators for double-click selection.

           which  he  wishes  to  exist, and the tools he uses 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, icon-
           bars, 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 require-
           ment of an Eterm theme.

           By convention and default, Eterm themes should  be  stored
           under           ~/.Eterm/themes/<theme_name>/           or
           /usr/X11R6/share/Eterm/themes/<theme_name>.

           Eterm now supports the existence of a  user  configuration
           file as a suppliment 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  con-
           tain those values which the user wishes to override.

           NOTE:   If  you  have  a  user.cfg file in the Eterm theme
           directory or in ~/.Eterm/, it will override  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
           /usr/X11R6/share/Eterm/themes/Eterm/theme.cfg).  The  next
           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  com-
           posed 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 "con-
           texts")  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  per-
           fectly  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 tog-
           gles section).

           Each context must be enclosed in a begin...end  pair  that
           specifies  the type of section.  The statement "begin tog-
           gles" 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 anal-
           ysis  of  the  config  file, including what can go in each
           section.  Note that some attributes (and even entire  con-
           texts)  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 ear-
                  lier 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  new-
                  line.

                  cover them in the same order here.

           COLOR CONTEXT

                  This  context  contains color specifications.  With
                  the exception of the terminal colors 0-15, all col-
                  ors  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.

                menu color
                     Use color for the menu color.

                unfocused_menu color
                     Use color for the unfocused menu color.

                menu_text color
                     Use color for the menu text color.

                scrollbar color
                     Use color for the scrollbar color.

                unfocused_scrollbar color
                     Use color for the scrollbar color  if  Eterm  is
                     unfocused.

                pointer color
                     Use color for the mouse pointer color.

                video { normal | reverse }
                     normal will not reverse the foreground and back-
                     ground 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
                     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  win-
                     dow.

                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 (0-4), or the bold font, to
                     font.

           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, rela-
                     tive to the current theme, or relative to one of
                     the  directories  in  the  path attribute listed
                     above.

                     have the same syntax as the background attribute
                     in  a  configuration file (two integers followed
                     by the image  filename),  except  that  the  two
                     integers  are  optional.  If they are specified,
                     remember to group them with the  filename  using
                     quotes.  The following are both valid:
                          anim 10 image1.jpg image2.jpg
                          anim 10 "0 0 image1.jpg" "-1 -1 image2.jpg"

           IMAGE CONTEXT

                  This context defines all the attributes of  a  par-
                  ticular image.  There can be (and usually are) sev-
                  eral 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, and submenu.  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 overrid-
                     den 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  per-
                     mitted  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 }
                     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),

                affect only the current state of the image class.

                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 for-
                     get 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 syn-
                     tax 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 speci-
                     fied as wxh+x+y:ops where w and h are the  hori-
                     zontal/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), scaled (for  horizon-
                     tal and vertical scaling), hscaled (for horizon-
                     tal scaling), vscaled  (for  vertical  scaling),
                     and propscaled (for proportional scaling).  Note
                     that some of these operations  can  be  combined
                     for various effects.

                cmod { image | red | green | blue } brightness [ con-
                trast [ 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 over-
                     all, 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
                     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.

           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).

                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 refer-
                     ences 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.

           MENUITEM CONTEXT

                  This is a subcontext of the menu context which cre-
                  ates a single item for a menu.  There can  be  (and

                action { string | echo | submenu } 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 dis-
                     played when this item is selected.  param is the
                     title  of the submenu to show.  The submenu must
                     have already been defined.

           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 but-
                  tons.

                bind  [ modifiers ] { keysym | button } to { string |
                echo | menu } 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
                     but only one keysym or button.  Valid  modifiers
                     are  ctrl,  shift,  lock, mod1 through mod5, alt
                     and meta (which are  equivalent  to  mod1),  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.

           MULTICHAR CONTEXT

                  Behavior  for  multi-byte  fonts  and encodings are

           XIM CONTEXT

                  This  context  controls locale-based behavior.  It,
                  too, does not exist by default.

                input_method input_method
                     Specify your input method program of choice.

                preedit_type { OverTheSpot | OffTheSpot | Root }
                     Specify your preedit type of choice.

           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 val-
                  ues  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 scroll-
                     bar.  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 set-
                     ting the 8th bit in a character.

                iconic boolean
                     If true, Eterm will launch as an icon.

                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.

                backing_store boolean
                     If true, Eterm will use a backing store.

                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-click-
                     ing 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  from  the current word to the end of the
                     line.  If off, a triple click selects the entire
                     line from beginning to end.

                select_trailing_spaces boolean
                     If true, this attribute causes spaces at the end
                     of a line to be included as part of  the  selec-
                     tion  text  when  selecting.   The default is to
                     strip these trailing spaces.

                report_as_keysyms boolean
                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.

                term_name name
                     Use name  as  the  $TERM  environment  variable,
                     which controls which termcap/terminfo entry gets
                     used.  The default is xterm.

                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.  They can be used any-
                  where their output would be valid.  Built-in  func-
                  tions are prefixed with the % character.

                %random(params)
                     This  function randomly chooses one of the words
                     which compose params and returns that.   "Words"
                     are  defined in shell terms, meaning that single
                     or double quotes can be used to  separate  indi-
                     vidual  words  of  params  which contain spaces.
                     And you can even get creative and  use  a  back-
                     quote-executed  command  to generate the list of
                     words to pass to %random().  The default  themes
                     that come with Eterm demonstrate this technique,
                     in fact.  But keep in mind that  random  pixmaps
                     aren't the only thing you can do with this func-
                     tion.  You can randomize anything...colors, tog-
                     gles, fonts, tinting...you name it!

                %exec(command)
                     Executes  command and returns the result.  Basi-
                     cally it's exactly like using backquotes.

                %appname()
                     Returns the application name, a hyphen, and  the
                     version  number.   Currently  this is the string
                     Eterm-0.9.

                %version()
                     Returns the version number.  Currently  this  is
                     the string 0.9.

           INCLUDES

                  Eterm supports the %include file directive to allow
                  for separation  of  the  configuration  information
                  into multiple files.

    June                            09                       ETERM(1)