forked from pool/desktop-file-utils
Compare commits
4 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
b14bd97ad4 | ||
94708c25ba | |||
|
23d1ef2318 | ||
3deb99bf60 |
BIN
desktop-file-utils-0.27.tar.xz
(Stored with Git LFS)
BIN
desktop-file-utils-0.27.tar.xz
(Stored with Git LFS)
Binary file not shown.
3
desktop-file-utils-0.28.tar.xz
Normal file
3
desktop-file-utils-0.28.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4401d4e231d842c2de8242395a74a395ca468cd96f5f610d822df33594898a70
|
||||
size 81620
|
@ -1,3 +1,26 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 27 09:11:30 UTC 2024 - Guido Berhoerster <guido+opensuse@berhoerster.name>
|
||||
|
||||
- suse-update-mime-defaults:
|
||||
* support drop in files in $r/etc/<desktop>_defaults.conf.d which take
|
||||
priority over the distribution provided $r/etc/<desktop>_defaults.conf
|
||||
* extend syntax of <desktop>_defaults.conf, prefixing a directive with a "-"
|
||||
removes an otherwise identical earlier directive
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 7 21:22:16 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com>
|
||||
|
||||
- Update to version 0.28:
|
||||
* common
|
||||
+ Increase GLib requirement to 2.26 (Corentin Noël).
|
||||
+ Fix install failing on second run (Raziel Anarki).
|
||||
+ Fix use of deprecated Meson feature resulting in a warning (Raziel
|
||||
Anarki).
|
||||
* desktop-file-validate
|
||||
+ Allow groups with the same name as interfaces in Implements (Corentin
|
||||
Noël).
|
||||
+ Add support for the COSMIC environment (Ryan Brue).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 17 14:56:08 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
Name: desktop-file-utils
|
||||
Version: 0.27
|
||||
Version: 0.28
|
||||
Release: 0
|
||||
Summary: Utilities for Manipulating Desktop Files
|
||||
License: GPL-2.0-or-later
|
||||
|
@ -110,6 +110,43 @@ function _qsorti(dest, l, u, val, i, j) {
|
||||
_qsorti(dest, j + 1, u)
|
||||
}
|
||||
|
||||
# read a desktop-specifig configuration file
|
||||
function read_conf_file(filename, lineno, arr) {
|
||||
lineno = 0
|
||||
while ((getline < filename) > 0) {
|
||||
lineno++
|
||||
if (NF == 0 || $1 ~ /^#/) {
|
||||
# skip comments and empty lines
|
||||
continue
|
||||
} else if (NF != 1) {
|
||||
err(1, "syntax error in " filename " line " lineno)
|
||||
} else if (split($1, arr, /=/) == 2) {
|
||||
if ($1 ~ /-/) {
|
||||
# handle removal of previously set MIME type defaults
|
||||
delete mimetype_default_apps[substr(arr[1], 2)]
|
||||
} else {
|
||||
# handle MIME type defaults
|
||||
mimetype_default_apps[arr[1]] = arr[2]
|
||||
}
|
||||
} else if ($1 ~ /^-!.+\.desktop$/) {
|
||||
# handle removal of previously set preferred default applications
|
||||
delete preferred_default_apps[substr($1, 3)]
|
||||
} else if ($1 ~ /^!.+\.desktop$/) {
|
||||
# handle preferred default applications
|
||||
preferred_default_apps[substr($1, 2)] = substr($1, 2)
|
||||
} else if ($1 ~ /^-.+\.desktop$/) {
|
||||
# handle removal previously set regular default applications
|
||||
delete default_apps[substr($1, 2)]
|
||||
} else if ($1 ~ /^.+\.desktop$/) {
|
||||
# handle regular default applications
|
||||
default_apps[$1] = $1
|
||||
} else {
|
||||
err(1, "syntax error in " filename ", line " lineno)
|
||||
}
|
||||
}
|
||||
close(filename)
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
desktop = desktop != "" ? desktop : "gnome"
|
||||
if (desktop == "gnome") {
|
||||
@ -130,28 +167,14 @@ BEGIN {
|
||||
defaults_conf = root "/etc/" desktop "_defaults.conf"
|
||||
|
||||
# parse desktop defaults preferences
|
||||
lineno = 0
|
||||
while ((getline < defaults_conf) > 0) {
|
||||
lineno++
|
||||
if (NF == 0 || $1 ~ /^#/) {
|
||||
# skip comments and empty lines
|
||||
continue
|
||||
} else if (NF != 1) {
|
||||
err(1, "syntax error in " defaults_conf " line " lineno)
|
||||
} else if (split($1, arr, /=/) == 2) {
|
||||
# handle MIME type defaults
|
||||
mimetype_default_apps[arr[1]] = arr[2]
|
||||
} else if ($1 ~ /^!.+\.desktop$/) {
|
||||
# handle preferred default applications
|
||||
preferred_default_apps[substr($1, 2)] = substr($1, 2)
|
||||
} else if ($1 ~ /^.+\.desktop$/) {
|
||||
# handle regular default applications
|
||||
default_apps[$1] = $1
|
||||
} else {
|
||||
err(1, "syntax error in " defaults_conf ", line " lineno)
|
||||
read_conf_file(defaults_conf)
|
||||
|
||||
# find and parse desktop defaults override files
|
||||
cmd = "test -d " defaults_conf ".d/ && find " defaults_conf ".d/ -type f ! -name \"*[![:alnum:]._-]*\" | sort"
|
||||
while ((cmd | getline defaults_override) > 0) {
|
||||
read_conf_file(defaults_override)
|
||||
}
|
||||
}
|
||||
close(defaults_conf)
|
||||
close(cmd)
|
||||
|
||||
# find all desktop files
|
||||
for (i = split("XDG_DATA_DIRS" in ENVIRON ? ENVIRON["XDG_DATA_DIRS"] : \
|
||||
|
Loading…
x
Reference in New Issue
Block a user