1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2025-07-01 20:59:26 +00:00

Compare commits

...

6 Commits

Author SHA1 Message Date
5e6adf89b9 make tmux module have optional attach behavior
This commit reverts the tmux module back to the original behavior but
doesn't set `destroy-unattached` to on `on` globally and provides an
option for attaching to the background or last-used session.
2014-04-19 01:24:45 -04:00
bf9dbfd5b9 Support $PYTHONUSERBASE per PEP 370
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-04-03 17:55:35 -04:00
ff0dfa424d Create a default tmux session only when none defined in tmux.conf
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-04-03 17:39:46 -04:00
fedad8e9cf Fix git-info added/deleted count formatting typo
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-03-07 15:52:39 -05:00
478653fab2 [Fix #543] Do not set tmux destroy-unattached
Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2014-03-07 15:48:49 -05:00
10cf701864 Simplify multiplexer auto-start tests 2014-02-26 17:19:19 -05:00
6 changed files with 46 additions and 31 deletions

View File

@ -348,13 +348,13 @@ function git-info {
# Format added. # Format added.
if (( added > 0 )); then if (( added > 0 )); then
zstyle -s ':prezto:module:git:info:added' format 'added_format' zstyle -s ':prezto:module:git:info:added' format 'added_format'
zformat -f added_formatted "$added_format" "a:$added_format" zformat -f added_formatted "$added_format" "a:$added"
fi fi
# Format deleted. # Format deleted.
if (( deleted > 0 )); then if (( deleted > 0 )); then
zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format' zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
zformat -f deleted_formatted "$deleted_format" "d:$deleted_format" zformat -f deleted_formatted "$deleted_format" "d:$deleted"
fi fi
# Format modified. # Format modified.

View File

@ -16,9 +16,12 @@ elif (( $+commands[pyenv] )); then
eval "$(pyenv init -)" eval "$(pyenv init -)"
# Prepend PEP 370 per user site packages directory, which defaults to # Prepend PEP 370 per user site packages directory, which defaults to
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH. # ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH. The
# path can be overridden using PYTHONUSERBASE.
else else
if [[ "$OSTYPE" == darwin* ]]; then if [[ -n "$PYTHONUSERBASE" ]]; then
path=($PYTHONUSERBASE/bin $path)
elif [[ "$OSTYPE" == darwin* ]]; then
path=($HOME/Library/Python/*/bin(N) $path) path=($HOME/Library/Python/*/bin(N) $path)
else else
# This is subject to change. # This is subject to change.

View File

@ -15,7 +15,7 @@ fi
# Auto Start # Auto Start
# #
if [[ -z "$STY" && ( -z "$INSIDE_EMACS" || -z "$EMACS" || -z "$VIM" ) ]] && ( \ if [[ -z "$STY" && -z "$EMACS" && -z "$VIM" ]] && ( \
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) || ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \ ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
); then ); then

View File

@ -20,12 +20,25 @@ following line to *zpreztorc*:
zstyle ':prezto:module:tmux:auto-start' remote 'yes' zstyle ':prezto:module:tmux:auto-start' remote 'yes'
In both cases, it will create a background session named _#Prezto_ and attach In both cases the tmux server will be started and a background session
every new shell to it. named _prezto_ will be created if a session doesn't already exist.
By default every shell shares a set of windows but has an independent
view. Detaching from one of these sessions removes the view but the
open windows persist. This is accomplished by setting the
`destroy-unattached` option to `on` for each session.
Some users prefer that all new shells share the same session so that
the view for each shell is in sync. This useful for advanced users
that create multiple sessions and want to manually navigate between
them. To accomplish this behavior set the `mode` option to `shared` in
*zpreztorc*,
zstyle ':prezto:module:tmux:auto-start' mode shared
You can customize the background session by creating a new session in
your `.tmux.conf` file.
To avoid keeping open sessions, this module sets `destroy-unattached off` on
the background session and `destroy-unattached on` on every other session
(global setting).
Aliases Aliases
------- -------
@ -41,7 +54,7 @@ connected** to be displayed, which can be fixed by installing
[reattach-to-user-namespace][3], available in [Homebrew][4], and adding the [reattach-to-user-namespace][3], available in [Homebrew][4], and adding the
following to *tmux.conf*: following to *tmux.conf*:
set-option -g default-command "reattach-to-user-namespace -l $SHELL -l" set-option -g default-command "reattach-to-user-namespace -l $SHELL -l"
Furthermore, tmux is known to cause **kernel panics** on Mac OS X. A discussion Furthermore, tmux is known to cause **kernel panics** on Mac OS X. A discussion
about this and Prezto has already been [opened][2]. about this and Prezto has already been [opened][2].
@ -54,6 +67,7 @@ Authors
- [Sorin Ionescu](https://github.com/sorin-ionescu) - [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Colin Hebert](https://github.com/ColinHebert) - [Colin Hebert](https://github.com/ColinHebert)
- [Georges Discry](https://github.com/gdiscry) - [Georges Discry](https://github.com/gdiscry)
- [Xavier Cambar](https://github.com/xcambar)
[1]: http://tmux.sourceforge.net [1]: http://tmux.sourceforge.net
[2]: https://github.com/sorin-ionescu/prezto/issues/62 [2]: https://github.com/sorin-ionescu/prezto/issues/62

View File

@ -5,6 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>
# Colin Hebert <hebert.colin@gmail.com> # Colin Hebert <hebert.colin@gmail.com>
# Georges Discry <georges@discry.be> # Georges Discry <georges@discry.be>
# Xavier Cambar <xcambar@gmail.com>
# #
# Return if requirements are not found. # Return if requirements are not found.
@ -16,31 +17,29 @@ fi
# Auto Start # Auto Start
# #
if [[ -z "$TMUX" && ( -z "$INSIDE_EMACS" || -z "$EMACS" || -z "$VIM" ) ]] && ( \ if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) || ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \ ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
); then ); then
tmux_session='prezto' tmux start-server
if ! tmux has-session -t "$tmux_session" 2> /dev/null; then # Create a 'prezto' session if no session has been defined in tmux.conf.
# Ensure that tmux server is started. if ! tmux has-session 2> /dev/null; then
tmux start-server tmux \
new-session -d -s prezto \; \
# Disable the destruction of unattached sessions globally. set-option -t prezto destroy-unattached off &> /dev/null
tmux set-option -g destroy-unattached off &> /dev/null else
tmux_session
# Create a new session.
tmux new-session -d -s "$tmux_session"
# Disable the destruction of the new, unattached session.
tmux set-option -t "$tmux_session" destroy-unattached off &> /dev/null
# Enable the destruction of unattached sessions globally to prevent
# an abundance of open, detached sessions.
tmux set-option -g destroy-unattached on &> /dev/null
fi fi
exec tmux new-session -t "$tmux_session" if zstyle -t ':prezto:module:tmux:auto-start' mode shared; then
# Attach to the 'prezto' session or to the last session used.
exec tmux attach
else
# Find a session to share windows with.
tmux_session=`tmux list-sessions -F '#S' | head -n 1`
exec tmux new-session -t "$tmux_session"\; set-option destroy-unattached on
fi
fi fi
# #

View File

@ -152,4 +152,3 @@ zstyle ':prezto:module:prompt' theme 'sorin'
# Auto start a session when Zsh is launched in a SSH connection. # Auto start a session when Zsh is launched in a SSH connection.
# zstyle ':prezto:module:tmux:auto-start' remote 'yes' # zstyle ':prezto:module:tmux:auto-start' remote 'yes'