[PATCH 16/23] wmsun: Rename executable from wmSun to wmsun.

Doug Torrance <[email protected]>
Newsgroups gmane.compw.window-managers.windowmaker.devel
Message-ID <[email protected]>
---
 wmsun/Makefile |  18 +--
 wmsun/wmSun.1  |  47 -------
 wmsun/wmSun.c  | 401 ---------------------------------------------------------
 wmsun/wmsun.1  |  47 +++++++
 wmsun/wmsun.c  | 401 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 457 insertions(+), 457 deletions(-)
 delete mode 100644 wmsun/wmSun.1
 delete mode 100644 wmsun/wmSun.c
 create mode 100644 wmsun/wmsun.1
 create mode 100644 wmsun/wmsun.c

diff --git a/wmsun/Makefile b/wmsun/Makefile
index 81f0f67..20e26a6 100644
--- a/wmsun/Makefile
+++ b/wmsun/Makefile
@@ -16,26 +16,26 @@ LIBS   = -lXpm -lX11 -lXext -lm
 #
 # LIBS   = -lXpm -lX11 -lXext -lsocket
 
-OBJS   = wmSun.o SunRise.o wmgeneral/wmgeneral.o
+OBJS   = wmsun.o SunRise.o wmgeneral/wmgeneral.o
 
 .c.o:
 	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $*.o
 
-all:	wmSun.o wmSun
+all:	wmsun.o wmsun
 
-wmSun.o: wmSun_master.xpm wmSun_mask.xbm
+wmsun.o: wmSun_master.xpm wmSun_mask.xbm
 
-wmSun:	$(OBJS)
-	$(CC) $(LDFLAGS) -o wmSun $^ $(LIBS)
+wmsun:	$(OBJS)
+	$(CC) $(LDFLAGS) -o wmsun $^ $(LIBS)
 
 clean:
 	for i in $(OBJS) ; do \
 		rm -f $$i; \
 	done
-	rm -f wmSun
+	rm -f wmsun
 
-install:: wmSun
+install:: wmsun
 	$(INSTALL) -d $(DESTDIR)$(BINDIR)
-	$(INSTALL) wmSun $(DESTDIR)$(BINDIR)
+	$(INSTALL) wmsun $(DESTDIR)$(BINDIR)
 	$(INSTALL) -d $(DESTDIR)$(MANDIR)
-	$(INSTALL) -m 644 wmSun.1 $(DESTDIR)$(MANDIR)
+	$(INSTALL) -m 644 wmsun.1 $(DESTDIR)$(MANDIR)
diff --git a/wmsun/wmSun.1 b/wmsun/wmSun.1
deleted file mode 100644
index 33cbd88..0000000
--- a/wmsun/wmSun.1
+++ /dev/null
@@ -1,47 +0,0 @@
-.TH WMSUN 1 "5 January 1999"
-.SH NAME
-WMSUN \- Dockable WindowMaker SunRise/SunSet App
-.SH SYNOPSIS
-.B wmSun [OPTIONS]
-.SH DESCRIPTION
-.PP
-wmSun displays the current day's Sun Rise and Set Times. You must enter your
-LAtitude and Longitude correctly for it to work.
-.SH OPTIONS
-.TP
-.B \-h
-Display list of command-line options.
-.TP
-.B \-display <display>
-Use an alternate X Display.
-.TP
-.B \-geometry <geometry>
-Set window geometry.
-.TP
-.B \-lat <Latitude>
-Set latitude of observer.
-.TP
-.B \-lon <Longitude>
-Set longitude of observer.
-.TP
-.B \-td <UT - LT>
-Set the difference beteeen UT and LT. Useful when you want to show the
-Sunrise/Sunset at a remote lat/lon without resetting your clock.
-.TP
-.B \-12
-Use 12-hour clock.
-.TP
-.B \-date <yyyymmdd>
-Set the date to show sunrise/sunset for.
-.SH EXAMPLES
-.TP
-.B wmSun -lon 106.3 -lat 35.9
-this would display rise/set times at Los Alamos in local time.
-.TP
-.B wmSun -lat 19.58 -lon 155.92 -td 10
-this would display rise/set times in Kona, Hawaii in local time (in winter -- you need to
-take into account daylight savings at other times of the year).
-.SH BUGS
-Who knows? (Let me know if you find any).
-.SH AUTHOR
-Michael G. Henderson <[email protected]>
diff --git a/wmsun/wmSun.c b/wmsun/wmSun.c
deleted file mode 100644
index a0ad31b..0000000
--- a/wmsun/wmSun.c
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- *
- *  	wmSun-1.03 (C) 1999 Mike Henderson ([email protected])
- *
- *  		- Shows Sun Rise/Set Times....
- *
- *
- *
- *
- *
- * 	This program is free software; you can redistribute it and/or modify
- * 	it under the terms of the GNU General Public License as published by
- * 	the Free Software Foundation; either version 2, or (at your option)
- * 	any later version.
- *
- * 	This program is distributed in the hope that it will be useful,
- * 	but WITHOUT ANY WARRANTY; without even the implied warranty of
- * 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * 	GNU General Public License for more details.
- *
- * 	You should have received a copy of the GNU General Public License
- * 	along with this program (see the file COPYING); if not, write to the
- * 	Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- *      Boston, MA  02111-1307, USA
- *
- *      Things TODO:
- *                  - clean up code!
- *                  - support for 8-bit displays.
- *                  - more detailed documentation.
- *                  - eclipses?
- *                  - add buttons to play will date and lat lon...
- *                    Could be something like this;
- *                       First click brings up buttons to change date.
- *                       Second click brings up buttons to change lat/lon.
- *                       Third goes back to display
- *                       Set time delay to go back to display if user doesnt do it...
- *
- *
- *
- *
- *
- *      Changes:
- *
- * 	Version 1.03 - released February 4, 1999.
- *                     cosmetic for AfterStep users. removed spurious black line at RHS edge an mask.
- *
- *
- *	Version 1.02 - released January 12, 1999.
- *		       Added support for User-specified date and Time difference so that
- *		       you can have the display be correct in local time even for remote
- *                     lat/lons. (I am in Hawaii right now. I dont want to reset the time on
- *                     my laptop, so with these new options I can still get the correct
- *                     local times of rise/set. Sunset is awesome here in Kona!!! And the calcs
- *                     seem to be quite good -- it's a good test here because the Sun sets over
- *                     the Pacific (no mountains are in the way)).
- *
- *	Version 1.01 - released January 6, 1999.
- *                     Fixed stupid bug in Date change montior.
- *
- *	Version 1.0 - released January 5, 1999.
- *
- *
- */
-
-
-
-
-
-/*
- *   Includes
- */
-#define _POSIX_C_SOURCE 1
-#include <stdio.h>
-#include <math.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <X11/X.h>
-#include <X11/xpm.h>
-#include "wmgeneral/wmgeneral.h"
-#include "wmSun_master.xpm"
-#include "wmSun_mask.xbm"
-
-
-
-/*
- *  Delay between refreshes (in microseconds)
- */
-#define DELAY 10000L
-#define WMSUN_VERSION "1.03"
-
-#define DegPerRad       57.29577951308232087680
-#define RadPerDeg        0.01745329251994329576
-
-
-
-
-
-void ParseCMDLine(int argc, char *argv[]);
-void pressEvent(XButtonEvent *xev);
-void SunRise(int year, int month, int day, double LocalHour, double *UTRise,
-	double *UTSet);
-
-int	ToggleWindow = 0;
-int	nMAX = 1;
-int	Flag = 1;
-int	UseUserTimeDiff = 0;
-int	UseUserDate = 0;
-long	UserDate;
-double 	Glat, Glon, SinGlat, CosGlat, TimeZone, UserTimeDiff;
-int	TwelveHour = 0;
-
-
-int	xDigit[11] = {8, 18, 27, 37, 46, 55, 64, 74, 83, 92, 102};
-
-
-
-
-/*
- *   main
- */
-int main(int argc, char *argv[]) {
-
-
-
-
-
-    struct tm		*GMTTime, *LocalTime;
-    XEvent		event;
-    int			n;
-    int 		Year, Month, OldLocalDayOfMonth;
-    int			LocalDayOfMonth,	DayOfMonth;
-    long		CurrentLocalTime, CurrentGMTTime, date;
-    double		UT, val, LTRise, LTSet, LocalHour, hour24();
-    int			H, M;
-
-
-
-
-
-
-    /*
-     *  Parse any command line arguments.
-     */
-    Glat = Glon = 0.0;
-    ParseCMDLine(argc, argv);
-    Glat *= RadPerDeg; SinGlat = sin( Glat ); CosGlat = cos( Glat );
-
-
-
-    openXwindow(argc, argv, wmSun_master, (char *)wmSun_mask_bits, wmSun_mask_width, wmSun_mask_height);
-
-
-
-
-
-    /*
-     *  Loop until we die
-     */
-    n = 32000;
-    OldLocalDayOfMonth = -999;
-    while(1) {
-
-
-	if (Flag) {
-	    n = 32000;
-	    Flag = 0;
-	}
-
-
-
-
-	/*
-	 *  The Moon Ephemeris calculations are somewhat costly (the Moon is one of the most
-	 *  difficult objects to compute position for). So only process every nMAXth cycle of this
-	 *  loop. We run outer loop it faster to catch expose events, button presses, etc...
-	 *
-	 */
-	if (n>nMAX){
-	    struct tm result;
-
-	    n = 0;
-	    nMAX = 1000;
-
-
-	    CurrentGMTTime = time(CurrentTime);
-	    GMTTime = gmtime_r(&CurrentGMTTime, &result);
-	    DayOfMonth = GMTTime->tm_mday;
-
-	    UT = GMTTime->tm_hour + GMTTime->tm_min/60.0 + GMTTime->tm_sec/3600.0;
-	    Year = GMTTime->tm_year+1900;
-	    Month = GMTTime->tm_mon+1;
-
-
-	    CurrentLocalTime = CurrentGMTTime;
-	    LocalTime = localtime_r(&CurrentLocalTime, &result);
-	    LocalDayOfMonth = LocalTime->tm_mday;
-
-	    if ((OldLocalDayOfMonth != LocalDayOfMonth)||(Flag)){
-
-		Flag = 0;
-
-		if (UseUserDate){
-	    	    date =  UserDate;
-		    Year = date/10000;
-		    date -= Year*10000;
-		    Month = date/100;
-		    date -= Month*100;
-		    DayOfMonth = date;
-		    date = UserDate;
-		} else {
-	    	    date = Year*10000 + Month*100 + DayOfMonth;
-		}
-	    	LocalHour = LocalTime->tm_hour + LocalTime->tm_min/60.0 + LocalTime->tm_sec/3600.0;
-	    	TimeZone = (UseUserTimeDiff) ? UserTimeDiff : UT - LocalHour;
-
-	    	/*
-	    	 *  Clear Plotting area
-	    	 */
-	    	copyXPMArea(65, 5, 54, 54, 5, 5);
-
-
-
-   	    	/*
-	    	 *  Compute Sun Rise/Set Times in Local Time
-	    	 */
-	    	SunRise(Year, Month, DayOfMonth, LocalHour, &LTRise, &LTSet);
-
-		if (LTRise > 0.0){
-	    	    val = LTRise;
-	    	    H = (int)val; val = (val-H)*60.0;
-		    if (TwelveHour) {
-			H = H % 12;
-			if (H == 0)
-			    H = 12;
-		    }
-	    	    M = (int)val;
-	    	    copyXPMArea(xDigit[H/10], 73, 7, 9, 17, 13);
-	    	    copyXPMArea(xDigit[H%10], 73, 7, 9, 17+7, 13);
-	    	    copyXPMArea(xDigit[10],   75, 3, 6, 17+15, 15);
-	    	    copyXPMArea(xDigit[M/10], 73, 7, 9, 17+19, 13);
-	    	    copyXPMArea(xDigit[M%10], 73, 7, 9, 17+26, 13);
-		} else {
-	    	    copyXPMArea(10, 84, 28, 7, 19, 15);
-		}
-
-
-		if (LTSet > 0.0){
-	    	    val = LTSet;
-	    	    H = (int)val; val = (val-H)*60.0;
-		    if (TwelveHour) {
-			H = H % 12;
-			if (H == 0)
-			    H = 12;
-		    }
-	    	    M = (int)val;
-	    	    copyXPMArea(xDigit[H/10], 73, 7, 9, 17, 40);
-	    	    copyXPMArea(xDigit[H%10], 73, 7, 9, 17+7, 40);
-	    	    copyXPMArea(xDigit[10],   75, 3, 6, 17+15, 42);
-	    	    copyXPMArea(xDigit[M/10], 73, 7, 9, 17+19, 40);
-	    	    copyXPMArea(xDigit[M%10], 73, 7, 9, 17+26, 40);
-		} else {
-	    	    copyXPMArea(10, 84, 28, 7, 19, 40);
-		}
-
-	    }
-
-	    OldLocalDayOfMonth = LocalDayOfMonth;
-
-
-	} else {
-
-	    /*
-	     *  Update the counter.
-	     */
-	    ++n;
-
-	}
-
-
-
-
-
-
-
-
-	/*
-	 *   Process any pending X events.
-	 */
-        while(XPending(display)){
-            XNextEvent(display, &event);
-            switch(event.type){
-                case Expose:
-                        RedrawWindow();
-                        break;
-                case ButtonPress:
-                        pressEvent(&event.xbutton);
-                        break;
-                case ButtonRelease:
-                        break;
-            }
-        }
-
-
-
-
-
-
-	/*
-	 *  Redraw and wait for next update
-	 */
-	RedrawWindow();
-	usleep(DELAY);
-
-
-     }
-
-
-
-}
-
-
-
-
-
-
-
-
-/*
- *   ParseCMDLine()
- */
-void ParseCMDLine(int argc, char *argv[]) {
-
-    int  i;
-
-    for (i = 1; i < argc; i++) {
-
-        if (!strcmp(argv[i], "-display")){
-
-  	    ++i;
-
-        } else if (!strcmp(argv[i], "-geometry")){
-
-	    ++i;
-
-        } else if (!strcmp(argv[i], "-lat")){
-
-	    Glat = atof(argv[++i]);
-
-        } else if (!strcmp(argv[i], "-lon")){
-
-	    Glon = atof(argv[++i]);
-
-        } else if (!strcmp(argv[i], "-td")){
-
-	    UseUserTimeDiff = 1;
-	    UserTimeDiff = atof(argv[++i]);
-
-        } else if (!strcmp(argv[i], "-date")){
-
-	    UseUserDate = 1;
-	    UserDate = atoi(argv[++i]);
-
-	} else if (!strcmp(argv[i], "-12")){
-
-	    TwelveHour = 1;
-
-	} else {
-	    printf("\nwmSun version: %s\n", WMSUN_VERSION);
-	    printf("\nusage: wmSun [-display <Display>] [-lat <Latitude>] [-lon <Longitude>] [-h]\n\n");
-	    printf("\t-display <Display>\tUse alternate X display.\n");
-	    printf("\t-geometry <Geometry>\tSet window geometry.\n");
-	    printf("\t-lat <Latitude>\t\tObservers Latitude. Positive to the west.\n");
-	    printf("\t-lon <Longitude>\tObservers Longitude.\n");
-	    printf("\t-td <Delta Time>\tUser defined difference between UT an LT (hrs).\n");
-	    printf("\t-12\t\t\tUse 12-hour clock.\n");
-	    printf("\t-h\t\t\tDisplay help screen.\n\n");
-	    exit(1);
-	}
-    }
-
-}
-
-
-/*
- *  This routine handles button presses. Clicking in the window
- *  toggles the display.
- *
- */
-void pressEvent(XButtonEvent *xev){
-
-   (void) xev;
-   ++ToggleWindow;
-   if (ToggleWindow > 4) ToggleWindow = 0;
-   Flag = 1;
-
-   return;
-
-}
-
diff --git a/wmsun/wmsun.1 b/wmsun/wmsun.1
new file mode 100644
index 0000000..33cbd88
--- /dev/null
+++ b/wmsun/wmsun.1
@@ -0,0 +1,47 @@
+.TH WMSUN 1 "5 January 1999"
+.SH NAME
+WMSUN \- Dockable WindowMaker SunRise/SunSet App
+.SH SYNOPSIS
+.B wmSun [OPTIONS]
+.SH DESCRIPTION
+.PP
+wmSun displays the current day's Sun Rise and Set Times. You must enter your
+LAtitude and Longitude correctly for it to work.
+.SH OPTIONS
+.TP
+.B \-h
+Display list of command-line options.
+.TP
+.B \-display <display>
+Use an alternate X Display.
+.TP
+.B \-geometry <geometry>
+Set window geometry.
+.TP
+.B \-lat <Latitude>
+Set latitude of observer.
+.TP
+.B \-lon <Longitude>
+Set longitude of observer.
+.TP
+.B \-td <UT - LT>
+Set the difference beteeen UT and LT. Useful when you want to show the
+Sunrise/Sunset at a remote lat/lon without resetting your clock.
+.TP
+.B \-12
+Use 12-hour clock.
+.TP
+.B \-date <yyyymmdd>
+Set the date to show sunrise/sunset for.
+.SH EXAMPLES
+.TP
+.B wmSun -lon 106.3 -lat 35.9
+this would display rise/set times at Los Alamos in local time.
+.TP
+.B wmSun -lat 19.58 -lon 155.92 -td 10
+this would display rise/set times in Kona, Hawaii in local time (in winter -- you need to
+take into account daylight savings at other times of the year).
+.SH BUGS
+Who knows? (Let me know if you find any).
+.SH AUTHOR
+Michael G. Henderson <[email protected]>
diff --git a/wmsun/wmsun.c b/wmsun/wmsun.c
new file mode 100644
index 0000000..16038e5
--- /dev/null
+++ b/wmsun/wmsun.c
@@ -0,0 +1,401 @@
+/*
+ *
+ *  	wmSun-1.03 (C) 1999 Mike Henderson ([email protected])
+ *
+ *  		- Shows Sun Rise/Set Times....
+ *
+ *
+ *
+ *
+ *
+ * 	This program is free software; you can redistribute it and/or modify
+ * 	it under the terms of the GNU General Public License as published by
+ * 	the Free Software Foundation; either version 2, or (at your option)
+ * 	any later version.
+ *
+ * 	This program is distributed in the hope that it will be useful,
+ * 	but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 	GNU General Public License for more details.
+ *
+ * 	You should have received a copy of the GNU General Public License
+ * 	along with this program (see the file COPYING); if not, write to the
+ * 	Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ *      Boston, MA  02111-1307, USA
+ *
+ *      Things TODO:
+ *                  - clean up code!
+ *                  - support for 8-bit displays.
+ *                  - more detailed documentation.
+ *                  - eclipses?
+ *                  - add buttons to play will date and lat lon...
+ *                    Could be something like this;
+ *                       First click brings up buttons to change date.
+ *                       Second click brings up buttons to change lat/lon.
+ *                       Third goes back to display
+ *                       Set time delay to go back to display if user doesnt do it...
+ *
+ *
+ *
+ *
+ *
+ *      Changes:
+ *
+ * 	Version 1.03 - released February 4, 1999.
+ *                     cosmetic for AfterStep users. removed spurious black line at RHS edge an mask.
+ *
+ *
+ *	Version 1.02 - released January 12, 1999.
+ *		       Added support for User-specified date and Time difference so that
+ *		       you can have the display be correct in local time even for remote
+ *                     lat/lons. (I am in Hawaii right now. I dont want to reset the time on
+ *                     my laptop, so with these new options I can still get the correct
+ *                     local times of rise/set. Sunset is awesome here in Kona!!! And the calcs
+ *                     seem to be quite good -- it's a good test here because the Sun sets over
+ *                     the Pacific (no mountains are in the way)).
+ *
+ *	Version 1.01 - released January 6, 1999.
+ *                     Fixed stupid bug in Date change montior.
+ *
+ *	Version 1.0 - released January 5, 1999.
+ *
+ *
+ */
+
+
+
+
+
+/*
+ *   Includes
+ */
+#define _POSIX_C_SOURCE 1
+#include <stdio.h>
+#include <math.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <X11/X.h>
+#include <X11/xpm.h>
+#include "wmgeneral/wmgeneral.h"
+#include "wmSun_master.xpm"
+#include "wmSun_mask.xbm"
+
+
+
+/*
+ *  Delay between refreshes (in microseconds)
+ */
+#define DELAY 10000L
+#define WMSUN_VERSION "1.03"
+
+#define DegPerRad       57.29577951308232087680
+#define RadPerDeg        0.01745329251994329576
+
+
+
+
+
+void ParseCMDLine(int argc, char *argv[]);
+void pressEvent(XButtonEvent *xev);
+void SunRise(int year, int month, int day, double LocalHour, double *UTRise,
+	double *UTSet);
+
+int	ToggleWindow = 0;
+int	nMAX = 1;
+int	Flag = 1;
+int	UseUserTimeDiff = 0;
+int	UseUserDate = 0;
+long	UserDate;
+double 	Glat, Glon, SinGlat, CosGlat, TimeZone, UserTimeDiff;
+int	TwelveHour = 0;
+
+
+int	xDigit[11] = {8, 18, 27, 37, 46, 55, 64, 74, 83, 92, 102};
+
+
+
+
+/*
+ *   main
+ */
+int main(int argc, char *argv[]) {
+
+
+
+
+
+    struct tm		*GMTTime, *LocalTime;
+    XEvent		event;
+    int			n;
+    int 		Year, Month, OldLocalDayOfMonth;
+    int			LocalDayOfMonth,	DayOfMonth;
+    long		CurrentLocalTime, CurrentGMTTime, date;
+    double		UT, val, LTRise, LTSet, LocalHour, hour24();
+    int			H, M;
+
+
+
+
+
+
+    /*
+     *  Parse any command line arguments.
+     */
+    Glat = Glon = 0.0;
+    ParseCMDLine(argc, argv);
+    Glat *= RadPerDeg; SinGlat = sin( Glat ); CosGlat = cos( Glat );
+
+
+
+    openXwindow(argc, argv, wmSun_master, (char *)wmSun_mask_bits, wmSun_mask_width, wmSun_mask_height);
+
+
+
+
+
+    /*
+     *  Loop until we die
+     */
+    n = 32000;
+    OldLocalDayOfMonth = -999;
+    while(1) {
+
+
+	if (Flag) {
+	    n = 32000;
+	    Flag = 0;
+	}
+
+
+
+
+	/*
+	 *  The Moon Ephemeris calculations are somewhat costly (the Moon is one of the most
+	 *  difficult objects to compute position for). So only process every nMAXth cycle of this
+	 *  loop. We run outer loop it faster to catch expose events, button presses, etc...
+	 *
+	 */
+	if (n>nMAX){
+	    struct tm result;
+
+	    n = 0;
+	    nMAX = 1000;
+
+
+	    CurrentGMTTime = time(CurrentTime);
+	    GMTTime = gmtime_r(&CurrentGMTTime, &result);
+	    DayOfMonth = GMTTime->tm_mday;
+
+	    UT = GMTTime->tm_hour + GMTTime->tm_min/60.0 + GMTTime->tm_sec/3600.0;
+	    Year = GMTTime->tm_year+1900;
+	    Month = GMTTime->tm_mon+1;
+
+
+	    CurrentLocalTime = CurrentGMTTime;
+	    LocalTime = localtime_r(&CurrentLocalTime, &result);
+	    LocalDayOfMonth = LocalTime->tm_mday;
+
+	    if ((OldLocalDayOfMonth != LocalDayOfMonth)||(Flag)){
+
+		Flag = 0;
+
+		if (UseUserDate){
+	    	    date =  UserDate;
+		    Year = date/10000;
+		    date -= Year*10000;
+		    Month = date/100;
+		    date -= Month*100;
+		    DayOfMonth = date;
+		    date = UserDate;
+		} else {
+	    	    date = Year*10000 + Month*100 + DayOfMonth;
+		}
+	    	LocalHour = LocalTime->tm_hour + LocalTime->tm_min/60.0 + LocalTime->tm_sec/3600.0;
+	    	TimeZone = (UseUserTimeDiff) ? UserTimeDiff : UT - LocalHour;
+
+	    	/*
+	    	 *  Clear Plotting area
+	    	 */
+	    	copyXPMArea(65, 5, 54, 54, 5, 5);
+
+
+
+   	    	/*
+	    	 *  Compute Sun Rise/Set Times in Local Time
+	    	 */
+	    	SunRise(Year, Month, DayOfMonth, LocalHour, &LTRise, &LTSet);
+
+		if (LTRise > 0.0){
+	    	    val = LTRise;
+	    	    H = (int)val; val = (val-H)*60.0;
+		    if (TwelveHour) {
+			H = H % 12;
+			if (H == 0)
+			    H = 12;
+		    }
+	    	    M = (int)val;
+	    	    copyXPMArea(xDigit[H/10], 73, 7, 9, 17, 13);
+	    	    copyXPMArea(xDigit[H%10], 73, 7, 9, 17+7, 13);
+	    	    copyXPMArea(xDigit[10],   75, 3, 6, 17+15, 15);
+	    	    copyXPMArea(xDigit[M/10], 73, 7, 9, 17+19, 13);
+	    	    copyXPMArea(xDigit[M%10], 73, 7, 9, 17+26, 13);
+		} else {
+	    	    copyXPMArea(10, 84, 28, 7, 19, 15);
+		}
+
+
+		if (LTSet > 0.0){
+	    	    val = LTSet;
+	    	    H = (int)val; val = (val-H)*60.0;
+		    if (TwelveHour) {
+			H = H % 12;
+			if (H == 0)
+			    H = 12;
+		    }
+	    	    M = (int)val;
+	    	    copyXPMArea(xDigit[H/10], 73, 7, 9, 17, 40);
+	    	    copyXPMArea(xDigit[H%10], 73, 7, 9, 17+7, 40);
+	    	    copyXPMArea(xDigit[10],   75, 3, 6, 17+15, 42);
+	    	    copyXPMArea(xDigit[M/10], 73, 7, 9, 17+19, 40);
+	    	    copyXPMArea(xDigit[M%10], 73, 7, 9, 17+26, 40);
+		} else {
+	    	    copyXPMArea(10, 84, 28, 7, 19, 40);
+		}
+
+	    }
+
+	    OldLocalDayOfMonth = LocalDayOfMonth;
+
+
+	} else {
+
+	    /*
+	     *  Update the counter.
+	     */
+	    ++n;
+
+	}
+
+
+
+
+
+
+
+
+	/*
+	 *   Process any pending X events.
+	 */
+        while(XPending(display)){
+            XNextEvent(display, &event);
+            switch(event.type){
+                case Expose:
+                        RedrawWindow();
+                        break;
+                case ButtonPress:
+                        pressEvent(&event.xbutton);
+                        break;
+                case ButtonRelease:
+                        break;
+            }
+        }
+
+
+
+
+
+
+	/*
+	 *  Redraw and wait for next update
+	 */
+	RedrawWindow();
+	usleep(DELAY);
+
+
+     }
+
+
+
+}
+
+
+
+
+
+
+
+
+/*
+ *   ParseCMDLine()
+ */
+void ParseCMDLine(int argc, char *argv[]) {
+
+    int  i;
+
+    for (i = 1; i < argc; i++) {
+
+        if (!strcmp(argv[i], "-display")){
+
+  	    ++i;
+
+        } else if (!strcmp(argv[i], "-geometry")){
+
+	    ++i;
+
+        } else if (!strcmp(argv[i], "-lat")){
+
+	    Glat = atof(argv[++i]);
+
+        } else if (!strcmp(argv[i], "-lon")){
+
+	    Glon = atof(argv[++i]);
+
+        } else if (!strcmp(argv[i], "-td")){
+
+	    UseUserTimeDiff = 1;
+	    UserTimeDiff = atof(argv[++i]);
+
+        } else if (!strcmp(argv[i], "-date")){
+
+	    UseUserDate = 1;
+	    UserDate = atoi(argv[++i]);
+
+	} else if (!strcmp(argv[i], "-12")){
+
+	    TwelveHour = 1;
+
+	} else {
+	    printf("\nwmSun version: %s\n", WMSUN_VERSION);
+	    printf("\nusage: wmsun [-display <Display>] [-lat <Latitude>] [-lon <Longitude>] [-h]\n\n");
+	    printf("\t-display <Display>\tUse alternate X display.\n");
+	    printf("\t-geometry <Geometry>\tSet window geometry.\n");
+	    printf("\t-lat <Latitude>\t\tObservers Latitude. Positive to the west.\n");
+	    printf("\t-lon <Longitude>\tObservers Longitude.\n");
+	    printf("\t-td <Delta Time>\tUser defined difference between UT an LT (hrs).\n");
+	    printf("\t-12\t\t\tUse 12-hour clock.\n");
+	    printf("\t-h\t\t\tDisplay help screen.\n\n");
+	    exit(1);
+	}
+    }
+
+}
+
+
+/*
+ *  This routine handles button presses. Clicking in the window
+ *  toggles the display.
+ *
+ */
+void pressEvent(XButtonEvent *xev){
+
+   (void) xev;
+   ++ToggleWindow;
+   if (ToggleWindow > 4) ToggleWindow = 0;
+   Flag = 1;
+
+   return;
+
+}
+
-- 
2.1.4


-- 
To unsubscribe, send mail to [email protected].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.