File gnome-menus-x-suse-unimportant.patch of Package gnome-menus
? gnome-menus-x-suse-unimportant.patch
? libmenu/menu-verbose
Index: libmenu/desktop-entries.c
===================================================================
RCS file: /cvs/gnome/gnome-menus/libmenu/desktop-entries.c,v
retrieving revision 1.7
diff -u -r1.7 desktop-entries.c
--- libmenu/desktop-entries.c 8 Mar 2005 18:01:11 -0000 1.7
+++ libmenu/desktop-entries.c 14 Mar 2005 00:15:29 -0000
@@ -33,7 +33,8 @@
DESKTOP_ENTRY_NO_DISPLAY = 1 << 0,
DESKTOP_ENTRY_HIDDEN = 1 << 1,
DESKTOP_ENTRY_SHOW_IN_GNOME = 1 << 2,
- DESKTOP_ENTRY_TRYEXEC_FAILED = 1 << 3
+ DESKTOP_ENTRY_TRYEXEC_FAILED = 1 << 3,
+ DESKTOP_ENTRY_UNIMPORTANT = 1 << 4
};
struct DesktopEntry
@@ -49,7 +50,7 @@
char *exec;
guint type : 2;
- guint flags : 4;
+ guint flags : 5;
guint refcount : 24;
};
@@ -74,6 +75,7 @@
gboolean hidden;
gboolean show_in_gnome;
gboolean tryexec_failed;
+ gboolean unimportant;
char *tryexec;
guint flags;
int i;
@@ -156,6 +158,17 @@
g_free (tryexec);
}
+ error = NULL;
+ unimportant = g_key_file_get_boolean (key_file,
+ desktop_entry_group,
+ "X-SuSE-Unimportant",
+ &error);
+ if (error)
+ {
+ unimportant = FALSE;
+ g_error_free (error);
+ }
+
flags = 0;
if (no_display)
flags |= DESKTOP_ENTRY_NO_DISPLAY;
@@ -165,6 +178,8 @@
flags |= DESKTOP_ENTRY_SHOW_IN_GNOME;
if (tryexec_failed)
flags |= DESKTOP_ENTRY_TRYEXEC_FAILED;
+ if (unimportant)
+ flags |= DESKTOP_ENTRY_UNIMPORTANT;
return flags;
}
@@ -282,7 +297,7 @@
#undef GET_LOCALE_STRING
- menu_verbose ("Desktop entry \"%s\" (%s, %s, %s) flags: NoDisplay=%s, Hidden=%s, ShowInGNOME=%s, TryExecFailed=%s\n",
+ menu_verbose ("Desktop entry \"%s\" (%s, %s, %s) flags: NoDisplay=%s, Hidden=%s, ShowInGNOME=%s, TryExecFailed=%s, Unimportant=%s\n",
retval->basename,
retval->name,
retval->comment ? retval->comment : "(null)",
@@ -290,7 +305,8 @@
retval->flags & DESKTOP_ENTRY_NO_DISPLAY ? "(true)" : "(false)",
retval->flags & DESKTOP_ENTRY_HIDDEN ? "(true)" : "(false)",
retval->flags & DESKTOP_ENTRY_SHOW_IN_GNOME ? "(true)" : "(false)",
- retval->flags & DESKTOP_ENTRY_TRYEXEC_FAILED ? "(true)" : "(false)");
+ retval->flags & DESKTOP_ENTRY_TRYEXEC_FAILED ? "(true)" : "(false)",
+ retval->flags & DESKTOP_ENTRY_UNIMPORTANT ? "(true)" : "(false)");
out:
g_key_file_free (key_file);
@@ -494,7 +510,8 @@
gboolean
desktop_entry_get_no_display (DesktopEntry *entry)
{
- return (entry->flags & DESKTOP_ENTRY_NO_DISPLAY) != 0;
+ return ((entry->flags & DESKTOP_ENTRY_NO_DISPLAY) != 0) ||
+ ((entry->flags & DESKTOP_ENTRY_UNIMPORTANT) != 0);
}
gboolean