Ny way to have console (rogue) mode programs take over only part of the terminal screen

command lineconsoleterminal

I like the command line because it preserves the context of what I'm doing. But if I use a "rogue" mode program like vi or less, the whole screen gets taken over.

Is a middle way possible, where the console mode program takes over only half the screen (above or below the shell part)?

I'm borrowing the term "rogue" from Eric Raymond:

Roguelike programs are designed to be run on a system console, an X terminal emulator, or a video display terminal. They use the full screen and support a visual interface style, but with character-cell display rather than graphics and a mouse.

I already use tmux and GNU screen to split the terminal into panes, but I'm looking for a way to stay in one shell session.

Best Answer

I guess you could run your full-screen program in tmux or Screen pane directly, without additional shell session (shell is just another program).

Another way, which I prefer, is to use tiling/stacking window manager like i3 and terminal program urxvt. The latter has very fast daemon/client structure, which allows opening new windows instantly, so you could run any program in new window this way:

urxvtc -e <command> <args>

This needs to be in a script or a function, really.

New window will take one half, one third, or so on of the screen in default tiling mode. Combined modes are also possible in these WMs.

Related Question