aboutsummaryrefslogtreecommitdiff
path: root/.local/share/bin/set-default
blob: d93f65cd46f2c37e45ff27cc9f889a108db4b9e0 (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
29
30
31
32
#!/bin/sh
SCRIPT_NAME="$(basename "$0")"

usage() {
	code=0
	if [ -z "$1" ] ; then
	cat << EOF
Set desktop entry ENTRY as default application for opening files with the same
type as FILE

EOF
	else
		echo "error: $1" >&2
		code=1
	fi
	cat << EOF
usage:
	$SCRIPT_NAME ENTRY FILE [FILE]
EOF
	exit $code
}

[ $# -eq 0 ] && usage
DESKTOP_ENTRY="$1"; shift
[ -z "$DESKTOP_ENTRY" ] && usage "no desktop entry"
[ $# -lt 1 ] && usage "no reference file(s)"

for file in "$@" ; do
	mimetype="$(xdg-mime query filetype "$file")"
	xdg-mime default "$DESKTOP_ENTRY" "$mimetype"
done