diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2021-01-09 01:11:14 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2021-01-09 01:12:46 +0300 |
commit | 72956edabebd4188f98e3b0d9f8ce727e8d13ea3 (patch) | |
tree | 2948237a0026b455367cc7fd5f64f3fe60f75c53 /meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu | |
parent | 015e6aa5df52e64da55eb64ea70ff1a58540d1f6 (diff) | |
download | openbmc-72956edabebd4188f98e3b0d9f8ce727e8d13ea3.tar.xz |
meta-openembedded: subtree update:936f2380bb..4599fea881
Alexander Vickberg (1):
mbedtls: upgrade to 2.25.0
Andreas Müller (44):
xfce4-panel-profiles: upgrade 1.0.10 -> 1.0.12
mousepad: upgrade 0.4.2 -> 0.5.2
xfce4-screenshooter: upgrade 1.9.7 -> 1.9.8
xfce4-taskmanager: upgrade 1.2.3 -> 1.4.0
xfce4-calculator-plugin: upgrade 0.7.0 -> 0.7.1
xfce4-cpugraph-plugin: upgrade 1.1.0 -> 1.2.0
xfce4-datetime-plugin: upgrade 0.8.0 -> 0.8.1
xfce4-diskperf-plugin: upgrade 2.6.2 -> 2.6.3
xfce4-fsguard-plugin: upgrade 1.1.1 -> 1.1.2
xfce4-smartbookmark-plugin: upgrade 0.5.1 -> 0.5.2
xfce4-systemload-plugin: upgrade 1.2.3 -> 1.2.4
xfce4-verve-plugin: upgrade 2.0.0 -> 2.0.1
xfce4-wavelan-plugin: upgrade 0.6.1 -> 0.6.2
xfce4-whiskermenu-plugin: upgrade 2.4.6 -> 2.5.1
xfce4-xkb-plugin: upgrade 0.8.1 -> 0.8.2
xfce4-mount-plugin: upgrade 1.1.3 -> 1.1.5
xfce4-dev-tools: upgrade 4.14.0 -> 4.16.0
libxfce4util: upgrade 4.14.0 -> 4.16.0
xfconf: upgrade 4.14.3 -> 4.16.0
libxfce4ui: upgrade 4.14.1 -> 4.16.0
exo: upgrade 0.12.11 -> 4.16.0
garcon: upgrade 0.7.0 -> 0.8.0
xfwm4: upgrade 4.14.5 -> 4.16.0
xfce4-settings: upgrade 4.14.3 -> 4.16.0
xfce4-panel: upgrade 4.14.4 -> 4.16.0
xfce4-session: upgrade 4.14.2 -> 4.16.0
xfdesktop: upgrade 4.14.2 -> 4.16.0
xfce4-power-manager: upgrade 1.6.6 -> 4.16.0
tumbler: upgrade 0.3.1 -> 4.16.0
thunar-volman: upgrade 0.9.5 -> 4.16.0
thunar: upgrade 1.8.15 -> 4.16.0
xfce4-appfinder: upgrade 4.14.0 -> 4.16.0
xfce4-terminal: 0.8.9.2 -> 0.8.10
xfce4-screensaver: upgrade 0.1.10 -> 4.16.0
xfce4-taskmanager: remove exo-native from DEPENDS
xfce4-closebutton-plugin: upgrade 0.1.0+ -> 4.16.0
xfce4-sensors-plugin: upgrade 1.3.92 -> 1.3.95
xfce4-genmon-plugin: upgrade 4.0.2 -> 4.1.0
xfce4-hotcorner-plugin: remove
xfce4-embed-plugin: remove for now
xfce4-equake-plugin: remove for now
xfce4-notes-plugin: remove for now
fluidsynth: upgrade 2.1.5 -> 2.1.6
blueman: upgrade 2.1.3 -> 2.1.4
Bruce Ashfield (1):
vboxguestdrivers: fix build against kernel v5.10+
Caio Toledo (3):
Add recipe for dbus-cxx
Add dbus-cxx to packagegroup-meta-oe
Fix dbus-cxx build for musl
Changqing Li (1):
libssh2: enhance ptest
Chen Qi (1):
tclap: fix branch
Chencheng Zhang (1):
tclap: align version to tag v1.2.2
Diego Santa Cruz (2):
gssdp: Upgrade to 1.2.2 -> 1.2.3
gupnp: Upgrade to 1.2.2 -> 1.2.4
Dmitry Baryshkov (11):
android-tools-conf-configfs: add an alternative to anrdoid-tools-conf
android-tools-conf: fix android-tools build-deps warning
conf/layer.conf: provide default PREFERRED_PROVIDER_android-tools-conf
imlib2: add image manipulation libray from englightenment project
feh: imlib2 based image viewer
obconf: Openbox configuration tool
xterm: install xterm and uxterm desktop files
xterm: update to version 362
xterm: provide virtual/x-terminal-emulator
layer.conf: add gnome-layer dynamic entry
openbox-xdgmenu: Openbox menu generator
He Zhe (2):
ebtables: Add symbol link /sbin/ebtables
lmbench: Fix setting LDLIBS failure
Hongxu Jia (2):
flatbuffers: add python3 support
python3-wrapt: add native support
Joe Slater (1):
multipath-tools: fix error handling for udev_monitor_set_receive_buffer_size
Khem Raj (9):
pidgin-sipe: Do not add native libdir to pkgconfig search path
sdbus-c++-libsystemd: Fix reallocarray check in meson
networkmanager: Fix reallocarray check in meson and configure
redis: Update to 6.0.9
python3-matplotlib: Disable LTO on mips/clang
cyrus-sasl: Disable ntlm plugin by default
postgresql: Use /dev/urandom when openssl is not used
xrdp: Upgrade to 0.9.14
iwd: Upgrade to 1.10
Leon Anavi (33):
python3-stevedore: Upgrade 3.2.2 -> 3.3.0
python3-pychromecast: Upgrade 7.5.1 -> 7.6.0
python3-humanize: Upgrade 3.1.0 -> 3.2.0
python3-fasteners: Upgrade 0.15 -> 0.16
python3-luma-core: Upgrade 2.0.1 -> 2.2.0
python3-chardet: Upgrade 3.0.4 -> 4.0.0
python3-watchdog: Upgrade 0.10.3 -> 1.0.2
python3-natsort: Upgrade 7.0.1 -> 7.1.0
python3-gmqtt: Upgrade 0.6.8 -> 0.6.9
python3-pymongo: Upgrade 3.11.0 -> 3.11.2
python3-requests: Upgrade 2.25.0 -> 2.25.1
python3-nocasedict: Upgrade 1.0.1 -> 1.0.2
python3-soupsieve: Upgrade 2.0.1 -> 2.1
python3-jsonpatch: Upgrade 1.26 -> 1.28
python3-psutil: Upgrade 5.7.3 -> 5.8.0
python3-argcomplete: Upgrade 1.12.1 -> 1.12.2
python3-multidict: Upgrade 5.0.0 -> 5.1.0
python3-nocaselist: Upgrade 1.0.3 -> 1.0.4
python3-prompt-toolkit: Upgrade 3.0.8 -> 3.0.9
python3-pychromecast: Upgrade 7.6.0 -> 7.7.1
python3-txaio: Upgrade 20.4.1 -> 20.12.1
python3-croniter: Upgrade 0.3.36 -> 0.3.37
python3-pandas: Upgrade 1.1.4 -> 1.2.0
python3-sympy: Upgrade 1.6.2 -> 1.7.1
python3-twine: Upgrade 3.2.0 -> 3.3.0
python3-humanfriendly: Upgrade 8.2 -> 9.1
python3-sqlalchemy: Upgrade 1.3.20 -> 1.3.22
python3-transitions: Upgrade 0.8.5 -> 0.8.6
python3-pytest-metadata: Upgrade 1.10.0 -> 1.11.0
python3-smbus2: Upgrade 0.3.0 -> 0.4.0
python3-cantools: Upgrade 35.5.0 -> 36.1.0
python3-sentry-sdk: Upgrade 0.19.1 -> 0.19.5
python3-babel: Upgrade 2.8.0 -> 2.9.0
Mark Jonas (1):
beep: Update to 1.4.9 in new repository
Martin Jansa (1):
linuxconsole: move jscal to separate package, add to packagegroup
Michael Vetter (1):
jasper: upgrade 2.0.23 -> 2.0.24
Mingli Yu (3):
traceroute: change the ALTERNATIVE_PRIORITY
tftp-hpa: change the ALTERNATIVE_PRIORITY
python3-astor: switch to python3
Ola X Nilsson (1):
python3-idna Remove 2.8
Qi.Chen@windriver.com (1):
python3-requests: upgrade to 2.25.0
Ramon Fried (2):
bitwise: add new recipe
yaml-cpp: add new recipe
Roland Hieber (3):
openct: remove lines that resulted in a no-op
openct: clean up do_install
openct: allow building as native package
Sean Nyekjaer (1):
nodejs: 12.19.1 -> 12.20.1
Stacy Gaikovaia (1):
nodejs: 12.19.0 -> 12.19.1
Trevor Woerner (1):
glmark2: fix precision handling bugs
Wang Mingyu (1):
zabbix: CVE-2020-15803 Security Advisory
Wenlin Kang (1):
syslog-ng: add bison-native to dependencies
Yi Zhao (9):
ebtables: do not install /etc/ethertypes
yaffs2-utils: update to latest git rev
f2fs-tools: upgrade 1.13.0 -> 1.14.0
dracut: upgrade 049 -> 051
ebtables: add missing file ebtables.common
ebtables: remove upstream ebtables-legacy-save
ebtables: do not install /etc/ethertypes
tcpdump: add UPSTREAM_CHECK_REGEX
phpmyadmin: 5.0.2 -> 5.0.4
Zang Ruochen (5):
mcpp: Normalize the patch format of CVE
python3-aenum: upgrade 2.2.4 -> 2.2.6
python3-autobahn: upgrade 20.7.1 -> 20.12.3
python3-bandit: upgrade 1.6.2 -> 1.7.0
python3-cachetools: upgrade 4.1.1 -> 4.2.0
Zheng Ruoqin (5):
samba: CVE-2020-14318 Security Advisory
samba: CVE-2020-14383 Security Advisory
php: CVE-2020-7070
php: CVE-2020-7069
poppler: upgrade 20.11.0 -> 20.12.1
changqing.li@windriver.com (3):
postgresql: upgrade 12.4 -> 13.1
nginx: upgrade 1.16.1 -> 1.18.0
nginx: upgrade 1.17.8 -> 1.19.6
jabdoa2 (2):
libsdl2-mixer: Fix ogg/vorbis support in libsdl2-mixer
libsdl2-mixer: set --disable-music-ogg-shared to link statically
lumag (2):
android-tools: fix package split
android-tools: split adbd to the separate package
zangrc (35):
fuse3: upgrade 3.10.0 -> 3.10.1
openipmi: upgrade 2.0.29 -> 2.0.30
vblade: upgrade 24 -> 25
dumb-init: upgrade 1.2.2 -> 1.2.5
fio: upgrade 3.24 -> 3.25
hwdata: upgrade 0.341 -> 0.342
nano: upgrade 5.3 -> 5.4
ocl-icd: upgrade 2.2.13 -> 2.2.14
ebtables: upgrade 2.0.10-4 -> 2.0.11
iscsi-initiator-utils: upgrade 2.1.2 -> 2.1.3
opencl-headers: upgrade 2020.06.16 -> 2020.12.18
opencl-icd-loader: upgrade 2020.06.16 -> 2020.12.18
c-periphery: upgrade 2.2.5 -> 2.3.0
opencl-clhpp: upgrade 2.0.12 -> 2.0.13
uthash: upgrade 2.1.0 -> 2.2.0
libtalloc: upgrade 2.3.0 -> 2.3.1
libtevent: upgrade 0.10.1 -> 0.10.2
ace: upgrade 6.5.10 -> 6.5.12
python3-ldap: upgrade 3.2.0 -> 3.3.1
wolfssl: upgrade 4.5.0 -> 4.6.0
asio: upgrade 1.18.0 -> 1.18.1
dash: upgrade 0.5.11.2 -> 0.5.11.3
geoclue: upgrade 2.5.6 -> 2.5.7
libmicrohttpd: upgrade 0.9.71 -> 0.9.72
nss: upgrade 3.59 -> 3.60
paho-mqtt-c: upgrade 1.3.7 -> 1.3.8
terminus-font: upgrade 4.48 -> 4.49.1
libnet-ldap-perl: upgrade 0.66 -> 0.67
rdma-core: upgrade 32.0 -> 33.0
can-utils: upgrade 2020.11.0 -> 2020.12.0
cpprest: upgrade 2.10.16 -> 2.10.17
haveged: upgrade 1.9.13 -> 1.9.14
live555: upgrade 20201105 -> 20210101
smartmontools: upgrade 7.1 -> 7.2
openjpeg: upgrade 2.3.1 -> 2.4.0
zhengruoqin (12):
pugixml: upgrade 1.11 -> 1.11.2
spdlog: upgrade 1.8.1 -> 1.8.2
spitools: upgrade 0.8.5 -> 0.8.6
uhubctl: upgrade 2.2.0 -> 2.3.0
xserver-xorg-cvt-native: upgrade 1.20.9 -> 1.20.10
zchunk: upgrade 1.1.7 -> 1.1.8
libencode-perl: upgrade 3.07 -> 3.08
bridge-utils: upgrade 1.6 -> 1.7
netplan: upgrade 0.100 -> 0.101
opensaf: upgrade 5.20.08 -> 5.20.11
cppzmq: upgrade 4.7.0 -> 4.7.1
gperftools: upgrade 2.8 -> 2.8.1
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I53939ad487155ca87e27cfd77d65962458d892e0
Diffstat (limited to 'meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu')
3 files changed, 224 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff new file mode 100644 index 000000000..8ab5386dc --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff @@ -0,0 +1,13 @@ +=== modified file 'openbox-xdgmenu.c' +--- openbox-xdgmenu.c 2011-09-03 20:13:39 +0000 ++++ openbox-xdgmenu.c 2013-12-28 17:41:04 +0000 +@@ -235,7 +235,7 @@ + } + + g_printf("<item label=\"%s\">\n", g_strjoinv("&", g_strsplit(name,"&",0))), +- g_printf("<action name=\"Execute\"><execute>%s</execute></action>\n", exec), ++ g_printf("<action name=\"Execute\"><command>%s</command></action>\n", exec), + g_printf("</item>\n"); + + g_free(name); + diff --git a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch new file mode 100644 index 000000000..03b357263 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch @@ -0,0 +1,27 @@ +Index: openbox-xdgmenu-0.3/openbox-xdgmenu.c +=================================================================== +--- openbox-xdgmenu-0.3.orig/openbox-xdgmenu.c ++++ openbox-xdgmenu-0.3/openbox-xdgmenu.c +@@ -197,7 +197,7 @@ void process_entry(GMenuTreeEntry *entry + { + GDesktopAppInfo *appinfo = gmenu_tree_entry_get_app_info (entry); + char *name = g_strdup (g_app_info_get_name(G_APP_INFO(appinfo))); +- char *exec = g_strdup (g_app_info_get_executable(G_APP_INFO(appinfo))); ++ char *exec = g_strdup (g_app_info_get_commandline(G_APP_INFO(appinfo))); + int i; + + for (i = 0; i < strlen(exec) - 1; i++) { +@@ -217,8 +217,11 @@ void process_entry(GMenuTreeEntry *entry + } + } + +- g_printf("<item label=\"%s\">\n", g_strjoinv("&", g_strsplit(name,"&",0))), +- g_printf("<action name=\"Execute\"><command>%s</command></action>\n", exec), ++ g_printf("<item label=\"%s\">\n", g_strjoinv("&", g_strsplit(name,"&",0))); ++ g_printf("<action name=\"Execute\"><command>%s%s</command></action>\n", ++ g_desktop_app_info_get_boolean(appinfo, G_KEY_FILE_DESKTOP_KEY_TERMINAL) ? ++ "x-terminal-emulator -e " : "", ++ exec); + g_printf("</item>\n"); + + g_free(name); diff --git a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch new file mode 100644 index 000000000..3fcc31916 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch @@ -0,0 +1,184 @@ +Index: openbox-xdgmenu-0.3/openbox-xdgmenu.c +=================================================================== +--- openbox-xdgmenu-0.3.orig/openbox-xdgmenu.c ++++ openbox-xdgmenu-0.3/openbox-xdgmenu.c +@@ -32,7 +32,7 @@ + #include <string.h> + #include <glib.h> + #include <glib/gprintf.h> +-#include <gnome-menus/gmenu-tree.h> ++#include <gnome-menus-3.0/gmenu-tree.h> + + /*============================================================================= + * Declarations +@@ -42,7 +42,6 @@ static void process_directory(GMenuTreeD + static void process_entry(GMenuTreeEntry *entry); + static void process_separator(GMenuTreeSeparator *entry); + +-gboolean option_show_amount_of_entries = 0; + gboolean option_do_not_use_categories = 0; + + /*============================================================================= +@@ -61,11 +60,6 @@ int main (int argc, char **argv) + g_free (xdgfile); + return 0; + } +- else if ((strcmp (argv[i], "--show-amount") == 0) || +- (strcmp (argv[i], "-a") == 0)) +- { +- option_show_amount_of_entries = 1; +- } + else if ((strcmp (argv[i], "--plain") == 0) || + (strcmp (argv[i], "-p") == 0)) + { +@@ -93,16 +87,15 @@ int main (int argc, char **argv) + return 1; + } + +- FILE * file; +- if (!(file = fopen(xdgfile, "r"))) ++ GMenuTree *menuTree = gmenu_tree_new (xdgfile, GMENU_TREE_FLAGS_NONE ); ++ ++ GError *error = NULL; ++ if (!gmenu_tree_load_sync(menuTree, &error)) + { +- g_printf ("Could not read file \"%s\".\n", xdgfile); +- g_free (xdgfile); +- return 2; ++ g_printerr ("Failed to load tree: %s\n", error->message); ++ g_clear_error (&error); ++ return 3; + } +- fclose(file); +- +- GMenuTree *menuTree = gmenu_tree_lookup (xdgfile, GMENU_TREE_FLAGS_NONE ); + + GMenuTreeDirectory *rootDirectory = gmenu_tree_get_root_directory(menuTree); + +@@ -129,11 +122,10 @@ void show_help() + g_printf (" openbox-xdgmenu [options] <Xdg menu file>\n"); + g_printf ("\n"); + g_printf ("Options:\n"); +- g_printf (" -a: Show the amount of items in each category next to its name.\n"); + g_printf (" -p: Do not use categories.\n"); + g_printf ("\n"); + g_printf ("For example:\n"); +- g_printf (" openbox-xdgmenu \"/etc/xdg/menus/applications.menu\"\n\n"); ++ g_printf (" openbox-xdgmenu \"gnome-applications.menu\"\n\n"); + } + + /*============================================================================= +@@ -141,72 +133,61 @@ void show_help() + */ + void process_directory(GMenuTreeDirectory *directory, gboolean isRoot) + { +- int hasSeparator = 0; ++ GMenuTreeSeparator *separator = NULL; + int hasMenu = 0; + GMenuTreeItemType entryType; +- GSList *entryList = gmenu_tree_directory_get_contents (directory); +- GSList *l; +- +- if (option_do_not_use_categories == 00 && isRoot == 0 && +- g_slist_length(entryList) > 0) ++ GMenuTreeIter *iter = gmenu_tree_directory_iter (directory); ++ GMenuTreeItemType next_type; ++ ++ while ((next_type = gmenu_tree_iter_next (iter)) != GMENU_TREE_ITEM_INVALID) + { +- hasMenu = 1; +- +- if (option_show_amount_of_entries == 1) ++ if (option_do_not_use_categories == 00 && isRoot == 0 && hasMenu == 0) + { ++ hasMenu = 1; ++ + g_printf( +- "<menu id=\"xdg-menu-%s\" label=\"%s (%d)\">\n", +- g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)), +- g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)), +- g_slist_length(entryList)); ++ "<menu id=\"xdg-menu-%s\" label=\"%s\">\n", ++ g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)), ++ g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0))); + } +- else +- { +- g_printf( +- "<menu id=\"xdg-menu-%s\" label=\"%s\">\n", +- g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)), +- g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0))); +- } +- } + +- for (l = entryList; l; l = l->next) +- { +- GMenuTreeItem *item = l->data; +- +- entryType = gmenu_tree_item_get_type (GMENU_TREE_ITEM(item)); +- +- switch (entryType) ++ switch (next_type) + { ++ case GMENU_TREE_ITEM_INVALID: ++ break; + case GMENU_TREE_ITEM_DIRECTORY: +- if (hasSeparator) ++ if (separator != NULL) + { +- process_separator(GMENU_TREE_SEPARATOR(item)); +- hasSeparator = 0; ++ process_separator(separator); ++ gmenu_tree_item_unref (separator); ++ separator = NULL; + } +- process_directory(GMENU_TREE_DIRECTORY(item), 0); ++ process_directory(gmenu_tree_iter_get_directory(iter), 0); + break; + case GMENU_TREE_ITEM_ENTRY: +- if (hasSeparator) ++ if (separator != NULL) + { +- process_separator(GMENU_TREE_SEPARATOR(item)); +- hasSeparator = 0; ++ process_separator(separator); ++ gmenu_tree_item_unref (separator); ++ separator = NULL; + } +- process_entry(GMENU_TREE_ENTRY(item)); ++ process_entry(gmenu_tree_iter_get_entry(iter)); + break; + case GMENU_TREE_ITEM_SEPARATOR: +- hasSeparator = 1; ++ separator = gmenu_tree_iter_get_separator(iter); + break; + } +- +- gmenu_tree_item_unref (item); + } + + if (hasMenu == 1) + { + g_printf("</menu>\n"); + } ++ ++ if (separator != NULL) ++ gmenu_tree_item_unref (separator); + +- g_slist_free (entryList); ++ gmenu_tree_iter_unref (iter); + } + + /*============================================================================= +@@ -214,8 +195,9 @@ void process_directory(GMenuTreeDirector + */ + void process_entry(GMenuTreeEntry *entry) + { +- char *name = g_strdup (gmenu_tree_entry_get_name(entry)); +- char *exec = g_strdup (gmenu_tree_entry_get_exec(entry)); ++ GDesktopAppInfo *appinfo = gmenu_tree_entry_get_app_info (entry); ++ char *name = g_strdup (g_app_info_get_name(G_APP_INFO(appinfo))); ++ char *exec = g_strdup (g_app_info_get_executable(G_APP_INFO(appinfo))); + int i; + + for (i = 0; i < strlen(exec) - 1; i++) { |