[Enhancement] Integrating screen-/tmux-like functionality
This is something I've been thinking about for ages but I don't think I ever brought it up before. I often use ssh between my PCs and servers, with tmux if I want to leave a program running for a long time without having to keep a terminal open the whole time. That's pretty much all I use tmux for. I can never remember its esoteric ways of scrolling back etc, which is a nuisance.
How practical would it be to integrate something like that into Vte? Ie allow a program to stay running in the background, thinking it's still in a terminal, and allow another view to connect to it again later? And allow view and application to be on separate machines by using ssh? ICBW, but I believe VteTerminal is responsible for keeping track of what's on screen and in the scrollback buffer, while VtePty instantly "forgets" what it's printed, so it wouldn't be as simple as just detaching and reattaching a VtePty from/to a VteTerminal. Perhaps a proxy object could work without any significant changes to what already exists?
This could also make it possible to connect multiple views to the same pty, but I could live with the restriction of no more than one view per pty. The problem with supporting that is dealing with views of differing sizes. tmux handles it by making the pty the size of the views with fewest columns and rows and adding padding to larger views.