summaryrefslogtreecommitdiff
path: root/gnome-base/gnome-menus/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /gnome-base/gnome-menus/files
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'gnome-base/gnome-menus/files')
-rw-r--r--gnome-base/gnome-menus/files/gnome-menus-3.13.3-multiple-desktop.patch171
-rw-r--r--gnome-base/gnome-menus/files/gnome-menus-3.13.3-multiple-desktop2.patch27
-rw-r--r--gnome-base/gnome-menus/files/gnome-menus-3.8.0-ignore_kde_standalone.patch37
3 files changed, 235 insertions, 0 deletions
diff --git a/gnome-base/gnome-menus/files/gnome-menus-3.13.3-multiple-desktop.patch b/gnome-base/gnome-menus/files/gnome-menus-3.13.3-multiple-desktop.patch
new file mode 100644
index 000000000000..8ec7006fce5b
--- /dev/null
+++ b/gnome-base/gnome-menus/files/gnome-menus-3.13.3-multiple-desktop.patch
@@ -0,0 +1,171 @@
+From b4546ab43c2c7ef6fb6cb7e5db83dc3975b56e8e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <alberts.muktupavels@gmail.com>
+Date: Mon, 27 Oct 2014 18:41:34 +0200
+Subject: desktop-entries: support multiple desktops in XDG_CURRENT_DESKTOP
+
+This is based on glib commit:
+5a5e16e93c4f11e635918ecdb41681f63fd05a39
+---
+ libmenu/desktop-entries.c | 110 ++++++++++++++++++++++------------------------
+ 1 file changed, 52 insertions(+), 58 deletions(-)
+
+diff --git a/libmenu/desktop-entries.c b/libmenu/desktop-entries.c
+index 326f311..bd4f886 100644
+--- a/libmenu/desktop-entries.c
++++ b/libmenu/desktop-entries.c
+@@ -85,32 +85,27 @@ unix_basename_from_path (const char *path)
+ return path;
+ }
+
+-static const char *
+-get_current_desktop (void)
++static const gchar * const *
++get_current_desktops (void)
+ {
+- static char *current_desktop = NULL;
++ static gchar **result;
+
+- /* Support XDG_CURRENT_DESKTOP environment variable; this can be used
+- * to abuse gnome-menus in non-GNOME desktops. */
+- if (!current_desktop)
++ if (g_once_init_enter (&result))
+ {
+- const char *desktop;
++ const gchar *desktops;
++ gchar **tmp;
+
+- desktop = g_getenv ("XDG_CURRENT_DESKTOP");
++ desktops = g_getenv ("XDG_CURRENT_DESKTOP");
+
+- /* Note: if XDG_CURRENT_DESKTOP is set but empty, do as if it
+- * was not set */
+- if (!desktop || desktop[0] == '\0')
+- current_desktop = g_strdup ("GNOME");
+- else
+- current_desktop = g_strdup (desktop);
+- }
++ if (desktops)
++ desktops = "";
+
+- /* Using "*" means skipping desktop-related checks */
+- if (g_strcmp0 (current_desktop, "*") == 0)
+- return NULL;
++ tmp = g_strsplit (desktops, ":", 0);
++
++ g_once_init_leave (&result, tmp);
++ }
+
+- return current_desktop;
++ return (const gchar **) result;
+ }
+
+ static GIcon *
+@@ -151,52 +146,58 @@ key_file_get_icon (GKeyFile *key_file)
+ static gboolean
+ key_file_get_show_in (GKeyFile *key_file)
+ {
+- const gchar *current_desktop;
+- gchar **strv;
++ const gchar * const *current_desktops;
++ gchar **only_show_in;
++ gchar **not_show_in;
+ gboolean show_in = TRUE;
+- int i;
+-
+- current_desktop = get_current_desktop ();
+- if (!current_desktop)
+- return TRUE;
+-
+- strv = g_key_file_get_string_list (key_file,
+- DESKTOP_ENTRY_GROUP,
+- "OnlyShowIn",
+- NULL,
+- NULL);
+- if (strv)
++ gint i;
++
++ current_desktops = get_current_desktops ();
++ only_show_in = g_key_file_get_string_list (key_file,
++ DESKTOP_ENTRY_GROUP,
++ "OnlyShowIn",
++ NULL,
++ NULL);
++ not_show_in = g_key_file_get_string_list (key_file,
++ DESKTOP_ENTRY_GROUP,
++ "NotShowIn",
++ NULL,
++ NULL);
++
++ for (i = 0; current_desktops[i]; i++)
+ {
+- show_in = FALSE;
+- for (i = 0; strv[i]; i++)
++ gint j;
++
++ if (only_show_in)
+ {
+- if (!strcmp (strv[i], current_desktop))
++ show_in = FALSE;
++ for (j = 0; only_show_in[j]; j++)
+ {
+- show_in = TRUE;
+- break;
++ if (g_str_equal (only_show_in[j], current_desktops[i]))
++ {
++ show_in = TRUE;
++ goto out;
++ }
+ }
+ }
+- }
+- else
+- {
+- strv = g_key_file_get_string_list (key_file,
+- DESKTOP_ENTRY_GROUP,
+- "NotShowIn",
+- NULL,
+- NULL);
+- if (strv)
++
++ if (not_show_in)
+ {
+ show_in = TRUE;
+- for (i = 0; strv[i]; i++)
++ for (j = 0; not_show_in[j]; j++)
+ {
+- if (!strcmp (strv[i], current_desktop))
++ if (g_str_equal (not_show_in[j], current_desktops[i]))
+ {
+ show_in = FALSE;
++ goto out;
+ }
+ }
+ }
+ }
+- g_strfreev (strv);
++
++out:
++ g_strfreev (only_show_in);
++ g_strfreev (not_show_in);
+
+ return show_in;
+ }
+@@ -579,14 +580,7 @@ gboolean
+ desktop_entry_get_show_in (DesktopEntry *entry)
+ {
+ if (entry->type == DESKTOP_ENTRY_DESKTOP)
+- {
+- const char *current_desktop = get_current_desktop ();
+-
+- if (current_desktop == NULL)
+- return TRUE;
+- else
+- return g_desktop_app_info_get_show_in (((DesktopEntryDesktop*)entry)->appinfo, current_desktop);
+- }
++ return g_desktop_app_info_get_show_in (((DesktopEntryDesktop*)entry)->appinfo, NULL);
+ return ((DesktopEntryDirectory*)entry)->showin;
+ }
+
+--
+cgit v0.11.2
+
diff --git a/gnome-base/gnome-menus/files/gnome-menus-3.13.3-multiple-desktop2.patch b/gnome-base/gnome-menus/files/gnome-menus-3.13.3-multiple-desktop2.patch
new file mode 100644
index 000000000000..966b060eac27
--- /dev/null
+++ b/gnome-base/gnome-menus/files/gnome-menus-3.13.3-multiple-desktop2.patch
@@ -0,0 +1,27 @@
+From 4befe76fbdb76aa6a986297ef71d1601b2ced42e Mon Sep 17 00:00:00 2001
+From: Josselin Mouette <joss@debian.org>
+Date: Sun, 14 Dec 2014 20:36:36 +0100
+Subject: desktop-entries: fix trivial bug in handling of multiple desktops in
+ XDG_CURRENT_DESKTOP.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=741505
+---
+ libmenu/desktop-entries.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libmenu/desktop-entries.c b/libmenu/desktop-entries.c
+index bd4f886..a463d79 100644
+--- a/libmenu/desktop-entries.c
++++ b/libmenu/desktop-entries.c
+@@ -97,7 +97,7 @@ get_current_desktops (void)
+
+ desktops = g_getenv ("XDG_CURRENT_DESKTOP");
+
+- if (desktops)
++ if (!desktops)
+ desktops = "";
+
+ tmp = g_strsplit (desktops, ":", 0);
+--
+cgit v0.11.2
+
diff --git a/gnome-base/gnome-menus/files/gnome-menus-3.8.0-ignore_kde_standalone.patch b/gnome-base/gnome-menus/files/gnome-menus-3.8.0-ignore_kde_standalone.patch
new file mode 100644
index 000000000000..ab6cb92d7dda
--- /dev/null
+++ b/gnome-base/gnome-menus/files/gnome-menus-3.8.0-ignore_kde_standalone.patch
@@ -0,0 +1,37 @@
+From bf91222f05076f32c0a21aa22f8629dc6ce19eb4 Mon Sep 17 00:00:00 2001
+From: Sobhan Mohammadpour <sobhanmohammadpour1@yahoo.fr>
+Date: Mon, 25 Feb 2013 16:36:44 +0330
+Subject: [PATCH] gnome-menus-3.7.90-ignore_kde_standalone
+
+---
+ layout/gnome-applications.menu | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/layout/gnome-applications.menu b/layout/gnome-applications.menu
+index 9242eff..94ea6d4 100644
+--- a/layout/gnome-applications.menu
++++ b/layout/gnome-applications.menu
+@@ -277,7 +277,19 @@
+ <And>
+ <Not><Category>Core</Category></Not>
+ <Not><Category>Screensaver</Category></Not>
+-
++ <Not><Category>X-KDE-settings-accessibility</Category></Not>
++ <Not><Category>X-KDE-settings-components</Category></Not>
++ <Not><Category>X-KDE-settings-desktop</Category></Not>
++ <Not><Category>X-KDE-settings-looknfeel</Category></Not>
++ <Not><Category>X-KDE-settings-network</Category></Not>
++ <Not><Category>X-KDE-settings-webbrowsing</Category></Not>
++ <Not><Category>X-KDE-settings-peripherals</Category></Not>
++ <Not><Category>X-KDE-settings-hardware</Category></Not>
++ <Not><Category>X-KDE-settings-power</Category></Not>
++ <Not><Category>X-KDE-settings-security</Category></Not>
++ <Not><Category>X-KDE-settings-sound</Category></Not>
++ <Not><Category>X-KDE-settings-system</Category></Not>
++ <Not><Category>X-KDE-information</Category></Not>
+ <!-- Really Fedora ??? -->
+ <Not><Filename>gnome-eog.desktop</Filename></Not>
+ <Not><Filename>gnome-file-roller.desktop</Filename></Not>
+--
+1.8.1.2
+