Shell trick for the perpetually distracted

May 12th, 2014

Manager time is the schedule that sub-divides your day into 15 minute blocks. It’s the internal clock in your head that knows when you’ve reached the end of a 30 minute meeting without checking the clock. It’s a trained form of ADHD, and it’s the opposite of maker time.

One of the things I find I need in manager time is a quick way to regain my context. I’m way behind on adopting a proper getting things done framework, but it wouldn’t help with this one thing I wanted to post about today anyway.

I keep two copies of most of the Etsy code base locally. The one I use constantly, which is for quick reference when a technical question comes up, and the one I use almost never which is where my various half hearted attempts to compress a quick hack into a 15 minute block live.

git gives me the tools to make it very painful when I get confused about which directory I’m in.

So in prep for hoping to finish up a quick hack during hack week (didn’t happen) I shaved a small attention starved yak. Namely changing the color of my terminal when I’m in workspace, which is the hacking directory. It’s a parallel to prompt hacks I’ve had for years that change based on host, but it uses osascript (command line AppleScript) for simplicity in scripting

set_bg () {
  osascript -e "tell application \"Terminal\" to set current settings of window 1 to settings set \"$1\""

function cd {
  builtin cd "$@"
  if [[ "$pwd/" =~ /workspace/ ]] ; then
    set_bg "Red Sands"
  elif [[ "$old_wd/" =~ /workspace/ ]] ; then
    set_bg "Basic"

Override cd, if we entering workspace, use the profile “Red Sands”, if we’re leaving workspace switch basic to “Basic”.


One Response to “Shell trick for the perpetually distracted”

  1. Rod says:

    Nice. I’ve got a similar (dumber) approach to color coding based on box my Terminal is ssh’d into:

Leave a Reply