root-tail - Man Page

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] [--windowed} [-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.


Create a new window instead of reusing the root window. The newly created window covers the whole screen, puts itself behind all other windows and and does not accept events. Use this option if you use a compositing manager suihc as xcompmgr or compton, as the compositing extension has been very badly designed and cannot handle root windows correctly.

-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 --windowed -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 the --windowed option, 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 <>, who couldn't reach the original author. Please direct bug-reports etc. to


2019-06-14 Version 1.3