diff --git a/0001-Don-t-show-lock-screen-option-if-locked-down.patch b/0001-Don-t-show-lock-screen-option-if-locked-down.patch new file mode 100644 index 0000000..44ec25c --- /dev/null +++ b/0001-Don-t-show-lock-screen-option-if-locked-down.patch @@ -0,0 +1,98 @@ +From 8b03661e8fe3cb7ad2785c935fd0920f44d32138 Mon Sep 17 00:00:00 2001 +From: William Jon McCann +Date: Wed, 28 Oct 2009 19:18:50 -0400 +Subject: [PATCH 01/12] Don't show lock screen option if locked down + +Also fix up some other silliness +Fixes https://bugzilla.gnome.org/show_bug.cgi?id=599962 +--- + gui/user-switch-applet/applet.c | 30 ++++++++++++++++++++++++------ + 1 files changed, 24 insertions(+), 6 deletions(-) + +diff --git a/gui/user-switch-applet/applet.c b/gui/user-switch-applet/applet.c +index 66897c0..a72997b 100644 +--- a/gui/user-switch-applet/applet.c ++++ b/gui/user-switch-applet/applet.c +@@ -44,7 +44,9 @@ + #include "gdm-entry-menu-item.h" + + #define LOCKDOWN_DIR "/desktop/gnome/lockdown" +-#define LOCKDOWN_KEY LOCKDOWN_DIR "/disable_user_switching" ++#define LOCKDOWN_USER_SWITCHING_KEY LOCKDOWN_DIR "/disable_user_switching" ++#define LOCKDOWN_LOCK_SCREEN_KEY LOCKDOWN_DIR "/disable_lock_screen" ++#define LOCKDOWN_COMMAND_LINE_KEY LOCKDOWN_DIR "/disable_command_line" + + typedef enum { + GSM_PRESENCE_STATUS_AVAILABLE = 0, +@@ -1163,7 +1165,7 @@ create_sub_menu (GdmAppletData *adata) + G_CALLBACK (menuitem_style_set_cb), adata); + g_signal_connect (adata->lock_screen_item, "activate", + G_CALLBACK (on_lock_screen_activate), adata); +- gtk_widget_show (adata->lock_screen_item); ++ /* Only show if not locked down */ + + adata->login_screen_item = gtk_image_menu_item_new_with_label (_("Switch User")); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->login_screen_item), +@@ -1229,12 +1231,18 @@ client_notify_lockdown_func (GConfClient *client, + return; + } + +- if (strcmp (key, LOCKDOWN_KEY) == 0) { ++ if (strcmp (key, LOCKDOWN_USER_SWITCHING_KEY) == 0) { + if (gconf_value_get_bool (value)) { + set_menu_visibility (adata, FALSE); + } else { + set_menu_visibility (adata, TRUE); + } ++ } else if (strcmp (key, LOCKDOWN_LOCK_SCREEN_KEY) == 0) { ++ if (gconf_value_get_bool (value)) { ++ gtk_widget_hide (adata->lock_screen_item); ++ } else { ++ gtk_widget_show (adata->lock_screen_item); ++ } + } + } + +@@ -1430,7 +1438,7 @@ fill_applet (PanelApplet *applet) + + /* Hide the admin context menu items if locked down or no cmd-line */ + if (gconf_client_get_bool (adata->client, +- "/desktop/gnome/lockdown/inhibit_command_line", ++ LOCKDOWN_COMMAND_LINE_KEY, + NULL) || + panel_applet_get_locked_down (applet)) { + bonobo_ui_component_set_prop (popup_component, +@@ -1502,18 +1510,28 @@ fill_applet (PanelApplet *applet) + adata->manager = gdm_user_manager_ref_default (); + setup_current_user (adata); + ++ gconf_client_add_dir (adata->client, ++ LOCKDOWN_DIR, ++ GCONF_CLIENT_PRELOAD_ONELEVEL, ++ NULL); ++ + adata->client_notify_lockdown_id = gconf_client_notify_add (adata->client, +- LOCKDOWN_KEY, ++ LOCKDOWN_DIR, + (GConfClientNotifyFunc)client_notify_lockdown_func, + adata, + NULL, + NULL); + +- if (gconf_client_get_bool (adata->client, LOCKDOWN_KEY, NULL)) { ++ if (gconf_client_get_bool (adata->client, LOCKDOWN_USER_SWITCHING_KEY, NULL)) { + set_menu_visibility (adata, FALSE); + } else { + set_menu_visibility (adata, TRUE); + } ++ if (gconf_client_get_bool (adata->client, LOCKDOWN_LOCK_SCREEN_KEY, NULL)) { ++ gtk_widget_hide (adata->lock_screen_item); ++ } else { ++ gtk_widget_show (adata->lock_screen_item); ++ } + + error = NULL; + bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error); +-- +1.6.5.1 + diff --git a/gdm.spec b/gdm.spec index a4b494a..1a3db62 100644 --- a/gdm.spec +++ b/gdm.spec @@ -16,7 +16,7 @@ Summary: The GNOME Display Manager Name: gdm Version: 2.28.1 -Release: 18%{?dist} +Release: 19%{?dist} Epoch: 1 License: GPLv2+ Group: User Interface/X @@ -107,6 +107,7 @@ Patch23: fix-na-tray.patch Patch24: fix-computer-info.patch Patch25: fix-run-dir-permissions.patch Patch26: make-user-list-animation-smoother.patch +Patch27: 0001-Don-t-show-lock-screen-option-if-locked-down.patch Patch96: gdm-multistack.patch # Fedora-specific @@ -160,6 +161,7 @@ The GDM fingerprint plugin provides functionality necessary to use a fingerprint %patch24 -p1 -b .fix-computer-info %patch25 -p1 -b .fix-run-dir-permission %patch26 -p1 -b .make-user-list-animation-smoother +%patch27 -p1 -b .dont-show-lock-screen-if-locked-down %patch96 -p1 -b .multistack %patch97 -p1 -b .bubble-location @@ -417,6 +419,9 @@ fi %{_libdir}/gdm/simple-greeter/plugins/fingerprint.so %changelog +* Sat Oct 31 2009 Matthias Clasen 2.28.1-19 +- Don't show 'Lock Screen' in the user switcher if locked down + * Sat Oct 31 2009 Matthias Clasen 2.28.1-18 - Actually set up statusicon padding