slrnface(1)
π slrnface β the little helper that shows X-Faces in your X11 terminal π
okay bestie, welcome to slrnface(1) from the General Commands Manual section. this one's a lil niche but it's so cute once you get it, i promise π«Ά
β¨ NAME β¨
slrnface β show X-Faces in X11 terminal emulator πΌοΈ
β¨ SYNOPSIS β¨
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 ]
β¨ DESCRIPTION β¨
so basically, slrnface is a lil helper utility that you call from slrn(1), mutt(1), or whatever other similar program you're living in, and it shows X-Faces in Usenet articles or mail messages β but only when those programs are running inside an X11 terminal emulator. it's not meant to be run straight from the command line, okay? like, that's not its vibe. the master programs are supposed to be configured to invoke slrnface when it's appropriate. periodt π
here's the thing though: different terminal emulators have different screen layouts. some have scroolbars (on either side), a menubar, or some other decoration. the terminal window that slrnface uses might contain some of these "decorations," but it's literally impossible to figure out at run time whether that's the case. so it's also impossible to know the exact location where the X11 window with the X-Face image should go. π the default hardcoded values work for several terminal emulators, but not all of them. you can control the placement with command line arguments, but ngl it's suggested to use X resources for this task instead.
also!! while slrnface is running and showing an X-Face, you can use the left mouse button to move the window. iconic, honestly π±οΈβ¨
β¨ RESOURCES β¨
the slrnface helper is controlled by the resources set for the terminal emulator it runs in β not for the slrnface class or instance. why? because correct execution entirely depends on the master program and the geometry of the terminal emulator in use, and honestly it has very little to do with slrnface itself. every resource has a command line parameter equivalent, so you've got options, bestie πββοΈ
but heads up: 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. sorry bb, that's just how it is.
here's the whole fam, with their command line equivalents and defaults:
slrnface.xOffsetCharβ command line parameter:-xOffsetCharβ default value:0slrnface.yOffsetCharβ command line parameter:-yOffsetCharβ default value:1slrnface.xOffsetPixβ command line parameter:-xOffsetPixβ default value:0slrnface.yOffsetPixβ command line parameter:-yOffsetPixβ default value:2slrnface.XFacePadβ command line parameter:-XFacePadβ default value:0slrnface.inkβ command line parameter:-inkβ default value:blackslrnface.paperβ command line parameter:-paperβ default value:whiteslrnface.padColorβ command line parameter:-padColorβ default value:black
π xOffsetChar
the horizontal offset for the X-Face window, measured from the terminal's upper right corner, expressed in character units.
π yOffsetChar
the vertical offset for the X-Face window, measured from the terminal's upper right corner, expressed in character units. the exact value in pixels gets calculated at run time, and so does the pixel equivalent for xOffestChar. ngl, there are some lousily coded terminals out there that are not very helpful with this, so the calculation might not be perfect. π
π xOffsetPix
the horizontal offset for the X-Face window, measured from the terminal's upper right corner, expressed in pixels.
π yOffsetPix
the vertical offset for the X-Face window, measured from the terminal's upper right corner, expressed in pixels. this value gets 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, the pixel value resources are there so you get finer control. π―
π XFacePad
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. give ur face some room to breathe, bestie π¬οΈ
π ink
this is the foreground color for the X-Face image. the more common name for this resource is foreground β but that name is not used, because there's a high probability that it would be inherited from the terminal's resources. a lot of users use light foreground and dark background for their terminals, and 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. to avoid that whole situation, slrnface uses a different resource name. we're doing our own thing π
π paper
this is the background color for the X-Face image.
π padColor
this is the color for the padding region set with the XFacePad resource.
β¨ EXAMPLES β¨
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 the 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. iykyk π
β¨ ENVIRONMENT VARIABLES β¨
DISPLAYβ the name of the display where the terminal runs. this environment variable is the only way to pass it toslrnface.WINDOWIDβ used for determining the terminal's X window id. it must be set by a terminal emulator.LANG,LC_ALL,LC_MESSAGESβ these environment variables will be used when determining the location of the appropriate resource file.
β¨ EXIT STATUS β¨
the slrnface helper doesn't print any diagnostic, because it doesn't know if that's the appropriate action. and in cases when diagnostic output would be appropriate, it can't guarantee that the output would be visible to the user anyway. so instead it returns a distinct error status for every kind of problem and relies on the parent process to take the appropriate action. teamwork, babes π«Ά
it should also be noted that slrnface forks early in its execution. the parent process exits immediately, returning success status to its parent. the child process keeps going, reading commands from the FIFO in the $HOME/.slrnfaces directory and executing them as appropriate. in the case where there's 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 returned:
0β Successful completion. π1βslrnfacecouldn't connect to the display. π2β Terminal emulator didn't set theWINDOWIDenvironment variable or its value was invalid.3βslrnfacecouldn'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. π
β¨ FILES β¨
$HOME/.slrnfaces/*β A named pipe used for communication betweenslrnfaceand the master proces.slrnface.slβ An example S-Lang hooks for setting upslrnfacewithslrn(1).
β¨ SEE ALSO β¨
slrn(1), mutt(1), X11(5), xprop(1), xterm(1), fork(2) β go read those too, bestie, they're the whole supporting cast π
β¨ BUGS β¨
Multiple X-Faces are not supported. that's it, that's the bug. one face at a time, we simply cannot handle more π
β¨ AUTHOR β¨
Drazen Kacar <dave@willfork.com>
Home page: http://dave.willfork.com/slrnface/
and that's the whole page, bestie!! this was slrnface(1) from the General Commands Manual, dated 28 Feb 2002 β go forth and show those X-Faces, ur terminal is gonna look so good πβ¨π¦
π¦ where this page comes from
- debian bookworm: slrnface 2.1.1-7+b1
- debian trixie: slrnface 2.1.1-7+b2
- ubuntu jammy: slrnface 2.1.1-7build1
- ubuntu noble: slrnface 2.1.1-7build3
- ubuntu questing: slrnface 2.1.1-7build3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms