Remova a barra de divisão vertical de um multiplexador terminclin, desocupando o espaço em vez de ocultá-lo

0

Durante a última década, costumo trabalhar em um emulador de terminal em modo de tela inteira (geralmente xterm) e, muitas vezes, com divisão vertical. O recente GNU Screen oferece divisão vertical com ctrl - a | .

1280 × 720 oferece 160 colunas para fontes típicas de 16px (8px de largura), o suficiente para duas sessões de 80 colunas. Da mesma forma, o 1440x960 oferece 160 colunas para fontes de 18px (9px de largura). O maior: 1920 × 1080 oferece 240 colunas, apenas o suficiente para três sessões de 80 colunas.

Mas, na realidade, o GNU Screen coloca uma barra vertical para separar as sessões. A barra pode ser ocultada ou colorida como fundo, mas o espaço é ocupado. Isso deixa o meu console 79 colunas, apenas uma coluna curta para o trabalho diário (por exemplo, convenção de codificação requer cada linha menor que 80 colunas¹; relatórios de e-mail gerados automaticamente assumiram 80 colunas).

Existe uma maneira de desocupar o espaço da barra de divisão vertical? Ou, se isso não pode ser feito, alguma das alternativas para o GNU Screen, como o Dvtm / Tmux, suporta o splict vertical sem o espaço de uma barra? Um emulador de terminal X que pode fazer multiplex também se encaixaria no propósito, mas tal coisa talvez não exista.

Nota 1: Mesmo a linguagem de programação Python sugere explicitamente 79 colunas exatamente com o propósito de marcador não removível na 80ª coluna, ainda há outras ocasiões que podem tirar proveito de 80 colunas completas.

    
por Peer Gynt 24.01.2014 / 03:53

1 resposta

0

Nenhum do multiplexador no universo conhecido, como gnu screen, tmux, dvtm, permite configurar a divisão vertical para nenhum.

Marc André Tanner, atual mantenedor do dvtm, teve a gentileza de oferecer um patch para fazer isso a pedido, testado como appliable para o último dvtm-0.10, tornando o dvtm o único multiplexador no conhecido não-versátil que pode ser corrigido para fazê-lo. Marc disse que este patch não vai para o ramo principal e será lançado.

diff --git a/tile.c b/tile.c
index 43a7166..b166a56 100644
--- a/tile.c
+++ b/tile.c
@@ -25,9 +25,6 @@ static void tile(void)
                    ny = way;
                    nx += mw;
                    nw = waw - mw;
-                   mvvline(ny, nx, ACS_VLINE, wah);
-                   mvaddch(ny, nx, ACS_TTEE);
-                   nx++, nw--;
                }
                /* remainder */
                if (m == 0 && i + 1 == n)   /* no minimized clients */
@@ -40,8 +37,6 @@ static void tile(void)
                nh = 1;
                ny = way + wah - (n - i);
            }
-           if (i > 1 && nm > 1)
-               mvaddch(ny, nx - 1, ACS_LTEE);
        }
        resize(c, nx, ny, nw, nh);
        if (n > 1 && th != wah)
    
por 31.01.2014 / 02:46