#!/bin/bash #################################################################### ## _ __ _ ______ ## ## | | /| / /__ ________ (_)__ ___ _/ / / / ## ## | |/ |/ / _ `/ __/ _ \/ / _ \/ _ `/_/_/_/ ## ## |__/|__/\_,_/_/ /_//_/_/_//_/\_, (_|_|_) ## ## /___/ ## ## ## ## This script is distributed in the hope that it will be useful, ## ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## ## ## #################################################################### ## ## Check OSX version ## if sw_vers -productVersion | grep -vq 10.4 ; then echo "Works only on Tiger (10.4)" exit -1 fi ## ## Create Storage for Desktops first time ## if [[ !( -d ~/Library/Desktops ) ]] ; then echo Creating ~/Library/Desktops mkdir ~/Library/Desktops mkdir ~/Library/Desktops/default echo default > ~/Library/Desktops/_current_ fi; ## ## Get current desktop name and path ## CURRENT=`cat ~/Library/Desktops/_current_` CURRDIR=~/Library/Desktops/$CURRENT ## ## If no source, list available ## ## If source, move current to storage and source to Desktop ## if [[ $1 == "" ]] ; then echo "Usage: desktop " echo "" echo "Desktops:" for fn in `ls ~/Library/Desktops` ; do if [[ ( -d ~/Library/Desktops/$fn ) ]] ; then if [[ $CURRENT == $fn ]] ; then echo " >>" $fn else echo " " $fn fi fi done else if [[ $1 == $CURRENT ]] ; then echo "Using" $1 "already" else mv ~/Desktop/* $CURRDIR 2> /dev/null if [[ !( -d ~/Library/Desktops/$1 ) ]] ; then mkdir ~/Library/Desktops/$1 else mv ~/Library/Desktops/$1/* ~/Desktop 2> /dev/null fi echo $1 > ~/Library/Desktops/_current_ fi fi