aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-09-23 13:28:44 -0500
committerTed Gould <ted@canonical.com>2009-09-23 13:28:44 -0500
commitbb87ac319fc2c2da058c0c209bf374e80f8ce688 (patch)
treec4a2a634e9f811f00332b18e8e568dd80d005432
parent40a0102f12f2c355d32394a8480fe953726b65c9 (diff)
parenteddfb1cec5a4a6d5b8674c102a72edbb9fcf37ec (diff)
downloadayatana-indicator-messages-bb87ac319fc2c2da058c0c209bf374e80f8ce688.tar.gz
ayatana-indicator-messages-bb87ac319fc2c2da058c0c209bf374e80f8ce688.tar.bz2
ayatana-indicator-messages-bb87ac319fc2c2da058c0c209bf374e80f8ce688.zip
Merging in branch to add a path for indicators in /usr/share and make it so that invalid desktop files don't create visible menu items.
-rw-r--r--src/dirs.h3
-rw-r--r--src/launcher-menu-item.c4
-rw-r--r--src/messages-service.c6
3 files changed, 11 insertions, 2 deletions
diff --git a/src/dirs.h b/src/dirs.h
index a994ff5..ca322f0 100644
--- a/src/dirs.h
+++ b/src/dirs.h
@@ -1,3 +1,4 @@
-#define SYSTEM_APPS_DIR "/etc/indicators/messages/applications"
+#define SYSTEM_APPS_DIR "/usr/share/indicators/messages/applications"
+#define SYSTEM_APPS_DIR_OLD "/etc/indicators/messages/applications"
#define USER_APPS_DIR "indicators/messages/applications"
#define USER_BLACKLIST_DIR "indicators/messages/applications-blacklist"
diff --git a/src/launcher-menu-item.c b/src/launcher-menu-item.c
index 822196b..5afe7a9 100644
--- a/src/launcher-menu-item.c
+++ b/src/launcher-menu-item.c
@@ -137,6 +137,10 @@ launcher_menu_item_new (const gchar * desktop_file)
g_signal_connect(G_OBJECT(self), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), NULL);
+ if (priv->appinfo == NULL) {
+ launcher_menu_item_set_eclipsed(self, TRUE);
+ }
+
return self;
}
diff --git a/src/messages-service.c b/src/messages-service.c
index e37a721..1272355 100644
--- a/src/messages-service.c
+++ b/src/messages-service.c
@@ -1148,7 +1148,10 @@ build_launcher (gpointer data)
dbusmenu_menuitem_child_append(root_menuitem, DBUSMENU_MENUITEM(ll->separator));
resort_menu(root_menuitem);
- if (blacklist_check(launcher_menu_item_get_desktop(ll->menuitem))) {
+ /* If we're in the black list or we've gotten eclipsed
+ by something else, hide the item and the separator. */
+ if (blacklist_check(launcher_menu_item_get_desktop(ll->menuitem)) ||
+ launcher_menu_item_get_eclipsed(ll->menuitem)) {
launcher_menu_item_set_eclipsed(ll->menuitem, TRUE);
dbusmenu_menuitem_property_set(ll->separator, DBUSMENU_MENUITEM_PROP_VISIBLE, "false");
}
@@ -1244,6 +1247,7 @@ main (int argc, char ** argv)
g_idle_add(blacklist_init, NULL);
g_idle_add(build_launchers, SYSTEM_APPS_DIR);
+ g_idle_add(build_launchers, SYSTEM_APPS_DIR_OLD);
gchar * userdir = g_build_filename(g_get_user_config_dir(), USER_APPS_DIR, NULL);
g_idle_add(build_launchers, userdir);