Bug 400414

Summary: Uninstalled app is still listed in the launcher if its entry was previously edited
Product: [Plasma] plasmashell Reporter: Patrick Silva <bugseforuns>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED INTENTIONAL    
Severity: normal CC: plasma-bugs-null, rdieter
Priority: NOR    
Version First Reported In: 5.16.4   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Patrick Silva 2018-10-28 12:11:37 UTC
STEPS TO REPRODUCE
1. install some app via flathub/flatpak
2. search for the app just installed in the launcher, right click its entry, select "Edit application..." (properties window shows up)
3. click "Application" tab, edit "Name" field to "AppName (flatpak)", click "Ok" button
4. uninstall the flatpak installed in the step 1 via Discover or konsole

OBSERVED RESULT
the entry of the uninstalled flatpak remains in the apps launcher,
no matter if the launcher is kicker, kickoff or dashboard.

EXPECTED RESULT
the entry of the uninstalled flatpak should be removed from the launcher.

SOFTWARE VERSIONS
Arch Linux
KDE Plasma Version: 5.14.2
KDE Frameworks Version: 5.51
Qt Version: 5.12 beta3

ADDITIONAL INFORMATION
Same result when the entry is edited with kmenueditor instead with properties window.
Comment 1 Patrick Silva 2019-02-11 01:53:31 UTC
In fact I also can reproduce the bug with apps installed via snap and distros repos.

SOFTWARE/OS VERSIONS
Operating System: KDE neon Developer Edition
KDE Plasma Version: 5.15.80
KDE Frameworks Version: 5.55.0
Qt Version: 5.12.0
Comment 2 Rex Dieter 2019-02-11 04:28:48 UTC
One possible workaround would be for the "Edit" operation to add a
TryExec=
key to match Exec= , so that it won't be shown if the target executable no longer exists.

Otherwise, I suspect there's not much that can be done.
Comment 3 David Edmundson 2019-08-15 22:00:48 UTC
>One possible workaround would be for the "Edit" operation to add a

We can't even do that automatically, Exec could be a non-trivial command with arguments whereas TryExec is a path. 

There's not much we can do. Sorry.