arsd.terminalemulatorattachutility

This is a GNU Screen style program to multiplex and provide remote attach/detach support to a terminal emulator backend.

It works with two pieces: sessions and screens. A session is a collection of screens and a screen is one backend terminal emulator.

attach must be run inside a terminal emulator itself. For best results, use the GUI frontend provided in this package, but it will also work on most others like the linux console or xterm. You can also use a nested terminal emulator with it if you want.

Controls by default are based on screen. Differences are:

C-a D: detach the current screen from the session C-a C: attach a specific screen to the session

C-a t: toggle taskbar. The taskbar will show a tab in green if it has a beep.

C-a <colon>: start command line attach socket_name

You can edit session files in ~/.detachable-terminals with a text editor.

Members

Functions

attach
void attach(Terminal* terminal, Session session, string sname)
Undocumented in source. Be warned that the author may not have intended to support it.
closeSocket
void closeSocket(Terminal* terminal, Session session, Socket socketToClose)
Undocumented in source. Be warned that the author may not have intended to support it.
connectTo
Socket connectTo(string sname, bool spawn)
Undocumented in source. Be warned that the author may not have intended to support it.
drawTaskbar
void drawTaskbar(Terminal* terminal, Session session)
Undocumented in source. Be warned that the author may not have intended to support it.
forceRedraw
void forceRedraw(Terminal* terminal, Session session)
Undocumented in source. Be warned that the author may not have intended to support it.
handleEvent
void handleEvent(Terminal* terminal, Session session, InputEvent event, Socket socket)
Undocumented in source. Be warned that the author may not have intended to support it.
main
void main(string[] args)
Undocumented in source. Be warned that the author may not have intended to support it.
nextScreen
int nextScreen(Session session)
Undocumented in source. Be warned that the author may not have intended to support it.
nextScreenBackwards
int nextScreenBackwards(Session session)
Undocumented in source. Be warned that the author may not have intended to support it.
sendSimpleMessage
void sendSimpleMessage(Socket socket, InputMessage.Type type)
Undocumented in source. Be warned that the author may not have intended to support it.
sendSimulatedInput
void sendSimulatedInput(Socket socket, string input)
Undocumented in source. Be warned that the author may not have intended to support it.
setActiveScreen
void setActiveScreen(Terminal* terminal, Session session, int s, bool force)
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

detachable_child_dead
void detachable_child_dead(int )
Undocumented in source. Be warned that the author may not have intended to support it.
stop_requested
void stop_requested(int )
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

ChildTerminal
struct ChildTerminal
Undocumented in source.
Session
struct Session
Undocumented in source.

Variables

debugMode
bool debugMode;
Undocumented in source.
outputPaused
bool outputPaused;
Undocumented in source.
previousScreen
int previousScreen;
Undocumented in source.
running
bool running;
Undocumented in source.
socket
Socket socket;
Undocumented in source.
stopRequested
bool stopRequested;
Undocumented in source.

Meta