42 lines
1.9 KiB
Diff
42 lines
1.9 KiB
Diff
|
From 190448845baaccf68154e7d03392c74cbe163505 Mon Sep 17 00:00:00 2001
|
||
|
From: Ken Neighbors <ken@nsds.com>
|
||
|
Date: Fri, 19 Sep 2014 09:29:49 -0700
|
||
|
Subject: [PATCH 19/22] xdg-settings: convert multi-group desktop file to XFCE
|
||
|
WebBrowser helper file
|
||
|
|
||
|
When generating an XFCE helper file for the default WebBrowser, the
|
||
|
XFCE keys cannot always simply be appended to the end of the file, but
|
||
|
must be placed in the first group under "[Desktop Entry]". (A desktop
|
||
|
file can contain additional group headers, such as
|
||
|
"X-Ayatana-Desktop-Shortcuts" groups.)
|
||
|
---
|
||
|
scripts/xdg-settings.in | 8 +++++---
|
||
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/scripts/xdg-settings.in b/scripts/xdg-settings.in
|
||
|
index eaed991..460ffc9 100644
|
||
|
--- a/scripts/xdg-settings.in
|
||
|
+++ b/scripts/xdg-settings.in
|
||
|
@@ -407,13 +407,15 @@ check_xfce_desktop_file()
|
||
|
# Found a file to convert.
|
||
|
target="${XDG_DATA_HOME:-$HOME/.local/share}/xfce4/helpers"
|
||
|
mkdir -p "$target"
|
||
|
- grep -v "^Type=" "$file" > "$target/$1"
|
||
|
- echo "Type=X-XFCE-Helper" >> "$target/$1"
|
||
|
+ # Copy file up to first "Exec=" line.
|
||
|
+ sed -e 's/^Type=.*/Type=X-XFCE-Helper/' -e '/^Exec[=[]/,$d' "$file" > "$target/$1"
|
||
|
echo "X-XFCE-Category=WebBrowser" >> "$target/$1"
|
||
|
# Change %F, %f, %U, and %u to "%s".
|
||
|
- command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | sed -e 's/%[FfUu]/"%s"/g'`"
|
||
|
+ command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | sed -e 's/%[FfUu]/"%s"/g' | head -1`"
|
||
|
echo "X-XFCE-Commands=`echo "$command" | first_word`" >> "$target/$1"
|
||
|
echo "X-XFCE-CommandsWithParameter=$command" >> "$target/$1"
|
||
|
+ # Copy rest of file (from first "Exec=" line to end-of-file).
|
||
|
+ sed -n -e 's/^Type=.*/Type=X-XFCE-Helper/' -e '/^Exec[=[]/,$p' "$file" >> "$target/$1"
|
||
|
return
|
||
|
fi
|
||
|
done
|
||
|
--
|
||
|
2.1.0
|
||
|
|