Geth | Terminal-Capabilities/main: c70f0730f0 | (Geoffrey Broadwell)++ | 2 files 0.0.9 |
00:18 | |
japhb | OK, that's support for recursive detection for the "real" terminal underneath screen, tmux, and Zellij, and masking of broken capabilities for each. | 00:23 | |
Anyone know any other terminal multiplexers that should be supported? | |||
Also: if anyone uses mosh (MObile SHell, a remote connection maintainer), let me know and I can work with you to get that supported as well. | 00:24 | ||
01:38
timo left
01:39
timo joined
|
|||
patrickb | Very nice! \o/ | 06:59 | |
08:02
librasteve_ joined
|
|||
patrickb | Random question: In what way is the terminal underlying a multiplexer relevant for a terminal app? Shouldn't the multiplexer effectively isolate the terminal app entirely from the surrounding terminal? | 15:32 | |
Also: What if I'm using tmux in a multi seat session? (Two users with different terminals connect to the same tmux session.) Then there are two different underlying terminals at the same time. | 15:34 | ||
japhb | The underlying terminal determines capabilities (does it support box drawing, does it support 24-bit color, etc.) | 15:42 | |
Multiplexers have to interpret all of the escape sequences in both directions and carry a concept of the state of a virtual terminal for each pane, plus the "actual" terminal underneath. | 15:43 | ||
But each of the multiplexers has sequences it doesn't handle, or handles badly. | |||
So basically the true capabilities as seen by an app are the intersection of the capabilities of the underlying terminal and the multiplexer on top of it. | 15:44 | ||
This autodetection is based on the environment variables of the app process, which means that in the multi-head case, the terminal that started the app "wins" the autodetection. | 15:45 | ||
It is possible to do some of the autodetection via query sequences, but I really have no idea what multiplexers do when you query for something they don't natively understand but that *one* of the terminals in a multi-head setup does understand. | 15:46 | ||
My guess is "drop it on the floor" | |||
patrickb | Thanks for the explanation! | 17:41 | |
japhb | 👍 | 21:26 | |
22:22
librasteve_ left
|