summarylogtreecommitdiffstats
path: root/open.sh
blob: 4fd86b2ba991d45d109359ef58689aa7c6df1223 (plain)
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
#!/bin/bash

fakeDirBase="${XDG_DOCUMENTS_DIR}/xwechat_files"
realDirBase="${XDG_DATA_HOME}/WeChat_Data/Documents/xwechat_files"

#link=$(echo "$2" | sed "s|${fakeDirBase}|${reakDirBase}|g")
link=$(echo "$2" | awk -v oldPath="${fakeDirBase}" -v newPath=${reakDirBase} '{gsub(oldPath, newPath)} 1')

link="${realDirBase}${link}"

echo "[Info] received a request: $@, translated to ${link}"

if [ -f /usr/bin/dbus-send ]; then
	echo "[Info] Initiating D-Bus call..."
	dbus-send --print-reply --dest=org.freedesktop.FileManager1 \
		/org/freedesktop/FileManager1 \
		org.freedesktop.FileManager1.ShowItems \
		array:string:"file://${link}" \
		string:fake-dde-show-items
else
	if [ -f /usr/bin/dolphin ] && [ ${XDG_CURRENT_DESKTOP} = KDE ]; then
		/usr/bin/dolphin --select "${link}"
	elif [ -f /usr/bin/nautilus ] && [ ${XDG_CURRENT_DESKTOP} = GNOME ]; then
		/usr/bin/nautilus $(dirname "${link}")
	else
		xdg-open $(dirname "${link}")
	fi
fi