Skip to content

Commit 2301452

Browse files
author
Bruno Sutic
committed
Bugfix: sidebar size for tmux 2.1 and above
1 parent f1053da commit 2301452

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
### master
44
- move customization options to a separate docs document
5+
- sidebar size bugfix for tmux 2.1 and above
56

67
### v0.8.0, Apr 05, 2015
78
- do not colorize `tree` output because a pager application might not handle it

scripts/helpers.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,17 @@ width_from_sidebar_file() {
8585
grep "^${pane_current_path}\t" $(sidebar_file) |
8686
cut -f2
8787
}
88+
89+
# function is used to get "clean" integer version number. Examples:
90+
# `tmux 1.9` => `19`
91+
# `1.9a` => `19`
92+
_get_digits_from_string() {
93+
local string="$1"
94+
local only_digits="$(echo "$string" | tr -dC '[:digit:]')"
95+
echo "$only_digits"
96+
}
97+
98+
tmux_version_int() {
99+
local tmux_version_string=$(tmux -V)
100+
echo "$(_get_digits_from_string "$tmux_version_string")"
101+
}

scripts/toggle.sh

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,18 @@ desired_sidebar_size() {
123123
fi
124124
}
125125

126+
# tmux version 2.0 and below requires different argument for `join-pane`
127+
use_inverted_size() {
128+
[ tmux_version_int -le 20 ]
129+
}
130+
126131
split_sidebar_left() {
127132
local sidebar_size=$(desired_sidebar_size)
128-
local inverted_size=$((PANE_WIDTH - $sidebar_size - 1))
133+
if use_inverted_size; then
134+
sidebar_size=$((PANE_WIDTH - $sidebar_size - 1))
135+
fi
129136
local sidebar_id="$(tmux new-window -c "$PANE_CURRENT_PATH" -P -F "#{pane_id}" "$COMMAND")"
130-
tmux join-pane -hb -l "$inverted_size" -t "$PANE_ID" -s "$sidebar_id"
137+
tmux join-pane -hb -l "$sidebar_size" -t "$PANE_ID" -s "$sidebar_id"
131138
echo "$sidebar_id"
132139
}
133140

0 commit comments

Comments
 (0)