2
#---------------------------------------------
5
# Utility script to install desktop items on a Linux desktop.
7
# Refer to the usage() function below for usage.
9
# Copyright 2009-2010, Fathi Boudra <fabo@freedesktop.org>
10
# Copyright 2009-2010, Rex Dieter <rdieter@fedoraproject.org>
11
# Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at>
12
# Copyright 2006, Jeremy White <jwhite@codeweavers.com>
16
#---------------------------------------------
32
[ x"$1" != x"" ] || exit_failure_syntax
47
exit_failure_syntax "unknown command '$1'"
54
while [ $# -gt 0 ] ; do
64
exit_failure_syntax "unexpected option '$parm'"
68
if [ -n "$desktop_file" ] ; then
69
exit_failure_syntax "unexpected argument '$parm'"
71
if [ "$action" = "install" ] ; then
72
check_input_file "$parm"
80
if [ -z "$action" ] ; then
81
exit_failure_syntax "command argument missing"
84
if [ -z "$desktop_file" ] ; then
85
exit_failure_syntax "FILE argument missing"
89
case "$desktop_file" in
92
if [ "$vendor" = "true" -a "$action" = "install" ] ; then
93
check_vendor_prefix "$desktop_file"
102
desktop_dir="$HOME/Desktop"
103
if xdg-user-dir 2>/dev/null 1>&2; then
104
desktop_dir=`xdg-user-dir DESKTOP`
106
desktop_dir_kde=`kde${KDE_SESSION_VERSION}-config --userpath desktop 2> /dev/null`
107
if gconftool-2 -g /apps/nautilus/preferences/desktop_is_home_dir 2> /dev/null | grep true > /dev/null; then
108
desktop_dir_gnome="$HOME"
109
# Don't create $HOME/Desktop if it doesn't exist
110
[ -w "$desktop_dir" ] || desktop_dir=
112
if [ -n "$desktop_dir_kde" ]; then
113
if [ ! -d "$desktop_dir_kde" ]; then
116
mkdir -p "$desktop_dir_kde"
119
# Is the KDE desktop dir != $HOME/Desktop ?
120
if [ "x`readlink -f "$desktop_dir"`" != "x`readlink -f "$desktop_dir_kde"`" ]; then
121
# If so, don't create $HOME/Desktop if it doesn't exist
122
[ -w "$desktop_dir" ] || desktop_dir=
128
basefile=`basename "$desktop_file"`
130
DEBUG 1 "$action $desktop_file in $desktop_dir $desktop_dir_kde $desktop_dir_gnome"
137
for x in "$desktop_dir" "$desktop_dir_kde" "$desktop_dir_gnome" ; do
140
eval 'cp "$desktop_file" "$x/$basefile"'$xdg_redirect_output
141
chmod u+x "$x/$basefile"
149
for x in "$desktop_dir" "$desktop_dir_kde" "$desktop_dir_gnome" ; do