aboutsummaryrefslogtreecommitdiffstats
path: root/xinit.d/desktop-directories
blob: c5eaa92287eb61c2df96a392bf3a1c7fc6a4fd64 (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh

USER_STAMP=$HOME/.mdk-folders

if [ ! -e $USER_STAMP ]; then
   locale=C
   if [ ! -z "$LC_ALL" ]; then
        locale=$LC_ALL
   elif [ ! -z "$LC_CTYPE" ]; then
        locale=$LC_CTYPE
   elif [ ! -z "$LANG" ]; then
        locale=$LANG
   fi

   [ -d $HOME/.mdk-folders ] || mkdir -p $HOME/.mdk-folders

    for file in /usr/share/mdk/menu/*-mdk.desktop.template ; do
	    TARGET_DIR=`grep Name[$locale] $file | sed -e 's|.*=||g'`
	    if [ -z "$TARGET_DIR" ]; then
		locale=`echo $locale | sed -e 's/_.*//g' -e 's/@.*//g'`
	    	TARGET_DIR=`grep -F Name[$locale] $file | sed -e 's|.*=||g'`
	    fi

	    if [ -z "$TARGET_DIR" ]; then
	    	TARGET_DIR=`grep -F Name $file | sed -e 's|.*=||g'`
	    fi

	    if [ "$CHARSET" != "UTF-8" ]; then
		    TARGET_DIR=`echo $TARGET_DIR | iconv -f UTF-8 -t "$CHARSET"`
	    fi


	    DIRECTORY_PATH="$HOME/$TARGET_DIR"
	    [ -d "$DIRECTORY_PATH" ] || mkdir -p $DIRECTORY_PATH
	    echo -e [Desktop Entry]\\n`grep Icon= $file` > $DIRECTORY_PATH/.directory

	    FILE_PATH=$HOME/.mdk-folders/`basename $file .template`
	    SYMLINK=$HOME/.mdk-folders/`basename $file -mdk.desktop.template`

	    ln -f -s $DIRECTORY_PATH $SYMLINK
	    [ -f $FILE_PATH ] || cat $file | sed -e "s|\$HOME.*|$DIRECTORY_PATH|g" > $FILE_PATH
	    if [ "$file" != "/usr/share/mdk/menu/desktop-mdk.desktop.template" ]; then
  		    echo "file://$FILE_PATH" >> $HOME/.gtk-bookmarks
	    fi
    done
    touch $USER_STAMP
fi