28 Commits

Author SHA1 Message Date
7d91ca4292 Bump version to 0.6.0 2013-06-02 20:35:30 +03:00
15bbca80d4 Update aliases and fixed inconsistencies with list command aliases 2013-06-02 20:35:06 +03:00
bd585ca2bb Misc. code cleanup and minor improvement to help command 2013-06-02 20:27:28 +03:00
bf6969ba37 Bump version to 0.5.1 2013-06-02 20:11:36 +03:00
bdea895af0 Change output format of list commands 2013-06-02 20:10:26 +03:00
55cf26b9e6 Re-organize and improve help command and help info for each command 2013-06-02 20:09:59 +03:00
5363ac555b Re-organize internal files a bit 2013-06-02 18:45:12 +03:00
489d1a5a3e Small readme update 2013-06-02 18:40:27 +03:00
fa28de8b94 Bump version to 0.5.0 2013-06-02 18:30:53 +03:00
0e2cfa2327 Enable load-session command from outside of Tmux
This means that "init" session layouts can now be used to start and/or
re-attach to your main session.

Personally I have a "main" session layout with a couple of default
windows. I can now either start that session, or re-attach to it from
outside of Tmux by just running `tmuxifier s main`, instead of manually
creating a session named "main" and then loading my windows into it.
2013-06-02 18:30:28 +03:00
04c9309668 Bump version to 0.4.1 2013-01-27 02:17:52 +00:00
455d8660f4 Merge pull request #12 from stephenmckinney/fix-list-for-symlinks
Fixes `list` for symlinks
2013-01-26 18:15:37 -08:00
Steve McKinney
00e5c98da0 Fixes list for symlinks 2013-01-26 12:13:47 -05:00
7106a81066 Bump version to 0.4.0 2012-09-06 23:04:20 +01:00
68ee1b8660 Remove capitalization from shell names in headers 2012-09-06 23:01:57 +01:00
11103822c2 Fix tcsh instructions 2012-09-06 23:01:12 +01:00
f460d78f48 Update readme with tcsh installation instructions 2012-09-06 22:57:13 +01:00
2da8fc9d7b Remove hard-coded path to tmuxifier binary from tcsh completion script 2012-09-06 22:51:58 +01:00
e493745b6e Keep indentation consistent 2012-09-06 22:50:18 +01:00
d5d87d3ab2 Fix issue #7
Instead of assuming that the default created window in a new session has
a index of `0`, we now check window index for the session with Tmux's
list-windows command.

Additionally, the default window is now moved to index `999` instead of
`99`, cause I'm paranoid and probably stupid :)
2012-09-06 22:11:51 +01:00
d367b5ecd6 Merge pull request #8 from peter-d/tcsh-support
added setup script and completion script for tcsh
2012-09-06 00:35:59 -07:00
peter-d
3f171997df added setup script and completion script for tcsh 2012-09-05 22:36:52 +02:00
307c959b65 Bump version to 0.3.1 2012-07-04 20:01:04 +01:00
b79125f55d Rename function to match existing naming convention 2012-07-04 19:56:00 +01:00
ddc11cc192 Merge pull request #6 from trobrock/work-with-rvm
When specifying a windows default path, rvm no longer works
2012-07-04 11:51:36 -07:00
Trae Robrock
5c2659c8e7 Use cd to set the working dir of a split or window so that rvm works 2012-06-27 17:46:12 -07:00
Trae Robrock
54a4f565c6 Merge branch 'master' of https://github.com/jimeh/tmuxifier 2012-06-27 14:03:49 -07:00
Trae Robrock
8df639ae47 Merge branch 'no-l-flag' 2012-06-26 16:36:17 -07:00
23 changed files with 263 additions and 138 deletions

View File

@@ -52,16 +52,31 @@ Which will yield a Tmux window looking like this:
## Installation ## Installation
Clone the repo to your machine:
```bash ```bash
git clone https://github.com/jimeh/tmuxifier.git ~/.tmuxifier git clone https://github.com/jimeh/tmuxifier.git ~/.tmuxifier
``` ```
And add the following to your `~/.profile`, `~/.bash_profile` or equivalent: ### bash & zsh
And add the following to your `~/.profile`, `~/.bash_profile`, `~/.zshrc` or
equivalent:
```bash ```bash
[[ -s "$HOME/.tmuxifier/init.sh" ]] && source "$HOME/.tmuxifier/init.sh" [[ -s "$HOME/.tmuxifier/init.sh" ]] && source "$HOME/.tmuxifier/init.sh"
``` ```
### tcsh
Add the following to your `~/.cshrc`, `~/.tcshrc` or equivalent:
```tcsh
if ( -s "$HOME/.tmuxifier/init.sh" ) then
source "$HOME/.tmuxifier/init.sh"
endif
```
## Usage ## Usage
*__Note:__ This section needs expanding upon.* *__Note:__ This section needs expanding upon.*
@@ -117,8 +132,8 @@ in it.
### Custom Installaton Path ### Custom Installaton Path
To install Tmuxifier to a custom path, clone the repository to your desired To install Tmuxifier to a custom path, clone the repository to your desired
path and set `$TMUXIFIER` to that path, additionally loading `init.sh` from path and set `$TMUXIFIER` to that path, additionally loading `init.sh` or
that same path. `init.tcsh` from that same path.
```bash ```bash
export TMUXIFIER="$HOME/.dotfiles/tmuxifier" export TMUXIFIER="$HOME/.dotfiles/tmuxifier"
@@ -136,7 +151,7 @@ export TMUXIFIER_LAYOUT_PATH="$HOME/.tmux-layouts"
### Disable Shell-Completion ### Disable Shell-Completion
Tmuxifier comes with shell-completion for bash and zsh. If for any Tmuxifier comes with shell-completion for bash, zsh and tcsh. If for any
reason you need to disable it, just set `$TMUXIFIER_NO_COMPLETE`. reason you need to disable it, just set `$TMUXIFIER_NO_COMPLETE`.
```bash ```bash
@@ -152,7 +167,7 @@ export TMUXIFIER_NO_COMPLETE=1
## Tmuxifier vs. Tmuxinator ## Tmuxifier vs. Tmuxinator
Though Tmuxifier is largely inspired by the excellent [Tmuxinator][] project, Though Tmuxifier is largely inspired by the excellent [Tmuxinator][] project,
but does set itself apart in a number of ways: it does set itself apart in a number of ways:
- Uses shell scripts to define Tmux sessions and windows instead of YAML - Uses shell scripts to define Tmux sessions and windows instead of YAML
files. The benefit is total control over Tmux, but the definition files are files. The benefit is total control over Tmux, but the definition files are
@@ -185,7 +200,7 @@ But if that doesn't put you off, please enjoy Tmuxifier :)
(The MIT license) (The MIT license)
Copyright (c) 2012 Jim Myhrberg. Copyright (c) 2013 Jim Myhrberg.
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@@ -9,7 +9,7 @@ else
fi fi
# Load tmuxifier environment variables. # Load tmuxifier environment variables.
source "$TMUXIFIER/env.sh" source "$TMUXIFIER/lib/env.sh"
export PATH="$TMUXIFIER/libexec:$PATH" export PATH="$TMUXIFIER/libexec:$PATH"

View File

@@ -0,0 +1,2 @@
complete tmuxifier 'p@1@`tmuxifier commands`@' \
'p@2@`tmuxifier completions $:-1`@'

13
init.tcsh Normal file
View File

@@ -0,0 +1,13 @@
# Set tmuxifier root path.
if ( ! $?TMUXIFIER ) then
setenv TMUXIFIER "${HOME}/.tmuxifier"
endif
# Add `bin` directroy to `$PATH`.
set path = ( $TMUXIFIER/bin $path )
# If `tmuxifier` is available, and `$TMUXIFIER_NO_COMPLETE` is not set, then
# load tmuxifier shell completion.
if ( ! $?TMUXIFIER_NO_COMPLETE ) then
which tmuxifier > /dev/null && source "$TMUXIFIER/completion/tmuxifier.tcsh"
endif

View File

View File

@@ -17,8 +17,8 @@ new_window() {
if [ -n "$2" ]; then local command=("$2"); fi if [ -n "$2" ]; then local command=("$2"); fi
if [ -n "$window" ]; then local winarg=(-n "$window"); fi if [ -n "$window" ]; then local winarg=(-n "$window"); fi
if [ -n "$window_root" ]; then cd "$window_root"; fi
tmux new-window -t "$session:" "${winarg[@]}" "${command[@]}" tmux new-window -t "$session:" "${winarg[@]}" "${command[@]}"
__go_to_window_or_session_path
} }
# Split current window/pane vertically. # Split current window/pane vertically.
@@ -30,6 +30,7 @@ new_window() {
split_v() { split_v() {
if [ -n "$1" ]; then local percentage=(-p "$1"); fi if [ -n "$1" ]; then local percentage=(-p "$1"); fi
tmux split-window -t "$session:$window.$2" -v "${percentage[@]}" tmux split-window -t "$session:$window.$2" -v "${percentage[@]}"
__go_to_window_or_session_path
} }
# Split current window/pane horizontally. # Split current window/pane horizontally.
@@ -41,6 +42,7 @@ split_v() {
split_h() { split_h() {
if [ -n "$1" ]; then local percentage=(-p "$1"); fi if [ -n "$1" ]; then local percentage=(-p "$1"); fi
tmux split-window -t "$session:$window.$2" -h "${percentage[@]}" tmux split-window -t "$session:$window.$2" -h "${percentage[@]}"
__go_to_window_or_session_path
} }
# Select a specific window. # Select a specific window.
@@ -180,12 +182,10 @@ initialize_session() {
fi fi
# In order to ensure only specified windows are created, we move the # In order to ensure only specified windows are created, we move the
# default window to position 99, and later remove it with the # default window to position 999, and later remove it with the
# `finalize_session` function. # `finalize_and_go_to_session` function.
tmux move-window -s "$session:0" -t "$session:99" local first_window_index=$(__get_first_window_index)
tmux move-window -s "$session:$first_window_index" -t "$session:999"
# Ensure correct pane splitting.
__go_to_session
# Session created, return ok exit status. # Session created, return ok exit status.
return 0 return 0
@@ -205,7 +205,7 @@ initialize_session() {
# to it here. # to it here.
# #
finalize_and_go_to_session() { finalize_and_go_to_session() {
! tmux kill-window -t "$session:99" 2>/dev/null ! tmux kill-window -t "$session:999" 2>/dev/null
if [[ "$(tmuxifier-current-session)" != "$session" ]]; then if [[ "$(tmuxifier-current-session)" != "$session" ]]; then
__go_to_session __go_to_session
fi fi
@@ -227,6 +227,16 @@ __expand_path() {
echo $(eval echo "$@") echo $(eval echo "$@")
} }
__get_first_window_index() {
local index
index=$(tmux list-windows -t "$session:" -F "#{window_index}" 2>/dev/null)
if [ -n "$index" ]; then
echo "$index" | head -1
else
echo "0"
fi
}
__go_to_session() { __go_to_session() {
if [ -z "$TMUX" ]; then if [ -z "$TMUX" ]; then
tmux -u attach-session -t "$session:" tmux -u attach-session -t "$session:"
@@ -234,3 +244,11 @@ __go_to_session() {
tmux -u switch-client -t "$session:" tmux -u switch-client -t "$session:"
fi fi
} }
__go_to_window_or_session_path() {
local window_or_session_root=${window_root-$session_root}
if [ -n "$window_or_session_root" ]; then
run_cmd "cd \"$window_or_session_root\""
send_keys "C-l"
fi
}

View File

@@ -3,7 +3,7 @@
# #
# Load tmuxifier environment. # Load tmuxifier environment.
source "$TMUXIFIER/env.sh" source "$TMUXIFIER/lib/env.sh"
# Setup default variables. # Setup default variables.
session_root="$HOME" session_root="$HOME"

View File

@@ -2,6 +2,14 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier alias <alias>
Resolve a command alias to it's full name."
exit
fi
case "$1" in case "$1" in
"session" | "ses" | "s" ) "session" | "ses" | "s" )
echo "load-session" echo "load-session"
@@ -9,25 +17,25 @@ case "$1" in
"window" | "win" | "w" ) "window" | "win" | "w" )
echo "load-window" echo "load-window"
;; ;;
"new-ses" | "ns" ) "new-ses" | "nses" | "ns" )
echo "new-session" echo "new-session"
;; ;;
"new-win" | "nw" ) "new-win" | "nwin" | "nw" )
echo "new-window" echo "new-window"
;; ;;
"edit-ses" | "es" ) "edit-ses" | "eses" | "es" )
echo "edit-session" echo "edit-session"
;; ;;
"edit-win" | "ew" ) "edit-win" | "ewin" | "ew" )
echo "edit-window" echo "edit-window"
;; ;;
"ls" ) "l" )
echo "list" echo "list"
;; ;;
"list-ses" | "lss" ) "list-ses" | "lses" | "ls" )
echo "list-sessions" echo "list-sessions"
;; ;;
"list-win" | "lsw" ) "list-win" | "lwin" | "lw" )
echo "list-windows" echo "list-windows"
;; ;;
* ) * )

View File

@@ -2,6 +2,15 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier commands
List all available commands, includes internal commands not intended for
normal use by users."
exit
fi
shopt -s nullglob shopt -s nullglob
{ for path in ${PATH//:/$'\n'}; do { for path in ${PATH//:/$'\n'}; do

View File

@@ -2,6 +2,14 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier completion <command>
Print a list of available completions for specified command."
exit
fi
# Provide tmuxifier completions # Provide tmuxifier completions
if [ "$1" == "--complete" ]; then if [ "$1" == "--complete" ]; then
tmuxifier-commands tmuxifier-commands
@@ -9,16 +17,15 @@ if [ "$1" == "--complete" ]; then
fi fi
has-completions() { has-completions() {
grep -i "^# provide tmuxifier completions" "$1" >/dev/null grep -i "^# Provide tmuxifier completions" "$1" >/dev/null
} }
command="$1" if [ -z "$1" ]; then
if [ -z "$command" ]; then
echo "$(tmuxifier-help completions)" >&2 echo "$(tmuxifier-help completions)" >&2
exit 1 exit 1
fi fi
! command_path="$(tmuxifier-resolve-command-path "$command")" ! command_path="$(tmuxifier-resolve-command-path "$1")"
if [ -n "$command_path" ] && has-completions "$command_path"; then if [ -n "$command_path" ] && has-completions "$command_path"; then
shift shift

View File

@@ -2,6 +2,14 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier current-session
Outputs the name of the current Tmux session."
exit
fi
if [ -n "$TMUX" ]; then if [ -n "$TMUX" ]; then
for item in $(tmux list-pane -F "#{session_name}");do for item in $(tmux list-pane -F "#{session_name}");do
echo $item echo $item

View File

@@ -2,6 +2,16 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier edit-session <layout_name>
Aliases: edit-ses, eses, es
Open specified session layout for editing in \$EDITOR."
exit
fi
# Provide tmuxifier completions # Provide tmuxifier completions
if [ "$1" == "--complete" ]; then if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-sessions); do for item in $(tmuxifier-list-sessions); do

View File

@@ -2,6 +2,16 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier edit-window <layout_name>
Aliases: edit-win, ewin, ew
Open specified window layout for editing in \$EDITOR."
exit
fi
# Provide tmuxifier completions # Provide tmuxifier completions
if [ "$1" == "--complete" ]; then if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-windows); do for item in $(tmuxifier-list-windows); do

View File

@@ -2,33 +2,33 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
tmuxifier-help
exit
fi
# Provide tmuxifier completions # Provide tmuxifier completions
if [ "$1" == "--complete" ]; then if [ "$1" == "--complete" ]; then
tmuxifier-commands tmuxifier-commands
exit exit
fi fi
has-help() {
grep -i "^# Provide tmuxifier help" "$1" >/dev/null
}
command="$1" command="$1"
if [ -z "$1" ]; then
# Ensure we have the correct command name in case an alias was given. echo "usage: tmuxifier <command> [<args>]
if [ -n "$command" ]; then
! resolved="$(tmuxifier-alias "$command")"
if [ -n "$resolved" ]; then
command="$resolved"
fi
fi
case "$command" in
"" )
echo "usage: tmuxifier <command> [<args>]
Some useful tmuxifier commands are: Some useful tmuxifier commands are:
<command> <alias> <command> <alias>
load-session s Load the specified session layout. load-session s Load the specified session layout.
load-window w Load the specified window layout into current session. load-window w Load the specified window layout into current session.
list ls List all session and window layouts. list l List all session and window layouts.
list-sessions lss List session layouts. list-sessions ls List session layouts.
list-windows lsw List window layouts. list-windows lw List window layouts.
new-session ns Create new session layout and open it with \$EDITOR. new-session ns Create new session layout and open it with \$EDITOR.
new-window nw Create new window layout and open it with \$EDITOR. new-window nw Create new window layout and open it with \$EDITOR.
edit-session es Edit specified session layout with \$EDITOR. edit-session es Edit specified session layout with \$EDITOR.
@@ -38,87 +38,25 @@ Some useful tmuxifier commands are:
help Show this message. help Show this message.
See 'tmuxifier help <command>' for information on a specific command." See 'tmuxifier help <command>' for information on a specific command."
;; exit
"load-session" ) fi
echo "usage: tmuxifier load-session <layout_name>
Aliases: session, ses, s ! command_path="$(tmuxifier-resolve-command-path "$1")"
Create a session using the session layout, unless the session already exists if [ -z "$command_path" ]; then
in which case, we simply switch to the existing one." echo "tmuxifier: no such command '$1'" >&2
;; exit 1
"load-window" ) fi
echo "usage: tmuxifier load-window <layout_name>
Aliases: window, win, w if has-help "$command_path"; then
shift
Create a new window using the specified window layout in the current session." exec "$command_path" --help "$@"
;; else
"new-session" ) command="$(basename "$command_path")"
echo "usage: tmuxifier new-session <layout_name> command="${command/tmuxifier\-/}"
echo "Sorry, the '$command' command isn't documented yet."
Aliases: new-ses, ns echo ""
echo "You can view the command's source here:"
Create a new session layout and open it for editing in \$EDITOR." echo "$command_path"
;; echo ""
"new-window" ) fi
echo "usage: tmuxifier new-window <layout_name>
Aliases: new-win, ws
Create a new window layout and open it for editing in \$EDITOR."
;;
"edit-session" )
echo "usage: tmuxifier edit-session <layout_name>
Aliases: edit-ses, es
Open specified session layout for editing in \$EDITOR."
;;
"edit-window" )
echo "usage: tmuxifier edit-window <layout_name>
Aliases: edit-win, ew
Open specified window layout for editing in \$EDITOR."
;;
"completions" )
echo "usage: tmuxifier completion <command>
Print a list of available completions for specified command."
;;
"list" )
echo "usage: tmuxifier list
Aliases: ls
List all available session and window layouts."
;;
"list-sessions" )
echo "usage: tmuxifier list-sessions
Aliases: list-ses, lss
List all session layouts."
;;
"list-windows" )
echo "usage: tmuxifier list-windows
Aliases: list-win, lsw
List all window layouts."
;;
* )
! command_path="$(tmuxifier-resolve-command-path "$command")"
if [ -n "$command_path" ]; then
echo "Sorry, the '$command' command isn't documented yet."
echo
echo "You can view the command's source here:"
echo "$command_path"
echo
else
echo "tmuxifier: no such command '$command'" >&2
exit 1
fi
;;
esac

View File

@@ -2,10 +2,24 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier list
Aliases: l
List all available session and window layouts."
exit
fi
echo "" echo ""
echo "Sessions:" echo "Sessions:"
tmuxifier-list-sessions for item in $(tmuxifier-list-sessions); do
echo " - $item"
done
echo "" echo ""
echo "Windows:" echo "Windows:"
tmuxifier-list-windows for item in $(tmuxifier-list-windows); do
echo " - $item"
done
echo "" echo ""

View File

@@ -2,8 +2,18 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
list=$(find "$TMUXIFIER_LAYOUT_PATH" -name "*.session.sh") # Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier list-sessions
Aliases: list-ses, lses, ls
List all session layouts."
exit
fi
list=$(find -L "$TMUXIFIER_LAYOUT_PATH" -name "*.session.sh")
for file in $list; do for file in $list; do
file=${file/$TMUXIFIER_LAYOUT_PATH\//} file=${file/$TMUXIFIER_LAYOUT_PATH\//}
echo " ${file/.session.sh/}" echo "${file/.session.sh/}"
done done

View File

@@ -2,8 +2,18 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
list=$(find "$TMUXIFIER_LAYOUT_PATH" -name "*.window.sh") # Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier list-windows
Aliases: list-win, lwin, lw
List all window layouts."
exit
fi
list=$(find -L "$TMUXIFIER_LAYOUT_PATH" -name "*.window.sh")
for file in $list; do for file in $list; do
file=${file/$TMUXIFIER_LAYOUT_PATH\//} file=${file/$TMUXIFIER_LAYOUT_PATH\//}
echo " ${file/.window.sh/}" echo "${file/.window.sh/}"
done done

View File

@@ -2,6 +2,17 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier load-session <layout_name>
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."
exit
fi
# Provide tmuxifier completions # Provide tmuxifier completions
if [ "$1" == "--complete" ]; then if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-sessions); do for item in $(tmuxifier-list-sessions); do
@@ -16,11 +27,7 @@ if [ -z "$1" ]; then
fi fi
# Load runtime functions. # Load runtime functions.
source "$TMUXIFIER/runtime.sh" source "$TMUXIFIER/lib/runtime.sh"
if [ ! -z $TMUX ]; then # Load session file.
load_session "$1" load_session "$1"
else
echo "tmuxifier: 'load-session' command can only be used from within Tmux."
exit 1
fi

View File

@@ -2,6 +2,16 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier load-window <layout_name>
Aliases: window, win, w
Create a new window using the specified window layout in the current session."
exit
fi
# Provide tmuxifier completions # Provide tmuxifier completions
if [ "$1" == "--complete" ]; then if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-windows); do for item in $(tmuxifier-list-windows); do
@@ -16,7 +26,7 @@ if [ -z "$1" ]; then
fi fi
# Load runtime functions. # Load runtime functions.
source "$TMUXIFIER/runtime.sh" source "$TMUXIFIER/lib/runtime.sh"
if [ ! -z $TMUX ]; then if [ ! -z $TMUX ]; then
session="$(tmuxifier-current-session)" session="$(tmuxifier-current-session)"

View File

@@ -2,6 +2,16 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier new-session <layout_name>
Aliases: new-ses, nses, ns
Create a new session layout and open it for editing in \$EDITOR."
exit
fi
# Provide tmuxifier completions # Provide tmuxifier completions
if [ "$1" == "--complete" ]; then if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-sessions); do for item in $(tmuxifier-list-sessions); do

View File

@@ -2,6 +2,16 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier new-window <layout_name>
Aliases: new-win, nwin, nw
Create a new window layout and open it for editing in \$EDITOR."
exit
fi
# Provide tmuxifier completions # Provide tmuxifier completions
if [ "$1" == "--complete" ]; then if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-windows); do for item in $(tmuxifier-list-windows); do

View File

@@ -2,6 +2,14 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier resolve-command-path <command_or_alias>
Outputs the absolute path to the given command or command alias."
exit
fi
if [ -n "$1" ]; then if [ -n "$1" ]; then
! command_path="$(command -v "tmuxifier-$1")" ! command_path="$(command -v "tmuxifier-$1")"
if [ -z "$command_path" ]; then if [ -z "$command_path" ]; then

View File

@@ -2,4 +2,12 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
echo "0.3.0" # Provide tmuxifier help
if [ "$1" == "--help" ]; then
echo "usage: tmuxifier version
Outputs Tmuxifier version."
exit
fi
echo "0.6.0"