]> git.pld-linux.org Git - packages/mate-menus.git/blame - xdg-menu-prefix-compat.patch
handle XDG_MENU_PREFIX, like it was in GNOME2/GNOME3
[packages/mate-menus.git] / xdg-menu-prefix-compat.patch
CommitLineData
ea386558
ER
1restore XDG_MENU_PREFIX functionality
2
323:19:05 glen> hmm, xdg menus does not seem to work
423:19:07 glen> i mean $XDG_MENU_PREFIX
523:19:09 glen> is not respected
623:19:51 glen> 23:19:38 root[load: 3.16]@blodnatt xdg/menus# ls -l /etc/xdg/menus/${XDG_MENU_PREFIX}applications.menu
723:19:51 glen> -rw-r--r-- 1 root root 23K 18. mai 2012 /etc/xdg/menus/applnk-applications.menu
8
9seems perberos just renamed the file not to conflict file installed by GNOME
10
11additionally load mate-applications.menu if XDG_MENU_PREFIX is not set, as this
12is how we package mate applications.menu.
13--- mate-menus-1.5.0/./libmenu/matemenu-tree.c~ 2012-10-11 11:26:03.000000000 +0300
14+++ mate-menus-1.5.0/./libmenu/matemenu-tree.c 2013-01-15 23:41:33.733159313 +0200
15@@ -539,7 +539,7 @@
16 {
17 matemenu_tree_remove_menu_file_monitors (tree);
18
19- if (strcmp(tree->basename, "mate-applications.menu") == 0 && g_getenv("XDG_MENU_PREFIX"))
20+ if (strcmp(tree->basename, "applications.menu") == 0 && g_getenv("XDG_MENU_PREFIX"))
21 {
22 char* prefixed_basename;
23 prefixed_basename = g_strdup_printf("%s%s", g_getenv("XDG_MENU_PREFIX"), tree->basename);
24@@ -1895,7 +1895,7 @@
25 found = FALSE;
26 menu_file = g_strconcat(menu_name, ".menu", NULL);
27
28- if (strcmp(menu_file, "mate-applications.menu") == 0 && g_getenv("XDG_MENU_PREFIX"))
29+ if (strcmp(menu_file, "applications.menu") == 0 && g_getenv("XDG_MENU_PREFIX"))
30 {
31 char* prefixed_basename;
32 prefixed_basename = g_strdup_printf("%s%s", g_getenv("XDG_MENU_PREFIX"), menu_file);
33--- mate-menus-1.5.0/util/test-menu-spec.c~ 2012-10-11 11:26:03.000000000 +0300
34+++ mate-menus-1.5.0/util/test-menu-spec.c 2013-01-15 23:36:26.719020435 +0200
35@@ -191,8 +191,7 @@
36 flags |= MATEMENU_TREE_FLAGS_INCLUDE_NODISPLAY;
37 }
38
39- // Usamos applications.menu is existe. Para compatibilidad con GNOME
40- MateMenuTree* tree = matemenu_tree_lookup(menu_file ? menu_file : "mate-applications.menu", flags);
41+ MateMenuTree* tree = matemenu_tree_lookup(menu_file ? menu_file : "applications.menu", flags);
42
43 g_assert(tree != NULL);
44
45--- mate-menus-1.5.0/util/mate-menus-ls.py~ 2012-10-11 11:26:03.000000000 +0300
46+++ mate-menus-1.5.0/util/mate-menus-ls.py 2013-01-15 23:37:38.595663893 +0200
47@@ -72,7 +72,7 @@
48 if options.file:
49 menu_file = options.file
50 else:
51- menu_file = 'mate-applications.menu'
52+ menu_file = 'applications.menu'
53
54 flags = matemenu.FLAGS_NONE
55 if options.exclude:
56--- mate-menus-1.5.0/libmenu/matemenu-tree.c~ 2013-01-16 11:12:55.000000000 +0200
57+++ mate-menus-1.5.0/libmenu/matemenu-tree.c 2013-01-16 12:36:08.224428926 +0200
58@@ -1903,6 +1903,15 @@
59 g_free(prefixed_basename);
60 }
61
62+ // load mate-applications.menu
63+ if (!found && !g_getenv("XDG_MENU_PREFIX"))
64+ {
65+ char* prefixed_basename;
66+ prefixed_basename = g_strdup_printf("mate-%s", menu_file);
67+ found = load_parent_merge_file_from_basename(tree, loaded_menu_files, layout, prefixed_basename, canonical_basedir);
68+ g_free(prefixed_basename);
69+ }
70+
71 if (!found)
72 {
73 found = load_parent_merge_file_from_basename(tree, loaded_menu_files, layout, menu_file, canonical_basedir);
This page took 0.089172 seconds and 4 git commands to generate.