Автоматическое перемещение статус-бара в зависимости от типа подключения

This commit is contained in:
EoF 2019-09-19 18:57:29 +05:00
parent 4f3d96846f
commit e5e30d079a
5 changed files with 24 additions and 27 deletions

View File

@ -4,7 +4,7 @@ set -e
# Backup existing configs
if [ -e "$HOME/.tmux.conf" ]; then
printf "Found existing .tmux.conf in your \$HOME directory. Will create a backup at $HOME/.tmux.conf.bak\n"
printf "Found existing .tmux.conf in your \$HOME directory. Will create a backup at $HOME/.tmux.conf.bak\n"
fi
cp -f "$HOME/.tmux.conf" "$HOME/.tmux.conf.bak" 2>/dev/null || true
@ -22,7 +22,7 @@ fi
cp -f "$HOME/.vimrc" "$HOME/.vimrc.bak" 2>/dev/null || true
# Create symlinks
ln -sf .dots/tmux/local.conf "$HOME"/.tmux.conf
ln -sf .dots/tmux/tmux.conf "$HOME"/.tmux.conf
ln -sf .dots/zsh/zshrc "$HOME"/.zshrc
ln -sf .dots/vim/vimrc "$HOME"/.vimrc

View File

@ -1,10 +0,0 @@
# show status bar at bottom for remote session,
# so it do not stack together with local session's one
set -g status-position bottom
# Set port of SSH remote tunnel, where tmux will pipe buffers to transfer on local machine for copy
set -g @copy_backend_remote_tunnel_port 11988
# In remote mode we don't show "clock" and "battery status" widgets
set -g status-left "$wg_session"
set -g status-right "#{prefix_highlight} $wg_is_keys_off $wg_is_zoomed #{sysstat_cpu} | #{sysstat_mem} | #{sysstat_loadavg} | $wg_user_host | #{online_status}"

View File

@ -310,14 +310,8 @@ set -g @open-S 'https://www.google.com/search?q='
# ==============================================
# Session is considered to be remote when we ssh into host
#if-shell 'test -n "$SSH_CLIENT"' \
# 'source-file ~/.dots/tmux/remote.conf'
#set-hook -g session-created "if-shell 'test -n \"$SSH_CONNECTION\"' 'set status-position bottom' 'set -u status-position'"
#set-hook -g client-attached "if-shell 'test -n \"$SSH_CONNECTION\"' 'set status-position bottom' 'set -u status-position'"
set-hook -g client-attached 'run ~/.dots/tmux/utils/session-type.sh'
set-hook -g session-created 'run ~/.dots/tmux/utils/session-type.sh'
set-hook -g client-attached 'run ~/.dots/tmux/utils/status-switch.sh'
set-hook -g session-created 'run ~/.dots/tmux/utils/status-switch.sh'
# We want to have single prefix key "C-a", usable both for local and remote session
# we don't want to "C-a" + "a" approach either

View File

@ -1,7 +0,0 @@
#!/usr/bin/env bash
if [ -n "$SSH_CONNECTION" ]; then
tmux set status-position bottom
else
tmux set -u status-position
fi

20
tmux/utils/status-switch.sh Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Determine current session type - remote or local
if [ -n "$SSH_CONNECTION" ]; then
# Show status bar at bottom for remote session,
# so it do not stack together with local session's one
tmux set status-position bottom
# In remote mode we don't show "clock" and "battery status" widgets
set status-left "$wg_session"
set status-right "#{prefix_highlight} $wg_is_keys_off $wg_is_zoomed #{sysstat_cpu} | #{sysstat_mem} | #{sysstat_loadavg} | $wg_user_host | #{online_status}"
# Set port of SSH remote tunnel, where tmux will pipe buffers to transfer on local machine for copy
# set -g @copy_backend_remote_tunnel_port 11988
else
# Just unset session-variables for local session
tmux set -u status-position
tmux set -u status-left
tmux set -u status-right
fi