Kubuntu doesnt' differentiate *.3mf and *.zip files

I can’t set different programs for opening the mentioned filetypes in Kubuntu 22.04.
I want to open *.zip files with ark and *.3mf files with Ultimaker Cura.

When I try to change the default program via right click -> properties -> "open with" -> change, it changes the association for both filetypes. In fact the properties show Type: zip-archive for the *.3mf files as well.
I’m using Cura as an AppImage with AppImageLauncher and can normally add it as a standard program for files through the context menue.

Even after editing the ~/.config/mimeapps.list and adding the line

application/3mf=appimagekit_968bf060d41f38a8b5f435483426a7e5-com.ultimaker.cura.desktop;

it won’t work, although that is the correct path to associate Cura.

Why is my OS thinking that *.3mf files are *.zip files and how can i change that?

The command grep 3mf -r ~/.local/share/mime /usr/share/mime delivers:

/usr/share/mime/types:model/3mf

but only because I manually edited it. Still the problem persists.

Asked By: reneas

||

The model/3mf mime type was only added in 22.10. A workaround is to backport the definition:

  1. Paste the following into ~/.local/share/mime/packages/3mf-askubuntu-1502786-1004020.xml
<?xml version="1.0" encoding="utf-8"?>
<mime-info >

  • Run update-mime-database -V ~/.local/share/mime
  • Close and reopen Dolphin file manager
  • I just took the *.3mf definition from the /usr/share/mime/packages/freedesktop.org.xml file from the shared-mime-info package on my 23.10 installation. The file types in Kubuntu are detected by xdg-mime query filetype test.3mf, which calls kmimetypefinder5 test.3mf, which read {~/.local/share,/usr/share}/mime/{types,mime.cache}. update-mime-database with the verbose flag creates those files from the definitions in the packages folder in the same directory.

    If you have multiple users, you can create the new file in /usr/share/mime/packages/ instead and run the analogous update command.

    Answered By: Daniel T