Configure iTerm 2 panes on OSX.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
README.md
panes.png
panes.py

README.md

panes

Updated 2017-12-02: This is a refactoring of the original program to make it work properly with modern Applescript in iTerm2.

Updated 08/16/2015: panes is in very slow maintenance mode now. If you're looking to layout tools for iTerm, give a try to iTermocil, a very new cool project.

Configure iTerm 2 panes on OSX (more information here).

usage: panes.py [-h] [-c] [config]

positional arguments:
  config        name of the iTerm 2 config in ~/.panesrc directory (config=django will use ~/.panesrc/django.conf)

optional arguments:
  -h, --help    show this help message and exit

panes.py is a Python 2.7+ script to configure an iTerm 2 window. panes.py reads a configuration file inside ~/.panesrc directory and creates a new iTerm 2 window. Configuration file can be organized ` à la ` Apache: if you want to open the config named django, panes.py will look for ~/.panesrc/django.conf.

Based on the configuration file, panes.py creates additional horizontal or vertical split panes inside this window and can launch additional commands at the startup of the shell pane.

The configuration file uses a MySQL-like configuration file. Each configuration is described in its own file inside the ~/.panesrc directory.

For instance, a default config file is:

[Pane 1]

# cmds can be multi-line and commented.
# For each shell command, prefer single quote instead of double quote (will be corrected soon) :/
cmds = 
	echo 'pane 1'
	ls -ltr
	
split = vertical

[Pane 2]

cmds = 
	echo 'pane 2'
	ls -ltr
	
split = horizontal

[Pane 3]

cmds = 
	echo 'pane 3'
	ls -ltr
	
split = horizontal


To launch this config, simply type panes.py default or panes.py. This will create a new iTerm 2 window with three panes labeled 'Pane 1', 'Pane 2' and 'Pane 3'. Each pane will launch an echo command followed by a ls -ltr command. For instance, you can use it to ssh to your server and output some logs in a pane.

iTerm 2 example

You can add another configuration by adding a new file inside ~/.panesrc, for instance prod.conf:

[Pane 1]

cmds = 
	ssh prod.example.com
	tail -f /var/log/example.log

And launch your prod environment like this: panes.py prod.

panes.py works by creating a temporary AppleScript script to pilot iTerm 2. This script is totally based on Luis Martin Gil iTerm 2 scripts that you can have at https://github.com/luismartingil/per.scripts/blob/master/iterm_launcher02.applescript. Kudos to Luis for mastering AppleScript which I have not the courage to do!

Contact

Feedback are welcomed at contact@manbolo.com.