On Screen Display with XOSD

You can use XOSD to create on screen display text. The text appears at a specific location for a specific amount of time. It has several useful applications, such as displaying a notice about new messages on the screen.

I'm using it to display uptime at the top of my screen every 15 minutes. Here's what that looks like.


Here's the command that displays that information for 15 seconds.

uptime | osd_cat -A center -p top -o 5 -c black -d 15

I wrote a quick PHP script to re-run that command repeatedly. This script is then loaded in my Gnome Sessions and runs all day.


  // Loop forever
  while (1 == 1) {
    exec('uptime | osd_cat -A center -p top -o 5 -c black -d 15');


And, here's another quick PHP script that plays a series of sounds while it flashes text on the screen. This is what I use to notify me when I get new IM's. Has a visual and audio hint which is useful when I have headphones connected but not in my ears.


  // Execute a beep, pass output to /dev/null, and background it
  exec('beep -f 2000 -l 250 -d 250 -n -f 1000 -l 250 -d 250 -n -f 2000 -l 250 -n -f 1500 -l 100 -d 250 -r 3 > /dev/null &');
  // Loop three times
  for ($i==1; $i<3; $i++) {
    // Display a message on the screen
    exec('echo \'New Instant Message   \' | osd_cat -A right -p bottom -o -100 -c red -s 2 -d 1 -f -adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*');
    // Pause one second

comments powered by Disqus
linux/on_screen_display_with_xosd.txt · Last modified: 2020/06/01 22:53 (external edit)