Last change: 2007-10-15
root-tail

Some time before the Cebit00, I got my hands on a program named
root-tail. It's purpose (see the manpage) below) is to
display logfiles in different colours on your root-window. That is, it
works just like tail -f.
Unfortunately, root-tail was thoroughly broken, so I fixed it and contacted
it's author. I never received a reply, so I decided to publish my modified
version of root-tail here.
Screenshot
Yeah, another superfluous screenshot of root-tail in
action. Sorry for the bad quality, but I decided bad
quality is better than a megabyte of image to download ;)
Availability
See the Schmorpforge Page for CVS
and release info.
You can also download the latest version here.
Source:
Binaries
Mads Martin Jørgensen is kind enough to offer updated suse rpms for
download at http://www.suse.de/~mmj/.
Changes
Below are the first twelve lines of the Changes file, taken directly
off my harddisk.
--- CUT ---
Manpage
To alleviate the need for further documentation (ha, what a joke!),
a copy of the root-tail manpage is reproduced below.
ROOTTAIL
Section: User Commands (1)
Updated: 2004-03-27
Index
NAME
root-tail - print text directly to X11 root window
SYNOPSIS
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]]]
DESCRIPTION
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 comamnd 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.
- --reverse
-
Display the files in reverse order, with the newest lines at the top.
- --whole
-
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.
- --partial
-
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
-
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).
- --wordwrap
-
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.
- --justify
-
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).
- --shade
-
Add black shading to the font.
- --outline
-
Add a black outline to the font (making redraws quite a bit slower).
- --minspace
-
Use minimum linespace even when using shading or outlining. This might result in
leftover pixels (dependign on font and logfile content).
- --noflicker
-
Use slower but flicker-free update.
- --noinitial
-
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.
- -V
-
Print version information.
- --frame
-
Draw a frame around the selected area. This is useful when trying to
find the perfect geometry.
-
EXAMPLE
root-tail -g 800x250+100+50 -font 10x20 /var/log/messages,green -font 12x24 /var/log/secure,red,'ALERT'
BUGS
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 <pcg@goof.com>, who
couldn't reach the original author. Please direct bug-reports etc. to
pcg@goof.com.
http://root-tail.plan9.de/
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- General Options
-
- EXAMPLE
-
- BUGS
-

Any questions/hints/critics? Contact the author of this page!