diff --git a/CHANGELOG.md b/CHANGELOG.md
index b6f29f8..20bbd76 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,11 @@
# Changelog
### master
+
+### v2.0.0, 2014-10-03
- bugfix: prevent exiting tmux if 'reattach-to-user-namespace' is not installed
- remove all mouse-related options
+- introduce 'almost sensible' setting and options
### v1.1.0, 2014-08-30
- bugfix: determine the default shell from the $SHELL env var on OS X
diff --git a/README.md b/README.md
index 13672d9..9642052 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,9 @@ A set of tmux options that should be acceptable for everyone.
Inspired by [vim-sensible](https://github.com/tpope/vim-sensible).
-### Principles
+### Core principles
-- `tmux-sensible` options should be acceptable to **every** tmux user!
+- core `tmux-sensible` options should be acceptable to **every** tmux user!
If any option bothers you, please open an issue and it will probably be
updated (or removed).
- if you think a new option should be added, feel free to open a pull request.
@@ -14,13 +14,18 @@ Inspired by [vim-sensible](https://github.com/tpope/vim-sensible).
Your existing `.tmux.conf` settings are respected and they won't be changed.
That way you can use `tmux-sensible` if you have a few specific options.
+### Almost sensible principles
+
+- widely used settings that do not make it into the 'core'
+- explicitly enabled with `set -g @almost-sensible 'on'`
+
### Goals
- group standard tmux community options in one place
- remove clutter from your `.tmux.conf`
- educate new tmux users about basic options
-### Options
+### Core options
# utf8 is on
set -g utf8 on
@@ -48,7 +53,7 @@ Inspired by [vim-sensible](https://github.com/tpope/vim-sensible).
# vi keys, even for vim users
set -g status-keys emacs
-### Key bindings
+### Core key bindings
# easier and faster switching between next/prev window
bind C-p previous-window
@@ -70,6 +75,19 @@ allowing you to hold `Ctrl` and repeat `a + p`/`a + n` (if your prefix is
If prefix is `C-b`, above keys will be `C-b` and `b`.
If prefix is `C-z`, above keys will be `C-z` and `z`... you get the idea.
+### Almost sensible options
+
+Activate these by putting `set -g @almost-sensible 'on'` in `.tmux.conf`.
+
+ # C-a should be the Tmux default prefix, really
+ set -g prefix C-a
+ set -g mode-keys vi
+
+ # enable mouse features for terminals that support it
+ set -g mouse-resize-pane on
+ set -g mouse-select-pane on
+ set -g mouse-select-window on
+
### Installation with [Tmux Plugin Manager](https://github.com/tmux-plugins/tpm) (recommended)
Add plugin to the list of TPM plugins in `.tmux.conf`:
diff --git a/sensible.tmux b/sensible.tmux
index 1ff9944..de31d9c 100755
--- a/sensible.tmux
+++ b/sensible.tmux
@@ -2,6 +2,8 @@
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+ALMOST_SENSIBLE_OPTION="@almost-sensible"
+
is_osx() {
local platform=$(uname)
[ "$platform" == "Darwin" ]
@@ -57,6 +59,10 @@ key_binding_not_changed() {
fi
}
+almost_sensible_on() {
+ [ "$(tmux show-option -gvq "$ALMOST_SENSIBLE_OPTION")" == "on" ]
+}
+
main() {
# OPTIONS
@@ -100,6 +106,19 @@ main() {
# vi keys, even for vim users
tmux set-option -g status-keys emacs
+ # ALMOST SENSIBLE OPTIONS
+
+ if almost_sensible_on; then
+ # C-a should be the Tmux default prefix, really
+ tmux set-option -g prefix C-a
+ tmux set-option -g mode-keys vi
+
+ # enable mouse features for terminals that support it
+ tmux set-option -g mouse-resize-pane on
+ tmux set-option -g mouse-select-pane on
+ tmux set-option -g mouse-select-window on
+ fi
+
# DEFAULT KEY BINDINGS
local prefix="$(prefix)"