KDE menu won't import new Vivaldi web app

When I reinstalled my system a few weeks ago, I had various web apps created by Vivaldi that KDE picked up with no problems. This did not happen when I created a new web app. Located in the proper directory - $HOME/.local/share/applications - the menu item did not show up, even after a reboot.

vivaldi-pjibgclleladliembfgfagdaldikeohf-Default.desktop

[Desktop Entry]
Comment=
Exec=/opt/vivaldi/vivaldi --profile-directory=Default --app-id=pjibgclleladliembfgfagdaldikeohf
GenericName=Music, podcasts
Icon=Spotify
MimeType=
Name=Spotify
Path=
StartupNotify=true
StartupWMClass=crx_pjibgclleladliembfgfagdaldikeohf
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-KDE-SubstituteUID=false
X-KDE-Username=

This is basically identical to my other web apps. What’s also weird is that if I open the menu app, then search for Spotify, the item is found. If I try to edit my menu via the same app, the item doesn’t exist.

For now, I’ve created a new entry via the menu editor and it works fine. Just curious why this item didn’t show up. Still a noob with KDE, so I’m sure I’m missing something simple.

Try running desktop-file-validate on the .desktop and see if it is valid.

Got this, which is the same for all of my Vivaldi web apps:

vivaldi-pjibgclleladliembfgfagdaldikeohf-Default.desktop: warning: value "" for key "Path" in group "Desktop Entry" does not look like an absolute path
vivaldi-pjibgclleladliembfgfagdaldikeohf-Default.desktop: warning: key "TerminalOptions" in group "Desktop Entry" is deprecated

Have you tried running kbuildsycoca5 in a terminal?

I did, but no difference. I have a feeling that something from my previous Cinnamon/Xfce installs that confusing the situation. I found some old Cinnamon/Gnome menus and removed them; we’ll see if it makes any difference when I reboot.

One other thing: In Xfce, I had hidden the Vivaldi Web Apps category (via menulibre), but I’ll be darned if I can remember where this info is stored.

If KDE opens the older .desktop files, compare the keys/values of the failing file with the successful ones.

KDE has recently added new features in the handling of these files properties/keys and this may relate (or not).

I don’t know how vivaldi picks the values in the keys, but there is a difference between StartupWMClass and --app-id values. It may have nothing to do :person_shrugging: of course.

Edit: Remove the Path key and test.

OK, the only difference in the web apps was the key NoDisplay=false. I added that, plus removed the Path= key. Unfortunately, there’s no change.

You can also remove this from everywhere.
It has a meaning only when the value is true.
If this exists NoDisplay=true , the entry is not shown in the Application menu.

I think that the menu DB needs update. There is a command I don’t remember, but you can log out and in to confirm.

I tried the command @dalto suggested, but it didn’t help. I will be going into Windows later, so hopefully a clean boot will do the trick.

UPDATE: the reboot didn’t help. For now, I’ll just create them via kmenuedit.

Are you using KDE under the same user account when you had Cinnamon and Xfce?
Perhaps you could test creating Vivaldi web apps under a new user account and see if it works there.

I’ll give that a try tomorrow. Thanks for the suggestion. I’ve been slowly cleaning out any Xfce/Cinnamon stuff I find left behind.

1 Like

How did you install vivaldi? From a glance I believe:

Exec=/opt/vivaldi/vivaldi

Should be:

Exec=/bin/vivaldi %u

Assuming you installed from the repo package, /usr/bin/vivaldi-stable is just a symlink to /opt/vivaldi/vivaldi so I think it should be fine either way.

1 Like

Here they are:

ls /usr/share/desktop-directories | grep -iE "web|vivaldi"
ls ~/.local/share/desktop-directories | grep -iE "web|vivaldi"

Find the proper file (*.directory) and remove key Hidden. If this key does not exist, check for other filters, like NoDisplay,OnlyShowIn,NotShowIn and change to what it needs.

ls /usr/share/desktop-directories | grep -iE "web|vivaldi"
ls ~/.local/share/desktop-directories | grep -iE "web|vivaldi"

kf5-development-webdevelopment.directory

:smiling_face: That name filter was just a guess. Check the all files :wink: .
Whatever I propose is only a guess, since I don’t have vivaldi web apps.

OTOH, if what you posted previously is the full contents of .desktop file, it does not include Categories, so it wouldn’t be in any of those. But I would nevertheless investigate their contents, since you said you have done something in xfce. :person_shrugging:

After a long search, I found my old ~/.local/share/desktop-directories entry for Vivaldi Apps. I tried adding another web app, again it wasn’t added and neither was the directory. At this point I’m not going to spend anymore time on this. Maybe if I decide to do another clean install - and this time it would be with an empty ~/.config - then I’ll revisit this.

Thanks for everyone’s help.

AFAIK, there won’t be much difference on this issue. The same programs (if you don’t edit files manually) will create the same issue.

You might want to post file contents of the relevant files, to guess the issue properly.

Do you mean they weren’t added to the menu, or no file was created?
If some files were created, post their contents and filenames.

How about creating a .desktop manually in ~/.local/share/application with:

--app=URL

added to Exec line?

Example from Chromium:

$ chromium-browser --app=https://app.element.io/#/welcome

Here’s one I installed for this forum:

vivaldi-ljglmmfoegmmiblmgnnkgmlnmhhojdmm-Default.desktop

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=EndeavourOS
Exec=/opt/vivaldi/vivaldi --profile-directory=Default --app-id=ljglmmfoegmmiblmgnnkgmlnmhhojdmm
Icon=vivaldi-ljglmmfoegmmiblmgnnkgmlnmhhojdmm-Default
StartupWMClass=crx_ljglmmfoegmmiblmgnnkgmlnmhhojdmm
Actions=Bookmarks;Create-a-new-Topic;Inbox;Top

[Desktop Action Bookmarks]
Name=Bookmarks
Exec=/opt/vivaldi/vivaldi --profile-directory=Default --app-id=ljglmmfoegmmiblmgnnkgmlnmhhojdmm --app-launch-url-for-shortcuts-menu-item=https://forum.endeavouros.com/my/activity/bookmarks

[Desktop Action Create-a-new-Topic]
Name=Create a new Topic
Exec=/opt/vivaldi/vivaldi --profile-directory=Default --app-id=ljglmmfoegmmiblmgnnkgmlnmhhojdmm --app-launch-url-for-shortcuts-menu-item=https://forum.endeavouros.com/new-topic

[Desktop Action Inbox]
Name=Inbox
Exec=/opt/vivaldi/vivaldi --profile-directory=Default --app-id=ljglmmfoegmmiblmgnnkgmlnmhhojdmm --app-launch-url-for-shortcuts-menu-item=https://forum.endeavouros.com/my/messages

[Desktop Action Top]
Name=Top
Exec=/opt/vivaldi/vivaldi --profile-directory=Default --app-id=ljglmmfoegmmiblmgnnkgmlnmhhojdmm --app-launch-url-for-shortcuts-menu-item=https://forum.endeavouros.com/top

Not added to menu. Here’s the directory file I re-added:

chrome-apps.directory

[Desktop Entry]
Version=1.0
Type=Directory
Name=Vivaldi Apps
Icon=chromium-browser

Again, not added to menu.