vtclock, a text-mode full-screen digital clock


Some students in the ACM Lab and Student Chapter Office at the University of Louisville decided to write a program to make productive use out of one of many DEC VT220 terminals they had lying around.

That program, of course, is vtclock. It displays a clock. For now, that's it.

vtclock in action!
A VT220 sitting on top of an old rack, being quite useful as a wall clock, if slightly bulky.

Rob Hoeft is the original author of vtclock. I've taken this program and made a few improvements here and there.


resize handling; figlet support; fixes -v and -c options; build fixes
Can now display one line at a time from a file (using the -f option) or from a command (using the -p option).
You can now press Control-L (or Control-R) to completely refresh the display.
I think I found a workaround for the display corruption bugs I was having. A new font is available using the "-5" option.
A new font is available using the "-4" option. Blinking colons are available using "-k".


(Fixed 2004-02-20?) The "-v" option causes display corruption; it happens as soon as a bouncing vtclock comes back to the upper-left corner of the screen. You can reproduce this with "vtclock -d1 -v" and making sure your terminal window is sized properly (an 82x14, 83x15, 84x16, etc. xterm will work).

(Fixed 2004-02-20?) The "-k" option also causes some display corruption, soon as a bouncing vtclock comes back to the top of the screen. Reproduce this problem with "vtclock -d1 -k".

Source Code Download

vtclock-0.0.20161228.tar.gz is the source code. Right-click and save-as.

Source Code on GitHub


How to Install

Make sure you can compile ncurses-based programs. On a Debian system, "apt-get install libncurses5-dev" should suffice. If you can use "make menuconfig" for compiling a Linux kernel, I think you're good to go.

Once you download the source code .tar.gz file, just untar it, cd vtclock, then run "make" and "make install". The Makefile can easily be changed to change the installation location, and you can say "make install prefix=/usr/local/stow" if you're using GNU Stow.


turn bouncing on/off
-d secs
specify number of seconds between each bouncing step
choose a font
use inverse-video/normal character drawing
turn on/off blinking colons
-f filename
display one line of text at a time under the clock from the specified filename (must be last option)
-p command
display one line at a time from the output of a command (must be last option, passed to /bin/sh -c, use quotes around the whole command if it has arguments, use of "2>/dev/null" is recommended)
-D secs
specify number of seconds between each line of text displayed under the clock (default is 5 seconds).

My Other Projects

tdu, a text-mode disk usage visualization utility