#!/bin/bash
#########################################################
# 							#
# This is BashStyle-NG 7.7				#
#							#
# Licensed under GNU GENERAL PUBLIC LICENSE v3    	#
#							#
# Copyright 2007 - 2009 Christopher Bratusek		#
#							#
#########################################################

white=${white}
orange=${orange}
green=${green}

case $1 in

	*help )

		echo -e "\n${white}Usage:\n"
		echo -e "${orange}truncpwd ${white}|${green} ! no options !\n"

	;;

	* )

		pwdmaxlen=$(gconftool-2 --get /apps/bashstyle/pwdmaxlen)
		trunc_symbol=$(gconftool-2 --get /apps/bashstyle/pwdchar)
		dirchar=$(gconftool-2 --get /apps/bashstyle/dirchar)

		newsepacolor=$(bs-ng-echo $sepacolor)
		newwdircolor=$(bs-ng-echo $wdircolor)
		newpscoloror=$(bs-ng-echo $pscolor)

		case $pstyle in

			separator | dirks | dot_prompt | sputnik )

				if [[ $enabcol == true ]]; then
					if [ ${#PWD} -gt $pwdmaxlen ]; then
						pwdoffset=$(( ${#PWD} - $pwdmaxlen ))
						xPWD="$newpscoloror${trunc_symbol}${PWD:$pwdoffset:$pwdmaxlen}"
						newPWD="${xPWD//\//$newsepacolor$dirchar$newwdircolor}"
					else
						newPWD="${PWD//\//$newsepacolor$dirchar$newwdircolor}"
					fi
				elif [[ $enabcol == false ]]; then
					if [ ${#PWD} -gt $pwdmaxlen ]; then
						pwdoffset=$(( ${#PWD} - $pwdmaxlen ))
						xPWD="${trunc_symbol}${PWD:$pwdoffset:$pwdmaxlen}"
						newPWD="${xPWD//\//$dirchar}"
					else
						newPWD="${PWD//\//$dirchar}"
					fi
				fi

			;;

			clock-ad )

				newPWD=$PWD

				if [[ "$fillsize" -lt "0" ]]; then
					cutt=3-${fillsize}
					newPWD="...$(echo -n $PWD | sed -e "s/\(^.\{$cutt\}\)\(.*\)/\2/")"
				fi

				if [[ $enabcol == true ]]; then
					newPWD="${newPWD//\//$newsepacolor$dirchar$newwdircolor}"
				elif [[ $enabcol == false ]]; then
					newPWD="${newPWD//\//$dirchar}"
				fi

			;;

			* )

				newPWD=$PWD

			;;

		esac

		echo -e $newPWD

	;;

esac
