X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=driver%2Fxscreensaver.c;h=70bb95424ef88dcb0fc798afc7fd689bad33a14f;hp=c092777c58796c193463c85ee6c8a3d870cdf5e6;hb=50be9bb40dc60130c99ffa568e6677779904ff70;hpb=5f1f12f2a37da634000f96d18d59cc73a8814ef7 diff --git a/driver/xscreensaver.c b/driver/xscreensaver.c index c092777c..70bb9542 100644 --- a/driver/xscreensaver.c +++ b/driver/xscreensaver.c @@ -144,6 +144,11 @@ #include #include +#ifdef ENABLE_NLS +# include +# include +#endif /* ENABLE_NLS */ + #include #include @@ -860,12 +865,14 @@ initialize_server_extensions (saver_info *si) Bool server_has_sgi_saver_extension_p = False; Bool server_has_mit_saver_extension_p = False; Bool system_has_proc_interrupts_p = False; + Bool server_has_xinput_extension_p = False; const char *piwhy = 0; si->using_xidle_extension = p->use_xidle_extension; si->using_sgi_saver_extension = p->use_sgi_saver_extension; si->using_mit_saver_extension = p->use_mit_saver_extension; si->using_proc_interrupts = p->use_proc_interrupts; + si->using_xinput_extension = p->use_xinput_extension; #ifdef HAVE_XIDLE_EXTENSION { @@ -889,6 +896,10 @@ initialize_server_extensions (saver_info *si) system_has_proc_interrupts_p = query_proc_interrupts_available (si, &piwhy); #endif +#ifdef HAVE_XINPUT + server_has_xinput_extension_p = query_xinput_extension (si); +#endif + if (!server_has_xidle_extension_p) si->using_xidle_extension = False; else if (p->verbose_p) @@ -931,6 +942,8 @@ initialize_server_extensions (saver_info *si) int nscreens = ScreenCount (si->dpy); /* number of *real* screens */ int i; + si->using_randr_extension = TRUE; + if (p->verbose_p) fprintf (stderr, "%s: selecting RANDR events\n", blurb()); for (i = 0; i < nscreens; i++) @@ -943,6 +956,28 @@ initialize_server_extensions (saver_info *si) } # endif /* HAVE_RANDR */ +#ifdef HAVE_XINPUT + if (!server_has_xinput_extension_p) + si->using_xinput_extension = False; + else + { + if (si->using_xinput_extension) + init_xinput_extension(si); + + if (p->verbose_p) + { + if (si->using_xinput_extension) + fprintf (stderr, + "%s: selecting events from %d XInputExtension devices.\n", + blurb(), si->num_xinput_devices); + else + fprintf (stderr, + "%s: not using XInputExtension.\n", + blurb()); + } + } +#endif + if (!system_has_proc_interrupts_p) { si->using_proc_interrupts = False; @@ -1347,6 +1382,14 @@ main (int argc, char **argv) struct passwd *spasswd; int i; +#ifdef ENABLE_NLS + if (!setlocale (LC_ALL, "")) + fprintf (stderr, "locale not supported by C library\n"); + + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + textdomain (GETTEXT_PACKAGE); +#endif /* ENABLE_NLS */ + memset(si, 0, sizeof(*si)); global_si_kludge = si; /* I hate C so much... */ @@ -2133,6 +2176,8 @@ analyze_display (saver_info *si) True, 0 }, { "Apple-DRI", "Apple-DRI (XDarwin)", True, 0 + }, { "XInputExtension", "XInput", + True, 0 }, };