#!/bin/sh # (c) 2001, 2002 - MandrakeSoft, David BAUDENS <baudens@mandrakesoft.com> # Copyright under GPL version 2 # Basic script for KDE Desktop configuration #rm -fr $HOME/Desktop #mkdir $HOME/Desktop # TODO: define removablemedia using translations #removablemedia="Removable media" #mkdir -p "$HOME/Desktop/$removablemedia" #cp -f $HOME/removable-media-directory "$HOME/Desktop/$removablemedia/.directory" if [ ! -d $HOME/Desktop ]; then mkdir -p $HOME/Desktop fi if [ ! -e $HOME/Desktop/.directory ]; then cp -f /usr/share/mdk/kde/directory-desktop $HOME/Desktop/.directory fi # Removable media if [ ! -e ~/Desktop/.md5sumetcfstab ] || [ $(md5sum -c ~/Desktop/.md5sumetcfstab | awk '{print $2}') != OK ]; then # CD-ROM for i in $(grep cdrom /etc/fstab | grep -v ^# | awk '{print $1 $2 $3 $4}'); do if [ $(echo $i | grep supermount) ] ; then supermount=1 dev=$(echo $i | awk -F, '{print $2}' | sed -e 's/dev=//') i=$(echo $i | sed -e 's/supermount.*//') else supermount=0 i=$(echo $i | sed -e 's/adfs.*//;s/affs.*//;s/auto.*//;s/coherent.*//;s/cramfs.*//;s/efs.*//;s/ext.*//;s/ext2.*//;s/ext3.*//;s/hfs.*//;s/hpfs.*//;s/iso9660.*//;s/jfs.*//;s/minix.*//;s/msdos.*//;s/ncpfs.*//;s/ntfs.*//;s/qnx4.*//;s/reiserfs.*//;s/romfs.*//;s/sysv.*//;s/tmpfs.*//;s/udf.*//;s/ufs.*//;s/umsdos.*//;s/vfat.*//;s/xenix.*//;s/xfs.*//;s/xiafs.*//') dev=$(echo $i | sed -e 's/\/mnt.*//') fi template="/usr/share/templates/.source/CDROM-Device.desktop" mountpoint=$(echo $i | sed -e 's/.*\/mnt/\/mnt/') name=$(echo $i | sed -e 's/.*cdrom/cd-rom/' | tr '[a-z]' '[A-Z]') # output="$HOME/Desktop/$removablemedia/$name" output="$HOME/Desktop/$name" if [ $supermount = 0 ] && [ ! -e $HOME/Desktop/.$name ]; then perl -pi -e "s|MountPoint=|MountPoint=$mountpoint|;s|Dev=|Dev=$dev|" < $template > $output touch $HOME/Desktop/.$name elif [ $supermount = 1 ] && [ ! -e $HOME/Desktop/.$name ]; then perl -pi -e "s|^[F;M;R;T;U].*\n||;s|Dev=\n|Dev=$dev\nType=Link\nURL=$mountpoint\n|" < $template > $output touch $HOME/Desktop/.$name fi done # Floppy for i in $(grep floppy /etc/fstab | grep -v ^# | awk '{print $1 $2 $3 $4}'); do if [ $(echo $i | grep supermount) ] ; then supermount=1 dev=$(echo $i | awk -F, '{print $2}' | sed -e 's/dev=//') i=$(echo $i | sed -e 's/supermount.*//') else supermount=0 i=$(echo $i | sed -e 's/adfs.*//;s/affs.*//;s/auto.*//;s/coherent.*//;s/cramfs.*//;s/efs.*//;s/ext.*//;s/ext2.*//;s/ext3.*//;s/hfs.*//;s/hpfs.*//;s/iso9660.*//;s/jfs.*//;s/minix.*//;s/msdos.*//;s/ncpfs.*//;s/ntfs.*//;s/qnx4.*//;s/reiserfs.*//;s/romfs.*//;s/sysv.*//;s/tmpfs.*//;s/udf.*//;s/ufs.*//;s/umsdos.*//;s/vfat.*//;s/xenix.*//;s/xfs.*//;s/xiafs.*//') dev=$(echo $i | sed -e 's/\/mnt.*//') fi template="/usr/share/templates/.source/Floppy.desktop" mountpoint=$(echo $i | sed -e 's/.*\/mnt/\/mnt/') name=$(echo $i | sed -e 's/.*floppy/Floppy/') # output="$HOME/Desktop/$removablemedia/$name" output="$HOME/Desktop/$name" if [ $supermount = 0 ] && [ ! -e $HOME/Desktop/.$name ]; then perl -pi -e "s|MountPoint=|MountPoint=$mountpoint|;s|Dev=|Dev=$dev|" < $template > $output touch $HOME/Desktop/.$name elif [ $supermount = 1 ] && [ ! -e $HOME/Desktop/.$name ]; then perl -pi -e "s|^[F;M;R;T;U].*\n||;s|Dev=\n|Type=Link\nURL=$mountpoint\n|" < $template > $output touch $HOME/Desktop/.$name fi done # Zip for i in $(grep zip /etc/fstab | grep -v ^# | awk '{print $1 $2 $3 $4}'); do if [ $(echo $i | grep supermount) ] ; then supermount=1 template="/usr/share/mdk/kde/Zip.desktop" dev=$(echo $i | awk -F, '{print $2}' | sed -e 's/dev=//') i=$(echo $i | sed -e 's/supermount.*//') else supermount=0 template="/usr/share/mdk/kde/Zip2.desktop" i=$(echo $i | sed -e 's/adfs.*//;s/affs.*//;s/auto.*//;s/coherent.*//;s/cramfs.*//;s/efs.*//;s/ext.*//;s/ext2.*//;s/ext3.*//;s/hfs.*//;s/hpfs.*//;s/iso9660.*//;s/jfs.*//;s/minix.*//;s/msdos.*//;s/ncpfs.*//;s/ntfs.*//;s/qnx4.*//;s/reiserfs.*//;s/romfs.*//;s/sysv.*//;s/tmpfs.*//;s/udf.*//;s/ufs.*//;s/umsdos.*//;s/vfat.*//;s/xenix.*//;s/xfs.*//;s/xiafs.*//') dev=$(echo $i | sed -e 's/\/mnt.*//') fi mountpoint=$(echo $i | sed -e 's/.*\/mnt/\/mnt/') name=$(echo $i | sed -e 's/.*zip/Zip/') # output="$HOME/Desktop/$removablemedia/$name" output="$HOME/Desktop/$name" if [ $supermount = 0 ] && [ ! -e $HOME/Desktop/.$name ]; then perl -pi -e "s|MountPoint=.*|MountPoint=$mountpoint|;s|Dev=.*|Dev=$dev|" < $template > $output touch $HOME/Desktop/.$name elif [ $supermount = 1 ] && [ ! -e $HOME/Desktop/.$name ]; then #perl -pi -e "s|^[F;M;R;T;U].*\n||;s|Dev=\n|Type=Link\nURL=$mountpoint\n|" < $template > $output perl -pi -e "s|^URL=.*|URL=$mountpoint|" < $template > $output touch $HOME/Desktop/.$name fi done fi if [ ! -e $HOME/Desktop/.md5sumetcfstab ]; then md5sum /etc/fstab > $HOME/Desktop/.md5sumetcfstab fi # CDCOM if [ ! -e $HOME/Desktop/.cdcom ] && [ -r /usr/share/mdk/cdcom/index.html ]; then cp -f /usr/share/mdk/cdcom/cdcom-kde.desktop $HOME/Desktop/cdcom.desktop touch $HOME/Desktop/.cdcom fi # Control Center if [ ! -e $HOME/Desktop/.ccenter ] && [ -x /usr/X11R6/bin/DrakConf ]; then cp -f /usr/share/mdk/kde/Mandrake\ Control\ Center.desktop $HOME/Desktop/ touch $HOME/Desktop/.ccenter fi # Home directory if [ ! -e $HOME/Desktop/.home ]; then cp -f /usr/share/apps/kdesktop/DesktopLinks/Home.desktop $HOME/Desktop/ touch $HOME/Desktop/.home fi # TODO: Use a more explicit name # Internet icon if [ ! -e $HOME/Desktop/.internet ] && [ -x /usr/sbin/draknet ]; then cp -f /usr/share/mdk/kde/Connection-to-Internet.desktop $HOME/Desktop/internet.desktop touch $HOME/Desktop/.internet fi # TODO: Rename as 'Mandrake documentation' # Mandrake Documentation langg=$(cat /etc/sysconfig/i18n | grep ^LANG= | sed -e 's/LANG=//;s/de.*/de/;s/en.*/en/;s/es.*/es/;s/fr.*/fr/;s/it/it/') if [ ! -e $HOME/Desktop/.doc ]; then if [ $langg = de ] && [ -r /usr/share/doc/mandrake/de/index.html ]; then cp -f /usr/share/mdk/kde/Documentation-de.desktop $HOME/Desktop/Mandrake\ Documentation.desktop touch $HOME/Desktop/.doc elif [ $langg = es ] && [ -r /usr/share/doc/mandrake/es/index.html ]; then cp -f /usr/share/mdk/kde/Documentation-es.desktop $HOME/Desktop/Mandrake\ Documentation.desktop touch $HOME/Desktop/.doc elif [ $langg = fr ] && [ -r /usr/share/doc/mandrake/fr/index.html ]; then cp -f /usr/share/mdk/kde/Documentation-fr.desktop $HOME/Desktop/Mandrake\ Documentation.desktop touch $HOME/Desktop/.doc elif [ $langg = it ] && [ -r /usr/share/doc/mandrake/it/index.html ] ; then cp -f /usr/share/mdk/kde/Documentation-it.desktop $HOME/Desktop/Mandrake\ Documentation.desktop touch $HOME/Desktop/.doc elif [ $langg = en ] || [ -z $langg ] && [ -r /usr/share/doc/mandrake/en/index.html ] ; then cp -f /usr/share/mdk/kde/Documentation.desktop $HOME/Desktop/Mandrake\ Documentation.desktop touch $HOME/Desktop/.doc elif [ -r /usr/share/doc/mandrake/en/index.html ] ; then cp -f /usr/share/mdk/kde/Documentation.desktop $HOME/Desktop/Mandrake\ Documentation.desktop touch $HOME/Desktop/.doc fi fi # Mandrake Expert if [ ! -e $HOME/Desktop/.mdkexpert ]; then cp -f /usr/share/mdk/kde/Mandrake\ Expert.desktop $HOME/Desktop/ touch $HOME/Desktop/.mdkexpert fi # Mandrake Online if [ ! -e ~/Desktop/.mdkonline ] && [ -e /usr/share/applnk-mdk/Configuration/Other/Mandrake\ Online.desktop ]; then cp /usr/share/applnk-mdk/Configuration/Other/Mandrake\ Online.desktop ~/Desktop/ touch ~/Desktop/.mdkonline fi # Mandrake Store if [ ! -e $HOME/Desktop/.mdkstore ]; then cp -f /usr/share/mdk/kde/Mandrake\ Store.desktop $HOME/Desktop/ touch $HOME/Desktop/.mdkstore fi # Trash #cp /usr/share/apps/kdesktop/directory.trash $HOME/Desktop/ # TODO: Use a more explicit name # Xkill if [ ! -e $HOME/Desktop/.xkill ]; then cp -f /usr/share/mdk/kde/XKill.desktop $HOME/Desktop/ touch $HOME/Desktop/.xkill fi #sleep 2s /usr/bin/ArrangeIcons