#!/bin/ksh ## ## arrangeIcons ## # flg=0 if [ $# -gt 0 ] then iconsz=$1 flg=1 else if [ -s ~/.xtdesktop/iconsz ] then iconsz=`cat ~/.xtdesktop/iconsz` else iconsz=64 fi fi echo $iconsz >~/.xtdesktop/iconsz if [ "`ps -fu $USER | grep -i rox | grep Top`" ] then Top=`grep panel_width ~/Choices/ROX-Filer/Options | cut -d'>' -f2 | cut -d'<' -f1` else Top=0 fi Top=`expr $Top + 10` start=`expr ${iconsz#-} / 8 + $Top` if [ "$RESOLUTION" ] then set - `echo $RESOLUTION | tr 'x' ' '` rows=$2 cols=$1 else rows=600 cols=800 fi rows=`expr $rows - ${iconsz#-}` if [ $iconsz -gt 0 ] then column=`expr $cols - $iconsz` else column=`expr ${iconsz#-} / 4` fi cd ~/.xtdesktop mkdir icons 2>/dev/null if [ -r ~/.xtdesktop/iconmap ] then mv ~/.xtdesktop/iconmap ~/.xtdesktop/iconmap.old else echo >~/.xtdesktop/iconmap.old fi isz=`expr ${iconsz#-} - 32` for fle in `/bin/ls *.lnk` do rm -f /tmp/xtdesk.$$ cat $fle | while read lne do set - '' shift set - $lne case "$1" in Icon:) set - `echo $lne` shift 1 afle=`basename $@` bfle=`grep $afle ~/.xtdesktop/iconmap.old | head -1 | cut -d: -f1` if [ ! "$bfle" ] then bfle=$@ fi printf "%s:$HOME/.xtdesktop/icons/%s\n" "$bfle" "$afle" >>~/.xtdesktop/iconmap if [ $flg -eq 1 ] then convert $bfle -resize ${isz}x${isz} ~/.xtdesktop/icons/$afle & fi printf "Icon: $HOME/.xtdesktop/icons/%s\n" "$afle" >>/tmp/xtdesk.$$ ;; X:) if [ -x $fle ] then printf "%s\n" "$lne" >>/tmp/xtdesk.$$ else printf "X: %d\n" $column >>/tmp/xtdesk.$$ fi ;; Y:) if [ -x $fle ] then printf "%s\n" "$lne" >>/tmp/xtdesk.$$ else printf "Y: %d\n" $start >>/tmp/xtdesk.$$ fi ;; *) printf "%s\n" "$lne" >>/tmp/xtdesk.$$ esac done touch -r $fle /tmp/xtdesk.$$ cp /tmp/xtdesk.$$ $fle rm -f /tmp/xtdesk.$$ if [ ! -x $fle ] then start=`expr $start + ${iconsz#-}` if [ $start -ge $rows ] then start=`expr ${iconsz#-} / 8 + $Top` column=`expr $column - $iconsz` fi fi done rm -f ~/.xtdesktop/iconmap.old kill `cat ~/.xtdesktop/xtdesk.pid`