0

For the last decade I usually work in a full-screen mode terminal emulator (often xterm), and often with vertical split. The recent GNU Screen offers vertical split with ctrl-a |.

1280×720 offers 160 columns for typical 16px font (8px wide), just enough for two 80-column session. The same way, 1440x960 offers 160 columns for 18px fonts (9px wide). The larger one: 1920×1080 offers 240 columns, just enough for three 80-column session.

But in reality GNU Screen put a vertical bar to separate the sessions. The bar can be hidden or colored as background, but the space is taken. That leaves my console 79-columns, just one column short for daily work (e.g. coding convention requires each line less than 80 columns¹; auto-generated email reports assumed 80-column).

Is there a way to vacate the space of the vertical split bar? Or, if this can't be done, is any of the alternatives to GNU Screen, like Dvtm / Tmux, support vertical splict without a bar's space? An X terminal emulator that can do multiplex would fit the purpose as well, but such thing perhaps doesn't exist.

Note 1: Even Python programming language explicitly suggests 79 columns exactly for the purpose of unremovable marker at the 80th column, there are still other occassions that can take advantage of full 80-columns.

0

None of the multiplexer in the known universe, such as gnu screen, tmux, dvtm, allows configuring vertical split to none at all.

Marc André Tanner, current dvtm maintainer, was kind enough to offer a patch to do so on request, tested appliable to latest dvtm-0.10, making dvtm the only multiplexer in the known unverse that can be patched to do so. Marc said this patch won't go to main branch and get released.

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)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.