--- gnome-panel-2.13.5/gnome-panel/panel-util.c.rootlock 2006-01-11 21:42:40.000000000 +0100 +++ gnome-panel-2.13.5/gnome-panel/panel-util.c 2006-01-17 10:18:42.000000000 +0100 @@ -685,22 +685,24 @@ if (panel_is_program_in_path ("gnome-screensaver-command") && panel_is_program_in_path ("gnome-screensaver-preferences")) use_gscreensaver = TRUE; - else if (!panel_is_program_in_path ("xscreensaver-command")) + else if (!(getuid() == 0) && panel_is_program_in_path ("xlockmore") && !((getuid() != 0) && panel_is_program_in_path ("xscreensaver-command"))) return NULL; if (strcmp (action, "prefs") == 0) { if (use_gscreensaver) { command = g_strdup ("gnome-screensaver-preferences"); - } else if (panel_is_program_in_path ("xscreensaver-demo")) { + } else if (getuid() && panel_is_program_in_path ("xscreensaver-demo")) { command = g_strdup ("xscreensaver-demo"); } else { command = NULL; } + } else if (getuid () == 0 && strcmp( action, "lock") == 0) { + command = g_strdup ("xlock"); } else if (strcmp (action, "activate") == 0 || strcmp (action, "lock") == 0) { if (use_gscreensaver) { command = g_strdup_printf ("gnome-screensaver-command --%s", action); - } else { + } else if (getuid()) { command = g_strdup_printf ("xscreensaver-command -%s", action); } } --- gnome-panel-2.13.5/gnome-panel/panel-action-button.c.rootlock 2006-01-16 21:44:11.000000000 +0100 +++ gnome-panel-2.13.5/gnome-panel/panel-action-button.c 2006-01-17 10:12:48.000000000 +0100 @@ -27,6 +27,8 @@ #include <config.h> #include <string.h> #include <stdlib.h> +#include <unistd.h> +#include <sys/types.h> #include "panel-action-button.h" @@ -115,23 +117,25 @@ static void panel_action_lock_setup_menu (PanelActionButton *button) { + if (getuid() != 0) { panel_applet_add_callback (button->priv->info, "activate", NULL, _("_Activate Screensaver"), screensaver_enabled); - + } panel_applet_add_callback (button->priv->info, "lock", NULL, _("_Lock Screen"), screensaver_enabled); - + if (getuid() != 0) { panel_applet_add_callback (button->priv->info, "prefs", GTK_STOCK_PROPERTIES, _("_Properties"), screensaver_properties_enabled); + } } static void