# change the background color of the current Terminal window # for the osascript code see the comment by John Prevost at http://norman.walsh.name/2007/08/27/macProgress # cf. also http://nslog.com/2006/11/02/terminal_color_changing_via_applescript and # http://www.red-sweater.com/blog/220/random-color-terminal open -a 'DigitalColor Meter' function bgcol() { declare BGCOLOR="$1" /usr/bin/osascript <<__END__ tell application "Terminal" activate with timeout of 10 seconds do script tell (first window whose name contains " ") set background color to "${BGCOLOR}" end tell end timeout end tell __END__ return 0 } bgcol grey bgcol blue bgcol white bgcol red bgcol orange bgcol green bgcol black bgcol brown bgcol cyan bgcol purple bgcol magenta function bgcol2() { declare BGCOLOR="$1" /usr/bin/osascript <<__END__ set RGBbg to ${BGCOLOR} as RGB color tell application "Terminal" activate with timeout of 10 seconds do script tell (first window whose name contains " ") set background color to RGBbg end tell end timeout end tell __END__ return 0 } bgcol2 '{57212, 56949, 40762}' bgcol2 '{60000, 50000, 40000}' bgcol2 '{60000, 40000, 40000}' bgcol2 '{30810, 26728, 12934}' bgcol2 '{24829, 27580, 33169}' bgcol2 '{2570, 33924, 46774}' bgcol2 '{50719, 61018, 52220}' bgcol2 '{65123, 45636, 24237}' function bgcol3() { #declare r=$[$RANDOM + 30000] # $RANDOM generates a random integer between 0 and 32767 (cf. man bash) #declare g=$[$RANDOM + 25000] #declare b=$[$RANDOM + 15000] declare nums=$(ruby -e 'ar=[]; 3.times { ar << Kernel.rand(65535) }; puts ar.join(" ")') #declare nums=$(ruby -e 'ar=[]; n = 15_000; 3.times { ar << Kernel.rand(n) + n; n+=8000 }; puts ar.join(" ")') declare r=$(printf "%s" "$nums" | awk '{print $1}') declare g=$(printf "%s" "$nums" | awk '{print $2}') declare b=$(printf "%s" "$nums" | awk '{print $3}') printf "bgcol: ${r}, ${g}, ${b}\n" /usr/bin/osascript <<__END__ set RGBbg to {${r}, ${g}, ${b}} as RGB color tell application "Terminal" activate with timeout of 10 seconds do script tell (first window whose name contains " ") set background color to RGBbg end tell end timeout end tell __END__ return 0 } for (( i=0; i<=20; i++ )); do bgcol3; sleep 3; done # change the text color of the current Terminal window function fgcol() { declare FGCOLOR="$1" /usr/bin/osascript <<__END__ tell application "Terminal" activate with timeout of 10 seconds do script tell (first window whose name contains " ") set normal text color to "${FGCOLOR}" end tell end timeout end tell __END__ return 0 } fgcol grey fgcol blue fgcol white fgcol red fgcol orange fgcol green fgcol black fgcol brown fgcol cyan fgcol purple fgcol magenta function defaultcolors() { fgcol black bgcol white return 0 } defaultcolors function fgcol2() { #declare r=$[$RANDOM + 30000] #declare g=$[$RANDOM + 10000] #declare b=$[$RANDOM] declare nums=$(ruby -e 'ar=[]; 3.times { ar << Kernel.rand(65535) }; puts ar.join(" ")') declare r=$(printf "%s" "$nums" | awk '{print $1}') declare g=$(printf "%s" "$nums" | awk '{print $2}') declare b=$(printf "%s" "$nums" | awk '{print $3}') printf "fgcol: ${r}, ${g}, ${b}\n" /usr/bin/osascript <<__END__ set RGBfg to {${r}, ${g}, ${b}} as RGB color tell application "Terminal" activate with timeout of 10 seconds do script tell (first window whose name contains " ") set normal text color to RGBfg --set bold text color to RGBfg end tell end timeout end tell __END__ return 0 } for (( i=0; i<=20; i++ )); do fgcol2; sleep 3; done for (( i=0; i<=20; i++ )); do fgcol2; sleep 3; bgcol3; sleep 5; printf "\n"; done
Never been to CodeSnippets before?
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)
Testing Terminal RGB color combinations on Mac OS X (See related posts)
You need to create an account or log in to post comments to this site.
Related Posts
» Testing Terminal RGB color c... in shell osx mac bash unix applescript osascript window terminal color rgb combination
» Testing Terminal RGB color c... in shell osx mac bash unix applescript osascript window terminal color rgb combination
» Testing Terminal RGB color c... in shell osx mac bash unix applescript osascript window terminal color rgb combination
» Terminal window commands in shell osx mac bash unix osascript text window terminal color title bar escape sequence background
» Terminal window commands in shell osx mac bash unix code osascript text window terminal color title bar escape background ansi
» Automatically resize Termina... in shell osx mac bash unix window resize default terminal tput columns stty lines rows automatic
Snippets (source code soon to be available) developed by Peter Cooper and powered by Ruby On Rails