Skip to Main Content
Linux Desktop Hacks
book

Linux Desktop Hacks

by Nicholas Petreley, Jono Bacon
March 2005
Beginner to intermediate content levelBeginner to intermediate
342 pages
15h 55m
English
O'Reilly Media, Inc.
Content preview from Linux Desktop Hacks
Make Applications Trigger On-Screen Alerts #27
Chapter 4, Related to X
|
89
HACK
KMail
If you use the KDE KMail email client, you can have KMail execute a pro-
gram when new mail arrives. Here’s how you can have KMail display the on-
screen new-mail notification “You’ve got mail!” with XOSD.
First, you need to create a script that displays the on-screen alert “You’ve
got mail!”. KMail doesn’t allow you to insert the entire
echo and osd_cat
command line, but it will execute a script that displays the message. Fire up
your favorite editor, and enter this script into a file called ~/youhavemail.
(This script executes from your home directory, so you don’t need any spe-
cial privileges for it to work.)
#!/bin/bash
# figure out which display we're currently using
# then export the DISPLAY environment variable
HOST="$(xrdb -symbols | grep SERVERHOST | cut -d= -f2)"
DISPLAYNUM="$(xrdb -symbols | grep DISPLAY_NUM | cut -d= -f2)"
THISDISPLAY=$HOST:$DISPLAYNUM.0
export DISPLAY=$THISDISPLAY
echo "You've got mail"'!' | osd_cat -s 2 -c yellow -p middle \
-f -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-* -d 30
The placement of various quotes in the text for the echo
command looks a bit odd, doesn’t it? Here’s why. The bash
shell interpreter will allow you to embed only a single quote
in a string that is enclosed by double quotes. If the string
“You’ve” wasn’t isolated within double quotes, the
echo
command would report ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux Server Hacks, Volume Two

Linux Server Hacks, Volume Two

William von Hagen, Brian K. Jones
Introducing Linux Distros

Introducing Linux Distros

Jose Dieguez Castro

Publisher Resources

ISBN: 0596009119Supplemental ContentCatalog PageErrata