Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
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)


Want to link to this manual page? Use this URL:

home | help