Created attachment 140595 [details] Bash script to be used as a service action to demonstrate the issue SUMMARY Using a service menu in Dolphin's context menu to perform an action on a fairly large number of selected files is very slow, regardless of the size of the files or the action to be performed. The time increases as the number of selected files does, becoming quite noticeable at about 25 files, with about a 5 second delay at that point before the action is executed. I have observed this with both my own custom service menus as well as built-in service menus, such as the "Compress" menu. This behavior occurs when using either %F or %U in the desktop file to pass the selection to the script. STEPS TO REPRODUCE 1. Navigate to a folder with a substantial number of files 2. Select a number of files 3. Right-click on the selection, and execute an action from a service menu OBSERVED RESULT There is a significant delay before any action is executed; for example, a test service (attached) that does nothing but open a kdialog takes roughly 9 seconds to execute on a selection of about 75 small text files. EXPECTED RESULT When running the same test script from Nautilus/Files scripts context menu on the same selection of files, the kdialog box appears almost instantly. I would expect Dolphin's performance to be at least comparable. SOFTWARE/OS VERSIONS Fedora 34 KDE Plasma Version: 5.22.4 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2
Created attachment 140596 [details] Desktop file to be used with the test script
Upon further investigation, it appears that when passing the files to the service menu action, kactivitymanagerd writes a .desktop entry for each file in ~/.local/share/RecentDocuments. Only when it has done this for every selected file is the action then executed.