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
openSUSE Build Service is sponsored by