ROOTTAIL(1)

✨ NAME ✨

root-tail β€” print text directly to X11 root window πŸ’– (yes bestie, your desktop wallpaper is about to become a live log viewer, no cap)


πŸ¦‹ 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] [--windowed} [-id ID]
[-i|--interval SECONDS] [-V] file1[,color[,desc]] [file2[,color[,desc]]]
ok so the } after --windowed is literally right there in the original synopsis, i am simply the messenger πŸ’€

🌸 DESCRIPTION 🌸

It puts a file anywhere on your X11 root window. That's it, that's the vibe. It's basically tail -f for multiple files, except the output window is your desktop background. Main character energy fr fr. πŸ‘‘

Every non-option argument on the command line is a file to be logged. And listen β€” a null desc (like "/var/log/messages,red,") stops the description from printing at all, along with the []'s. Sneaky but iconic. πŸ™ˆ


πŸŽ€ General Options πŸŽ€

  • --color COLOR β€” use COLOR as the default. Like, the base color for everything that doesn't have its own, bestie.
  • --font, -fn FONTSPEC β€” use font FONTSPEC. This can be a fixed width font like -fn fixed, or literally any font using -fn '-*-*-*-*-*-*-*-*-*-*-*-*-*-*' with the right fields filled out (go look at xfontsel, she's the plug). Pro tip: drop a different FONTSPEC before each filename and each file gets its own font. Different fonts for different files, obsessed. πŸ’…
  • -f, --fork β€” forks to the background. Bye bestie, you're on your own now.
  • --reverse β€” displays the files in reverse order, so the newest lines are at the top. Chronologically chaotic, we love her.
  • --whole β€” only display whole lines. If the last line of a file doesn't have a newline at the end yet, it just waits until it does before showing it. This is the default when more than one file is being displayed.
  • --partial β€” the exact opposite of --whole (scroll up, i know you skipped it). It shows lines even when they don't have a newline at the end yet. This is the default when only one file is being displayed.
  • --update β€” updates partial lines in place if they're still on screen when they get updated in their files. Heads up: turning on --update automatically turns on --partial too. Package deal.
  • --cont STRING β€” when partial lines get broken across two lines on screen, this prefixes the 2nd line with STRING. Defaults to "|| ". If you want partial lines to never show up at all, say --whole. If you'd rather try to "repair" broken lines in-place, say --update.
  • --cont-color COLOR β€” use COLOR when displaying the continuation string (the one you optionally set with --cont up there ☝️).
  • --wordwrap β€” by default it crams as much as possible onto every line of output, even if that means splitting a word across lines. --wordwrap instead breaks lines at spaces when it can. Politer, honestly.
  • --justify β€” after wrapping long lines, it tries to justify the text for a smooth right-hand margin. Implies --wordwrap. Aesthetic.
  • --reload SEC COMMAND β€” re-displays the file(s) and runs COMMAND every SEC seconds. The default is to never re-display the file(s). Ever. Zero refresh, zero problems.
  • --shade β€” adds black shading to the font. Depth, drama, dimension.
  • --outline β€” adds a black outline to the font. Warning bestie: this makes redraws quite a bit slower. 😭
  • --minspace β€” uses minimum linespace even when you're shading or outlining. Might leave leftover pixels behind (depending on font and logfile content). Leftover pixels are just ✨texture✨.
  • --noflicker β€” slower, but flicker-free update. Trade-off city.
  • --noinitial β€” doesn't display the end of the file(s) at the start. Surprise me later, i guess.
  • --windowed β€” creates a whole new window instead of reusing the root window. The new window covers the entire screen, puts itself behind all other windows, and does not accept events. Use this if you run a compositing manager such as xcompmgr or compton, because the compositing extension was designed very badly and cannot handle root windows correctly. Not our fault, we're just working around it. πŸ’€
  • -id ID β€” use the given window ID for output instead of the root window. Manual mode, iykyk.
  • -i, --interval SECONDS β€” use this sleeping interval between checks instead of the default 2.4 seconds. Fractional values are totally OK, she's precise like that. ⏱️
  • -V β€” print version information. Short king.
  • --frame β€” draws a frame around the selected area. Super useful when you're out here trying to find the perfect geometry. πŸ–ΌοΈ

🌈 EXAMPLE 🌈

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

Look at her go. Two files, two fonts, two colors, one iconic desktop. 🫢


πŸ’€ BUGS πŸ’€

Some desktop environments open a virtual root window and make it genuinely difficult to share it. So if you start root-tail and see absolutely nothing, try the --windowed option, or a setting like "allow programs on desktop" or something similar, or just manually specify a window id. We've all been there. 😭

And hey β€” if you happen to find any bugs, please fix them and send a diff. That's the energy we're going for, bestie.

NOTE: This program was modified by Marc Lehmann <schmorp@schmorp.de>, who couldn't reach the original author. Please direct bug-reports etc. to root-tail@schmorp.de.

http://software.schmorp.de/pkg/root-tail.html


ok that's the whole page, you ate that fr fr πŸ’…βœ¨

this lil manual was served up by the 4.2 Berkeley Distribution, dated 2019-06-14 β€” periodt, that's a wrap, go tail some logs bestie πŸ¦‹πŸ’–