- Closes #19030 When `%U` is used in desktop entries, file managers pick this and use it: - When you right-click a file and choose "Open with..." - When you drag and drop files onto an application icon <img src="https://github.com/user-attachments/assets/ea5aa008-b81c-4f10-9302-b82332f6b174" width="200px" alt="image"> Adding it to CLI args, changes Flatpak desktop entry `Exec` from: ```diff - Exec=/usr/bin/flatpak run --branch=master --arch=x86_64 --command=zed dev.zed.ZedDev --foreground + Exec=/usr/bin/flatpak run --branch=master --arch=x86_64 --command=zed --file-forwarding dev.zed.ZedDev --foreground @@u %U @@ ``` This is Flatpak's way of doing `%U`, by adding `--file-forwarding` and wrapping arg with `@@u` and `@@`. Read more below ([source](https://docs.flatpak.org/en/latest/flatpak-command-reference.html)): > --file-forwarding > > If this option is specified, the remaining arguments are scanned, and all arguments that are enclosed between a pair of '@@' arguments are interpreted as file paths, exported in the document store, and passed to the command in the form of the resulting document path. Arguments between "@@u" and "@@" are considered URIs, and any "file:" URIs are exported. The exports are non-persistent and with read and write permissions for the application. Release Notes: - Fixed Zed not visible in the "Open with" list in the file manager for Flatpak.
61 lines
1.8 KiB
JSON
61 lines
1.8 KiB
JSON
{
|
|
"id": "$APP_ID",
|
|
"runtime": "org.freedesktop.Platform",
|
|
"runtime-version": "23.08",
|
|
"sdk": "org.freedesktop.Sdk",
|
|
"sdk-extensions": [
|
|
"org.freedesktop.Sdk.Extension.rust-stable"
|
|
],
|
|
"command": "zed",
|
|
"finish-args": [
|
|
"--talk-name=org.freedesktop.Flatpak",
|
|
"--device=dri",
|
|
"--share=ipc",
|
|
"--share=network",
|
|
"--socket=wayland",
|
|
"--socket=fallback-x11",
|
|
"--socket=pulseaudio",
|
|
"--filesystem=host"
|
|
],
|
|
"build-options": {
|
|
"append-path": "/usr/lib/sdk/rust-stable/bin"
|
|
},
|
|
"modules": [
|
|
{
|
|
"name": "zed",
|
|
"buildsystem": "simple",
|
|
"build-options": {
|
|
"env": {
|
|
"APP_ID": "$APP_ID",
|
|
"APP_ICON": "$APP_ID",
|
|
"APP_NAME": "$APP_NAME",
|
|
"BRANDING_LIGHT": "$BRANDING_LIGHT",
|
|
"BRANDING_DARK": "$BRANDING_DARK",
|
|
"APP_CLI": "zed",
|
|
"APP_ARGS": "--foreground %U",
|
|
"DO_STARTUP_NOTIFY": "false"
|
|
}
|
|
},
|
|
"build-commands": [
|
|
"install -Dm644 $ICON_FILE.png /app/share/icons/hicolor/512x512/apps/$APP_ID.png",
|
|
"envsubst < zed.desktop.in > zed.desktop && install -Dm644 zed.desktop /app/share/applications/$APP_ID.desktop",
|
|
"envsubst < flatpak/zed.metainfo.xml.in > zed.metainfo.xml && install -Dm644 zed.metainfo.xml /app/share/metainfo/$APP_ID.metainfo.xml",
|
|
"sed -i -e '/@release_info@/{r flatpak/release-info/$CHANNEL' -e 'd}' /app/share/metainfo/$APP_ID.metainfo.xml",
|
|
"install -Dm755 bin/zed /app/bin/zed",
|
|
"install -Dm755 libexec/zed-editor /app/libexec/zed-editor",
|
|
"install -Dm755 lib/* -t /app/lib"
|
|
],
|
|
"sources": [
|
|
{
|
|
"type": "archive",
|
|
"path": "./target/release/$ARCHIVE"
|
|
},
|
|
{
|
|
"type": "dir",
|
|
"path": "./crates/zed/resources"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|