[i3] Issue with dolphin and file associations in i3

Hi, since today dolphin is unable to use file associations properly. Everytime I click on a file it starts a dialogue asking me to type the application command I want to open the file with. And it doesnt remember it. I think those two posts describe the same issue I’m having :
https://www.reddit.com/r/kde/comments/1bd313p/dolphin_not_recognizing_file_associations/

https://bbs.archlinux.org/viewtopic.php?id=293509

But I cant quite parse from these two posts what the actual solution is. Thanks for the help.

Since you are (probably) not using startplasma you have to set the env yourself in your Display Manager startup script

then set a env XDG_MENU_PREFIX=plasma- run kbuildsycoca6. All my file association is back !

No clue exactly…

But in case you need that, or you may use it pre plasma 6 update, what could cause some dependency change on the used packages.

Thanks for the answer, added

exec export XDG_MENU_PREFIX=plasma- && kbuildsycoca6

to my i3 config files and it seems to be working. it did not work using two separate exec command though. Thanks for the help.

1 Like

unfortunately this is is actually not working right, file associations stop working again in dolphin if I try and modify with dolphin what programs to open files with.

here’s what journalctl shows:


avril 27 08:06:21 rishi-x58aud3r keditfiletype[347066]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/konq_sidebar.so" explicitly states an Id in the embedded metadata, which is different from the one derived from the filename The Id field from the KPlugin object in the metadata should be removed
avril 27 08:06:21 rishi-x58aud3r keditfiletype[347066]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/webenginepart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[347066]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/fsviewpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[347066]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/dolphinpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r kbuildsycoca6[347455]: "applications.menu"  not found in  QList("/home/rishi/.config/menus", "/etc/xdg/menus")
avril 27 08:06:21 rishi-x58aud3r keditfiletype[241410]: kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 306 )
avril 27 08:06:21 rishi-x58aud3r keditfiletype[242186]: kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 306 )
avril 27 08:06:21 rishi-x58aud3r keditfiletype[241410]: kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 306 )
avril 27 08:06:21 rishi-x58aud3r keditfiletype[242186]: kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 306 )
avril 27 08:06:21 rishi-x58aud3r keditfiletype[325343]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/konq_sidebar.so" explicitly states an Id in the embedded metadata, which is different from the one derived from the filename The Id field from the KPlugin object in the metadata should be removed
avril 27 08:06:21 rishi-x58aud3r keditfiletype[325343]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/webenginepart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[347066]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/konq_sidebar.so" explicitly states an Id in the embedded metadata, which is different from the one derived from the filename The Id field from the KPlugin object in the metadata should be removed
avril 27 08:06:21 rishi-x58aud3r keditfiletype[325343]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/fsviewpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[337783]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/konq_sidebar.so" explicitly states an Id in the embedded metadata, which is different from the one derived from the filename The Id field from the KPlugin object in the metadata should be removed
avril 27 08:06:21 rishi-x58aud3r keditfiletype[242186]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/konq_sidebar.so" explicitly states an Id in the embedded metadata, which is different from the one derived from the filename The Id field from the KPlugin object in the metadata should be removed
avril 27 08:06:21 rishi-x58aud3r keditfiletype[347066]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/webenginepart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[325343]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/dolphinpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[241410]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/konq_sidebar.so" explicitly states an Id in the embedded metadata, which is different from the one derived from the filename The Id field from the KPlugin object in the metadata should be removed
avril 27 08:06:21 rishi-x58aud3r keditfiletype[347066]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/fsviewpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[337783]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/webenginepart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[242186]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/webenginepart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[347066]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/dolphinpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[241410]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/webenginepart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[337783]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/fsviewpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[242186]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/fsviewpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[241410]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/fsviewpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[337783]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/dolphinpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[242186]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/dolphinpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it
avril 27 08:06:21 rishi-x58aud3r keditfiletype[241410]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kf6/parts/dolphinpart.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it

Running export XDG_MENU_PREFIX=plasma- && kbuildsycoca6 again solves it but I’d like to be able to change file associations in dolphin without having to run this everytime.

Having this issue with Dolphin on i3 too. Pretty annoying, so I’m using XnViewMP in the meantime.

It looks like the only fix that works is the one from the Arch Linux forum, but I’m not entirely sure how to go about it. I’ve downloaded the plasma-applications.menu file from GitHub, and placed it into /.config/menus but that doesn’t do anything when I run kbuildsycoca6/kbuildsycoca5 as I still get a file missing error.

Wondering if I should also place it in /etc/xdg/menus as well, seeing as it is also missing from that location. But I’m hesitant to do it because an update may delete the file anyway.

EDIT: It worked?! Meaning downloading the file and placing it into /.config/menus started working after reloading my i3 in-place. Hopefully, it’s not temporary.

:roll_eyes:

It seems to be temporary indeed. I locked my i3 for about 30 minutes, and when I unlocked it and right-clicked a file in Dolphin it again didn’t show any appropriate apps to open files with. Did another reload in-place and it’s working again…

1 Like

So, this fix/workaround has actually been around since April 26… And KDE will not fix it for us, it seems. It’s a new KDE6 structure/component issue.

One option — the ridiculous one — is to install plasma-workspace even if you have no intention of using plasma. → Not doing that.

So, the other option is to paste the applications.menu file in both the /etc/xdg/menus/ and /.config/menus/ directories.

Downloading the file from GitHub was the wrong move, however. The right way to do it is below:

  • Downgrade kservice5
  • Choose kservice5 5.115.0-1
  • Do not ignore the package when pacman asks. Choose “No” / n
  • After the downgrade, copy applications.menu from /etc/xdg/menus/ to /.config/menus/
  • Upgrade kservice5 to the current version kservice5 5.115.0-2
  • Finally, copy applications.menu from /.config/menus/ to /etc/xdg/menus/

After doing this, I can now associate files with any app from Dolphin as expected. No need for any environment variables, launch options, etc.

Bug Report here: https://gitlab.archlinux.org/archlinux/packaging/packages/kservice5/-/issues/1
And here: https://gitlab.archlinux.org/archlinux/packaging/packages/plasma-workspace/-/issues/3

EDIT: This affects Krusader too: LibreOffice, Krusader having trouble
So it’s safe to say that this issue is KDE-based.

So I hope my answer is helpful, since I use normal arch (6.9.1-arch1-1) and installed plasma-workspace, so I don’t know if this solution helps with the Endeavour or if you didn’t install plasma-workspace
I simply copied /etc/xdg/menus/arch-applications.menu to /etc/xdg/menus/applications.menu and run DG_MENU_PREFIX=arch- kbuildsycoca6

I’m guessing that should be XDG_MENU_PREFIX=arch- kbuildsycoca6?

Also, no, I don’t have KDE Plasma installed, so I don’t need plasma-workspace. But, due to a recent change, the file you mentioned gets removed if you don’t have plasma-workspace installed. This is the reason I, and others who don’t use KDE, would have to go through all these steps.

EDIT: Just realised you are referring to a different file. One moment… Don’t have that file on my system either.


image