Fix multiple definitions of display variable.
[dockapps.git] / wmglobe / README
blob959958104d41ff441fc5dfa4040df3e4e984249e
1 WMGlobe 1.3  -  The Whole Earth spinning on you desktop... as a dockable app
2 Copyright (C) 1998,99,2000,01 Jerome Dumonteil <jerome.dumonteil@linuxfr.org>
3 This program is licensed under the terms of the GNU GPL, see below.
7 Description
8 ----------------------------------------
9 WMGlobe is a WindowMaker dock.app that displays the earth on an icon. It's
10 an adaptation of XGlobe to WMaker environnement. WMGlobe uses a map which is
11 rendered on a sphere by raytracing. Yes, for a 64x64 pixel result :-)
16 Installation
17 ----------------------------------------
18 You need WindowMaker to build WMGlobe. WMGlobe needs libwraster to compile,
19 this lib is built by WindowMaker. No more need at run time if statically
20 linked, but then, you need WindowMaker to get the full magic :-)
21 Warning : this version won't work with WindowMaker < 0.62
23         tar -xvzf wmglobe-1.3.tar.gz
24         cd wmglobe-1.3
25         make
27         then move wmglobe in /usr/local/bin and man page somewhere or do
28         (as root) :
29         make install
32 If it doesn't work, look for the graphic libraries.
34 The Makefile is quite crude...
36 WMGlobe is developped on Linux (WMaker 0.65.1 and linux 2.4.x/ix86).
37 If you are successful on other platforms, please tell me so.
40 platforms with successfull built reported (wmglobe 1.0 for older WMaker):
42 NetBSD 1.3.2 / SPARC    (wmaker 0.20.3) , with Makefile adaptations for libs
43 Linux 2.0.36 / RedHat 5.1
44 Linux 2.0.36 / SuSE 5.3 (wmaker 0.20.3)  ,  -lungif -> -lgif
45 Linux 2.0.36 / RedHat 5.2 (wmaker 0.53)
46 Linux 2.2.0-pre4 / Debian    :-)
47 FreeBSD-3.0     with -ltiff -> -ltiff34 and -lungif -> -lgif
48 Solaris 2.6  / Sun Sparc (wmaker 0.20.3) , with Makefile adaptations for libs
49 AIX 4.2.1    / IBM RS/6000-250 (wmaker 0.50.2)
50 Linux 2.3.14 / Mandrake (wmaker but also blackbox !)
51 LinuxPPC 1999
52 Linux 2.2.10 / Alpha (wmglobe 1.1+)
55 RPM & DEBIAN linux packages coming soon. Or you can directly use the binary.
57 compile time problems :
59 Xlib.h, Xpm.h ... :
60 If you compile wmglobe on a computer installed with packages (.rpm), you may
61 lack of these header files. Just install the "xxx-dev.rpm" packages for XFree86
62 and graphics libs, or install a rpm version of wmglobe.
64 libwraster :
65 WindowMaker 0.20.3 uses a libwraster.a , so if you use it, you can execute
66 the binary on a computer without WindowMaker on it, and displaying on a
67 remote computer (this one using WindowMaker). WM > 0.51.0 creates a dynamic
68 libwraster.so, so it's necessary to have it on the computer running wmglobe
69 if you buit WMGlobe with this one. Both versions of WMGlobe run on WM 0.20.3
70 and 0.51.0
71 For wmglobe 1.2+, you need WMaker 0.62 or more recent. And wmglobe 1.0 won't
72 run on these recent versions of WindowMaker. You need to have wraster.h
73 in the include path to compile wmglobe.
74 For wmglobe 1.3+, you probably need WMaker 0.64 or more recent.
76 graphic libs :
77 you can use libgif or libungif. If your version of WindowMaker is built
78 without support for some graphic type, you don't need it (just remove it
79 from the makefile).
80 This problem may happen with RedHat 5.2, if you get this kind of message,
81 just add a libtiff to your system :
82 /usr/local/lib/libwraster.so: undefined reference to `TIFFReadDirectory'
83 ...
84 make: *** [wmglobe] Error 1
87 compile time options :
88 You can modify the file wmgoption.h where many options are set up in defines :
90 To disable the builtin default map, just comment out the line in wmgoptions.h
91 #define DEFMAPOK
92 to remove the shift+left/left method of rotate earth, uncomment the lines
93 #define MOUSE_LAT_FULL
95 you can also suppress some options screen in wmgoption.h (or even suppress
96 new features of wmglobe 1.2)
101 Maps
102 ----------------------------------------
103 Like XGlobe, WMGlobe needs a longitude/latitude map to work. By default,
104 it uses a low quality built-in map of earth. But you will probably want
105 to use better ones.
107 You can get maps usable with WMGlobe on the net. See the LINKS chapter.
109 using custom maps :
110 - For the image to be mapped correctly, position 0°North 0°West must be in
111   the center of the image and the latitude must be linear from 90°N to 90°S.
112 - You can safely use a night map of different size than the day map.
114 By the way, you can use maps of Mars, Luna ... and text.
118 Configuration options
119 ----------------------------------------
121 Configuration is done through command line options.
123 -v                      version
124 -h                      short help
126 -zoom zoom_value        Value > 1 to magnify the view, value < 1 to lower.
127                         Default : 1.0
129 -pos latitude long.     Initial viewing fixed at this position, don't follow
130                         the sun rotation. Accepted values in the form
131                         45°12'36 or 45.21 or 45:12:36
132                         Default : the initial position is "under" the sun, and
133                         the point of view follows the sun.
135 -sun                    The point of view follows the Sun (default).
137 -moon                   The point of view follows the Moon (i.e. you see the
138                         Earth as you were on the Moon).
140 -rand                   New random position at every refresh of screen
142 -map     map_file       Map used for the rendering. Can be JPEG, GIF, XPM
143                         PNM, TIFF but none BMP
144                         Default : use internal map of earth.
146 -nimap   night_file     Map used for the dark side of the earth. Must be of
147                         the same width x height as the day side map.
148                         Default : if the default internal day map is used, use
149                         a default internal night file (see -nonimap option).
151 -defnimap               Use the default night map (with a custom map).
153 -nonimap                Don't use the default night map.
155 -delay   seconds        Time in seconds between each calculation of a new
156                         position. Limited to 0.04 at compile time (25 frames
157                         per second should be enough). The sun position move
158                         only once per minute, so if you use wmglobe without
159                         -dlong or -accel option, the CPU cost of WMGlobe is
160                         *very* low. The use of very low value for -delay plus
161                         -dlong and -accel can be CPU costly (but very nice...)
162                         Default : 1.0 sec.
164 -dlat   delta_latitude  Move the point of view by delta_lat degrees per second,
165                         with a value of 6 the earth make a full rotation in
166                         one minute. The value can be formated as -pos option.
167                         Default : 0°0'0
169 -dlong  delta_long      Move the point of view by delta_long degrees per
170                         second. With a value of -0°0'15" the earth make a full
171                         rotation in 24 hours toward the west. By default,
172                         -dlong and -dlat are null. If they are used, the view
173                         follow their values. Going back to "follow sun" mode
174                         in parameters screen put -dlat and -dlong to zero.
176 -light  light_value     Level of light of the dark side when there is no
177                         night map, from 0 to 1.
178                         Default : 0.25
180 -dawn   dawn_value      Level of continuity for dawn limit, from 0 to 1. With
181                         a value of 1, the border line between night and day is
182                         at maximum contrast.
183                         Default : 0.2
185 -bord   border_num      0 1 or 2. There are 3 different borders for the icon.
186                         Default : 0
188 -accel  time_multi      Time warp factor. With -accel 24, the sun make a full
189                         rotation in one hour (or the earth, I'm not sure).
190                         Default : 1.0
192 -time   seconds         Time to display in seconds since 01-01-1970 (see the
193                         date command). Necessary if you need to be sure that
194                         WMGlobe is Y2K compliant without changing system time.
195                         Negative values for dates before 1970 accepted.
196                         Default : not set, use current time.
198 -mk latitude long.      Put a fixed marker at latitude/longitude.
199                         -mk sun : put a marker under the Sun position.
200                         -mk moon : put a marker under the Moon.
201                         5 markers can be defined simultaneously, so you can
202                         use wmglobe to predict when Moon will meet the Sun :-)
204 -fun dx dy              Move the earth image by dx dy pixels in the icon. See
205                         puzzle.sh to understand why.
207 -oz                     Start in "austral" mode (for "down under" people)
209 -stable                 Keep the globe from going over the poles.
211 -d display              Select another display
213 -w  -shape              Useless, since it is set by default (WMaker dockable
214                         application)
216 mouse :
217 left button             Change longitude while pressed, change longitude &
218                         latitude if shift+left button.
220 middle button           Zoom in, shift + middle button : zoom out
222 right button            Displays 7 screens of parameters. On every screen, just
223                         clic with left or right button on the figures to change
224                         their value. The TIME screen shows an approximation
225                         of date and time of the earth zone currently displayed,
226                         using GMT time + longitude offset, it's close to the
227                         real local time by one or two hours. Others options
228                         don't need more help. Intuitive they said...
232 Links : Some sites dealing with WindowMaker
233 -------------------------------------------
235 Official Window Maker Website :
236 http://www.windowmaker.org/
238 The Dock App Warehouse :
239 http://www.bensinclair.com/dockapp/
243 Links : Where to find maps and similar softs
244 --------------------------------------------
245 where to find the sources of wmglobe :
246 http://perso.linuxfr.org/jdumont/wmg/wmglobe-1.0.tar.gz
248 the web page of WMGlobe (made by Sylvestre Taburet) :
249 http://perso.linuxfr.org/jdumont/wmg/
252 where to find maps and similar softs :
254 Earth image by a cgi :
255 http://www.fourmilab.ch/cgi-bin/uncgi/Earth
257 two softs running under X :
258 XGlobe Homepage: http://www.uni-karlsruhe.de/~uddn/xglobe
259 (the recent 0.2 version brings a very nice map of earth)
261 Xearth Homepage: http://www.cs.colorado.edu/~tuna/xearth/
264 For the maps XGlobe doc says :
266 « WHERE TO GET MAPS:
268 1. LivingEarth Inc.
270 http://livingearth.com/LE/LivEarthImg.html
271 http://livingearth.com/LE/BrillEarthImg.html
273 Livingearth Inc. has some nice (day and night) images on their web pages.
274 With these you can test the -nightmap option of XEarth. Unfortunately
275 they are pretty low-res (400x200).
276 You can find a higher-resolution (but heavily compressed) version of this
277 day map at the "Earth View" page:
279 http://www.fourmilab.ch/cgi-bin/uncgi/Earth
281 Check "No night" and set display to "map", then save the image.
284 2. NOAA NGDC Marine Geology & Geophysics
286 http://www.ngdc.noaa.gov:80/mgg/image/mggd.gif
288 This image is definitely not "photo-realistic" but nonetheless pretty
289 interesting. It also has a rather high resolution. »
293 Todo
294 ----------------------------------------
295 - add interface module to allow plugins
296 - test on different platforms, better makefile
297 - changing map "on the fly", map generator, clouds generator...
298 - must work on every current WindowMaker platform (hug...)
299 - rewrite some ugly things in the code
300 - see how to minimize CPU load
301 - feature : load a local detailed map of some part of the globe when zooming
302   (country maps, city maps)
303 - maybe port to other window manager
307 Bugs
308 ----------------------------------------
309 - Wmglobe depends on WindowMaker version
310 - The Makefile
311 - if you use the  --enable-single-icon compile time option of WindowMaker,
312   you can not display more than one WMGlobe.
313 - WMGlobe hopes that an overflow of a long integer dont generate an error
314   and that LONG_MAX +1 = LONG_MIN . This happens with high values of -accel
315   when the date go over year 2038. The expected result is wmglobe
316   continuing smoothly from 1901.
317 - Using WMGlobe at high speed through a LAN may induce some load on the net.
320 License
321 ----------------------------------------
322 WMGlobe is Copyright (C) 1998,99,2000,2001 by Jerome Dumonteil and licensed
323 through the GNU General Public License.
324 Read the COPYING file for the complete GNU license.
328 Credits
329 ----------------------------------------
330 Original idea, tests, logos : Sylvestre Taburet <Sylvestre.Taburet@free.fr>
332 WindowMaker 0.62 fix : Charles G Waldman <cgw@fnal.gov>
334 The code in 'sunpos.cpp' is taken from Xearth by Kirk Lauritz Johnson.
335 (Actually, it uses now the 1.1 version of Xearth)
338  * sunpos.c
339  * kirk johnson
340  * july 1993
342  * code for calculating the position on the earth's surface for which
343  * the sun is directly overhead (adapted from _practical astronomy
344  * with your calculator, third edition_, peter duffett-smith,
345  * cambridge university press, 1988.)
348  * Copyright (C) 1989, 1990, 1993, 1994, 1995 Kirk Lauritz Johnson
350  * Parts of the source code (as marked) are:
351  *   Copyright (C) 1989, 1990, 1991 by Jim Frost
352  *   Copyright (C) 1992 by Jamie Zawinski <jwz@lucid.com>
354  * Permission to use, copy, modify and freely distribute xearth for
355  * non-commercial and not-for-profit purposes is hereby granted
356  * without fee, provided that both the above copyright notice and this
357  * permission notice appear in all copies and in supporting
358  * documentation.
359  */
361 The rendering engine is taken from XGlobe by Thorsten Scheuermann
362 XGlobe Homepage: http://www.uni-karlsruhe.de/~uddn/xglobe
364 Raster graphics library by Alfredo K. Kojima, & stuff of Window Maker
365 <http://windowmaker.org> by A. K. Kojima, Dan Pascu, Matthew Hawkins & team
369 Feedback
370 ----------------------------------------
371 For your questions, bugs, remarks, please contact our representative on
372 planet Earth : jerome dumonteil <jerome.dumonteil@linuxfr.org>