From cc7075ab65e345efb020a8b6e22e784dd794edea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Wed, 8 Jul 2015 05:56:38 +0200 Subject: [PATCH] appmenus: defer menu cache regeneration to speedup qvm-sync-appmenus Call "xdg-desktop-menu forceupdate" at the end of the process, not for every single item. --- appmenus-scripts/create-apps-for-appvm.sh | 3 ++- appmenus-scripts/qubes-receive-appmenus | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/appmenus-scripts/create-apps-for-appvm.sh b/appmenus-scripts/create-apps-for-appvm.sh index 3dabd53..848852c 100755 --- a/appmenus-scripts/create-apps-for-appvm.sh +++ b/appmenus-scripts/create-apps-for-appvm.sh @@ -56,8 +56,9 @@ if [ "$SRCDIR" != "none" ]; then fi echo "--> Adding Apps to the Menu..." -LC_COLLATE=C xdg-desktop-menu install $APPSDIR/*.directory $APPSDIR/*.desktop +LC_COLLATE=C xdg-desktop-menu install --noupdate $APPSDIR/*.directory $APPSDIR/*.desktop if [ -n "$KDE_SESSION_UID" -a -z "$SKIP_CACHE_REBUILD" ]; then + xdg-desktop-menu forceupdate kbuildsycoca4 fi diff --git a/appmenus-scripts/qubes-receive-appmenus b/appmenus-scripts/qubes-receive-appmenus index 682d88d..3901048 100755 --- a/appmenus-scripts/qubes-receive-appmenus +++ b/appmenus-scripts/qubes-receive-appmenus @@ -366,6 +366,7 @@ def main(): except Exception, e: print >> sys.stderr, "---> Failed to recreate appmenus for " \ "'{0}': {1}".format(child_vm.name, str(e)) + subprocess.call(['xdg-desktop-menu', 'forceupdate']) if 'KDE_SESSION_UID' in os.environ: subprocess.call(['kbuildsycoca4']) os.unsetenv('SKIP_CACHE_REBUILD')