X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Fxscreensaver.c;h=8a4fa2af7c36ca9ebeb5e1a8b270b0a9bd4d14cd;hb=1d7308dd9032b39a92fda86e8c2db04218b45fbf;hp=70bb95424ef88dcb0fc798afc7fd689bad33a14f;hpb=50be9bb40dc60130c99ffa568e6677779904ff70;p=xscreensaver diff --git a/driver/xscreensaver.c b/driver/xscreensaver.c index 70bb9542..8a4fa2af 100644 --- a/driver/xscreensaver.c +++ b/driver/xscreensaver.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1991-2008 Jamie Zawinski +/* xscreensaver, Copyright (c) 1991-2011 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 @@ -1227,6 +1227,23 @@ main_loop (saver_info *si) for (i = 0; i < si->nscreens; i++) spawn_screenhack (&si->screens[i]); + /* If we are blanking only, optionally power down monitor right now. + To do this, we might need to temporarily re-enable DPMS first. + */ + if (p->mode == BLANK_ONLY && + p->dpms_enabled_p && + p->dpms_quickoff_p) + { + sync_server_dpms_settings (si->dpy, True, + p->dpms_standby / 1000, + p->dpms_suspend / 1000, + (p->dpms_off + ? (p->dpms_off / 1000) + : 0xFFFF), + False); + monitor_power_on (si, False); + } + /* Don't start the cycle timer in demo mode. */ if (!si->demoing_p && p->cycle) si->cycle_id = XtAppAddTimeOut (si->app, @@ -1382,6 +1399,15 @@ main (int argc, char **argv) struct passwd *spasswd; int i; + /* It turns out that if we do NLS stuff here, people running in Japanese + locales get font craziness on the password dialog, presumably because + it is displaying Japanese characters in a non-Japanese font. I don't + understand how to automatically make all this crap work properly by + default, so until someone sends me a better patch, just leave it off + and run the daemon in English. -- jwz, 29-Sep-2010 + */ +#undef ENABLE_NLS + #ifdef ENABLE_NLS if (!setlocale (LC_ALL, "")) fprintf (stderr, "locale not supported by C library\n");