From http://www.jwz.org/xscreensaver/xscreensaver-5.30.tar.gz
[xscreensaver] / driver / types.h
index 831604cd63706fa1fc369c3842a58c50e2b8e546..f1630b0dc7d09e5f2888d5d711dc0fb924e6aa87 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1993-2011 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1993-2014 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -54,6 +54,26 @@ typedef struct passwd_dialog_data passwd_dialog_data;
 typedef struct splash_dialog_data splash_dialog_data;
 typedef struct _monitor monitor;
 
+typedef struct poll_mouse_data poll_mouse_data;
+struct poll_mouse_data {
+  int root_x;
+  int root_y;
+  Window child;
+  unsigned int mask;
+  time_t time;
+};
+
+#ifdef HAVE_XINPUT
+/* XInputExtension device support */
+#include <X11/extensions/XInput.h>
+
+typedef struct xinput_dev_info xinput_dev_info;
+struct xinput_dev_info {
+  XDevice       *device;
+  XEventClass   press, release, valuator;
+  poll_mouse_data last_poll_mouse;
+};
+#endif
 
 /* This structure holds all the user-specified parameters, read from the
    command line, the resource database, or entered through a dialog box.
@@ -144,6 +164,10 @@ struct saver_preferences {
   char *help_url;              /* Where the help document resides. */
   char *load_url_command;      /* How one loads URLs. */
   char *new_login_command;     /* Command for the "New Login" button. */
+
+  int auth_warning_slack;      /* Don't warn about login failures if they
+                                   all happen within this many seconds of
+                                   a successful login. */
 };
 
 /* This structure holds all the data that applies to the program as a whole,
@@ -202,7 +226,7 @@ struct saver_info {
   int xinput_DeviceButtonPress;    /* Extension device event codes.          */
   int xinput_DeviceButtonRelease;  /* Assigned by server at runtime          */
   int xinput_DeviceMotionNotify;
-  struct xinput_dev_info *xinput_devices;
+  xinput_dev_info *xinput_devices;
   int num_xinput_devices;
 # endif
 
@@ -250,6 +274,7 @@ struct saver_info {
 
   int unlock_failures;         /* Counts failed login attempts while the
                                   screen is locked. */
+  time_t unlock_failure_time;  /* Time of first failed login attempt. */
 
   char *unlock_typeahead;      /* If the screen is locked, and the user types
                                    a character, we assume that it is the first
@@ -395,12 +420,7 @@ struct saver_screen_info {
      timers
      ======================================================================= */
 
-  int poll_mouse_last_root_x;          /* Used only when no server exts. */
-  int poll_mouse_last_root_y;
-  Window poll_mouse_last_child;
-  unsigned int poll_mouse_last_mask;
-  time_t poll_mouse_last_time;
-
+  poll_mouse_data last_poll_mouse;     /* Used only when no server exts. */
 
   /* =======================================================================
      subprocs