How can a desktop file be unavailable in KMenuEdit, but accessible via PlasmaShell?

Although it appears in plasmashell:

…it does not in KMenuEdit:

I ask per:

Is the top screenshot using KRunner to search? Possibly that caches results and “remembers” a .desktop file that previously existed, but no longer does.

You could try “Clear History” in the settings of KRunner - but of course only do so if there’s no search history that you want to retain.

@pg-tips, that screenshot was of “Application Launcher” (Kicker). I do not yet know how to list all installed plasmoids, and even if I did, plasmoidviewer doesn’t appear to work in the simple way that I recall: invoking a window for a specific plasmoid…

I considered that Kicker might cache the .desktop file, but it persists across OS re-initialisations.

plasmoidviewer --list

What happens if you right click on the Bitwarden entry in the Application Launcher (first screenshot) and press Edit Application?

@reisub, that (strace -TTr -- plasmoidviewer --list 2>&1 | bat --pager=none) fails:

4704 │      0.000062 write(2, "plasmoidviewer: Unknown option '"..., 39plasmoidviewer: Unknown option 'list'.
4705 │ ) = 39 <0.000007>
4706 │      0.000020 access("/home/beedell.roke_julian_lockhart/.config/plasmoidviewerrc", F_OK) = -1 ENOENT (No such file or directory) <0.000007>
4707 │      0.000019 access("/home/beedell.roke_julian_lockhart/.config", F_OK) = 0 <0.000007>
4708 │      0.000017 statx(AT_FDCWD, "/home/beedell.roke_julian_lockhart/.config", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID|STATX_SUBVOL, stx_attributes=0, stx_mode=S_IFDIR|0755, stx_size=3866, ...}) = 0 <0.000007>
4709 │      0.000019 access("/home/beedell.roke_julian_lockhart/.config", W_OK) = 0 <0.000006>
4710 │      0.000404 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 <0.000009>
4711 │      0.000024 futex(0x7ffeae060ef0, FUTEX_WAIT_PRIVATE, 1, NULL) = 0 <0.000013>
4712 │      0.000058 write(4, "\1\0\0\0\0\0\0\0", 8) = 8 <0.000012>
4713 │      0.000025 futex(0x55bc8f1e68e8, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000007>
4714 │      0.000018 futex(0x7f2ef27ffce8, FUTEX_WAIT_BITSET, 2, NULL, FUTEX_BITSET_MATCH_ANY) = 0 <0.000037>
4715 │      0.000500 getpid()                  = 129364 <0.000007>
4716 │      0.000040 write(5, "\1\0\0\0\0\0\0\0", 8) = 8 <0.000007>
4717 │      0.000128 getpid()                  = 129364 <0.000007>
4718 │      0.000027 exit_group(1)             = ?
4719 │      0.001651 +++ exited with 1 +++

As the cited GitHub issue already depicts, that merely invokes KMenuEdit with no item selected.

Oh my bad the actual command is

kpackagetool6 --list

To list all installed packages

@reisub, that doesn’t work, either:

PS /> kpackagetool6 --list 
Listing KPackageType: KPackage/Generic in /home/beedell.roke_julian_lockhart/.local/share/kpackage/generic/ 
PS />

That’s cause you didn’t specify the type of the package

@reisub, although I don’t observe an exhaustive list of parameters, for the --type argument anywhere, not least because help:/plasma-desktop is likely too broad, and the URI SEGVs khelpcentre regardless:

…those cited do not return anything, except one, user-installed plasmoid (luisbocanegra.smart.video.wallpaper.reborn):

PS /> kpackagetool6 --list --type Plasma/Applet 
Listing KPackageType: Plasma/Applet in /home/RokeJulianLockhart/.local/share/plasma/plasmoids/ 
PS /> kpackagetool6 --list --type Plasma/Wallpaper 
Listing KPackageType: Plasma/Wallpaper in /home/RokeJulianLockhart/.local/share/plasma/wallpapers/ 
luisbocanegra.smart.video.wallpaper.reborn 
PS /> kpackagetool6 --list --type Plasma/Theme     
Listing KPackageType: Plasma/Theme in /home/RokeJulianLockhart/.local/share/plasma/desktoptheme/ 
PS /> kpackagetool6 --list --type KPackage/Generic 
Listing KPackageType: KPackage/Generic in /home/RokeJulianLockhart/.local/share/kpackage/generic/ 
PS />

Consequently, none of them provide a list of system-installed ones. What command would you utilise to discover Kicker’s identifier?

Although that error has been resolved, its documentation includes no relevant values.

Instead, I have discovered how to ascertain which are pre-installed:

PS /> find /usr/lib64/qt6/plugins/plasma/applets -maxdepth 1 -type f -name '\*.so' | sort 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.kscreen.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.milou.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.panel.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.activitybar.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.addons.katesessions.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.analogclock.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma_applet_dict.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.appmenu.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.battery.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.binaryclock.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.bluetooth.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.brightness.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.calculator.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.calendar.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.cameraindicator.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.clipboard.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.colorpicker.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.comic.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.devicenotifier.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.digitalclock.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.diskquota.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.fifteenpuzzle.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.fuzzyclock.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.grouping.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.icon.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.keyboardindicator.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.keyboardlayout.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.kicker.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.kickoff.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.kimpanel.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.konsoleprofiles.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.lock_logout.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.manage-inputmethod.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.marginsseparator.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.mediacontroller.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.mediaframe.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.networkmanagement.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.notes.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.notifications.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.pager.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.panelspacer.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.printmanager.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.quicklaunch.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.showActivityManager.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.showdesktop.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.systemmonitor.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.systemtray.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.taskmanager.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.timer.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.trash.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.userswitcher.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.vault.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.volume.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.weather.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.webbrowser.so 
/usr/lib64/qt6/plugins/plasma/applets/org.kde.plasma.windowlist.so

[1]

Unfortunately, @reisub, plasmoidviewer was not useful for this task, however:

PS /> plasmoidviewer --applet org.kde.plasma.kicker                                      
QML debugging is enabled. Only use this in a safe environment. 
qt.qml.propertyCache.append: Member enabled of the object DeclarativeDropArea overrides a member of the base object. Consider renaming it or adding final or override specifier 
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:63: TypeError: Property 'isScreenUiReady' of object Plasma::Corona(0x55b6114e0b80) is not a function 
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:63: TypeError: Property 'isScreenUiReady' of object Plasma::Corona(0x55b6114e0b80) is not a function 
qt.qml.propertyCache.append: Member visible of the object PlasmaQuick::Dialog overrides a member of the base object. Consider renaming it or adding final or override specifier 
qrc:/qt/qml/plasma/applet/org/kde/plasma/kicker/main.qml:65:9: QML MenuRepresentation (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumHeight": 
qrc:/qt/qml/plasma/applet/org/kde/plasma/kicker/MenuRepresentation.qml:42:5 
qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") 
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter 
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter

I can’t be bothered to report that.


  1. chatgpt.com/s/t_6aa697dc61d881918281aeb85e1c483f [2] ↩︎

  2. chatgpt.com/share/6aa69804-2d3c-83ed-9095-d8c0aa30a1af [3] ↩︎

  3. chatgpt.com/c/6aa694f6-b3dc-83eb-ba03-521a41883194 ↩︎