24 Commits

Author SHA1 Message Date
e08ee38927 Bump version to 0.11.2 2014-05-15 14:10:53 +01:00
8416e63094 Merge pull request #38 from fritzgrabo/source-missing-utility-functions
Source missing utility functions in tmuxifier-tmux
2014-05-15 14:06:13 +01:00
Fritz Grabo
fe1ac9d2f9 Source missing utility functions in tmuxifier-tmux 2014-05-15 14:22:34 +02:00
87c38ae818 Bump version to 0.11.1 2014-05-14 00:11:38 +01:00
3a74ff3a60 Minor tweaks and updates to a few help messages 2014-05-14 00:08:09 +01:00
7df4a33a7d Fix typo in readme 2014-05-13 23:56:43 +01:00
255fe78572 Bump version to 0.11.0 2014-05-13 23:47:35 +01:00
a5426d4e12 Add some comments, if for nothing else, then for educational purposes 2014-05-13 23:47:35 +01:00
5850c15d87 Check for minimum required Tmux version (fixed #37) 2014-05-13 23:47:34 +01:00
4ccf61f692 Merge pull request #36 from MrAlexLau/master
Correct typo in window template, fixes #35.
2014-05-03 08:09:01 +01:00
mralexlau
44c443efe4 Correct typo in window template, fixes #35. 2014-05-02 16:19:18 -05:00
72cfab20a0 Fix typo in fish examples 2014-02-28 11:14:42 +00:00
33f26bca56 Wrap long line 2014-02-27 23:41:11 +00:00
90caa0d362 Fix typo in code comment 2014-02-27 23:40:48 +00:00
0aa0e43949 Improve custom tmux arguments section
Don't ask why there was no header, cause it's beyond me >_<
2014-02-27 22:46:00 +00:00
2a09683851 Bump version to 0.10.0
The 0.9.2 bump should have been 0.10.0. Support for fish shell was
added, hence a minor version bump is needed, not a patch.
2014-02-27 22:36:40 +00:00
5b3f4d8488 Bump version to 0.9.2 2014-02-27 22:34:23 +00:00
36c702cb88 Improve TMUXIFIER_TMUX_OPTS section 2014-02-27 22:33:39 +00:00
50f84b1586 Improve Update section, slightly, just slightly :) 2014-02-27 22:33:05 +00:00
feed17581a Mention fish shell where sensible 2014-02-27 22:32:23 +00:00
91722a4895 Update copyright year 2014-02-27 22:31:55 +00:00
cd7ae2ebce Merge pull request #32 from trekdemo/fish_support
Full fish shell support
2014-02-27 22:23:47 +00:00
Gergő Sulymosi
a9479df7c1 Update README with fish related stuff 2014-02-27 23:03:09 +01:00
Gergő Sulymosi
84de3da9ac Initialization under fish 2014-02-27 23:02:54 +01:00
11 changed files with 97 additions and 20 deletions

View File

@@ -1,4 +1,4 @@
Copyright (c) 2013 Jim Myhrberg. Copyright (c) 2014 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

@@ -69,6 +69,12 @@ __In tcsh:__
set path = ( "~/.tmuxifier/bin" $path ) set path = ( "~/.tmuxifier/bin" $path )
``` ```
__In fish:__
```bash
set -gx PATH "~/.tmuxifier/bin" $PATH
```
### Custom Installation Path ### Custom Installation Path
To install Tmuxifier somewhere else than the suggested `~/.tmuxifier`, simply To install Tmuxifier somewhere else than the suggested `~/.tmuxifier`, simply
@@ -94,18 +100,37 @@ Add the following to your `~/.cshrc`, `~/.tcshrc` or equivalent:
eval `tmuxifier init -` eval `tmuxifier init -`
``` ```
If you need to pass custom arguments to tmux itself, you can do so by setting __In fish:__
the `TMUXIFIER_TMUX_OPTS` environment variable. For example:
And add the following to your `~/.config/fish/config.fish` or equivalent:
```bash
eval (tmuxifier init -)
```
### Custom Tmux Arguments
If you need to pass custom arguments to `tmux` itself, you can do so by
setting the `TMUXIFIER_TMUX_OPTS` environment variable. For example to set
custom arguments globally:
```bash ```bash
export TMUXIFIER_TMUX_OPTS="-L my-awesome-socket-name" export TMUXIFIER_TMUX_OPTS="-L my-awesome-socket-name"
eval "$(tmuxifier init -)" eval "$(tmuxifier init -)"
``` ```
And/or specify dynamically when calling `tmuxifier`:
```bash
TMUXIFIER_TMUX_OPTS="-L other-socket" tmuxifier load-session welcome
```
## Updating ## Updating
cd ~/.tmuxifier ```bash
git pull cd ~/.tmuxifier # or where you've cloned tmuxifier to
git pull
```
## Usage ## Usage
@@ -170,8 +195,8 @@ export TMUXIFIER_LAYOUT_PATH="$HOME/.tmux-layouts"
### Disable Shell-Completion ### Disable Shell-Completion
Tmuxifier comes with shell-completion for bash, zsh and tcsh. If for any Tmuxifier comes with shell-completion for bash, zsh, tcsh, and fish. If for
reason you need to disable it, just set `$TMUXIFIER_NO_COMPLETE`. any reason you need to disable it, just set `$TMUXIFIER_NO_COMPLETE`.
```bash ```bash
export TMUXIFIER_NO_COMPLETE=1 export TMUXIFIER_NO_COMPLETE=1
@@ -210,7 +235,7 @@ it does set itself apart in a number of ways:
(The MIT license) (The MIT license)
Copyright (c) 2013 Jim Myhrberg. Copyright (c) 2014 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

@@ -21,16 +21,28 @@ abs_dirname() {
} }
if [ -z "${TMUXIFIER}" ]; then if [ -z "${TMUXIFIER}" ]; then
# Set TMUXIFIER relative to the "tmuxifier" executable.
export TMUXIFIER="$(dirname "$(abs_dirname "$0")")" export TMUXIFIER="$(dirname "$(abs_dirname "$0")")"
else else
# Strip any trailing slash (/) characters from TMUXIFIER variable.
export TMUXIFIER="${TMUXIFIER%/}" export TMUXIFIER="${TMUXIFIER%/}"
fi fi
# Load tmuxifier environment variables. # Load tmuxifier environment variables.
source "$TMUXIFIER/lib/env.sh" source "$TMUXIFIER/lib/env.sh"
# Add tmuxifier's internal commands to PATH.
export PATH="$TMUXIFIER/libexec:$PATH" export PATH="$TMUXIFIER/libexec:$PATH"
# Check Tmux version.
export TMUXIFIER_MIN_TMUX_VERSION="1.6"
if [ "$(tmuxifier-tmux-version "$TMUXIFIER_MIN_TMUX_VERSION")" == "<" ]; then
echo -e "ERROR: Tmuxifier requires Tmux v${TMUXIFIER_MIN_TMUX_VERSION}" \
"or newer. You have v$(tmuxifier-tmux-version)." >&2
exit 1
fi
# Parse given command
command="$1" command="$1"
case "$command" in case "$command" in
"" | "-h" | "--help" ) "" | "-h" | "--help" )

17
init.fish Normal file
View File

@@ -0,0 +1,17 @@
# Set/fix Tmuxifier root path if needed.
if test -z $TMUXIFIER
set -gx TMUXIFIER "$HOME/.tmuxifier"
end
# Add `bin` directroy to `$PATH`.
if not contains "$TMUXIFIER/bin" $PATH
set -gx PATH "$TMUXIFIER/bin" $PATH
end
# If `tmuxifier` is available, and `$TMUXIFIER_NO_COMPLETE` is not set, then
# load Tmuxifier shell completion.
if test -n (which tmuxifier); and test -z $TMUXIFIER_NO_COMPLETE
source "$TMUXIFIER/completion/tmuxifier.fish"
end

View File

@@ -270,9 +270,9 @@ initialize_session() {
# Finalize session creation and then switch to it if needed. # Finalize session creation and then switch to it if needed.
# #
# When the session is created, it leaves a unused window in position #99, this # When the session is created, it leaves a unused window in position #999,
# is the default window which was created with the session, but it's also a # this is the default window which was created with the session, but it's also
# window that was not explicitly created. Hence we kill it. # a window that was not explicitly created. Hence we kill it.
# #
# If the session was created, we've already been switched to it. If it was not # If the session was created, we've already been switched to it. If it was not
# created, the session already exists, and we'll need to specifically switch # created, the session already exists, and we'll need to specifically switch
@@ -302,8 +302,9 @@ __expand_path() {
} }
__get_first_window_index() { __get_first_window_index() {
local index local index=$(tmuxifier-tmux list-windows -t "$session:" \
index=$(tmuxifier-tmux list-windows -t "$session:" -F "#{window_index}" 2>/dev/null) -F "#{window_index}" 2>/dev/null)
if [ -n "$index" ]; then if [ -n "$index" ]; then
echo "$index" | head -1 echo "$index" | head -1
else else

View File

@@ -35,7 +35,7 @@ Some useful tmuxifier commands are:
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.
edit-window ew Edit specified window layout with \$EDITOR. edit-window ew Edit specified window layout with \$EDITOR.
commands List all tmuxifier commands. commands List all tmuxifier commands (including internal).
version Print Tmuxifier version. version Print Tmuxifier version.
help Show this message. help Show this message.

View File

@@ -29,6 +29,9 @@ case "$shell" in
tcsh ) tcsh )
profile='~/.tcshrc' profile='~/.tcshrc'
;; ;;
fish )
profile='~/.config/fish/config.fish'
;;
* ) * )
profile='shell init file' profile='shell init file'
;; ;;
@@ -44,6 +47,10 @@ Load Tmuxifier by adding the following to your ${profile}:
case "$shell" in case "$shell" in
csh | tcsh ) csh | tcsh )
echo " eval \`tmuxifier init -\` echo " eval \`tmuxifier init -\`
"
;;
fish )
echo " eval (tmuxifier init -)
" "
;; ;;
* ) * )
@@ -67,6 +74,10 @@ case "$shell" in
echo "setenv TMUXIFIER \"$TMUXIFIER\";" echo "setenv TMUXIFIER \"$TMUXIFIER\";"
echo "source \"\$TMUXIFIER/init.tcsh\";" echo "source \"\$TMUXIFIER/init.tcsh\";"
;; ;;
fish )
echo "set -gx TMUXIFIER \"$TMUXIFIER\";"
echo "source \"\$TMUXIFIER/init.fish\";"
;;
* ) * )
echo "export TMUXIFIER=\"$TMUXIFIER\";" echo "export TMUXIFIER=\"$TMUXIFIER\";"
echo "source \"\$TMUXIFIER/init.sh\";" echo "source \"\$TMUXIFIER/init.sh\";"

View File

@@ -2,4 +2,16 @@
set -e set -e
[ -n "$TMUXIFIER_DEBUG" ] && set -x [ -n "$TMUXIFIER_DEBUG" ] && set -x
# Load internal utility functions.
source "$TMUXIFIER/lib/util.sh"
# Provide tmuxifier help
if calling-help "$@"; then
echo "usage: tmuxifier tmux [...]
Wrapper command for Tmux executable allowing Tmuxifier to pass in any custom
arguments specified in the TMUXIFIER_TMUX_OPTS environment variable."
exit
fi
tmux $TMUXIFIER_TMUX_OPTS "$@" tmux $TMUXIFIER_TMUX_OPTS "$@"

View File

@@ -9,10 +9,9 @@ source "$TMUXIFIER/lib/util.sh"
if calling-help "$@"; then 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 uses the Outputs current Tmux version. If given optional target-version it outputs one
compare-versions command to output one of three possible characters indicating of three possible characters indicating if the current Tmux version number is
if the current Tmux version is equal to, less, or higher version than the equal to, less than, or greater than the [target-version].
the [target-version].
The three possible outputs are \"=\", \"<\", and \">\"." The three possible outputs are \"=\", \"<\", and \">\"."
exit exit

View File

@@ -13,4 +13,4 @@ Outputs Tmuxifier version."
exit exit
fi fi
echo "0.9.1" echo "0.11.2"

View File

@@ -16,7 +16,7 @@ new_window "{{WINDOW_NAME}}"
# Paste text # Paste text
#send_keys "top" # paste into active pane #send_keys "top" # paste into active pane
#send_keys "date" 1 # paste into active pane #send_keys "date" 1 # paste into pane 1
# Set active pane. # Set active pane.
#select_pane 0 #select_pane 0