mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 08:53:21 +00:00
desktopToDarwinBundle: Implement %F and %U Exec field codes
Similar to the implementation of the `%f` and `%u` field codes. In this case the amount of arguments passed poses no problem but the position could, at least in theory. This finishes the implementation of all the non-deprecated field codes. As a part of that, repetitions of field codes are left alone. Originally all field codes were removed. Now we replace only the first occurence. This is correct for at least `%f`, `%u`, `%F` and `%U` because at most one of them is permitted. Shortcomings: 1. We replace `%[cfFikuU]` patterns one at a time. This means if the right field code appears as part of the rest of the `Exec` field or in a field code that was substituted earlier. 2. If any field code is repeated, only the first occurence is substituted.
This commit is contained in:
parent
f31d945755
commit
261b736521
@ -179,7 +179,7 @@ processExecFieldCodes() {
|
||||
local -r icon=$(getDesktopParam "${file}" "Icon")
|
||||
local -r execNoKCI="${execNoKC/\%i/${icon:+--icon }${icon}}"
|
||||
local -r execNoKCIfu="${execNoKCI/\%[fu]/\$1}"
|
||||
local -r exec="${execNoKCIfu// %[FU]}"
|
||||
local -r exec="${execNoKCIfu/\%[FU]/\$@}"
|
||||
if [[ "$exec" != "$execRaw" ]]; then
|
||||
echo 1>&2 "desktopToDarwinBundle: Application bundles do not understand desktop entry field codes. Changed '$execRaw' to '$exec'."
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user