Variáveis State / Toggling no tmux

1

Eu queria saber se existe uma maneira de definir uma variável de estado em ./tmux.conf, de modo que dependendo dessa variável, a ligação do teclado invocaria um comando diferente.

Por exemplo, eu gostaria de usar M-F para alternar a maximização de um painel no tmux (se o painel não estiver maximizado, M-F o maximizaria, caso contrário ele não o maximizaria)

Aqui está o pseudo-código que tenho até agora:

# Maximize pane: -------
# IF PANE_MAXIMIZED=False: 
# THEN: PANE_MAXIMIZED=True, and:
bind -n M-F new-window -d -n tmux-zoom  \; swap-pane -s tmux-zoom.0 \; select-window -t tmux-zoom

# Unmaximize pane -------
# IF PANE_MAXIMIZED=True: 
# THEN: PANE_MAXIMIZED=False, and:
bind -n M-F last-window \; swap-pane -s tmux-zoom.0 \; kill-window -t tmux-zoom
    
por Amelio Vazquez-Reina 06.03.2013 / 16:59

1 resposta

2

Você pode usar o comando run-shell para executar comandos shell arbitrários, portanto, isso é certamente possível. Esta resposta tem um ótimo exemplo disso.

Se tudo o que você está procurando é alternar a maximização de uma janela, a partir da versão 1.8 que é um recurso nativo do tmux usando o -Z flag para resize-pane (consulte esta resposta no superusuário ).

Ele está ligado ao prefixo do tmux - z por padrão na minha instalação (via Homebrew no OS X).

    
por 05.04.2013 / 00:12

Tags