blob: 38b5f4b2801e80fc5a9e84c4bc499dff4ced97c2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
From cf2a703b19d64f939890dcea79b3bd8d2a9a08fe Mon Sep 17 00:00:00 2001
From: Ongun Kanat <ongun.kanat@gmail.com>
Date: Fri, 12 Jul 2019 16:22:35 +0200
Subject: [PATCH] Fix xdg-mime for proper Plasma 5 support
This adds checks for Plasma 5 and runs kbuildsycoca5 after
updating mimeapps.list file. The path of the file is
detected via qtpaths utility.
---
scripts/xdg-mime.in | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/scripts/xdg-mime.in b/scripts/xdg-mime.in
index 0e567c7..1ac6a3d 100644
--- a/scripts/xdg-mime.in
+++ b/scripts/xdg-mime.in
@@ -133,7 +133,10 @@ make_default_kde()
# text/plain=gnome-gedit.desktop;gnu-emacs.desktop;
vendor="$1"
mimetype="$2"
- if [ x"$KDE_SESSION_VERSION" = x"4" ]; then
+ if [ x"$KDE_SESSION_VERSION" = x"5" ]; then
+ default_dir=$(qtpaths --writable-path ConfigLocation)
+ default_file="$default_dir/mimeapps.list"
+ elif [ x"$KDE_SESSION_VERSION" = x"4" ]; then
default_dir=`kde4-config --path xdgdata-apps 2> /dev/null | cut -d ':' -f 1`
default_file="$default_dir/mimeapps.list"
else
@@ -148,7 +151,7 @@ make_default_kde()
DEBUG 1 "Updating $default_file"
mkdir -p "$default_dir"
[ -f "$default_file" ] || touch "$default_file"
- if [ x"$KDE_SESSION_VERSION" = x"4" ]; then
+ if [ x"$KDE_SESSION_VERSION" = x"4" ] || [ x"$KDE_SESSION_VERSION" = x"5" ]; then
[ -f "$default_file" ] || touch "$default_file"
awk -v application="$vendor" -v mimetype="$mimetype" '
BEGIN {
@@ -207,7 +210,7 @@ make_default_kde()
}
}
' "$default_file" > "${default_file}.new" && mv "${default_file}.new" "$default_file"
- eval 'kbuildsycoca4'$xdg_redirect_output
+ eval 'kbuildsycoca${KDE_SESSION_VERSION}'$xdg_redirect_output
else
awk -v application="$vendor" -v mimetype="$mimetype" '
BEGIN {
@@ -576,6 +579,11 @@ if [ "$action" = "makedefault" ]; then
make_default_kde "$filename" "$mimetype"
make_default_generic "$filename" "$mimetype"
+ detectDE
+
+ if [ x"$DE" = x"kde" ]; then
+ eval 'kbuildsycoca${KDE_SESSION_VERSION}'$xdg_redirect_output
+ fi
done
exit_success
fi
--
2.21.0
|