root-tail(1) print text directly to X11 root window


root-tail [-g|--geometry GEOMETRY] [-fn|--font FONTSPEC] [--color color] [--reload SEC COMMAND] [--shade] [--outline] [--minspace] [--noflicker] [-f|--fork] [--reverse] [--whole] [--partial] [--update] [--cont STRING] [--wordwrap] [--justify] [--noinitial] [--frame] [-id ID] [-i|--interval SECONDS] [-V] file1[,color[,desc]] [file2[,color[,desc]]]


Displays a given file anywhere on your X11 root window, i.e. it is kind of tail -f for multiple files using your desktop background as output window.

All non-option arguments on the command line are files to be logged. A null desc (example: "/var/log/messages,red,") will prevent the printing of a description and the []'s.

General Options

--color COLOR
Use COLOR as default.
--font | -fn FONTSPEC
Use font FONTSPEC. This can be either a fixed width font like -fn fixed or any font using -fn '-*-*-*-*-*-*-*-*-*-*-*-*-*-*' with the appropriate fields filled out (see xfontsel). Specifying a different FONTSPEC before each filename will cause each file to be displayed in a different font.
-f | --fork
Forks to the background.
Display the files in reverse order, with the newest lines at the top.
Only display whole lines. If the last line of a file doesn't yet end with a newline character then wait until it does before displaying it. This is the default if more than one file is being displayed.
This is the opposite of the --whole option (see above). It displays lines even if they don't yet have a newline at the end. This is the default if only one file is being displayed.
Update partial lines 'in place' if they are still on the screen when they are updated in their files. Using --update automatically turns on --partial.
--cont STRING
When partial lines are broken into two lines in the display, prefix the 2nd line with STRING. Defaults to "|| ". Specify the "--whole" argument to ensure partial lines are never displayed, or specify "--update" to attempt to "repair" broken lines in-place.
--cont-color COLOR
Use COLOR when displaying the continuation string (as optionally specified with the --cont option above).
The default behaviour is to fit as much as possible onto each line of output, even if this means splitting a word between one line and the next. The --wordwrap argument splits lines at spaces if possible.
After wrapping long lines, attempt to justify the text to produce a smooth right-hand margin. Implies --wordwrap.
--reload SEC COMMAND
Re-display the file(s) and run COMMAND every SEC seconds. The default is to never re-display the file(s).
Add black shading to the font.
Add a black outline to the font (making redraws quite a bit slower).
Use minimum linespace even when using shading or outlining. This might result in leftover pixels (dependign on font and logfile content).
Use slower but flicker-free update.
Don't display the end of the file(s) initially.
-id ID
Use the given window ID for output instead of the root window.
-i | --interval SECONDS
Use the specified sleeping interval between checks instead of the default 2.4 seconds. Fractional values are OK.
Print version information.
Draw a frame around the selected area. This is useful when trying to find the perfect geometry.


root-tail -g 800x250+100+50 -font 10x20 /var/log/messages,green -font 12x24 /var/log/secure,red,'ALERT'


Some desktop environments open a virtual root window and make it difficult to share it. If you cannot see anything after starting root-tail, try to find a setting "allow programs on desktop" or similar, or manually specify a window id.

Should you happen to find any bugs please fix them and send me a diff.

NOTE: This program was modified by Marc Lehmann <[email protected]>, who couldn't reach the original author. Please direct bug-reports etc. to [email protected].