* 22-Jan-98: jwz: made the flag wigglier; added xpm support.
* (I tried to do this by re-porting from xlockmore, but the
* current xlockmore version is completely inscrutable.)
- * 13-May-97: jwz@netscape.com: turned into a standalone program.
+ * 13-May-97: jwz@jwz.org: turned into a standalone program.
* Made it able to animate arbitrary (runtime) text or bitmaps.
* 01-May-96: written.
*/
#endif /* !STANDALONE */
-#if defined(VMS) && !defined(HAVE_UNAME) && (__VMS_VER >= 70000000)
-# define HAVE_UNAME 1
-#endif
-
#ifdef HAVE_UNAME
# include <sys/utsname.h>
#endif /* HAVE_UNAME */
#ifdef STANDALONE
static XrmOptionDescRec opts[] =
{
- { "-bitmap", ".flag.bitmap", XrmoptionSepArg, 0 }
+ { "-bitmap", ".flag.bitmap", XrmoptionSepArg, 0 },
+ { "-text", ".flag.text", XrmoptionSepArg, 0 }
};
#endif /* STANDALONE */
ModeSpecOpt flag_opts = {
#ifdef STANDALONE
- 1, opts, 0, NULL, NULL
+ 2, opts, 0, NULL, NULL
#else /* !STANDALONE */
0, NULL, 0, NULL, NULL
#endif /* STANDALONE */
*s = 0;
text = (char *) malloc(strlen(uts.nodename) +
strlen(uts.sysname) +
+ strlen(uts.version) +
strlen(uts.release) + 10);
+# ifdef _AIX
+ sprintf(text, "%s\n%s %s.%s",
+ uts.nodename, uts.sysname, uts.version, uts.release);
+# else /* !_AIX */
sprintf(text, "%s\n%s %s",
uts.nodename, uts.sysname, uts.release);
+# endif /* !_AIX */
}
#else /* !HAVE_UNAME */
# ifdef VMS
}
else
{
+ char *bits = (char *) malloc (sizeof(bob_bits));
+ memcpy (bits, bob_bits, sizeof(bob_bits));
fp->image = XCreateImage (dpy, MI_VISUAL(mi), 1, XYBitmap, 0,
- (char *) bob_bits, bob_width, bob_height,
+ bits, bob_width, bob_height,
8, 0);
fp->image->byte_order = LSBFirst;
fp->image->bitmap_bit_order = LSBFirst;
XClearWindow(display, MI_WINDOW(mi));
}
+void release_flag(ModeInfo * mi);
+
+
void
draw_flag(ModeInfo * mi)
{
XFlush(display);
fp->timer++;
if ((MI_CYCLES(mi) > 0) && (fp->timer >= MI_CYCLES(mi)))
+ {
+ release_flag(mi);
init_flag(mi);
+ }
}
void