É possível tornar um ou mais painéis tmux "pegajosos"? Ou seja, esses painéis aparecerão em todas as janelas que estão disponíveis atualmente na minha sessão do tmux?
Como Chris diz, não há funcionalidade incorporada para permitir que a marcação de um painel seja pegajosa, e isso faz sentido, porque não é imediatamente aparente como lidar com a reestruturação de todos os painéis em todas as outras janelas quando você alterna a "aderência" de algum painel específico na janela atual. Geralmente, seria uma má experiência do usuário mexer com o layout de uma maneira que nem é visível para o usuário.
Você pode achar útil uma ligação como esta:
bind -n M-k move-pane -t ':+'
bind -n M-j move-pane -t ':-'
Isso seria amigável para um usuário do Vim acostumado a J e K para mover para a esquerda e para a direita. Com esse vínculo, o tmux entrará e engolirá Alt+Ke Alt+Jmoverá o painel ativo para as janelas direita e esquerda, respectivamente.
Ele puxará a janela atual em que você está e a colocará na janela tmux adjacente. Você provavelmente pode especificar qual índice inserir o painel no layout da janela de destino. Veja a página de manual para outras opções que podem ser fornecidas move-pane
.
Dessa maneira, é claro que ainda há uma alteração de layout (uma na janela de origem que está implícita e restrita a um painel e uma na janela de destino, também restrita a um painel e que é diretamente observada), mas é muito mais "controlado ", e enquanto você mantiver o foco no painel que pretende ser" fixo ", atinja seu objetivo, mais ou menos.
Eu ainda acho isso insatisfatório devido à necessidade de focar o painel que se pretende "pegajoso", e isso dificulta a emissão rápida desse comando se você deseja ter um painel pegajoso sempre visível, mas na verdade nunca o tem realmente focado .
Existe a possibilidade de criar scripts tmux um pouco mais elaborados, que usam nomes especiais para o painel que você pretende colar e organiza manualmente as coisas para você. Isso soa como uma dor na bunda, no entanto.
Uma última opção para entreter é usar o tmux aninhado: Coloque seu painel colado no pai tmux e faça com que o outro painel contenha um tmux que hospede o restante de seus terminais. Dessa forma, você pode alternar livremente no seu filho tmux. O problema é que você precisará criar algo viável porque, por padrão, precisará pressionar a tecla prefixo duas vezes para executar as mesmas tarefas. Muito chato também. Eu tenho vínculos que inteligentemente "encapsulam" através de quaisquer tmuxes aninhados, mas a lógica desses esquemas de transmissão de mensagens ineficientes rapidamente se torna difícil de gerenciar. E uma limitação disso é que o "painel pegajoso" aqui precisa abranger toda a altura ou largura, não pode ser um canto.
Concluindo, eu diria que esse é um recurso que o tmux deve implementar para nós, porque é quase impossível fazer o certo com scripts, no entanto, não sei como isso poderia ser feito de maneira não confusa (veja minha primeira frase). )