p-e-w / finalterm

At last – a modern terminal emulator (NO LONGER MAINTAINED)
http://finalterm.org
GNU General Public License v3.0
3.84k stars 179 forks source link

tmux-like functionality #308

Open hstehr opened 10 years ago

hstehr commented 10 years ago

A feature I would be very much looking forward to in a future version is screen/tmux like functionality. I'm not sure what that would involve technically (and if it's at all possible) but functionality-wise one should be able to run one or multiple FT sessions on a server and (re-)attach to a running session from a remote client (i.e. an ssh login shell). Given that FT has extensive keyboard shortcut support and tab/split-screen functionality there is already considerable overlap with tmux. Adding this missing piece ("the marriage of terminal, shell and terminal multiplexing") would finally let us ditch screen and tmux.

Of course this would be something for a later version after the core functionality is working.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

p-e-w commented 10 years ago

Final Term's data structures should make implementing session persistence very easy in the future :)

chrstphrchvz commented 9 years ago

I don't mean to spam, but the iTerm2 project for OS X is an example that has this sort of tmux integration feature; although it doesn't ditch tmux, rather it takes advantage of it in a way optimized for GUI (it still requires logging into ssh and running tmux -CC though). Due to the current license (GPLv2), I'm not sure if FT can reuse its implementation right away.

nashley commented 9 years ago

What does this look like in practice? Menu bar integration? Key bindings? Or do you just want to expand upon the tabbing and split window features already in place?

On Mon, Mar 23, 2015, 12:31 AM Christopher Chavez notifications@github.com wrote:

I don't mean to spam, but the iTerm2 project for OS X is an example that has this sort of tmux integration feature; although it doesn't ditch tmux, rather it takes advantage of it in a way optimized for GUI (it still requires logging into ssh and running tmux -CC though). Due to the current license (GPLv2), I'm not sure if FT can reuse its implementation right away.

— Reply to this email directly or view it on GitHub https://github.com/p-e-w/finalterm/issues/308#issuecomment-84802276.

chrstphrchvz commented 9 years ago

This announcement explains most of the features and limitations: https://code.google.com/p/iterm2/wiki/TmuxIntegration In practice this means that the user does not interact with the tmux session manager directly; rather, there is a session management GUI in iTerm2 to manage tmux sessions, windows, etc., e.g. allowing multiple "logical" windows through a single ssh session that behave almost the same as real windows/tabs. Further, in the case of iTerm2, I would think that because the tmux -C windows/tabs behave like real ones, it hides the much of the usual CLI tmux functionality, including key bindings; it's not strictly taking tmux pane content and putting it in pretty GUI widgets nor acting like tmux CLI at the same time. tmux -C in this use tries to only provides session management rather than windows, panes, status bars, key bindings etc. as in the CLI; tmux is merely a backend. I doubt that the iTerm2-side functionality is written in Vala, but most of the magic is probably in tmux -C control mode (tmux 1.8+) that was designed for this sort of application, and would allow terminal emulators to use it (iTerm2 is probably the only application taking advantage of it so far).

On Mon, Mar 23, 2015 at 2:40 PM Nick Ashley notifications@github.com wrote:

What does this look like in practice? Menu bar integration? Key bindings? Or do you just want to expand upon the tabbing and split window features already in place?

On Mon, Mar 23, 2015, 12:31 AM Christopher Chavez < notifications@github.com> wrote:

I don't mean to spam, but the iTerm2 project for OS X is an example that has this sort of tmux integration feature; although it doesn't ditch tmux, rather it takes advantage of it in a way optimized for GUI (it still requires logging into ssh and running tmux -CC though). Due to the current license (GPLv2), I'm not sure if FT can reuse its implementation right away.

— Reply to this email directly or view it on GitHub https://github.com/p-e-w/finalterm/issues/308#issuecomment-84802276.

— Reply to this email directly or view it on GitHub https://github.com/p-e-w/finalterm/issues/308#issuecomment-85163135.