app-id: io.github.grigio.carosello runtime: org.gnome.Platform runtime-version: '50' branch: stable sdk: org.gnome.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.rust-stable command: carosello build-options: append-path: /usr/lib/sdk/rust-stable/bin env: CARGO_HOME: /run/build-carosello/cargo finish-args: - --share=ipc - --socket=wayland - --socket=fallback-x11 - --socket=pulseaudio - --device=dri - --talk-name=org.freedesktop.secrets # Read-write host access so the app can list sibling images/videos # in the containing directory of an opened file, wherever it lives # (Pictures, Downloads, /media, /mnt, project dirs, ...), and move # files to Trash via GFile trash (needs write on the directory). # A per-directory grant (xdg-pictures/videos/download only) breaks # sibling navigation: the FileChooser portal grants just the single # picked file, and read_dir(parent) fails outside those dirs. - --filesystem=host:rw # Remote/virtual mounts (sftp, smb, ...) via GVfs. # Both entries are needed: gvfs holds the mount points, gvfsd the # daemon sockets (without it every GFile call logs a GVFS-WARNING # about missing --filesystem=xdg-run/gvfsd privileges). # Read-write, not :ro: with :ro the mount is remounted ro inside the # sandbox ("Read-only file system"), so Move to Trash — which falls # back to a direct delete on filesystems without a Trash (sftp/smb # report G_IO_ERROR_NOT_SUPPORTED) — and in-place transforms both fail # there. host:rw does not cover /run/user/1000/gvfs. - --filesystem=xdg-run/gvfs - --filesystem=xdg-run/gvfsd - --talk-name=org.gtk.vfs - --talk-name=org.gtk.vfs.* modules: - name: carosello buildsystem: meson sources: - type: dir path: . - cargo-sources.json