40 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
6a5bf32991 Bump version to 0.3.0 2012-06-27 21:47:12 +01:00
1f81e98e73 Add send_keys examples to window layout template 2012-06-27 21:40:59 +01:00
5989b1f516 Add send_keys layout helper 2012-06-27 21:39:54 +01:00
012526656e Remove send-keys -l support check as it is not needed
After some experimentation it turns out that if input to send-keys is
not a known key sequence like `C-m` or `C-l` for example, it it
automatically treated as literal input.

 Negating the need to use it and hence check if it's supported.
2012-06-27 21:29:29 +01:00
b2857b7df9 Merge pull request #4 from trobrock/no-l-flag
Support tmux versions that do not have the -l flag
2012-06-27 13:08:12 -07:00
Trae Robrock
8df639ae47 Merge branch 'no-l-flag' 2012-06-26 16:36:17 -07:00
Trae Robrock
75ae3ba142 Support tmux versions that do not have the -l flag 2012-06-26 16:35:23 -07:00
c862df2d82 Merge pull request #2 from greeneca/current_session_fix
fixed current session script
2012-06-04 11:52:19 -07:00
Charlie Greene
c06df475be fixed current session script 2012-06-04 14:25:02 -03:00
10104b7412 Update example window layout file with new helpers 2012-05-24 01:02:53 +01:00
3fa749dbf3 Update example in readme with new layout helpers 2012-05-24 00:58:48 +01:00
f8c0c8c749 Bump version to 0.2.1 2012-05-24 00:53:50 +01:00
147db787d5 Add completion to new-session and new-window commands
Complete names of existing sessions and windows for the `new` commands,
enabling easier creation of similarly named layouts.
2012-05-24 00:53:20 +01:00
25 changed files with 306 additions and 151 deletions

View File

@@ -33,9 +33,10 @@ looks like:
```bash
window_root "~/Desktop"
new_window "Example Window"
tmux split-window -t "$session:$window.0" -v -p 20 "watch -t date"
tmux split-window -t "$session:$window.1" -h -p 60
tmux select-pane -t "$session:$window.0"
split_v 20
run_cmd "watch -t date"
split_h 60
select_pane 0
```
You can then load that window layout into a new window in the
@@ -51,16 +52,31 @@ Which will yield a Tmux window looking like this:
## Installation
Clone the repo to your machine:
```bash
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
[[ -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
*__Note:__ This section needs expanding upon.*
@@ -116,8 +132,8 @@ in it.
### Custom Installaton Path
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
that same path.
path and set `$TMUXIFIER` to that path, additionally loading `init.sh` or
`init.tcsh` from that same path.
```bash
export TMUXIFIER="$HOME/.dotfiles/tmuxifier"
@@ -135,7 +151,7 @@ export TMUXIFIER_LAYOUT_PATH="$HOME/.tmux-layouts"
### 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`.
```bash
@@ -151,7 +167,7 @@ export TMUXIFIER_NO_COMPLETE=1
## Tmuxifier vs. Tmuxinator
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
files. The benefit is total control over Tmux, but the definition files are
@@ -184,7 +200,7 @@ But if that doesn't put you off, please enjoy Tmuxifier :)
(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
of this software and associated documentation files (the "Software"), to deal

View File

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

View File

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

View File

@@ -7,8 +7,9 @@ window_root "~/Desktop"
new_window "Example Window"
# Split window into panes.
tmux split-window -t "$session:$window.0" -v -p 20 "watch -t date"
tmux split-window -t "$session:$window.1" -h -p 60
split_v 20
run_cmd "watch -t date"
split_h 60
# Set active pane.
tmux select-pane -t "$session:$window.0"
select_pane 0

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 "$window" ]; then local winarg=(-n "$window"); fi
if [ -n "$window_root" ]; then cd "$window_root"; fi
tmux new-window -t "$session:" "${winarg[@]}" "${command[@]}"
__go_to_window_or_session_path
}
# Split current window/pane vertically.
@@ -30,6 +30,7 @@ new_window() {
split_v() {
if [ -n "$1" ]; then local percentage=(-p "$1"); fi
tmux split-window -t "$session:$window.$2" -v "${percentage[@]}"
__go_to_window_or_session_path
}
# Split current window/pane horizontally.
@@ -41,6 +42,7 @@ split_v() {
split_h() {
if [ -n "$1" ]; then local percentage=(-p "$1"); fi
tmux split-window -t "$session:$window.$2" -h "${percentage[@]}"
__go_to_window_or_session_path
}
# Select a specific window.
@@ -61,6 +63,16 @@ select_pane() {
tmux select-pane -t "$session:$window.$1"
}
# Send/paste keys to the currently active pane/window.
#
# Arguments:
# - $1: String to paste.
# - $2: (optional) Target pane ID to send input to.
#
send_keys() {
tmux send-keys -t "$session:$window.$2" "$1"
}
# Runs a shell command in the currently active pane/window.
#
# Arguments:
@@ -68,8 +80,8 @@ select_pane() {
# - $2: (optional) Target pane ID to run command in.
#
run_cmd() {
tmux send-keys -t "$session:$window.$2" -l "$1"
tmux send-keys -t "$session:$window.$2" "C-m"
send_keys "$1" "$2"
send_keys "C-m" "$2"
}
# Cusomize session root path. Default is `$HOME`.
@@ -170,12 +182,10 @@ initialize_session() {
fi
# In order to ensure only specified windows are created, we move the
# default window to position 99, and later remove it with the
# `finalize_session` function.
tmux move-window -s "$session:0" -t "$session:99"
# Ensure correct pane splitting.
__go_to_session
# default window to position 999, and later remove it with the
# `finalize_and_go_to_session` function.
local first_window_index=$(__get_first_window_index)
tmux move-window -s "$session:$first_window_index" -t "$session:999"
# Session created, return ok exit status.
return 0
@@ -195,7 +205,7 @@ initialize_session() {
# to it here.
#
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
__go_to_session
fi
@@ -217,6 +227,16 @@ __expand_path() {
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() {
if [ -z "$TMUX" ]; then
tmux -u attach-session -t "$session:"
@@ -224,3 +244,11 @@ __go_to_session() {
tmux -u switch-client -t "$session:"
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.
source "$TMUXIFIER/env.sh"
source "$TMUXIFIER/lib/env.sh"
# Setup default variables.
session_root="$HOME"

View File

@@ -2,6 +2,14 @@
set -e
[ -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
"session" | "ses" | "s" )
echo "load-session"
@@ -9,25 +17,25 @@ case "$1" in
"window" | "win" | "w" )
echo "load-window"
;;
"new-ses" | "ns" )
"new-ses" | "nses" | "ns" )
echo "new-session"
;;
"new-win" | "nw" )
"new-win" | "nwin" | "nw" )
echo "new-window"
;;
"edit-ses" | "es" )
"edit-ses" | "eses" | "es" )
echo "edit-session"
;;
"edit-win" | "ew" )
"edit-win" | "ewin" | "ew" )
echo "edit-window"
;;
"ls" )
"l" )
echo "list"
;;
"list-ses" | "lss" )
"list-ses" | "lses" | "ls" )
echo "list-sessions"
;;
"list-win" | "lsw" )
"list-win" | "lwin" | "lw" )
echo "list-windows"
;;
* )

View File

@@ -2,6 +2,15 @@
set -e
[ -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
{ for path in ${PATH//:/$'\n'}; do

View File

@@ -2,6 +2,14 @@
set -e
[ -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
if [ "$1" == "--complete" ]; then
tmuxifier-commands
@@ -9,16 +17,15 @@ if [ "$1" == "--complete" ]; then
fi
has-completions() {
grep -i "^# provide tmuxifier completions" "$1" >/dev/null
grep -i "^# Provide tmuxifier completions" "$1" >/dev/null
}
command="$1"
if [ -z "$command" ]; then
if [ -z "$1" ]; then
echo "$(tmuxifier-help completions)" >&2
exit 1
fi
! command_path="$(tmuxifier-resolve-command-path "$command")"
! command_path="$(tmuxifier-resolve-command-path "$1")"
if [ -n "$command_path" ] && has-completions "$command_path"; then
shift

View File

@@ -2,12 +2,18 @@
set -e
[ -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
for item in $(tmux list-sessions -F "#{?session_attached,1,0}:#S"); do
if [[ "$item" == "1:"* ]]; then
echo ${item/1:/}
exit 0
fi
for item in $(tmux list-pane -F "#{session_name}");do
echo $item
exit 0
done
fi

View File

@@ -2,6 +2,16 @@
set -e
[ -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
if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-sessions); do

View File

@@ -2,6 +2,16 @@
set -e
[ -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
if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-windows); do

View File

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

View File

@@ -2,10 +2,24 @@
set -e
[ -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 "Sessions:"
tmuxifier-list-sessions
for item in $(tmuxifier-list-sessions); do
echo " - $item"
done
echo ""
echo "Windows:"
tmuxifier-list-windows
for item in $(tmuxifier-list-windows); do
echo " - $item"
done
echo ""

View File

@@ -2,8 +2,18 @@
set -e
[ -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
file=${file/$TMUXIFIER_LAYOUT_PATH\//}
echo " ${file/.session.sh/}"
echo "${file/.session.sh/}"
done

View File

@@ -2,8 +2,18 @@
set -e
[ -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
file=${file/$TMUXIFIER_LAYOUT_PATH\//}
echo " ${file/.window.sh/}"
echo "${file/.window.sh/}"
done

View File

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

View File

@@ -2,6 +2,16 @@
set -e
[ -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
if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-windows); do
@@ -16,7 +26,7 @@ if [ -z "$1" ]; then
fi
# Load runtime functions.
source "$TMUXIFIER/runtime.sh"
source "$TMUXIFIER/lib/runtime.sh"
if [ ! -z $TMUX ]; then
session="$(tmuxifier-current-session)"

View File

@@ -2,6 +2,24 @@
set -e
[ -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
if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-sessions); do
echo "$item"
done
exit
fi
if [ -z "$1" ]; then
echo "$(tmuxifier-help new-session)" >&2
exit 1

View File

@@ -2,6 +2,24 @@
set -e
[ -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
if [ "$1" == "--complete" ]; then
for item in $(tmuxifier-list-windows); do
echo "$item"
done
exit
fi
if [ -z "$1" ]; then
echo "$(tmuxifier-help new-window)" >&2
exit 1

View File

@@ -2,6 +2,14 @@
set -e
[ -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
! command_path="$(command -v "tmuxifier-$1")"
if [ -z "$command_path" ]; then

View File

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

View File

@@ -14,5 +14,9 @@ new_window "{{WINDOW_NAME}}"
#run_cmd "top" # runs in active pane
#run_cmd "date" 1 # runs in pane 1
# Paste text
#send_keys "top" # paste into active pane
#send_keys "date" 1 # paste into active pane
# Set active pane.
#select_pane 0