Managing OS X Terminal Windows Groups

I prefer OS X's stock Terminal app to iTerm 2 because it automatically reopens and restores previous terminal windows and tabs and keeps the scrollback for each tab (although bash history is lost per tab, reasonable since bash is a separate program from Terminal). iTerm2 used to be a much better Terminal but Terminal has gotten better and is more than usable now. iTerm2 does have some cool features like instant replay/rewind, better support for the mouse for vim. [Note: xterm is also available on stock Mac OS X.]

Besides restoring, you can save your windows and tabs as a 'Windows Group' in Terminal. To do this, go to the menu: Window -> Save Windows as Group. This saves internally.

Now, if you want to be a hacker, you can edit these settings manually, or save copies somewhere for later. The settings are saved in a plist and the location is: ~/Library/Preferences/com.apple.Terminal.plist

To edit a plist file, you can install Prefs Editor, a recommended free tool to view and modify OS X Plist files. Inside Prefs Editor you just search for com.apple.Terminal and you can tweak the plist settings and save them without accidently corrupting the file like you might in a normal text editor even though it's just xml.

If you want to manipulate the plist file in code, there are a few options. The 'plutil' command can convert a plist file to json for manipulation in most programming languages: plutil -convert json example.plist. There's also the plist-to-json package for Node.js.

You can save your Terminal window groups, tweak them in Prefs Editor, hack them via Node.js, and save revisions of them in git.

Managing OS X Terminal Windows Groups | TECH.SAIGONIST.COM

Error

×

Error message

  • Warning: Cannot modify header information - headers already sent by (output started at /home/tomo/web/tech.saigonist.com/drupal7/php/includes/common.inc:2776) in drupal_send_headers() (line 1486 of /home/tomo/web/tech.saigonist.com/drupal7/php/includes/bootstrap.inc).
  • Error: Class 'CToolsCssCache' not found in _cache_get_object() (line 32 of /home/tomo/web/tech.saigonist.com/drupal7/php/includes/cache.inc).
The website encountered an unexpected error. Please try again later.