350 lines
11 KiB
Plaintext
350 lines
11 KiB
Plaintext
|
WMGlobe 0.5 - The Whole Earth spinning on you desktop... as a dockable app
|
|||
|
Copyright (C) 1998,99 Jerome Dumonteil <jerome.dumonteil@capway.com>
|
|||
|
This program is licensed under the terms of the GNU GPL, see below.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Description
|
|||
|
----------------------------------------
|
|||
|
WMGlobe is a WindowMaker dock.app that displays the earth on an icon. It's
|
|||
|
an adaptation of XGlobe to WMaker environnement. WMGlobe uses a map which is
|
|||
|
rendered on a sphere by raytracing. Yes, for a 64x64 pixel result :-)
|
|||
|
|
|||
|
It's still a beta version...
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Installation
|
|||
|
----------------------------------------
|
|||
|
You need WindowMaker to build WMGlobe. WMGlobe needs libwraster to compile,
|
|||
|
this lib is built by WindowMaker. No more need at run time if statically
|
|||
|
linked, but then, you need WindowMaker to get the full magic :-)
|
|||
|
|
|||
|
|
|||
|
tar -xvzf wmglobe-0.5.tar.gz
|
|||
|
cd wmglobe-0.5
|
|||
|
make
|
|||
|
|
|||
|
then move wmglobe in /usr/local/bin and man page somewhere or do
|
|||
|
(as root) :
|
|||
|
make install
|
|||
|
|
|||
|
|
|||
|
If it doesn't work, look for the graphic libraries.
|
|||
|
|
|||
|
The Makefile is quite crude...
|
|||
|
|
|||
|
WMGlobe is developped on Linux (WMaker 0.51.0 and linux 2.0.36/ix86).
|
|||
|
If you are successful on other platforms, please tell me so.
|
|||
|
|
|||
|
|
|||
|
platforms with successfull built reported :
|
|||
|
|
|||
|
NetBSD 1.3.2 / SPARC (wmaker 0.20.3) , with Makefile adaptations for libs
|
|||
|
Linux 2.0.36 / RedHat 5.1
|
|||
|
Linux 2.0.36 / SuSE 5.3 (wmaker 0.20.3) , -lungif -> -lgif
|
|||
|
Linux 2.2.0-pre4 / Debian :-)
|
|||
|
FreeBSD-3.0 with -ltiff -> -ltiff34 and -lungif -> -lgif
|
|||
|
Solaris 2.6 / Sun Sparc (wmaker 0.20.3) , with Makefile adaptations for libs
|
|||
|
AIX 4.2.1 / IBM RS/6000-250 (wmaker 0.50.2)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
RPM & DEBIAN linux packages coming soon. Or you can directly use the binary.
|
|||
|
|
|||
|
compile time problems :
|
|||
|
|
|||
|
Xlib.h, Xpm.h ... :
|
|||
|
If you compile wmglobe on a computer installed with packages (.rpm), you may
|
|||
|
lack of these header files. Just install the "xxx-dev.rpm" packages for XFree86
|
|||
|
and graphics libs, or install a rpm version of wmglobe.
|
|||
|
|
|||
|
libwraster :
|
|||
|
WindowMaker 0.20.3 uses a libwraster.a , so if you use it, you can execute
|
|||
|
the binary on a computer without WindowMaker on it, and displaying on a
|
|||
|
remote computer (this one using WindowMaker). WM 0.51.0 creates a dynamic
|
|||
|
libwraster.so, so it's necessary to have it on the computer running wmglobe
|
|||
|
if you buit WMGlobe with this one. Both versions of WMGlobe run on WM 0.20.3
|
|||
|
and 0.51.0
|
|||
|
|
|||
|
graphic libs :
|
|||
|
you can use libgif or libungif. If your version of WindowMaker is built
|
|||
|
without support for some graphic type, you don't need it (just remove it
|
|||
|
from the makefile).
|
|||
|
This problem may happen with RedHat 5.2, if you get this kind of message,
|
|||
|
just add a libtiff to your system :
|
|||
|
/usr/local/lib/libwraster.so: undefined reference to `TIFFReadDirectory'
|
|||
|
...
|
|||
|
make: *** [wmglobe] Error 1
|
|||
|
|
|||
|
|
|||
|
compile time options :
|
|||
|
You can modify the file wmgoption.h where many options are set up in defines :
|
|||
|
|
|||
|
To disable the builtin default map, just comment out the line in wmgoptions.h :
|
|||
|
#define DEFMAPOK
|
|||
|
to supprim the shift+left/left method of rotate earth, uncomment the lines
|
|||
|
#define MOUSE_LAT_FULL
|
|||
|
|
|||
|
you can also suppress some options screen in wmgoption.h
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Maps
|
|||
|
----------------------------------------
|
|||
|
Like XGlobe, WMGlobe needs a longitude/latitude map to work. By default,
|
|||
|
it uses a low quality built-in map of earth. But you will probably want
|
|||
|
to use better ones.
|
|||
|
|
|||
|
You can get maps usable with WMGlobe on the net. See the LINKS chapter.
|
|||
|
|
|||
|
using custom maps :
|
|||
|
- For the image to be mapped correctly, position 0<>North 0<>West must be in
|
|||
|
the center of the image and the latitude must be linear from 90<39>N to 90<39>S.
|
|||
|
- When using a night map, make sure that day and night map have the same
|
|||
|
dimensions.
|
|||
|
|
|||
|
By the way, you can use maps of Mars, Luna ... and text.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Configuration options
|
|||
|
----------------------------------------
|
|||
|
|
|||
|
Configuration is done through command line options.
|
|||
|
|
|||
|
-v version
|
|||
|
-h short help
|
|||
|
|
|||
|
-zoom zoom_value Value > 1 to magnify the view, value < 1 to lower.
|
|||
|
Default : 1.0
|
|||
|
|
|||
|
-pos latitude long. Initial viewing fixed at this position, don't follow
|
|||
|
the sun rotation. Accepted values in the form
|
|||
|
45<34>12'36 or 45.21 or 45:12:36
|
|||
|
Default : the initial position is "under" the sun, and
|
|||
|
the point of view follows the sun
|
|||
|
|
|||
|
-rand New random position at every refresh of screen
|
|||
|
|
|||
|
-map map_file Map used for the rendering. Can be JPEG, GIG, XPM
|
|||
|
PNM, TIFF but none BMP
|
|||
|
Default : use internal map of earth.
|
|||
|
|
|||
|
-nimap night_file Map used for the dark side of the earth. Must be of
|
|||
|
the same width x height as the day side map.
|
|||
|
Default : if the default internal day map is used, use
|
|||
|
a default internal night file (see -nonimap option).
|
|||
|
If a custom day map is provided, and no night map, the
|
|||
|
dark side is computed via the -light option.
|
|||
|
|
|||
|
-nonimap Don't use the default night map.
|
|||
|
|
|||
|
-delay seconds Time in seconds between each calculation of a new
|
|||
|
position. Limited to 0.04 at compile time (25 frames
|
|||
|
per second should be enough). The sun position move
|
|||
|
only once per minute, so if you use wmglobe without
|
|||
|
-dlong or -accel option, the CPU cost of WMGlobe is
|
|||
|
*very* low. The use of very low value for -delay plus
|
|||
|
-dlong and -accel can be CPU costly (but very nice...)
|
|||
|
Default : 1.0 sec.
|
|||
|
|
|||
|
-dlat delta_latitude Move the point of view by delta_lat degrees per second,
|
|||
|
with a value of 6 the earth make a full rotation in
|
|||
|
one minute. The value can be formated as -pos option.
|
|||
|
Default : 0<>0'0
|
|||
|
|
|||
|
-dlong delta_long Move the point of view by delta_long degrees per
|
|||
|
second. With a value of -0<>0'15" the earth make a full
|
|||
|
rotation in 24 hours toward the west. By default,
|
|||
|
-dlong and -dlat are null. If they are used, the view
|
|||
|
follow their values. Going back to "follow sun" mode
|
|||
|
in parameters screen put -dlat and -dlong to zero.
|
|||
|
|
|||
|
-light light_value Level of light of the dark side when there is no
|
|||
|
night map, from 0 to 1.
|
|||
|
Default : 0.25
|
|||
|
|
|||
|
-dawn dawn_value Level of continuity for dawn limit, from 0 to 1. With
|
|||
|
a value of 1, the border line between night and day is
|
|||
|
at maximum contrast.
|
|||
|
Default : 0.2
|
|||
|
|
|||
|
-bord border_num 0 1 or 2. There are 3 different borders for the icon.
|
|||
|
Default : 0
|
|||
|
|
|||
|
-accel time_multi Time warp factor. With -accel 24, the sun make a full
|
|||
|
rotation in one hour (or the earth, I'm not sure).
|
|||
|
Default : 1.0
|
|||
|
|
|||
|
-time seconds Time to display in seconds since 01-01-1970 (see the
|
|||
|
date command). Necessary if you need to be sure that
|
|||
|
WMGlobe is Y2K compliant without changing system time.
|
|||
|
Negative values for dates before 1970 accepted.
|
|||
|
Default : not set, use current time.
|
|||
|
|
|||
|
-fun dx dy Move the earth image by dx dy pixels in the icon. See
|
|||
|
puzzle.sh to understand why.
|
|||
|
|
|||
|
-oz Start in "austral" mode (for "down under" people)
|
|||
|
|
|||
|
-d display Select another display
|
|||
|
|
|||
|
-w -shape Useless, since it is set by default (WMaker dockable
|
|||
|
application)
|
|||
|
|
|||
|
mouse :
|
|||
|
left button Change longitude while pressed, change longitude &
|
|||
|
latitude if shift+left button.
|
|||
|
|
|||
|
middle button Zoom in, shift + middle button : zoom out
|
|||
|
|
|||
|
right button Displays 7 screens of parameters. On every screen, just
|
|||
|
clic with left or right button on the figures to change
|
|||
|
their value. The TIME screen shows an approximation
|
|||
|
of date and time of the earth zone currently displayed,
|
|||
|
using GMT time + longitude offset, it's close to the
|
|||
|
real local time by one or two hours. Others options
|
|||
|
don't need more help. Intuitive they said...
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Links : Some sites dealing with WindowMaker
|
|||
|
-------------------------------------------
|
|||
|
|
|||
|
Official Window Maker Website :
|
|||
|
http://www.windowmaker.org/
|
|||
|
|
|||
|
The Dock App Warehouse :
|
|||
|
http://www.bensinclair.com/dockapp/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Links : Where to find maps and similar softs
|
|||
|
--------------------------------------------
|
|||
|
where to find the sources of wmglobe :
|
|||
|
http://www.capway.com/dumonte1/wm/wmglobe-0.5.tar.gz
|
|||
|
|
|||
|
the web page of WMGlobe (made by Sylvestre Taburet) :
|
|||
|
http://www.capway.com/dumonte1/wm/wmg.html
|
|||
|
|
|||
|
|
|||
|
where to find maps and similar softs :
|
|||
|
|
|||
|
Earth image by a cgi :
|
|||
|
http://www.fourmilab.ch/cgi-bin/uncgi/Earth
|
|||
|
|
|||
|
two softs running under X :
|
|||
|
XGlobe Homepage: http://www.uni-karlsruhe.de/~uddn/xglobe
|
|||
|
(the recent 0.2 version brings a very nice map of earth)
|
|||
|
|
|||
|
Xearth Homepage: http://www.cs.colorado.edu/~tuna/xearth/
|
|||
|
|
|||
|
|
|||
|
For the maps XGlobe doc says :
|
|||
|
|
|||
|
<EFBFBD> WHERE TO GET MAPS:
|
|||
|
|
|||
|
1. LivingEarth Inc.
|
|||
|
|
|||
|
http://livingearth.com/LE/LivEarthImg.html
|
|||
|
http://livingearth.com/LE/BrillEarthImg.html
|
|||
|
|
|||
|
Livingearth Inc. has some nice (day and night) images on their web pages.
|
|||
|
With these you can test the -nightmap option of XEarth. Unfortunately
|
|||
|
they are pretty low-res (400x200).
|
|||
|
You can find a higher-resolution (but heavily compressed) version of this
|
|||
|
day map at the "Earth View" page:
|
|||
|
|
|||
|
http://www.fourmilab.ch/cgi-bin/uncgi/Earth
|
|||
|
|
|||
|
Check "No night" and set display to "map", then save the image.
|
|||
|
|
|||
|
|
|||
|
2. NOAA NGDC Marine Geology & Geophysics
|
|||
|
|
|||
|
http://www.ngdc.noaa.gov:80/mgg/image/mggd.gif
|
|||
|
|
|||
|
This image is definitely not "photo-realistic" but nonetheless pretty
|
|||
|
interesting. It also has a rather high resolution. <20>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Todo
|
|||
|
----------------------------------------
|
|||
|
- test on different platforms, better makefile
|
|||
|
- changing map "on the fly", map generator, clouds generator...
|
|||
|
- must work on every current WindowMaker platform
|
|||
|
- see how to minimize CPU load
|
|||
|
- feature : load a local detailed map of some part of the globe when zooming
|
|||
|
(country maps, city maps)
|
|||
|
- maybe port to other window manager
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Bugs
|
|||
|
----------------------------------------
|
|||
|
- The Makefile
|
|||
|
- if you use the --enable-single-icon compile time option of WindowMaker,
|
|||
|
you can not display more than one WMGlobe.
|
|||
|
- WMGlobe hopes that an overflow of a long integer dont generate an error
|
|||
|
and that LONG_MAX +1 = LONG_MIN . This happens with high values of -accel
|
|||
|
when the date go over year 2038. The expected result is wmglobe
|
|||
|
continuing smoothly from 1901.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
License
|
|||
|
----------------------------------------
|
|||
|
WMGlobe is Copyright (C) 1998,99 by Jerome Dumonteil and licensed through
|
|||
|
the GNU General Public License.
|
|||
|
Read the COPYING file for the complete GNU license.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Credits
|
|||
|
----------------------------------------
|
|||
|
Original idea, tests, logos : Sylvestre Taburet <staburet@consort.fr>
|
|||
|
|
|||
|
The code in 'sunpos.cpp' is taken from Xearth by Kirk Lauritz Johnson.
|
|||
|
|
|||
|
/*
|
|||
|
* sunpos.c
|
|||
|
* kirk johnson
|
|||
|
* july 1993
|
|||
|
*
|
|||
|
* code for calculating the position on the earth's surface for which
|
|||
|
* the sun is directly overhead (adapted from _practical astronomy
|
|||
|
* with your calculator, third edition_, peter duffett-smith,
|
|||
|
* cambridge university press, 1988.)
|
|||
|
*
|
|||
|
*
|
|||
|
* Copyright (C) 1989, 1990, 1993, 1994, 1995 Kirk Lauritz Johnson
|
|||
|
*
|
|||
|
* Parts of the source code (as marked) are:
|
|||
|
* Copyright (C) 1989, 1990, 1991 by Jim Frost
|
|||
|
* Copyright (C) 1992 by Jamie Zawinski <jwz@lucid.com>
|
|||
|
*
|
|||
|
* Permission to use, copy, modify and freely distribute xearth for
|
|||
|
* non-commercial and not-for-profit purposes is hereby granted
|
|||
|
* without fee, provided that both the above copyright notice and this
|
|||
|
* permission notice appear in all copies and in supporting
|
|||
|
* documentation.
|
|||
|
*/
|
|||
|
|
|||
|
The rendering engine is taken from XGlobe by Thorsten Scheuermann
|
|||
|
XGlobe Homepage: http://www.uni-karlsruhe.de/~uddn/xglobe
|
|||
|
|
|||
|
Raster graphics library by Alfredo K. Kojima, & stuff of Window Maker
|
|||
|
<http://windowmaker.org> by A. K. Kojima, Dan Pascu, Matthew Hawkins & team
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Feedback
|
|||
|
----------------------------------------
|
|||
|
For your questions, bugs, remarks, please contact our representative on
|
|||
|
planet Earth : jerome dumonteil <jerome.dumonteil@capway.com>
|
|||
|
|
|||
|
|
|||
|
|