Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
tmux.conf excerpt to toggle on/off session keybindings and prefix handling
bind -T root F12 \
set prefix None \;\
set key-table off \;\
set status-style "fg=$color_status_text,bg=$color_window_off_status_bg" \;\
set window-status-current-format "#[fg=$color_window_off_status_bg,bg=$color_window_off_status_current_bg]$separator_powerline_right#[default] #I:#W# #[fg=$color_window_off_status_current_bg,bg=$color_window_off_status_bg]$separator_powerline_right#[default]" \;\
set window-status-current-style "fg=$color_dark,bold,bg=$color_window_off_status_current_bg" \;\
if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\
refresh-client -S \;\
bind -T off F12 \
set -u prefix \;\
set -u key-table \;\
set -u status-style \;\
set -u window-status-current-style \;\
set -u window-status-current-format \;\
refresh-client -S
wg_is_keys_off="#[fg=$color_light,bg=$color_window_off_indicator]#([ $(tmux show-option -qv key-table) = 'off' ] && echo 'OFF')#[default]"
set -g status-right "$wg_is_keys_off #{sysstat_cpu} | #{sysstat_mem} | #{sysstat_loadavg} | $wg_user_host"
Copy link

As an FYI, if you're on Ubuntu 16.04 (possibly only the mate desktop?) a terminal emulator called tilda uses the F12 key and intercepts it before tmux can.

Copy link

I get a "bad style bg= fg=" message when I hit F12 using this. Im a tmux newbie.

Copy link

I get a "bad style bg= fg=" message when I hit F12 using this. Im a tmux newbie.

You have to define the variables used with something like this :
color_light="white" #colour015
color_dark="colour232" # black= colour232

Copy link

bs commented May 28, 2020

This is amazingly useful. Thank you!

Copy link

Thank you!
I've been using tmux locally and remotely for a long time but avoiding nesting by opening a special tmuxless terminal window for my remote sessions. All the while wishing there was an elegant solution to "tmuxing while I tmux". This solution is great! such a simple idea. Looking forward to trying it out.

Copy link

This is the one I have been looking for. Thanks for sharing!

Copy link

To display the user/host in the status bar, needs the following from the original config:

wg_user_host="#[fg=$color_secondary]#(whoami)#[default]@#H"<br class="Apple-interchange-newline">`

Copy link

Delt-A commented Oct 7, 2022

I have 4-time nested tmux session (Because of my work, I have to ssh 3 time to move between networks). So do you have any idea to switch between the first and the last tmux? Or better if we can easily control each of them. Sorry for my bad English.

Copy link

@Delt-A do you need to have a tmux session on every jump to your target network? couldn't you use something like to ssh directly into the target (using the others only as jumps) and then have one tmux session there?

Copy link

I've got 2 sessions - (outer) s1 and inside there is (inner) s2.
When I press F10 (got toggle key bound to F10) on the keyboard it works as expected, but trying to do the same in the script ('tmux send -t s1 F10') disables not the outer, but the innser session (s2 instead of s1).

Here's terminal output:

$ tmux send -t s1 F10 (disables s2)
$ tmux send -t s2 F10 (echoes below)

Any ideas how to make it work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment