diff -u orig/gnome-panel-2.27.4/gnome-panel/applet.c gnome-panel-2.27.4/gnome-panel/applet.c
--- orig/gnome-panel-2.27.4/gnome-panel/applet.c	2009-07-15 16:28:08.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/applet.c	2009-08-15 23:04:21.000000000 +0200
@@ -41,6 +41,7 @@
 static GSList *queued_position_saves = NULL;
 static guint   queued_position_source = 0;
 
+static void panel_applet_recreate_menu 	 (AppletInfo	*info);
 
 static void
 panel_applet_set_dnd_enabled (AppletInfo *info,
@@ -83,7 +84,12 @@
 
 	panel_widget = PANEL_WIDGET (info->widget->parent);
 	
-	locked = panel_widget_toggle_applet_locked (panel_widget, info->widget);
+	locked = panel_lockdown_get_locked_down ();
+
+	panel_applet_recreate_menu (info);
+
+	if (info->type == PANEL_OBJECT_BONOBO)
+		panel_applet_frame_sync_menu_state (PANEL_APPLET_FRAME (info->widget));
 
 	panel_applet_save_position (info, info->id, TRUE);
 	panel_applet_set_dnd_enabled (info, !locked);
@@ -92,20 +98,6 @@
 }
 
 static void
-panel_applet_lock (GtkCheckMenuItem *menuitem,
-		   AppletInfo       *info)
-{
-	gboolean locked;
-
-	locked = panel_applet_toggle_locked (info);
-
-	gtk_check_menu_item_set_active (menuitem, locked);
-
-	if (info->move_item)
-		gtk_widget_set_sensitive (info->move_item, !locked);
-}
-
-static void
 move_applet_callback (GtkWidget *widget, AppletInfo *info)
 {
 	PanelWidget *panel;
@@ -122,25 +114,6 @@
 					GDK_CURRENT_TIME);
 }
 
-/* permanently remove an applet - all non-permanent
- * cleanups should go in panel_applet_destroy()
- */
-void
-panel_applet_clean (AppletInfo *info)
-{
-	g_return_if_fail (info != NULL);
-
-	if (info->type == PANEL_OBJECT_LAUNCHER)
-		panel_launcher_delete (info->data);
-
-	if (info->widget) {
-		GtkWidget *widget = info->widget;
-
-		info->widget = NULL;
-		gtk_widget_destroy (widget);
-	}
-}
-
 static void
 panel_applet_recreate_menu (AppletInfo	*info)
 {
@@ -152,52 +125,32 @@
 	for (l = info->user_menu; l; l = l->next) {
 		AppletUserMenu *menu = l->data;
 
-		menu->menuitem =NULL;
-		menu->submenu =NULL;
+		menu->menuitem = NULL;
+		menu->submenu = NULL;
 	}
 
+	info->move_item = NULL;
 	g_object_unref (info->menu);
 	info->menu = panel_applet_create_menu (info);
 }
 
-static void
-panel_applet_locked_change_notify (GConfClient *client,
-				   guint        cnxn_id,
-				   GConfEntry  *entry,
-				   GtkWidget   *applet)
+/* permanently remove an applet - all non-permanent
+ * cleanups should go in panel_applet_destroy()
+ */
+void
+panel_applet_clean (AppletInfo *info)
 {
-	GConfValue  *value;
-	gboolean     locked;
-	gboolean     applet_locked;
-	AppletInfo  *info;
-	PanelWidget *panel_widget;
-
-	g_assert (applet != NULL);
-
-	info = (AppletInfo  *) g_object_get_data (G_OBJECT (applet),
-						  "applet_info");
-	if (info == NULL)
-		return;
-
-	value = gconf_entry_get_value (entry);
-	if (value == NULL || value->type != GCONF_VALUE_BOOL)
-		return;
-
-	locked = gconf_value_get_bool (value);
-
-	panel_widget = PANEL_WIDGET (info->widget->parent);
-	applet_locked = panel_widget_get_applet_locked (panel_widget,
-							info->widget);
+	g_return_if_fail (info != NULL);
 
-	if ((locked && applet_locked) || !(locked || applet_locked))
-		return;
+	if (info->type == PANEL_OBJECT_LAUNCHER)
+		panel_launcher_delete (info->data);
 
-	panel_applet_toggle_locked (info);
+	if (info->widget) {
+		GtkWidget *widget = info->widget;
 
-	if (info->type == PANEL_OBJECT_BONOBO)
-		panel_applet_frame_sync_menu_state (PANEL_APPLET_FRAME (info->widget));
-	else
-		panel_applet_recreate_menu (info);
+		info->widget = NULL;
+		gtk_widget_destroy (widget);
+	}
 }
 
 static void
@@ -292,7 +245,6 @@
 	panel_toplevel_push_autohide_disabler (panel_widget->toplevel);
 }
 
-
 static void
 applet_menu_deactivate (GtkWidget *w,
 			AppletInfo *info)
@@ -496,17 +448,12 @@
 
 	if (!panel_lockdown_get_locked_down ()) {
 		GtkWidget *image;
-		gboolean   locked;
-		gboolean   lockable;
 		gboolean   movable;
 		gboolean   removable;
 
-		lockable = panel_applet_lockable (info);
 		movable = panel_applet_can_freely_move (info);
 		removable = panel_profile_id_lists_are_writable ();
 
-		locked = panel_widget_get_applet_locked (panel_widget, info->widget);
-
 		if (added_anything) {
 			menuitem = gtk_separator_menu_item_new ();
 			gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
@@ -522,14 +469,12 @@
 				  G_CALLBACK (applet_remove_callback), info);
 		gtk_widget_show (menuitem);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
-		gtk_widget_set_sensitive (menuitem, (!locked || lockable) && removable);
 		
 		menuitem = gtk_menu_item_new_with_mnemonic (_("_Move"));
 		g_signal_connect (menuitem, "activate",
 				  G_CALLBACK (move_applet_callback), info);
 		gtk_widget_show (menuitem);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
-		gtk_widget_set_sensitive (menuitem, !locked && movable);
 
 		g_assert (info->move_item == NULL);
 
@@ -537,19 +482,6 @@
 		g_object_add_weak_pointer (G_OBJECT (menuitem),
 					   (gpointer *) &info->move_item);
 
-		menuitem = gtk_separator_menu_item_new ();
-		gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
-		gtk_widget_show (menuitem);
-
-		menuitem = gtk_check_menu_item_new_with_mnemonic (_("Loc_k To Panel"));
-		gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem),
-						locked);
-		g_signal_connect (menuitem, "toggled",
-				  G_CALLBACK (panel_applet_lock), info);
-		gtk_widget_show (menuitem);
-		gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
-		gtk_widget_set_sensitive (menuitem, lockable);
-
 		added_anything = TRUE;
 	}
 
@@ -753,10 +685,6 @@
 		}
 	}
 
-	if (info->type != PANEL_OBJECT_BONOBO)
-		panel_lockdown_notify_remove (G_CALLBACK (panel_applet_recreate_menu),
-					      info);
-
 	if (info->menu)
 		g_object_unref (info->menu);
 	info->menu = NULL;
@@ -1100,7 +1028,6 @@
 	const char        *toplevel_id;
 	char              *old_toplevel_id;
 	gboolean           right_stick;
-	gboolean           locked;
 	int                position;
 
 	g_return_if_fail (applet_info != NULL);
@@ -1157,11 +1084,6 @@
 	if (gconf_client_key_is_writable (client, key, NULL) &&
 	    gconf_client_get_int (client, key, NULL) != position)
 		gconf_client_set_int (client, key, position, NULL);
-	
-	locked = panel_widget_get_applet_locked (panel_widget, applet_info->widget) ? 1 : 0;
-	key = panel_gconf_full_key (key_type, id, "locked");
-	if (gconf_client_get_bool (client, key, NULL) ? 1 : 0 != locked)
-		gconf_client_set_bool (client, key, locked, NULL);
 }
 
 const char *
@@ -1244,7 +1166,6 @@
 		       const char      *id)
 {
 	AppletInfo *info;
-	const char *key;
 	
 	g_return_val_if_fail (applet != NULL && panel != NULL, NULL);
 
@@ -1266,17 +1187,6 @@
 
 	g_object_set_data (G_OBJECT (applet), "applet_info", info);
 
-	if (type != PANEL_OBJECT_BONOBO)
-		panel_lockdown_notify_add (G_CALLBACK (panel_applet_recreate_menu),
-					   info);
-
-	key = panel_gconf_full_key ((type == PANEL_OBJECT_BONOBO) ?
-				     PANEL_GCONF_APPLETS : PANEL_GCONF_OBJECTS,
-				    id, "locked");
-	panel_gconf_notify_add_while_alive (key,
-					    (GConfClientNotifyFunc) panel_applet_locked_change_notify,
-					    G_OBJECT (applet));
-
 	if (type == PANEL_OBJECT_DRAWER) {
 		Drawer *drawer = data;
 		PanelWidget *assoc_panel;
@@ -1386,21 +1296,3 @@
 	return TRUE;
 }
 
-gboolean
-panel_applet_lockable (AppletInfo *applet)
-{
-	GConfClient        *client;
-	PanelGConfKeyType   key_type;
-	const char         *key;
-
-	if (panel_lockdown_get_locked_down ())
-		return FALSE;
-	
-	client  = panel_gconf_get_client ();
-	
-	key_type = (applet->type == PANEL_OBJECT_BONOBO) ? PANEL_GCONF_APPLETS : PANEL_GCONF_OBJECTS;
-
-	key = panel_gconf_full_key (key_type, applet->id, "locked");
-
-	return gconf_client_key_is_writable (client, key, NULL);
-}
diff -u orig/gnome-panel-2.27.4/gnome-panel/applet.h gnome-panel-2.27.4/gnome-panel/applet.h
--- orig/gnome-panel-2.27.4/gnome-panel/applet.h	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/applet.h	2009-08-15 19:36:12.000000000 +0200
@@ -94,9 +94,6 @@
    (position, toplevel_id, panel_right_stick) */
 gboolean    panel_applet_can_freely_move (AppletInfo *applet);
 
-/* True if the locked flag is writable */
-gboolean    panel_applet_lockable (AppletInfo *applet);
-
 GtkWidget  *panel_applet_create_menu (AppletInfo *info);
 
 void        panel_applet_menu_set_recurse (GtkMenu     *menu,
diff -u orig/gnome-panel-2.27.4/gnome-panel/GNOME_Panel_Popup.xml gnome-panel-2.27.4/gnome-panel/GNOME_Panel_Popup.xml
--- orig/gnome-panel-2.27.4/gnome-panel/GNOME_Panel_Popup.xml	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/GNOME_Panel_Popup.xml	2009-08-15 01:55:18.000000000 +0200
@@ -9,11 +9,6 @@
 
          <menuitem name="move" verb="MoveApplet" _label="_Move"/>
 
-         <separator verb="LockSeparator"/>
-
-         <menuitem name="lock" verb="LockAppletToPanel" _label="Loc_k To Panel"
-                   type="toggle"/>
-
          </placeholder>
       </popup>
    </popups>
Common subdirectories: orig/gnome-panel-2.27.4/gnome-panel/libpanel-util and gnome-panel-2.27.4/gnome-panel/libpanel-util
diff -u orig/gnome-panel-2.27.4/gnome-panel/panel-applet-frame.c gnome-panel-2.27.4/gnome-panel/panel-applet-frame.c
--- orig/gnome-panel-2.27.4/gnome-panel/panel-applet-frame.c	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/panel-applet-frame.c	2009-08-15 19:35:56.000000000 +0200
@@ -107,59 +107,29 @@
 {
 	PanelWidget *panel_widget;
 	gboolean     locked_down;
-	gboolean     locked;
-	gboolean     lockable;
 	gboolean     movable;
 	gboolean     removable;
 
 	panel_widget = PANEL_WIDGET (GTK_WIDGET (frame)->parent);
 
-	lockable = panel_applet_lockable (frame->priv->applet_info);
 	movable = panel_applet_can_freely_move (frame->priv->applet_info);
 	removable = panel_profile_id_lists_are_writable ();
-
-	locked = panel_widget_get_applet_locked (panel_widget, GTK_WIDGET (frame));
-
-	bonobo_ui_component_set_prop (frame->priv->ui_component,
-				      "/commands/LockAppletToPanel",
-				      "state",
-				      locked ? "1" : "0",
-				      NULL);
-
+	locked_down = panel_lockdown_get_locked_down ();	
+	
 	/* First sensitivity */
 	bonobo_ui_component_set_prop (frame->priv->ui_component,
-				      "/commands/LockAppletToPanel",
-				      "sensitive",
-				      lockable ? "1" : "0",
-				      NULL);
-
-	bonobo_ui_component_set_prop (frame->priv->ui_component,
 				      "/commands/RemoveAppletFromPanel",
 				      "sensitive",
-				      (locked && !lockable) ? "0" : (removable ? "1" : "0"),
+				      removable ? "1" : "0",
 				      NULL);
 
 	bonobo_ui_component_set_prop (frame->priv->ui_component,
 				      "/commands/MoveApplet",
 				      "sensitive",
-				      locked ? "0" : (movable ? "1" : "0"),
+				      movable ? "1" : "0",
 				      NULL);
 
 	/* Second visibility */
-	locked_down = panel_lockdown_get_locked_down ();
-
-	bonobo_ui_component_set_prop (frame->priv->ui_component,
-				      "/commands/LockAppletToPanel",
-				      "hidden",
-				      locked_down ? "1" : "0",
-				      NULL);
-
-	bonobo_ui_component_set_prop (frame->priv->ui_component,
-				      "/commands/LockSeparator",
-				      "hidden",
-				      locked_down ? "1" : "0",
-				      NULL);
-
 	bonobo_ui_component_set_prop (frame->priv->ui_component,
 				      "/commands/RemoveAppletFromPanel",
 				      "hidden",
@@ -267,38 +237,6 @@
 }
 
 static void
-listener_popup_handle_lock (BonoboUIComponent            *uic,
-			    const char                   *path,
-			    Bonobo_UIComponent_EventType  type,
-			    const char                   *state,
-			    gpointer                      data)
-{
-	PanelAppletFrame *frame;
-	AppletInfo       *info;
-	gboolean          s;
-
-	g_assert (!strcmp (path, "LockAppletToPanel"));
-
-	if (type != Bonobo_UIComponent_STATE_CHANGED)
-		return;
-
-	if (!state)
-		return;
-
-	frame = (PanelAppletFrame *) data;
-	info = frame->priv->applet_info;
-	s = (strcmp (state, "1") == 0);
-
-	if (panel_widget_get_applet_locked (PANEL_WIDGET (info->widget->parent),
-					    info->widget) == s)
-		return;
-
-	panel_applet_toggle_locked (frame->priv->applet_info);
-
-	panel_applet_frame_sync_menu_state (frame);
-}
-
-static void
 popup_handle_move (BonoboUIComponent *uic,
 		   PanelAppletFrame  *frame,
 		   const gchar       *verbname)
@@ -1368,11 +1306,6 @@
 	bonobo_ui_util_set_ui (frame->priv->ui_component, DATADIR,
 			       "GNOME_Panel_Popup.xml", "panel", NULL);
 
-	bonobo_ui_component_add_listener (frame->priv->ui_component,
-					  "LockAppletToPanel",
-					  listener_popup_handle_lock,
-					  frame);
-
 	bonobo_ui_component_add_verb_list_with_data (
 		frame->priv->ui_component, popup_verbs, frame);
 
diff -u orig/gnome-panel-2.27.4/gnome-panel/panel-context-menu.c gnome-panel-2.27.4/gnome-panel/panel-context-menu.c
--- orig/gnome-panel-2.27.4/gnome-panel/panel-context-menu.c	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/panel-context-menu.c	2009-08-15 22:32:24.000000000 +0200
@@ -162,6 +162,20 @@
 }
 
 static void
+panel_context_menu_done_edit_panel (GtkWidget *menuitem)
+{
+	if (panel_lockdown_may_allow_edit ())
+		panel_lockdown_allow_edit (FALSE);
+}
+
+static void
+panel_context_menu_edit_panel (GtkWidget *menuitem)
+{
+	if (panel_lockdown_may_allow_edit ())
+		panel_lockdown_allow_edit (TRUE);
+}
+
+static void
 panel_context_menu_delete_panel (PanelToplevel *toplevel)
 {
 	if (panel_toplevel_is_last_unattached (toplevel)) {
@@ -258,6 +272,7 @@
 	GtkWidget *retval;
 	GtkWidget *menuitem;
 	GtkWidget *image;
+	gboolean   lockdown;
 
 	if (panel->master_widget) {
 		gpointer    *pointer;
@@ -300,6 +315,25 @@
 			  G_CALLBACK (panel_context_menu_show_about_dialog),
 			  NULL);
 	
+	if (panel_lockdown_may_allow_edit ()) {
+		lockdown = panel_lockdown_get_locked_down ();
+
+		add_menu_separator (retval);
+		menuitem = gtk_check_menu_item_new_with_mnemonic (_("Loc_k All Panels"));
+		gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), lockdown);
+		if (lockdown)
+			g_signal_connect_swapped (G_OBJECT (menuitem), "activate",
+						  G_CALLBACK (panel_context_menu_edit_panel),
+						  menuitem);
+		else
+			g_signal_connect_swapped (G_OBJECT (menuitem), "activate",
+						  G_CALLBACK (panel_context_menu_done_edit_panel),
+						  menuitem);
+
+		gtk_menu_shell_append (GTK_MENU_SHELL (retval), menuitem);
+		gtk_widget_show (menuitem);
+	}
+
 	//FIXME: can we get rid of this? (needed by menu_get_panel())
 	g_object_set_data (G_OBJECT (retval), "menu_panel", panel);
 
diff -u orig/gnome-panel-2.27.4/gnome-panel/panel-lockdown.c gnome-panel-2.27.4/gnome-panel/panel-lockdown.c
--- orig/gnome-panel-2.27.4/gnome-panel/panel-lockdown.c	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/panel-lockdown.c	2009-08-15 23:07:33.000000000 +0200
@@ -28,6 +28,8 @@
 
 #include <string.h>
 #include "panel-gconf.h"
+#include "panel-widget.h"
+#include "panel-globals.h"
 
 #define N_LISTENERS 6
 
@@ -48,6 +50,7 @@
         guint   disable_lock_screen : 1;
         guint   disable_log_out : 1;
         guint   disable_force_quit : 1;
+        guint   allow_edit : 1;
 
         GSList *disabled_applets;
 
@@ -59,6 +62,22 @@
 static PanelLockdown panel_lockdown = { 0, };
 
 
+/* Notify all panels that lockdown state has changed
+ * to rebuild menus */
+static void
+panel_lockdown_panels_toggle_locked (void)
+{
+	GSList *l;
+
+	l = panels;
+
+	while (l) {
+		PanelWidget *pw = PANEL_WIDGET (l->data);
+                panel_widget_toggle_applets_locked (pw);
+		l = l->next;
+	}
+}
+
 static inline void
 panel_lockdown_invoke_closures (PanelLockdown *lockdown)
 {
@@ -66,6 +85,8 @@
 
         for (l = lockdown->closures; l; l = l->next)
                 g_closure_invoke (l->data, NULL, 0, NULL, NULL);
+
+        panel_lockdown_panels_toggle_locked ();
 }
 
 static void
@@ -273,6 +294,8 @@
                                                       client,
                                                       i++);
 
+        panel_lockdown.allow_edit = FALSE;
+
         g_assert (i == N_LISTENERS);
 
         panel_lockdown.initialized = TRUE;
@@ -321,8 +344,25 @@
 panel_lockdown_get_locked_down (void)
 {
         g_assert (panel_lockdown.initialized != FALSE);
+        if (panel_lockdown.locked_down)
+                return TRUE;
+        
+        return !panel_lockdown.allow_edit;
+}
+
+gboolean
+panel_lockdown_may_allow_edit (void)
+{
+        g_assert (panel_lockdown.initialized != FALSE);
+        
+        return !panel_lockdown.locked_down;
+}
 
-        return panel_lockdown.locked_down;
+void
+panel_lockdown_allow_edit (gboolean editable)
+{
+        panel_lockdown.allow_edit = editable;
+        panel_lockdown_invoke_closures (&panel_lockdown);
 }
 
 gboolean
diff -u orig/gnome-panel-2.27.4/gnome-panel/panel-lockdown.h gnome-panel-2.27.4/gnome-panel/panel-lockdown.h
--- orig/gnome-panel-2.27.4/gnome-panel/panel-lockdown.h	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/panel-lockdown.h	2009-08-15 22:37:35.000000000 +0200
@@ -38,6 +38,9 @@
 gboolean panel_lockdown_get_disable_lock_screen  (void);
 gboolean panel_lockdown_get_disable_log_out      (void);
 gboolean panel_lockdown_get_disable_force_quit   (void);
+gboolean panel_lockdown_may_allow_edit           (void);
+
+void panel_lockdown_allow_edit (gboolean editable);
 
 gboolean panel_lockdown_is_applet_disabled (const char *iid);
 
diff -u orig/gnome-panel-2.27.4/gnome-panel/panel-profile.c gnome-panel-2.27.4/gnome-panel/panel-profile.c
--- orig/gnome-panel-2.27.4/gnome-panel/panel-profile.c	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/panel-profile.c	2009-08-15 14:35:32.000000000 +0200
@@ -1967,8 +1967,8 @@
 	key = panel_gconf_sprintf ("%s/panel_right_stick", object_dir);
 	right_stick = gconf_client_get_bool (client, key, NULL);
 
-	key = panel_gconf_sprintf ("%s/locked", object_dir);
-	locked = gconf_client_get_bool (client, key, NULL);
+	/* TODO: remove all references to locked */
+	locked = FALSE;
 
 	panel_applet_queue_applet_to_load (id,
 					   object_type,
diff -u orig/gnome-panel-2.27.4/gnome-panel/panel-widget.c gnome-panel-2.27.4/gnome-panel/panel-widget.c
--- orig/gnome-panel-2.27.4/gnome-panel/panel-widget.c	2009-07-15 16:28:08.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/panel-widget.c	2009-08-15 22:03:49.000000000 +0200
@@ -2216,7 +2216,7 @@
 
 	/* time on sent events seems to be bogus */
 	event_time = event->time;
-	if (event->send_event)
+	if (!event->send_event)
 		event_time = GDK_CURRENT_TIME;
 
 	panel_widget_applet_drag_start (panel, widget, PW_DRAG_OFF_CURSOR, event_time);
@@ -2919,6 +2919,25 @@
 	return ad->locked;
 }
 
+void
+panel_widget_toggle_applets_locked (PanelWidget *panel)
+{
+	GList *l;
+
+	l = panel->applet_list;	
+
+	while (l) {
+		AppletData *ad = l->data;
+		AppletInfo *info;
+
+		if (ad->applet) {
+			info = g_object_get_data (G_OBJECT (ad->applet), "applet_info");
+			panel_applet_toggle_locked (info);
+		}
+		l = l->next;
+	}
+}
+
 gboolean
 panel_widget_toggle_applet_locked (PanelWidget *panel,
 				   GtkWidget   *applet)
diff -u orig/gnome-panel-2.27.4/gnome-panel/panel-widget.h gnome-panel-2.27.4/gnome-panel/panel-widget.h
--- orig/gnome-panel-2.27.4/gnome-panel/panel-widget.h	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.27.4/gnome-panel/panel-widget.h	2009-08-15 22:39:29.000000000 +0200
@@ -227,6 +227,8 @@
 gboolean panel_widget_toggle_applet_locked        (PanelWidget *panel,
 						   GtkWidget   *applet);
 
+void	 panel_widget_toggle_applets_locked       (PanelWidget *panel);
+
 void     panel_widget_register_open_dialog        (PanelWidget *panel,
 						   GtkWidget   *dialog);  
 G_END_DECLS
