X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Ftypes.h;h=f1630b0dc7d09e5f2888d5d711dc0fb924e6aa87;hb=d5186197bc394e10a4402f7f6d23fbb14103bc50;hp=63ac39ec89148552bb4304c7f0981b12072a6a49;hpb=de460e831dc8578acfa8b72251ab9346c99c1f96;p=xscreensaver diff --git a/driver/types.h b/driver/types.h index 63ac39ec..f1630b0d 100644 --- a/driver/types.h +++ b/driver/types.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1993-2008 Jamie Zawinski +/* xscreensaver, Copyright (c) 1993-2014 Jamie Zawinski * * 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 + +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. @@ -112,6 +132,8 @@ struct saver_preferences { int pointer_hysteresis; /* mouse motions less than N/sec are ignored */ Bool dpms_enabled_p; /* Whether to power down the monitor */ + Bool dpms_quickoff_p; /* Whether to power down monitor immediately + in "Blank Only" mode */ Time dpms_standby; /* how long until monitor goes black */ Time dpms_suspend; /* how long until monitor power-saves */ Time dpms_off; /* how long until monitor powers down */ @@ -131,6 +153,7 @@ struct saver_preferences { Bool use_mit_saver_extension; Bool use_sgi_saver_extension; Bool use_proc_interrupts; + Bool use_xinput_extension; Bool getviewport_full_of_lies_p; /* XFree86 bug #421 */ @@ -141,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, @@ -188,8 +215,20 @@ struct saver_info { # ifdef HAVE_RANDR int randr_event_number; int randr_error_number; + Bool using_randr_extension; # endif + Bool using_xinput_extension; /* Note that `p->use_*' is the *request*, */ + /* and `si->using_*' is the *reality*. */ +#ifdef HAVE_XINPUT + int xinput_ext_event_number; /* may not be used */ + int xinput_ext_error_number; + int xinput_DeviceButtonPress; /* Extension device event codes. */ + int xinput_DeviceButtonRelease; /* Assigned by server at runtime */ + int xinput_DeviceMotionNotify; + xinput_dev_info *xinput_devices; + int num_xinput_devices; +# endif /* ======================================================================= blanking @@ -235,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 @@ -380,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