.tmux.conf: Como posso definir uma variável de cor condicionalmente?

1

Às vezes eu uso um terminal de cor clara, às vezes escuro. Eu exporte uma variável de ambiente THEME para definir as cores condicionalmente em .bash_profile e .vimrc . Estou tentando fazer o mesmo no meu .tmux.conf , mas está se mostrando difícil. Isso funciona,

if '[[ "$THEME" =~ dark ]]' 'set -g status-bg colour233' \
                            'set -g status-bg "#ffffff"'

mas fica pesado. Caso em questão:

if '[[ "$THEME" =~ dark ]]' "set  -g status-right \" #S #[fg=#9BD4FF]::#[fg=default] #h #[fg=#9BD4FF]::#[fg=default] #(sysctl vm.loadavg | cut -d ' ' -f 3-5) \"" \
                            "set  -g status-right \" #S #[fg=#000000]::#[fg=default] #h #[fg=#000000]::#[fg=default] #(sysctl vm.loadavg | cut -d ' ' -f 3-5) \""

Eu tentei configurar as variáveis de cor dentro de .tmux.conf , mas não consigo fazê-las funcionar.

if '[[ "$THEME" =~ dark ]]' 'BG_COLOUR=colour233' 'BG_COLOUR=#ffffff'
set -g status-bg $BG_COLOUR

Isso me dá um erro de 'cor ruim' quando inicio o tmux. Eu tentei citar ( 'BG_COLOUR="colour233"' ), tentei setenv ( 'setenv -g BG_COLOUR colour233' ) e tentei setenv com aspas ( 'setenv -g BG_COLOUR "colour233"' ), mas nada funciona ainda. Existe uma maneira de fazer isso de forma limpa?

    
por ivan 04.10.2014 / 23:22

1 resposta

1

Os passos seguintes devem ajudar:

  1. Divida sua configuração de linha de status em dois arquivos diferentes:       um configurado com as cores que você deseja para o tema escuro,       e outro com as cores que você deseja para o tema da luz.

  2. Salve esses arquivos em seu diretório pessoal (criei um diretório .tmux e eles vivem lá)

  3. Adicione algo como o seguinte ao seu arquivo .tmux.conf:

    if '[[ "$THEME" =~ dark ]]' 'source ~/.tmux/dark_status.conf'

Você também pode adicionar uma condição para o seu tema de luz.

    
por 22.04.2015 / 18:31