slrnface(1)                 General Commands Manual                slrnface(1)

       slrnface - show X-Faces in X11 terminal emulator

       slrnface  [ -xOffsetChar x_char_offset ] [ -yOffsetChar y_char_offset ]
       [  -xOffsetPix  x_pixel_offset  ]  [  -yOffsetPix  y_pixel_offset  ]  [
       -XFacePad  left_padding ] [ -ink fg_color ] [ -paper bg_color ] [ -pad-
       Color pad_color ]

       The slrnface helper utility can be used from slrn(1), mutt(1) or  simi-
       lar  programs  to show X-Faces in Usenet articles or mail messages when
       those programs are run in an X11 terminal emulator. This utility is not
       intended to be run directly from the command line.  Instead, the master
       programs should be configured to invoke slrnface when appropriate.

       Different terminal emulators have different screen layouts. Some  might
       have scroolbars (on either side), a menubar or something else. Terminal
       window which slrnface uses might contain some of  these  "decorations,"
       but  it  is  impossible  to  determine if that is the case at run time.
       Therefore it is impossible to determine the exact location at which the
       X11  window  with  the X-Face image should be placed. Default hardcoded
       values are appropriate for several terminal emulators, but not for  all
       of them. The placement can be controlled by command line arguments, but
       it is suggested to use X resources for this task.

       While slrnface is running and showing X-Face, the left mouse button can
       be used to move the window.

       The slrnface helper is controlled by the resources set for the terminal
       emulator in which it runs, not for the slrnface class or instance. That
       is because correct execution entirely depends on the master program and
       the geometry of the terminal emulator in use and has little to do  with
       slrnface  itself.  All  resources have a command line parameter equiva-

       However, a lot of popular terminal emulators have a certain  amount  of
       hardcoded brain damage and setting X resources will not have any effect
       with them. This usually happens because of illegal  characters  in  the
       WM_CLASS  property.  In those cases command line arguments are the only
       remaining option.

            Resource               Command line parameter   Default value
            slrnface.xOffsetChar   -xOffsetChar             0
            slrnface.yOffsetChar   -yOffsetChar             1
            slrnface.xOffsetPix    -xOffsetPix              0
            slrnface.yOffsetPix    -yOffsetPix              2
            slrnface.XFacePad      -XFacePad                0
             -ink                     black
            slrnface.paper         -paper                   white
            slrnface.padColor      -padColor                black

       The horizontal offset for the X-Face window from the  terminal's  upper
       right corner expressed in character units.

       The  vertical  offset  for  the X-Face window from the terminal's upper
       right corner expressed in character units.  The exact value  in  pixels
       will  be  calculated  at  run time, as well as the pixel equivalent for
       xOffestChar.  There are some lousily coded terminals which are not very
       helpful with this, so the calculation might not be perfect.

       The  horizontal  offset for the X-Face window from the terminal's upper
       right corner expressed in pixels.

       The vertical offset for the X-Face window  from  the  terminal's  upper
       right  corner expressed in pixels. This value is added to the character
       offset provided by the yOffsetChar resource and the  resulting  sum  is
       substracted  from the vertical coordinate of the terminal's upper right
       corner. The equivalent calculation for  the  horizontal  coordinate  is
       done  with  the  xOffsetChar  and  xOffsetPix resources. In both cases,
       pixel value resources are provided for finer control.

       This value tells slrnface how many pixels should be cleared on the left
       side  of  the X-Face image. In the case of long subject lines the image
       may be displayed over characters and having some spacing  between  them
       would be beneficial.

       This is the foreground color for the X-Face image. The more common name
       for this resource is foreground.  However, that name is  not  used  be-
       cause  there  is a high probability that it would be inherited from the
       terminal's resources. A lot of users  use  light  foreground  and  dark
       background  for terminals. Since X-Faces should normally be viewed with
       dark foreground on light background, inheriting  the  colors  from  the
       terminal  setup  would present a negative image by default. In order to
       avoid that, slrnface uses different resource name.

       This is the background color for the X-Face image.

       This is the color for the padding region set with XFacePad resource.

       The following example demonstrates how to set resources for xterm.

   Example 1: horizontal offsets for xterm
       Since slrnface looks at the resources defined for the terminal's  class
       and name, an example setting is:

       xterm.slrnface.xOffsetChar:     1
       xterm.slrnface.xOffsetPix:      2

       It  is  better  to use the application name, rather than class, because
       some other terminals use XTerm as their class, since  they  try  to  be
       feature  compatible.  However, they might not have the same screen lay-
       out, so resources set for the terminal class might not  yield  the  de-
       sired effect in all terminals.

       DISPLAY        The  name  of  the display where the terminal runs. This
                      environment variable is the only way to pass it to slrn-

       WINDOWID       Used  for determining terminal's X window id. It must be
                      set by a terminal emulator.

                      These environment variables will be used when  determin-
                      ing the location of the appropriate resource file.

       The  slrnface  helper  doesn't print any diagnostic, because it doesn't
       know if that is the appropriate action. In cases when diagnostic output
       is  appropriate, it can't guarantee that the output would be visible to
       the user. Therefore it returns distinct error status for every kind  of
       problem  and  relies  on the parent process to take the appropriate ac-

       It should be noted that slrnface forks early in its execution. The par-
       ent  process exits immediately, returning success status to its parent.
       The child process continues execution, reading commands from  the  FIFO
       in the $HOME/.slrnfaces directory and executing them as appropriate. In
       the case where there is a problem with the process' startup,  the  fork
       doesn't  happen and slrnface exits immediately, returning the appropri-
       ate error status. The following exit values are returned:

       0   Successful completion.

       1   slrnface couldn't connect to the display.

       2   Terminal emulator didn't set the WINDOWID environment  variable  or
           its value was invalid.

       3   slrnface couldn't find its controlling terminal.

       4   Terminal's width or height are not set.

       5   There was a problem with the FIFO setup.

       6   fork(2) failed.

       $HOME/.slrnfaces/*  A  named  pipe used for communication between slrn-
                           face and the master proces.         An example S-Lang hooks  for  setting  up  slrnface
                           with slrn(1).

       slrn(1), mutt(1), X11(5), xprop(1), xterm(1), fork(2)

       Multiple X-Faces are not supported.

       Drazen Kacar <>

       Home page:

                                  28 Feb 2002                      slrnface(1)

Man(1) output converted with man2html
list of all man pages