1WMGlobe 1.3 - The Whole Earth spinning on you desktop... as a dockable app
2Copyright (C) 1998,99,2000,01 Jerome Dumonteil <jerome.dumonteil@linuxfr.org>
3This program is licensed under the terms of the GNU GPL, see below.
4
5
6
7Description
8----------------------------------------
9WMGlobe is a WindowMaker dock.app that displays the earth on an icon. It's
10an adaptation of XGlobe to WMaker environnement. WMGlobe uses a map which is
11rendered on a sphere by raytracing. Yes, for a 64x64 pixel result :-)
12
13
14
15
16Installation
17----------------------------------------
18You need WindowMaker to build WMGlobe. WMGlobe needs libwraster to compile,
19this lib is built by WindowMaker. No more need at run time if statically
20linked, but then, you need WindowMaker to get the full magic :-)
21Warning : this version won't work with WindowMaker < 0.62
22
23 tar -xvzf wmglobe-1.3.tar.gz
24 cd wmglobe-1.3
25 make
26
27 then move wmglobe in /usr/local/bin and man page somewhere or do
28 (as root) :
29 make install
30
31
32If it doesn't work, look for the graphic libraries.
33
34The Makefile is quite crude...
35
36WMGlobe is developped on Linux (WMaker 0.65.1 and linux 2.4.x/ix86).
37If you are successful on other platforms, please tell me so.
38
39
40platforms with successfull built reported (wmglobe 1.0 for older WMaker):
41
42NetBSD 1.3.2 / SPARC (wmaker 0.20.3) , with Makefile adaptations for libs
43Linux 2.0.36 / RedHat 5.1
44Linux 2.0.36 / SuSE 5.3 (wmaker 0.20.3) , -lungif -> -lgif
45Linux 2.0.36 / RedHat 5.2 (wmaker 0.53)
46Linux 2.2.0-pre4 / Debian :-)
47FreeBSD-3.0 with -ltiff -> -ltiff34 and -lungif -> -lgif
48Solaris 2.6 / Sun Sparc (wmaker 0.20.3) , with Makefile adaptations for libs
49AIX 4.2.1 / IBM RS/6000-250 (wmaker 0.50.2)
50Linux 2.3.14 / Mandrake (wmaker but also blackbox !)
51LinuxPPC 1999
52Linux 2.2.10 / Alpha (wmglobe 1.1+)
53
54
55RPM & DEBIAN linux packages coming soon. Or you can directly use the binary.
56
57compile time problems :
58
59Xlib.h, Xpm.h ... :
60If you compile wmglobe on a computer installed with packages (.rpm), you may
61lack of these header files. Just install the "xxx-dev.rpm" packages for XFree86
62and graphics libs, or install a rpm version of wmglobe.
63
64libwraster :
65WindowMaker 0.20.3 uses a libwraster.a , so if you use it, you can execute
66the binary on a computer without WindowMaker on it, and displaying on a
67remote computer (this one using WindowMaker). WM > 0.51.0 creates a dynamic
68libwraster.so, so it's necessary to have it on the computer running wmglobe
69if you buit WMGlobe with this one. Both versions of WMGlobe run on WM 0.20.3
70and 0.51.0
71For wmglobe 1.2+, you need WMaker 0.62 or more recent. And wmglobe 1.0 won't
72run on these recent versions of WindowMaker. You need to have wraster.h
73in the include path to compile wmglobe.
74For wmglobe 1.3+, you probably need WMaker 0.64 or more recent.
75
76graphic libs :
77you can use libgif or libungif. If your version of WindowMaker is built
78without support for some graphic type, you don't need it (just remove it
79from the makefile).
80This problem may happen with RedHat 5.2, if you get this kind of message,
81just add a libtiff to your system :
82/usr/local/lib/libwraster.so: undefined reference to `TIFFReadDirectory'
83...
84make: *** [wmglobe] Error 1
85
86
87compile time options :
88You can modify the file wmgoption.h where many options are set up in defines :
89
90To disable the builtin default map, just comment out the line in wmgoptions.h
91#define DEFMAPOK
92to remove the shift+left/left method of rotate earth, uncomment the lines
93#define MOUSE_LAT_FULL
94
95you can also suppress some options screen in wmgoption.h (or even suppress
96new features of wmglobe 1.2)
97
98
99
100
101Maps
102----------------------------------------
103Like XGlobe, WMGlobe needs a longitude/latitude map to work. By default,
104it uses a low quality built-in map of earth. But you will probably want
105to use better ones.
106
107You can get maps usable with WMGlobe on the net. See the LINKS chapter.
108
109using 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.
113
114By the way, you can use maps of Mars, Luna ... and text.
115
116
117
118Configuration options
119----------------------------------------
120
121Configuration is done through command line options.
122
123-v version
124-h short help
125
126-zoom zoom_value Value > 1 to magnify the view, value < 1 to lower.
127 Default : 1.0
128
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.
134
135-sun The point of view follows the Sun (default).
136
137-moon The point of view follows the Moon (i.e. you see the
138 Earth as you were on the Moon).
139
140-rand New random position at every refresh of screen
141
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.
145
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).
150
151-defnimap Use the default night map (with a custom map).
152
153-nonimap Don't use the default night map.
154
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.
163
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
168
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.
175
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
179
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
184
185-bord border_num 0 1 or 2. There are 3 different borders for the icon.
186 Default : 0
187
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
191
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.
197
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 :-)
203
204-fun dx dy Move the earth image by dx dy pixels in the icon. See
205 puzzle.sh to understand why.
206
207-oz Start in "austral" mode (for "down under" people)
208
209-stable Keep the globe from going over the poles.
210
211-d display Select another display
212
213-w -shape Useless, since it is set by default (WMaker dockable
214 application)
215
216mouse :
217left button Change longitude while pressed, change longitude &
218 latitude if shift+left button.
219
220middle button Zoom in, shift + middle button : zoom out
221
222right 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...
229
230
231
232Links : Some sites dealing with WindowMaker
233-------------------------------------------
234
235Official Window Maker Website :
236http://www.windowmaker.org/
237
238The Dock App Warehouse :
239http://www.bensinclair.com/dockapp/
240
241
242
243Links : Where to find maps and similar softs
244--------------------------------------------
245where to find the sources of wmglobe :
246http://perso.linuxfr.org/jdumont/wmg/wmglobe-1.0.tar.gz
247
248the web page of WMGlobe (made by Sylvestre Taburet) :
249http://perso.linuxfr.org/jdumont/wmg/
250
251
252where to find maps and similar softs :
253
254Earth image by a cgi :
255http://www.fourmilab.ch/cgi-bin/uncgi/Earth
256
257two softs running under X :
258XGlobe Homepage: http://www.uni-karlsruhe.de/~uddn/xglobe
259(the recent 0.2 version brings a very nice map of earth)
260
261Xearth Homepage: http://www.cs.colorado.edu/~tuna/xearth/
262
263
264For the maps XGlobe doc says :
265
266� WHERE TO GET MAPS:
267
2681. LivingEarth Inc.
269
270http://livingearth.com/LE/LivEarthImg.html
271http://livingearth.com/LE/BrillEarthImg.html
272
273Livingearth Inc. has some nice (day and night) images on their web pages.
274With these you can test the -nightmap option of XEarth. Unfortunately
275they are pretty low-res (400x200).
276You can find a higher-resolution (but heavily compressed) version of this
277day map at the "Earth View" page:
278
279http://www.fourmilab.ch/cgi-bin/uncgi/Earth
280
281Check "No night" and set display to "map", then save the image.
282
283
2842. NOAA NGDC Marine Geology & Geophysics
285
286http://www.ngdc.noaa.gov:80/mgg/image/mggd.gif
287
288This image is definitely not "photo-realistic" but nonetheless pretty
289interesting. It also has a rather high resolution. �
290
291
292
293Todo
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
304
305
306
307Bugs
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.
318
319
320License
321----------------------------------------
322WMGlobe is Copyright (C) 1998,99,2000,2001 by Jerome Dumonteil and licensed
323through the GNU General Public License.
324Read the COPYING file for the complete GNU license.
325
326
327
328Credits
329----------------------------------------
330Original idea, tests, logos : Sylvestre Taburet <Sylvestre.Taburet@free.fr>
331
332WindowMaker 0.62 fix : Charles G Waldman <cgw@fnal.gov>
333
334The code in 'sunpos.cpp' is taken from Xearth by Kirk Lauritz Johnson.
335(Actually, it uses now the 1.1 version of Xearth)
336
337/*
338 * sunpos.c
339 * kirk johnson
340 * july 1993
341 *
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.)
346 *
347 *
348 * Copyright (C) 1989, 1990, 1993, 1994, 1995 Kirk Lauritz Johnson
349 *
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>
353 *
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 */
360
361The rendering engine is taken from XGlobe by Thorsten Scheuermann
362XGlobe Homepage: http://www.uni-karlsruhe.de/~uddn/xglobe
363
364Raster graphics library by Alfredo K. Kojima, & stuff of Window Maker
365<http://windowmaker.org> by A. K. Kojima, Dan Pascu, Matthew Hawkins & team
366
367
368
369Feedback
370----------------------------------------
371For your questions, bugs, remarks, please contact our representative on
372planet Earth : jerome dumonteil <jerome.dumonteil@linuxfr.org>
373
374
375
376