diff --git a/appmenus-scripts/create-apps-for-appvm.sh b/appmenus-scripts/create-apps-for-appvm.sh index a6801cb..3dabd53 100755 --- a/appmenus-scripts/create-apps-for-appvm.sh +++ b/appmenus-scripts/create-apps-for-appvm.sh @@ -58,6 +58,6 @@ fi echo "--> Adding Apps to the Menu..." LC_COLLATE=C xdg-desktop-menu install $APPSDIR/*.directory $APPSDIR/*.desktop -if [ -n "$KDE_SESSION_UID" ]; then +if [ -n "$KDE_SESSION_UID" -a -z "$SKIP_CACHE_REBUILD" ]; then kbuildsycoca4 fi diff --git a/appmenus-scripts/qubes-receive-appmenus b/appmenus-scripts/qubes-receive-appmenus index 22f1b3f..4257164 100755 --- a/appmenus-scripts/qubes-receive-appmenus +++ b/appmenus-scripts/qubes-receive-appmenus @@ -324,11 +324,15 @@ def main(): shutil.copy(system_path['appmenu_start_hvm_template'], vm.appmenus_templates_dir) if hasattr(vm, 'appvms'): + os.putenv('SKIP_CACHE_REBUILD', '1') for child_vm in vm.appvms.values(): try: child_vm.appmenus_recreate() except Exception, e: print >> sys.stderr, "---> Failed to recreate appmenus for " \ "'{0}': {1}".format(child_vm.name, str(e)) + if 'KDE_SESSION_UID' in os.environ: + subprocess.call(['kbuildsycoca4']) + os.unsetenv('SKIP_CACHE_REBUILD') main()