Provided by: slrnface_2.1.1-6_i386 bug


       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 ] [
       -padColor pad_color ]


       The slrnface helper utility  can  be  used  from  slrn(1),  mutt(1)  or
       similar  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

       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

       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
       because 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
       layout,  so  resources  set  for the terminal class might not yield the
       desired 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

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

                      These   environment   variables   will   be   used  when
                      determining the location  of  the  appropriate  resource


       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

       It should be noted that slrnface forks  early  in  its  execution.  The
       parent  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 appropriate error status. The following exit  values  are

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