packaging: Linux file managers offer FilmCraft for .fcproj projects and video files

The desktop entry declared no MimeType and the shared-mime-info file was an
empty stub, so no file manager listed FilmCraft under "Open With" for any
file, and a double-clicked .fcproj had no type to open with. The app already
handles both from the command line (`%F`): a project opens, media is
imported (#850).

- mime.xml: define application/x-filmcraft for *.fcproj, a JSON subclass
  with the app icon; the same name the macOS UTI declares in Info.plist.in.
- Desktop entry: MimeType lists the project type and the video containers
  FilmCraft imports (MP4/M4V, QuickTime, Matroska, WebM, AVI, MXF,
  MPEG-TS, MPEG-PS, 3GP). Audio and stills are left out so an NLE doesn't
  crowd every image and song's Open With list.
- AppStream: the metainfo <provides> the project type.
- Flatpak bundle: the comment no longer says the MIME file has no types.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
lloyd 2026-10-12 13:09:57 +02:00
parent 0541d4d182
commit 69a6c4b625
5 changed files with 13 additions and 2 deletions

View File

@ -10,4 +10,5 @@ Terminal=false
StartupNotify=true
StartupWMClass=ai.storyteller.filmcraft
Categories=AudioVideo;Video;AudioVideoEditing;
MimeType=application/x-filmcraft;video/mp4;video/x-m4v;video/quicktime;video/x-matroska;video/webm;video/vnd.avi;video/x-msvideo;application/mxf;video/mp2t;video/mpeg;video/3gpp;
Keywords=video;editor;film;timeline;color;grading;nle;

View File

@ -54,6 +54,7 @@
</supports>
<provides>
<binary>filmcraft</binary>
<mediatype>application/x-filmcraft</mediatype>
</provides>
<content_rating type="oars-1.1"/>
<releases>

View File

@ -1,3 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- shared-mime-info definitions for types the system database doesn't have.
Installed to /usr/share/mime/packages/ (update-mime-database runs on install).
The type name matches the macOS UTI's public.mime-type in packaging/macos/Info.plist.in. -->
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-filmcraft">
<comment>FilmCraft project</comment>
<sub-class-of type="application/json"/>
<icon name="ai.storyteller.filmcraft"/>
<glob pattern="*.fcproj"/>
</mime-type>
</mime-info>

View File

@ -48,8 +48,8 @@ modules:
- install -Dm755 bin/filmcraft /app/bin/filmcraft
- install -Dm755 bin/filmcraft-cli /app/bin/filmcraft-cli
- install -Dm644 share/applications/ai.storyteller.filmcraft.desktop /app/share/applications/ai.storyteller.filmcraft.desktop
# The same MIME file the deb/rpm install (no types of its own yet; the runtime's
# shared-mime-info already knows the video and audio formats).
# The same MIME file the deb/rpm install: it defines the .fcproj project type (the
# runtime's shared-mime-info already knows the video and audio formats).
- install -Dm644 share/mime/packages/ai.storyteller.filmcraft.xml /app/share/mime/packages/ai.storyteller.filmcraft.xml
# Already has the release's version and date substituted by package.sh.
- install -Dm644 share/metainfo/ai.storyteller.filmcraft.metainfo.xml /app/share/metainfo/ai.storyteller.filmcraft.metainfo.xml