try to run gnome-screensaver, and if that fails, run xscreensaver.
2005-07-20 Rodrigo Moya <rodrigo@novell.com> * gnome-settings-screensaver.c (gnome_settings_screensaver_load): * gnome-settings-multimedia-keys.c (do_action): try to run gnome-screensaver, and if that fails, run xscreensaver.
This commit is contained in:
parent
cf87a9a2c9
commit
6e25211b2f
3 changed files with 37 additions and 5 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-07-20 Rodrigo Moya <rodrigo@novell.com>
|
||||
|
||||
* gnome-settings-screensaver.c (gnome_settings_screensaver_load):
|
||||
* gnome-settings-multimedia-keys.c (do_action): try to run
|
||||
gnome-screensaver, and if that fails, run xscreensaver.
|
||||
|
||||
2005-07-12 Sebastien Bacher <seb128@debian.org>
|
||||
|
||||
* modmap-dialog.glade: fix a label form (Closes: #167739).
|
||||
|
|
|
@ -804,6 +804,8 @@ do_sound_action (Acme *acme, int type)
|
|||
static void
|
||||
do_action (Acme *acme, int type)
|
||||
{
|
||||
gchar *cmd;
|
||||
|
||||
switch (type) {
|
||||
case MUTE_KEY:
|
||||
case VOLUME_DOWN_KEY:
|
||||
|
@ -829,7 +831,12 @@ do_action (Acme *acme, int type)
|
|||
do_sleep_action ("apm", "xset dpms force off");
|
||||
break;
|
||||
case SCREENSAVER_KEY:
|
||||
execute ("xscreensaver-command -lock", FALSE);
|
||||
if ((cmd = g_find_program_in_path ("gnome-screensaver-command")))
|
||||
execute ("gnome-screensaver-command --lock", FALSE);
|
||||
else
|
||||
execute ("xscreensaver-command -lock", FALSE);
|
||||
|
||||
g_free (cmd);
|
||||
break;
|
||||
case HELP_KEY:
|
||||
do_help_action (acme);
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#define START_SCREENSAVER_KEY "/apps/gnome_settings_daemon/screensaver/start_screensaver"
|
||||
#define SHOW_STARTUP_ERRORS_KEY "/apps/gnome_settings_daemon/screensaver/show_startup_errors"
|
||||
#define XSCREENSAVER_COMMAND "xscreensaver -nosplash"
|
||||
#define GSCREENSAVER_COMMAND "gnome-screensaver"
|
||||
|
||||
void
|
||||
gnome_settings_screensaver_init (GConfClient *client)
|
||||
|
@ -42,8 +43,12 @@ gnome_settings_screensaver_init (GConfClient *client)
|
|||
/*
|
||||
* do nothing.
|
||||
*
|
||||
* our settings only apply to startup, and the screensaver
|
||||
* settings are all in xscreensaver and not gconf.
|
||||
* with gnome-screensaver, all settings are loaded internally
|
||||
* from gconf at startup
|
||||
*
|
||||
* with xscreensaver, our settings only apply to startup, and
|
||||
* the screensaver settings are all in xscreensaver and not
|
||||
* gconf.
|
||||
*
|
||||
* we could have xscreensaver-demo run gconftool-2 directly,
|
||||
* and start / stop xscreensaver here
|
||||
|
@ -69,16 +74,30 @@ void
|
|||
gnome_settings_screensaver_load (GConfClient *client)
|
||||
{
|
||||
GError *gerr = NULL;
|
||||
gboolean start_screensaver;
|
||||
gboolean start_screensaver, use_gscreensaver = FALSE;
|
||||
gboolean show_error;
|
||||
GtkWidget *dialog, *toggle;
|
||||
gchar *ss_command;
|
||||
|
||||
start_screensaver = gconf_client_get_bool (client, START_SCREENSAVER_KEY, NULL);
|
||||
|
||||
if (!start_screensaver)
|
||||
return;
|
||||
|
||||
if (g_spawn_command_line_async (XSCREENSAVER_COMMAND, &gerr))
|
||||
if ((ss_command = g_find_program_in_path ("gnome-screensaver")))
|
||||
use_gscreensaver = TRUE;
|
||||
else {
|
||||
if (!(ss_command = g_find_program_in_path ("xscreensaver")))
|
||||
return;
|
||||
}
|
||||
|
||||
g_free (ss_command);
|
||||
if (use_gscreensaver)
|
||||
ss_command = GSCREENSAVER_COMMAND;
|
||||
else
|
||||
ss_command = XSCREENSAVER_COMMAND;
|
||||
|
||||
if (g_spawn_command_line_async (ss_command, &gerr))
|
||||
return;
|
||||
|
||||
show_error = gconf_client_get_bool (client, SHOW_STARTUP_ERRORS_KEY, NULL);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue