4 Commits

Author SHA1 Message Date
b801aade99 Bump version to 0.12.0 2014-12-02 22:23:37 +00:00
a888efe6d0 Update __go_to_session layout helper test 2014-12-02 22:22:09 +00:00
4a4f62fcf2 Improve/fix help messages for a few commands 2014-12-01 21:03:26 +00:00
41da75ad39 Add support for iTerm2's Tmux integration
This should resolve #52.
2014-12-01 21:01:58 +00:00
7 changed files with 48 additions and 6 deletions

View File

@@ -202,6 +202,22 @@ any reason you need to disable it, just set `$TMUXIFIER_NO_COMPLETE`.
export TMUXIFIER_NO_COMPLETE=1
```
## Tips
### iTerm2 Integration
Tmuxifier supports iTerm2's [Tmux integration][]. It can be used in two ways:
- Passing `-CC` as a second argument to the `load-session` command. For
example:
tmuxifier load-session my-awesome-session -CC
- Setting the `TMUXIFIER_TMUX_ITERM_ATTACH` environment variable to `-CC`
before calling the `load-session` command.
[tmux integration]: https://code.google.com/p/iterm2/wiki/TmuxIntegration
## Inspiration
- Tmuxifier is largely inspired by [Tmuxinator][].

View File

@@ -323,7 +323,8 @@ __get_current_window_index() {
__go_to_session() {
if [ -z "$TMUX" ]; then
tmuxifier-tmux -u attach-session -t "$session:"
tmuxifier-tmux $TMUXIFIER_TMUX_ITERM_ATTACH -u \
attach-session -t "$session:"
else
tmuxifier-tmux -u switch-client -t "$session:"
fi

View File

@@ -7,12 +7,19 @@ source "$TMUXIFIER/lib/util.sh"
# Provide tmuxifier help
if calling-help "$@"; then
echo "usage: tmuxifier load-session <layout_name | file_path>
echo "usage: tmuxifier load-session <layout_name | file_path> [<iterm mode>]
Aliases: session, ses, s
Create a session using the session layout, unless the session already exists
in which case, we simply attach/switch to the existing one."
in which case, we simply attach/switch to the existing one.
Arguments:
<layout_name | file_path> - Name of a session layout stored in the layouts
directory, or path to a session layout file.
<iterm mode> - When given as \"-CC\" tmux will be called with
the -CC argument enabling iTerm2 integration.
More info: http://bit.ly/1yDbMlm"
exit
fi
@@ -30,5 +37,9 @@ fi
# Load runtime functions.
source "$TMUXIFIER/lib/runtime.sh"
if [ "$2" == "-CC" ]; then
export TMUXIFIER_TMUX_ITERM_ATTACH="-CC"
fi
# Load session file.
load_session "$1"

View File

@@ -11,7 +11,11 @@ if calling-help "$@"; then
Aliases: window, win, w
Create a new window using the specified window layout in the current session."
Create a new window using the specified window layout in the current session.
Arguments:
<layout_name | file_path> - Name of a window layout stored in the layouts
directory, or path to a window layout file."
exit
fi

View File

@@ -7,7 +7,7 @@ source "$TMUXIFIER/lib/util.sh"
# Provide tmuxifier help
if calling-help "$@"; then
echo "usage: tmuxifier tmux-version [target-version]
echo "usage: tmuxifier tmux-version [<target-version>]
Outputs current Tmux version. If given optional target-version it outputs one
of three possible characters indicating if the current Tmux version number is

View File

@@ -13,4 +13,4 @@ Outputs Tmuxifier version."
exit
fi
echo "0.11.6"
echo "0.12.0"

View File

@@ -16,6 +16,16 @@ assert_raises \
"stub_called_with tmuxifier-tmux -u attach-session -t \"${session}:\"" 0
restore tmuxifier-tmux
# When TMUXIFIER_TMUX_ITERM_ATTACH is set, pass it in as first argument(s) to
# tmuxifier-tmux
TMUXIFIER_TMUX_ITERM_ATTACH="-CC"
stub tmuxifier-tmux
__go_to_session
assert_raises \
"stub_called_with tmuxifier-tmux -CC -u attach-session -t \"${session}:\"" 0
restore tmuxifier-tmux
unset TMUXIFIER_TMUX_ITERM_ATTACH
# When TMUX is set, switch to $session.
TMUX="/tmp/tmux-501/default,1203,0"
stub tmuxifier-tmux