Set the rootwindow for X
Introduction
This program is intended to set the root window (the wallpaper) of an
X system with something interesting which changes over time.
There are several different types of displays that this can show:
- xphoon
This program shows the current phase of the moon.
- xearth
This program shows the earth.
See the documentation to see how it is configured.
There is a slightly modified version of this program
which shows recent earthquakes around the world.
Note that the default configuration of xearth,
as called by rootwindow is quite CPU intensive.
Have a 200MHz processor or change the parameters.
The modified version of xearth is included in the
distribution.
- weather
This module obtains a current satellite weather image of the west
coast of the USA. In the daytime it fetches the visual image,
and at night it picks up the infrared image (because it's dark out).
- Astronomy picture of the day
This module gets a new picture of the day from NASA.
- SOHO
This module gets current information from the SOHO solar observatory
satellite.
- Local or web based pictures
You can have a collection of photos on your disk, or available
from the web. You list all of the images in an appropriate
file, one per line, and rootwindow will display a random
image.
These modules are called in a user defined sequenence.
If you want one to show up more often, then you define it in
the sequence more often. The section on command line parameters
explain how to set up your choices.
Requirements
This program requires a few features available on your system before
you can use it.
- You will want a 200MHz class or faster machine. This is a
silly program and you don't want to slow down you work
too much.
- The display program from
ImageMagick.
This is used to actually set the root window.
- A full time net connection.
Some of the modules within this program expect to go out and
fetch current information. If you don't have a full time connection,
you will either need to avoid those modules, or alter the program
to note when you do have a connection. At that point the program
will be interferring with your normal activities, so that might
not be such a good idea.
- Perl version 5.
You will also need the following perl modules:
- MIME::Base64
- URI
- HTML::Parser
- Net::FTP
- Digest::MD5
- HTTP::Status
- LWP::Simple
- Text::ParseWords (v3.1 or newer)
There is a small program named
cpr written by Randal Schwartz,
which I find convienient to use to install perl modules.
- X.
X is a windowing system available for some computers.
I use it under Linux, but it is available for many platforms.
- Access to the root window.
Gnome and KDE (as two examples) keep a big window over the root
window to keep you from doing anything interesting. With Gnome,
(actually Nautilus), go to Start -> Programs -> Applications ->
Nautilus -> Preferences -> Edit Preferences -> Windows & Desktop
and turn off Use Nautilus to draw the desktop. You may also
need to turn off Gnome's background processing at Programs ->
Settings -> Desktop -> Background And deselect the checkbox
that says Use GNOME to set background.
Supposedly, in KDE you can use Control Center -> Look & Feel ->
Desktop -> Support Program in Desktop Window to allow programs
to use the root window.
Doing the above steps may well deactivate features that you want.
So you have to choose.
How to get and install rootwindow
You can pick up the entire archive for
version v0.09.
This contains all of the files mentioned on this page.
Once you have the tar file, you will need to extract and build it.
Do something like the following:
cd
mkdir rootwindow
tar xvfz rootwindow-0.09.tar.gz
cd rootwindow-0.09
make
su
make install
The distributed Makefile does not build the local xearth.
There is a line in the Makefile you can enable to do so. You
may need to do some configuration in the xearth directory,
although I didn't need to.
It isn't required that this be "installed". That simply copies
rootwindow into /usr/local/bin, and copies the
distributed *.csv files to a ~/.rootwindow directory in your
home directory.
Command line arguments
There are lots of command line options available for the rootwindow
program. Most you shouldn't ever have to alter. These options can be set
in your ~/.rootwindow.rc file or on the command line.
For a full set of the options, look at the command dispatch table in the
program. I realize this is unusual, but some of the options have little
reason to be changed from the defaults.
- --sequence "csv quake xphoon weather soho astro"
This lists the various modules you want run, and the order
that they are run in. It is OK to list some modules more
than others. The modules can also simply be listed after all
of the named parameters are specified.
- --csv-show number
Specify the number of minutes that a picture from a CSV file is
displayed.
- --quake-time number
Specify the number of minutes between collecting earthquake data.
- --quake-show number
Specify the number of minutes that earthquakes are shown.
- --quake-params
Specify the parmeters to xearth.
- --weather-time number
Specify the number of minutes between satellite updates.
- --weather-show number
Specify the number of minutes that the satellite image is shown.
- --astro-time number
Specify the number of minutes between fetching the Astronomy
Picture of the Day.
- --astro-show number
Specify the number of minutes that the picture of the day is shown.
- --soho-time number
Specify the number of minutes between fetching the SOHO images.
- --soho-show number
Specify the number of minutes that the SOHO image is shown.
- --xphoon-show number
Specify the number of minutes that the phase of moon image is shown.
- --display path_to_display
Pathname of the display program.
- --xearth path_to_xearth
Pathname of the xearth program.
- --montage path_to_montage
Pathname of the montage program.
- --xphoon path_to_xphoon
Pathname of the xphoon program.
- --display-flags flags
Flags to the display program to get at image tinto the root window.
- --geometry geometry-info
Specify the geometry for a full screen looking like
"-geometry 1152x864!"
- --minsize SIZE
Don't display small images. They usually aren't that interesting.
- --maxsize SIZE
Don't display huge images. A 7M image can cause the display
program to bloat out to 70MB of memory usage.
Other programs
This package includes a number of additional programs.
Some of these you might want to use yourself as part of
this package, or for other purposes.