2009-03-20 00:28:02 +11:00
|
|
|
# From http://codesnippets.joyent.com/posts/show/1516
|
|
|
|
|
|
|
|
# Minimise terminal window to Dock
|
|
|
|
function mintw() { printf "\e[2t"; return 0; }
|
|
|
|
|
|
|
|
# Send Terminal window to background
|
|
|
|
function bgtw() { printf "\e[6t"; return 0; }
|
|
|
|
|
|
|
|
function hidetw() {
|
|
|
|
/usr/bin/osascript -e 'tell application "System Events" to set visible of some item of ( get processes whose name = "Terminal" ) to false'
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
# positive integer test (including zero)
|
|
|
|
function positive_int() { return $(test "$@" -eq "$@" > /dev/null 2>&1 && test "$@" -ge 0 > /dev/null 2>&1); }
|
|
|
|
|
|
|
|
# move the Terminal window
|
|
|
|
function mvtw() {
|
|
|
|
if [[ $# -eq 2 ]] && $(positive_int "$1") && $(positive_int "$2"); then
|
|
|
|
printf "\e[3;${1};${2};t"
|
|
|
|
return 0
|
|
|
|
fi
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# resize the Terminal window
|
|
|
|
function sizetw() {
|
|
|
|
if [[ $# -eq 2 ]] && $(positive_int "$1") && $(positive_int "$2"); then
|
|
|
|
printf "\e[8;${1};${2};t"
|
|
|
|
/usr/bin/clear
|
|
|
|
return 0
|
|
|
|
fi
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# full screen
|
|
|
|
function fullscreen() { printf "\e[3;0;0;t\e[8;0;0t"; /usr/bin/clear; return 0; }
|
|
|
|
|
|
|
|
# default screen
|
|
|
|
function defaultscreen() { printf "\e[8;35;150;t"; printf "\e[3;300;240;t"; /usr/bin/clear; return 0; }
|
|
|
|
|
|
|
|
# max columns
|
|
|
|
function maxc() { printf "\e[3;0;0;t\e[8;50;0t"; /usr/bin/clear; return 0; }
|
|
|
|
|
|
|
|
# max rows
|
|
|
|
function maxr() { printf "\e[3;0;0;t\e[8;0;100t"; /usr/bin/clear; return 0; }
|
|
|
|
|
|
|
|
# show number of lines & columns
|
|
|
|
function lc() { printf "lines: $(/usr/bin/tput lines)\ncolums: $(/usr/bin/tput cols)\n"; return 0; }
|
|
|
|
|
|
|
|
unset -v TITLE PROMPT_COMMAND
|
|
|
|
declare -x TITLE="Terminal"
|
|
|
|
declare -x PROMPT_COMMAND='printf "\e]0;${TITLE}\a"'
|
|
|
|
|
|
|
|
function title() { declare -x TITLE="$@"; }
|
|
|
|
|
|
|
|
# open a new Terminal window in same location as current directory
|
|
|
|
unset -f newin
|
|
|
|
function newin() {
|
|
|
|
/bin/pwd | /usr/bin/pbcopy
|
|
|
|
/usr/bin/open -a Terminal
|
|
|
|
/usr/bin/osascript -e 'tell application "Terminal" to do script with command "cd \"$(/usr/bin/pbpaste)\"; echo \" \" | /usr/bin/pbcopy; /usr/bin/clear"'
|
|
|
|
return 0
|
|
|
|
}
|