Open leoheck opened 1 month ago
sounds like a nautilus issue not a freecad issue. The appimage doesn't register file associations
Is there an upstream ticket ?
could also be something coming from appimagelauncher, if we had more details about what's the mechanism at play here we could see if there's something we can do on our end
this is a regression.
how was it before? what registered fcstd files and how? I can't do anything if you don't give me information. Like I said before this is not stuff we are doing ourselves.
I can give extra information, I just don't know what do you need as information.
Before, it used to display the Freecad icon on .FCStd
files. Also, .FCbak
could have a defined icon.
Perhaps this issue belongs to the Freecad-Bundle instead. The regression may be introduced when the new logo was launched. But I am not sure.
Do you have the stable version installed too or had it in the past?
had it installed some weeks ago.
In case it helps: https://askubuntu.com/questions/1421738/nautilus-changing-a-file-icon-from-command-line
Could you try running this command (replacing SomeFreeCADFile.FCStd
)? Ideally before and after the change:
gio info -a "metadata::custom-icon" SomeFreeCADFile.FCStd
Is this something that the .deb package from the PPA used to do perhaps?
The FreeCAD package from the Ubuntu archives ships the custom icon: https://packages.ubuntu.com/jammy/all/freecad-common/filelist. Around the end of the list, see:
/usr/share/freecad/share/icons/hicolor/scalable/mimetypes/application-x-extension-fcstd.svg
The FreeCAD daily PPA package does as well:
dpkg -L freecad-daily-common | grep x-extension-fcstd
/usr/share/freecad-daily/share/icons/hicolor/scalable/mimetypes/application-x-extension-fcstd.svg
And the FreeCAD daily snap as well:
ls -lR /snap/freecad/current/ | grep -B 3 x-extension-fcstd
/snap/freecad/current/usr/share/icons/hicolor/scalable/mimetypes:
total 5
-rw-r--r-- 1 root root 4709 Jul 5 02:47 application-x-extension-fcstd.svg
I can also reproduce it, but I think it's a package-specific bug, and not a FreeCAD (the app) one.
In summary, I think:
.FCStd
extensionThis applies to .snap and .deb packages, as the issue description hints at the host system being Ubuntu.
Sorry if this would warrant an own issue, but was there ever any thought or talk about the extension name itself?
I also don't like this extension format. It is wierd It also has upper case and lower case characters. It is horrible.
This is packaging-related issue that AppImage can't solve directly since it is not installed, but FreeCAD can hypothetically add a menu entry that would automate described below for those using AppImage (only updates, at least for dev builds, will be problematic due to unique name used for downloaded file rather than replacing existing file instead).
Basically to fix this you need to do the following steps.
Create file ~/.local/share/applications/freecad.desktop
(and necessary directories if they don't exist) with following contents:
[Desktop Entry]
Version=1.0
Type=Application
Name=FreeCAD
Icon=freecad
Exec="/home/user/.local/bin/FreeCAD.AppImage" %f
Terminal=false
/home/user/.local/bin/FreeCAD.AppImage
should point to your downloaded AppImage.
Now you'll see FreeCAD among installed apps and will be able to launch it like anything else.
For FreeCAD files to be recognized as something other than simply a ZIP file, separate mime type association needs to be created.
Create file ~/.local/share/mime/packages/org.freecadweb.FreeCAD.xml
(and necessary directories if they don't exist) with following contents (mostly taken from freecad-common
file of old Ubuntu package):
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-extension-fcstd">
<!-- <sub-class-of type="application/zip"/> -->
<comment>FreeCAD document files</comment>
<glob pattern="*.fcstd"/>
<glob pattern="*.fcbak"/>
<icon name="org.freecadweb.FreeCAD"/>
</mime-type>
</mime-info>
And update mime database:
update-mime-database ~/.local/share/mime
Now FreeCAD files will be recognized as a separate type and assuing the theme you're using has icons, you will get a dedicated icon for those files as well (I use Numix Circle theme and it does have icon for FreeCAD) or you may have to place one at ~/.local/share/icons/hicolor/scalable/apps/freecad.svg
.
Simpy try to open the file with file manager (Nautilus, Nemo, etc.), choose FreeCAD from the list of apps and click "Set as default" to open this file type with FreeCAD going forward. Physically this will add application/x-extension-fcstd=freecad.desktop
line to both [Default Applications]
and [Added Associations]
sections of ~/.config/mimeapps.list
file.
I use the AppImageLauncher
which does this for us.
Here is the comment from the Author https://github.com/TheAssassin/AppImageLauncher/issues/275#issuecomment-564818880
This is his first sentence:
File associations are supported and work fine. There are some prominent examples like FreeCAD or Ultimaker Cura (which even supports STL files out of the box!) which demonstrate this.
This thing was working fine using the AppImageLauncher
, now it does not work anymore for some reason.
the desktop file we ship defines supported mimetypes https://github.com/FreeCAD/FreeCAD/blob/de508e437d13e7eb35baffceea496fb9107888cb/src/XDGData/org.freecad.FreeCAD.desktop#L24C10-L24C21 so I don't know what would be missing here.
Is there an existing issue for this?
Problem description
Nautilus does not know the FCStd extension anymore.
Full version info
Subproject(s) affected?
None
Anything else?
No response
Code of Conduct