Index: main-menu/src/main-menu-ui.c =================================================================== --- main-menu/src/main-menu-ui.c (revision 370) +++ main-menu/src/main-menu-ui.c (working copy) @@ -1093,9 +1093,7 @@ return TRUE; disable_lockscreen = GPOINTER_TO_INT (libslab_get_gconf_value (DISABLE_LOCKSCREEN_GCONF_KEY)); - /* Dont allow lock screen if root - same as gnome-panel */ - blacklisted = libslab_desktop_item_is_lockscreen (uri) && - ( (geteuid () == 0) || disable_lockscreen ); + blacklisted = disable_lockscreen && libslab_desktop_item_is_lockscreen (uri); if (blacklisted) return TRUE; Index: main-menu/src/hard-drive-status-tile.c =================================================================== --- main-menu/src/hard-drive-status-tile.c (revision 370) +++ main-menu/src/hard-drive-status-tile.c (working copy) @@ -40,7 +40,7 @@ #define TIMEOUT_KEY_DIR "/apps/procman" #define TIMEOUT_KEY "/apps/procman/disks_interval" -#define FILE_BROWSER_GCONF_KEY "/desktop/gnome/applications/main-menu/file_browser" +#define SYSTEM_MONITOR_GCONF_KEY "/desktop/gnome/applications/main-menu/system_monitor" G_DEFINE_TYPE (HardDriveStatusTile, hard_drive_status_tile, NAMEPLATE_TILE_TYPE) @@ -459,7 +459,7 @@ gchar *fb_ditem_id; - fb_ditem_id = (gchar *) libslab_get_gconf_value (FILE_BROWSER_GCONF_KEY); + fb_ditem_id = (gchar *) libslab_get_gconf_value (SYSTEM_MONITOR_GCONF_KEY); if (! fb_ditem_id) fb_ditem_id = g_strdup ("nautilus.desktop"); Index: main-menu/src/network-status-agent.c =================================================================== --- main-menu/src/network-status-agent.c (revision 370) +++ main-menu/src/network-status-agent.c (working copy) @@ -35,6 +35,8 @@ { DBusGConnection *nm_conn; DBusGProxy *nm_proxy; + + guint state_curr; } NetworkStatusAgentPrivate; #define NETWORK_STATUS_AGENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NETWORK_STATUS_AGENT_TYPE, NetworkStatusAgentPrivate)) @@ -88,6 +90,7 @@ priv->nm_conn = NULL; priv->nm_proxy = NULL; + priv->state_curr = 0; } NetworkStatusAgent * @@ -324,8 +327,15 @@ static void nm_state_change_cb (DBusGProxy * proxy, guint state, gpointer user_data) { - g_signal_emit (NETWORK_STATUS_AGENT (user_data), - network_status_agent_signals[STATUS_CHANGED], 0); + NetworkStatusAgent *this = NETWORK_STATUS_AGENT (user_data); + NetworkStatusAgentPrivate *priv = NETWORK_STATUS_AGENT_GET_PRIVATE (this); + + if (priv->state_curr == state) + return; + + priv->state_curr = state; + + g_signal_emit (this, network_status_agent_signals [STATUS_CHANGED], 0); } static DBusHandlerResult @@ -460,4 +470,3 @@ g_strfreev (networks); return info; } - Index: libslab/directory-tile.c =================================================================== --- libslab/directory-tile.c (revision 370) +++ libslab/directory-tile.c (working copy) @@ -644,5 +644,5 @@ disown_spawned_child (gpointer user_data) { setsid (); - setpgid (0, 0); + setpgrp (); } Index: libslab/bookmark-agent.c =================================================================== --- libslab/bookmark-agent.c (revision 370) +++ libslab/bookmark-agent.c (working copy) @@ -826,76 +826,44 @@ { BookmarkAgentPrivate *priv = PRIVATE (this); -#ifdef USE_GTK_RECENT_MANAGER - GtkRecentInfo *info; - gboolean include; -#else - EggRecentModel *model; - EggRecentItem *info; -#endif + GBookmarkFile *store; - GList *items; - GList *items_ordered = NULL; + gchar **uris = NULL; + GList *items_ordered = NULL; BookmarkItem *item; - GList *node; + gboolean include; + gint i; + GList *node; -#ifdef USE_GTK_RECENT_MANAGER - items = gtk_recent_manager_get_items (gtk_recent_manager_get_default ()); -#else - model = egg_recent_model_new (EGG_RECENT_MODEL_SORT_MRU); - if (priv->type == BOOKMARK_STORE_RECENT_APPS) - egg_recent_model_set_filter_groups (model, "recently-used-apps", NULL); - else - egg_recent_model_set_filter_groups (model, NULL); + store = g_bookmark_file_new (); + g_bookmark_file_load_from_file (store, priv->store_path, NULL); - items = egg_recent_model_get_list (model); -#endif + uris = g_bookmark_file_get_uris (store, NULL); - for (node = items; node; node = node->next) { -#ifdef USE_GTK_RECENT_MANAGER - info = (GtkRecentInfo *) node->data; - + for (i = 0; uris && uris [i]; ++i) { if (priv->type == BOOKMARK_STORE_RECENT_APPS) - include = gtk_recent_info_has_group (info, "recently-used-apps"); + include = g_bookmark_file_has_group (store, uris [i], "recently-used-apps", NULL); else - include = ! gtk_recent_info_get_private_hint (info); + include = ! g_bookmark_file_get_is_private (store, uris [i], NULL); if (include) { item = g_new0 (BookmarkItem, 1); - item->uri = g_strdup (gtk_recent_info_get_uri (info)); - item->mime_type = g_strdup (gtk_recent_info_get_mime_type (info)); - item->mtime = gtk_recent_info_get_modified (info); + item->uri = g_strdup (uris [i]); + item->mime_type = g_bookmark_file_get_mime_type (store, uris [i], NULL); + item->mtime = g_bookmark_file_get_modified (store, uris [i], NULL); items_ordered = g_list_insert_sorted (items_ordered, item, recent_item_mru_comp_func); } - - gtk_recent_info_unref (info); -#else - info = (EggRecentItem *) node->data; - - item = g_new0 (BookmarkItem, 1); - - item->uri = egg_recent_item_get_uri (info); - item->mime_type = egg_recent_item_get_mime_type (info); - item->mtime = egg_recent_item_get_timestamp (info); - - items_ordered = g_list_append (items_ordered, item); - - egg_recent_item_unref (info); -#endif } - g_list_free (items); + g_strfreev (uris); + g_bookmark_file_free (store); -#ifndef USE_GTK_RECENT_MANAGER - g_object_unref (model); -#endif - g_bookmark_file_free (priv->store); priv->store = g_bookmark_file_new (); @@ -946,9 +914,8 @@ if (use_user_path) path = g_strdup (priv->user_store_path); - else { + else path = find_package_data_file (priv->store_filename); - } if (use_user_path) status = BOOKMARK_STORE_USER; Index: libslab/app-shell-startup.c =================================================================== --- libslab/app-shell-startup.c (revision 370) +++ libslab/app-shell-startup.c (working copy) @@ -44,6 +44,7 @@ g_object_get (app_data->main_gnome_app, "visible", &visible, NULL); if (!visible) { + nld_search_bar_set_text (search_bar, "", TRUE); show_shell (app_data); } Index: libslab/app-shell.c =================================================================== --- libslab/app-shell.c (revision 370) +++ libslab/app-shell.c (working copy) @@ -65,7 +65,6 @@ AppShellData * app_data); static gboolean main_delete_callback (GtkWidget * widget, GdkEvent * event, AppShellData * app_data); -static void application_launcher_clear_search_bar (AppShellData * app_data); static void launch_selected_app (AppShellData * app_data); static void generate_potential_apps (gpointer catdata, gpointer user_data); @@ -95,8 +94,6 @@ gtk_window_get_position (GTK_WINDOW (app_data->main_gnome_app), &app_data->main_gnome_app_window_x, &app_data->main_gnome_app_window_y); /* printf("x:%d, y:%d\n", app_data->main_gnome_app_window_x, app_data->main_gnome_app_window_y); */ - /* clear the search bar now so reshowing is fast and flicker free - BNC#283186 */ - application_launcher_clear_search_bar (app_data); gtk_widget_hide (app_data->main_gnome_app); } @@ -1294,16 +1291,6 @@ return g_ascii_strcasecmp (val1, val2); } -static void -application_launcher_clear_search_bar (AppShellData * app_data) -{ - SlabSection *section = SLAB_SECTION (app_data->filter_section); - NldSearchBar *search_bar; - g_assert (NLD_IS_SEARCH_BAR (section->contents)); - search_bar = NLD_SEARCH_BAR (section->contents); - nld_search_bar_set_text (search_bar, "", TRUE); -} - /* static gint category_name_compare (gconstpointer a, gconstpointer b)