http://ftp.x.org/contrib/applications/xscreensaver-2.23.tar.gz
[xscreensaver] / driver / lock.c
index 0d4c43e3ff663f5c393dad71073d48f1675ca93f..c6a715a5df43aea807911704c3ea68d84d368a22 100644 (file)
@@ -1,5 +1,5 @@
 /* lock.c --- handling the password dialog for locking-mode.
- * xscreensaver, Copyright (c) 1993-1997 Jamie Zawinski <jwz@netscape.com>
+ * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@netscape.com>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -22,6 +22,7 @@
 #include <X11/StringDefs.h>
 #include <X11/Intrinsic.h>
 #include "xscreensaver.h"
+#include "resources.h"
 
 #ifndef VMS
 # include <pwd.h>
@@ -445,6 +446,17 @@ passwd_idle_timer (XtPointer closure, XtIntervalId *id)
 
       x = (w / 2);
 
+#ifdef __sgi   /* Kludge -- SGI's Motif hacks place buttons differently. */
+      {
+       static int sgi_mode = -1;
+       if (sgi_mode == -1)
+         sgi_mode = get_boolean_resource("sgiMode", "sgiMode") ? 1 : 0;
+
+       if (sgi_mode)
+         x = d;
+      }
+#endif /* __sgi */
+
       x -= d/2;
       y += d/2;
 
@@ -592,6 +604,7 @@ pop_passwd_dialog (saver_info *si)
     XMapRaised (dpy, XtWindow (passwd_dialog));
 #endif
 
+  monitor_power_on (si);
 #ifdef HAVE_ATHENA
   pop_up_athena_dialog_box (parent, passwd_text, passwd_dialog,
                            passwd_form, 2);