Provides an xterm compatible terminal emulation based on the DEC VT102 terminal. More...
#include "Vt102Emulation.h"
Public Slots | |
void | receiveData (const char *buffer, int len) |
Processes an incoming stream of characters. More... | |
virtual void | sendKeyEvent (QKeyEvent *) |
virtual void | sendMouseEvent (int buttons, int column, int line, int eventType) |
virtual void | sendString (const char *, int length=-1) |
virtual void | sendText (const QString &text) |
virtual void | setImageSize (int lines, int columns) |
Change the size of the emulation's image. More... | |
Signals | |
void | changeTabTextColorRequest (int color) |
Requests that the color of the text used to represent the tabs associated with this emulation be changed. More... | |
void | imageSizeChanged (int lineCount, int columnCount) |
Emitted when the program running in the terminal changes the screen size. More... | |
void | lockPtyRequest (bool suspend) |
Requests that sending of input to the emulation from the terminal process be suspended or resumed. More... | |
void | outputChanged () |
Emitted when the contents of the screen image change. More... | |
void | profileChangeCommandReceived (const QString &text) |
Emitted when the terminal program requests to change various properties of the terminal display. More... | |
void | programBracketedPasteModeChanged (bool bracketedPasteMode) |
void | programUsesMouseChanged (bool usesMouse) |
This is emitted when the program running in the shell indicates whether or not it is interested in mouse events. More... | |
void | sendData (const char *data, int len) |
Emitted when a buffer of data is ready to send to the standard input of the terminal. More... | |
void | stateSet (int state) |
Emitted when the activity state of the emulation is set. More... | |
void | titleChanged (int title, const QString &newTitle) |
Emitted when the program running in the terminal wishes to update the session's title. More... | |
void | useUtf8Request (bool) |
Requests that the pty used by the terminal process be set to UTF 8 mode. More... | |
Public Member Functions | |
Vt102Emulation () | |
Constructs a new emulation. More... | |
~Vt102Emulation () | |
virtual void | clearEntireScreen () |
Copies the current image into the history and clears the screen. More... | |
void | clearHistory () |
Clears the history scroll. More... | |
const QTextCodec * | codec () |
Returns the codec used to decode incoming characters. More... | |
ScreenWindow * | createWindow () |
Creates a new window onto the output from this emulation. More... | |
virtual char | getErase () const |
TODO Document me. More... | |
const HistoryType & | history () |
Returns the history store used by this emulation. More... | |
QSize | imageSize () |
Returns the size of the screen image which the emulation produces. More... | |
QString | keyBindings () |
Returns the name of the emulation's current key bindings. More... | |
int | lineCount () |
Returns the total number of lines, including those stored in the history. More... | |
bool | programBracketedPasteMode () const |
bool | programUsesMouse () const |
Returns true if the active terminal program wants mouse input events. More... | |
virtual void | reset () |
Resets the state of the terminal. More... | |
void | setCodec (const QTextCodec *) |
Sets the codec used to decode incoming characters. More... | |
void | setHistory (const HistoryType &) |
Sets the history store used by this emulation. More... | |
void | setKeyBindings (const QString &name) |
Sets the key bindings used to key events ( received through sendKeyEvent() ) into character streams to send to the terminal. More... | |
bool | utf8 () |
Convenience method. More... | |
virtual void | writeToStream (TerminalCharacterDecoder *decoder, int startLine, int endLine) |
Copies the output history from startLine to endLine into stream , using decoder to convert the terminal characters into text. More... | |
Protected Types | |
enum | EmulationCodec { LocaleCodec = 0 , Utf8Codec = 1 } |
Protected Slots | |
void | bufferedUpdate () |
Schedules an update of attached views. More... | |
Protected Member Functions | |
virtual void | receiveChar (int cc) |
Processes an incoming character. More... | |
virtual void | resetMode (int mode) |
void | setCodec (EmulationCodec codec) |
virtual void | setMode (int mode) |
void | setScreen (int index) |
Sets the active screen. More... | |
Protected Attributes | |
const QTextCodec * | _codec |
Screen * | _currentScreen |
QTextDecoder * | _decoder |
const KeyboardTranslator * | _keyTranslator |
Screen * | _screen [2] |
QList< ScreenWindow * > | _windows |
Private Slots | |
void | bracketedPasteModeChanged (bool bracketedPasteMode) |
void | showBulk () |
void | updateTitle () |
void | usesMouseChanged (bool usesMouse) |
Private Member Functions | |
void | addArgument () |
void | addDigit (int dig) |
unsigned short | applyCharset (unsigned short c) |
void | clearScreenAndSetColumns (int columnCount) |
bool | getMode (int mode) |
void | initTokenizer () |
void | onScrollLock () |
void | pushToToken (int cc) |
void | reportAnswerBack () |
void | reportCursorPosition () |
void | ReportErrorToken () |
void | reportSecondaryAttributes () |
void | reportStatus () |
void | reportTerminalParms (int p) |
void | reportTerminalType () |
void | resetCharset (int scrno) |
void | resetModes () |
void | resetToken () |
void | restoreCursor () |
void | restoreMode (int mode) |
void | saveCursor () |
void | saveMode (int mode) |
void | scan_buffer_report () |
void | scrollLock (const bool lock) |
void | setAndUseCharset (int n, int cs) |
void | setCharset (int n, int cs) |
void | setDefaultMargins () |
void | setMargins (int top, int bottom) |
void | tau (int code, int p, int q) |
void | useCharset (int n) |
void | XtermHack () |
Private Attributes | |
bool | _bracketedPasteMode |
QTimer | _bulkTimer1 |
QTimer | _bulkTimer2 |
CharCodes | _charset [2] |
DECpar | _currParm |
QHash< int, QString > | _pendingTitleUpdates |
DECpar | _saveParm |
QTimer * | _titleUpdateTimer |
bool | _usesMouse |
int | argc |
int | argv [15] |
int | pbuf [80] |
int | ppos |
int | tbl [256] |
Provides an xterm compatible terminal emulation based on the DEC VT102 terminal.
A full description of this terminal can be found at http://vt100.net/docs/vt102-ug/
In addition, various additional xterm escape sequences are supported to provide features such as mouse input handling. See http://rtfm.etla.org/xterm/ctlseq.html for a description of xterm's escape sequences.
Definition at line 77 of file Vt102Emulation.h.
|
protectedinherited |
Enumerator | |
---|---|
LocaleCodec | |
Utf8Codec |
Definition at line 410 of file Emulation.h.
Vt102Emulation::Vt102Emulation | ( | ) |
Constructs a new emulation.
Definition at line 80 of file Vt102Emulation.cpp.
References _titleUpdateTimer, initTokenizer(), reset(), and updateTitle().
Vt102Emulation::~Vt102Emulation | ( | ) |
Definition at line 92 of file Vt102Emulation.cpp.
|
private |
Definition at line 218 of file Vt102Emulation.cpp.
References argc, argv, and MAXARGS.
Referenced by receiveChar().
|
private |
Definition at line 213 of file Vt102Emulation.cpp.
Referenced by receiveChar().
|
private |
Definition at line 1042 of file Vt102Emulation.cpp.
References CHARSET, and vt100_graphics.
Referenced by receiveChar().
|
privateslotinherited |
Definition at line 91 of file Emulation.cpp.
References Emulation::_bracketedPasteMode.
Referenced by Emulation::Emulation().
|
protectedslotinherited |
Schedules an update of attached views.
Repeated calls to bufferedUpdate() in close succession will result in only a single update, much like the Qt buffered update of widgets.
Definition at line 310 of file Emulation.cpp.
References Emulation::_bulkTimer1, Emulation::_bulkTimer2, BULK_TIMEOUT1, and BULK_TIMEOUT2.
Referenced by clearEntireScreen(), Emulation::createWindow(), Emulation::receiveData(), reset(), and Emulation::setImageSize().
|
signalinherited |
Requests that the color of the text used to represent the tabs associated with this emulation be changed.
This is a Konsole-specific extension from pre-KDE 4 times.
TODO: Document how the parameter works.
Referenced by tau().
|
virtual |
Copies the current image into the history and clears the screen.
Implements Emulation.
Definition at line 96 of file Vt102Emulation.cpp.
References Emulation::_currentScreen, Emulation::bufferedUpdate(), and Screen::clearEntireScreen().
Referenced by clearScreenAndSetColumns().
|
inherited |
Clears the history scroll.
Definition at line 147 of file Emulation.cpp.
References Emulation::_screen, and Screen::setScroll().
Referenced by TerminalModel::clearHistory().
|
private |
Definition at line 788 of file Vt102Emulation.cpp.
References Emulation::_currentScreen, clearEntireScreen(), Screen::getLines(), Screen::setCursorYX(), setDefaultMargins(), and Emulation::setImageSize().
Referenced by tau().
|
inlineinherited |
Returns the codec used to decode incoming characters.
See setCodec()
Definition at line 172 of file Emulation.h.
References Emulation::_codec.
Referenced by Emulation::setCodec().
|
inherited |
Creates a new window onto the output from this emulation.
The contents of the window are then rendered by views which are set to use this window using the TerminalDisplay::setScreenWindow() method.
Definition at line 96 of file Emulation.cpp.
References Emulation::_currentScreen, Emulation::_windows, Emulation::bufferedUpdate(), Emulation::outputChanged(), and ScreenWindow::setScreen().
Referenced by TerminalModel::addView().
|
virtual |
TODO Document me.
Reimplemented from Emulation.
Definition at line 1226 of file Vt102Emulation.cpp.
References Emulation::_keyTranslator, KeyboardTranslator::findEntry(), and KeyboardTranslator::Entry::text().
Referenced by sendKeyEvent().
|
private |
Definition at line 1221 of file Vt102Emulation.cpp.
References _currParm, m, and DECpar::mode.
Referenced by receiveChar(), reportSecondaryAttributes(), reportTerminalType(), sendKeyEvent(), and sendMouseEvent().
|
inherited |
Returns the history store used by this emulation.
See setHistory()
Definition at line 158 of file Emulation.cpp.
References Emulation::_screen, and Screen::getScroll().
Referenced by TerminalModel::historyType().
|
inherited |
Returns the size of the screen image which the emulation produces.
Definition at line 340 of file Emulation.cpp.
References Emulation::_currentScreen, Screen::getColumns(), and Screen::getLines().
|
signalinherited |
Emitted when the program running in the terminal changes the screen size.
Referenced by Emulation::setImageSize().
|
private |
Definition at line 240 of file Vt102Emulation.cpp.
References CHR, CPN, CPS, CTL, DIG, GRP, resetToken(), SCS, and tbl.
Referenced by Vt102Emulation().
|
inherited |
Returns the name of the emulation's current key bindings.
See setKeyBindings()
Definition at line 187 of file Emulation.cpp.
References Emulation::_keyTranslator, and KeyboardTranslator::name().
Referenced by TerminalModel::keyBindings().
|
inherited |
Returns the total number of lines, including those stored in the history.
Definition at line 286 of file Emulation.cpp.
References Emulation::_currentScreen, Screen::getHistLines(), and Screen::getLines().
|
signalinherited |
Requests that sending of input to the emulation from the terminal process be suspended or resumed.
suspend | If true, requests that sending of input from the terminal process' stdout be suspended. Otherwise requests that sending of input be resumed. |
|
private |
|
signalinherited |
Emitted when the contents of the screen image change.
The emulation buffers the updates from successive image changes, and only emits outputChanged() at sensible intervals when there is a lot of terminal activity.
Normally there is no need for objects other than the screen windows created with createWindow() to listen for this signal.
ScreenWindow objects created using createWindow() will emit their own outputChanged() signal in response to this signal.
Referenced by Emulation::createWindow(), and Emulation::showBulk().
|
signalinherited |
Emitted when the terminal program requests to change various properties of the terminal display.
A profile change command occurs when a special escape sequence, followed by a string containing a series of name and value pairs is received. This string can be parsed using a ProfileCommandParser instance.
text | A string expected to contain a series of key and value pairs in the form: name=value;name2=value2 ... |
|
inherited |
Definition at line 86 of file Emulation.cpp.
References Emulation::_bracketedPasteMode.
Referenced by TerminalModel::addView().
|
signalinherited |
Referenced by Emulation::Emulation(), resetMode(), and setMode().
|
inherited |
Returns true if the active terminal program wants mouse input events.
The programUsesMouseChanged() signal is emitted when this changes.
Definition at line 76 of file Emulation.cpp.
References Emulation::_usesMouse.
Referenced by TerminalModel::addView().
|
signalinherited |
This is emitted when the program running in the shell indicates whether or not it is interested in mouse events.
usesMouse | This will be true if the program wants to be informed about mouse events or false otherwise. |
Referenced by Emulation::Emulation(), resetMode(), and setMode().
|
private |
Definition at line 224 of file Vt102Emulation.cpp.
References MAXPBUF, pbuf, and ppos.
Referenced by receiveChar().
|
protectedvirtual |
Processes an incoming character.
See receiveData() ch
A unicode character code.
Reimplemented from Emulation.
Definition at line 287 of file Vt102Emulation.cpp.
References addArgument(), addDigit(), applyCharset(), argc, argv, ces, CHR, CNTL, COLOR_SPACE_256, COLOR_SPACE_RGB, CPN, CPS, CTL, DIG, eec, ees, egt, epe, epp, eps, ESC, getMode(), GRP, lec, les, lun, MODE_Ansi, pbuf, ppos, pushToToken(), resetToken(), SCS, tau(), TY_CHR, TY_CSI_PE, TY_CSI_PG, TY_CSI_PN, TY_CSI_PR, TY_CSI_PS, TY_CTL, TY_ESC, TY_ESC_CS, TY_ESC_DE, TY_VT52, Xpe, Xte, and XtermHack().
|
slotinherited |
Processes an incoming stream of characters.
receiveData() decodes the incoming character buffer using the current codec(), and then calls receiveChar() for each unicode character in the resulting buffer.
receiveData() also starts a timer which causes the outputChanged() signal to be emitted when it expires. The timer allows multiple updates in quick succession to be buffered into a single outputChanged() signal emission.
buffer | A string of characters received from the terminal program. |
len | The length of buffer |
Definition at line 262 of file Emulation.cpp.
References Emulation::_decoder, Emulation::bufferedUpdate(), NOTIFYACTIVITY, Emulation::receiveChar(), and Emulation::stateSet().
Referenced by TerminalModel::onReceiveBlock(), and sendKeyEvent().
|
private |
Definition at line 885 of file Vt102Emulation.cpp.
References ANSWER_BACK, and sendString().
Referenced by tau().
|
private |
Definition at line 828 of file Vt102Emulation.cpp.
References Emulation::_currentScreen, Screen::getCursorX(), Screen::getCursorY(), and sendString().
Referenced by tau().
|
private |
Definition at line 1278 of file Vt102Emulation.cpp.
Referenced by tau(), and XtermHack().
|
private |
Definition at line 855 of file Vt102Emulation.cpp.
References getMode(), MODE_Ansi, and sendString().
Referenced by tau().
|
private |
|
private |
|
private |
Definition at line 842 of file Vt102Emulation.cpp.
References getMode(), MODE_Ansi, and sendString().
Referenced by tau().
|
virtual |
Resets the state of the terminal.
Implements Emulation.
Definition at line 103 of file Vt102Emulation.cpp.
References Emulation::_screen, Emulation::bufferedUpdate(), Emulation::LocaleCodec, Screen::reset(), resetCharset(), resetModes(), resetToken(), and Emulation::setCodec().
Referenced by Vt102Emulation(), sendKeyEvent(), and tau().
|
private |
Definition at line 1057 of file Vt102Emulation.cpp.
References _charset, CharCodes::cu_cs, CharCodes::graphic, CharCodes::pound, CharCodes::sa_graphic, and CharCodes::sa_pound.
Referenced by reset().
|
protectedvirtual |
Implements Emulation.
Definition at line 1181 of file Vt102Emulation.cpp.
References _currParm, Emulation::_screen, Screen::clearSelection(), m, DECpar::mode, MODE_AppScreen, MODE_BracketedPaste, MODE_Mouse1000, MODE_Mouse1001, MODE_Mouse1002, MODE_Mouse1003, MODE_NewLine, MODES_SCREEN, Emulation::programBracketedPasteModeChanged(), Emulation::programUsesMouseChanged(), Screen::resetMode(), and Emulation::setScreen().
Referenced by resetModes(), restoreMode(), and tau().
|
private |
Definition at line 1139 of file Vt102Emulation.cpp.
References MODE_Ansi, MODE_AppCuKeys, MODE_AppScreen, MODE_BracketedPaste, MODE_Mouse1000, MODE_Mouse1001, MODE_Mouse1002, MODE_Mouse1003, MODE_NewLine, resetMode(), saveMode(), and setMode().
Referenced by reset().
|
private |
Definition at line 208 of file Vt102Emulation.cpp.
References argc, argv, and ppos.
Referenced by initTokenizer(), receiveChar(), and reset().
|
private |
Restore the cursor position and the rendition attribute settings.
Definition at line 1112 of file Vt102Emulation.cpp.
References Emulation::_currentScreen, CHARSET, and Screen::restoreCursor().
Referenced by tau().
|
private |
Definition at line 1213 of file Vt102Emulation.cpp.
References _saveParm, m, DECpar::mode, resetMode(), and setMode().
Referenced by tau().
|
private |
Save the cursor position and the rendition attribute settings.
Definition at line 1100 of file Vt102Emulation.cpp.
References Emulation::_currentScreen, CHARSET, and Screen::saveCursor().
Referenced by tau().
|
private |
Definition at line 1208 of file Vt102Emulation.cpp.
References _currParm, _saveParm, m, and DECpar::mode.
Referenced by resetModes(), and tau().
|
private |
Definition at line 1266 of file Vt102Emulation.cpp.
|
private |
|
signalinherited |
Emitted when a buffer of data is ready to send to the standard input of the terminal.
data | The buffer of data ready to be sent @paran len The length of data in bytes |
Referenced by Emulation::sendKeyEvent(), sendKeyEvent(), and sendString().
|
virtualslot |
Definition at line 940 of file Vt102Emulation.cpp.
References Emulation::_codec, Emulation::_keyTranslator, KeyboardTranslator::AlternateScreenState, KeyboardTranslator::AnsiState, KeyboardTranslator::AnyModifierState, KeyboardTranslator::Entry::command(), KeyboardTranslator::CursorKeysState, KeyboardTranslator::EraseCommand, KeyboardTranslator::findEntry(), getErase(), getMode(), MODE_Ansi, MODE_AppCuKeys, MODE_AppScreen, MODE_NewLine, KeyboardTranslator::Entry::modifierMask(), KeyboardTranslator::Entry::modifiers(), KeyboardTranslator::NewLineState, KeyboardTranslator::NoCommand, KeyboardTranslator::NoState, Emulation::receiveData(), reset(), Emulation::sendData(), KeyboardTranslator::Entry::state(), KeyboardTranslator::Entry::stateMask(), and KeyboardTranslator::Entry::text().
Referenced by sendText().
|
virtualslot |
Mouse clicks are possibly reported to the client application if it has issued interest in them. They are normally consumed by the widget for copy and paste, but may be propagated from the widget when gui->setMouseMarks is set via setMode(MODE_Mouse1000).
‘x’,‘y’ are 1-based. ‘ev’ (event) indicates the button pressed (0-2) or a general mouse release (3).
eventType represents the kind of mouse action that occurred: 0 = Mouse button press or release 1 = Mouse drag
Definition at line 908 of file Vt102Emulation.cpp.
References getMode(), MODE_Mouse1002, MODE_Mouse1003, and sendString().
|
virtualslot |
Definition at line 813 of file Vt102Emulation.cpp.
References Emulation::sendData(), and strlen().
Referenced by reportAnswerBack(), reportCursorPosition(), reportSecondaryAttributes(), reportStatus(), reportTerminalParms(), reportTerminalType(), and sendMouseEvent().
|
virtualslot |
Definition at line 928 of file Vt102Emulation.cpp.
References sendKeyEvent().
|
private |
Definition at line 1073 of file Vt102Emulation.cpp.
References CHARSET, n, and useCharset().
Referenced by tau().
|
private |
Definition at line 1067 of file Vt102Emulation.cpp.
References _charset, CharCodes::charset, n, and useCharset().
Referenced by tau().
|
inherited |
Sets the codec used to decode incoming characters.
Definition at line 163 of file Emulation.cpp.
References Emulation::_codec, Emulation::_decoder, Emulation::useUtf8Request(), and Emulation::utf8().
Referenced by reset(), Emulation::setCodec(), TerminalModel::setCodec(), and tau().
|
protectedinherited |
Definition at line 174 of file Emulation.cpp.
References Emulation::codec(), Emulation::LocaleCodec, Emulation::setCodec(), and Emulation::Utf8Codec.
|
private |
Definition at line 1086 of file Vt102Emulation.cpp.
References Emulation::_screen, and Screen::setDefaultMargins().
Referenced by clearScreenAndSetColumns().
|
inherited |
Sets the history store used by this emulation.
When new lines are added to the output, older lines at the top of the screen are transferred to a history store.
The number of lines which are kept and the storage location depend on the type of store.
Definition at line 151 of file Emulation.cpp.
References Emulation::_screen, Screen::setScroll(), and Emulation::showBulk().
Referenced by TerminalModel::setHistoryType().
|
virtualslotinherited |
Change the size of the emulation's image.
Definition at line 326 of file Emulation.cpp.
References Emulation::_screen, Emulation::bufferedUpdate(), Emulation::imageSizeChanged(), and Screen::resizeImage().
Referenced by clearScreenAndSetColumns(), tau(), and TerminalModel::updateTerminalSize().
|
inherited |
Sets the key bindings used to key events ( received through sendKeyEvent() ) into character streams to send to the terminal.
Definition at line 182 of file Emulation.cpp.
References Emulation::_keyTranslator, KeyboardTranslatorManager::findTranslator(), and KeyboardTranslatorManager::instance().
Referenced by TerminalModel::setKeyBindings().
|
private |
Definition at line 1092 of file Vt102Emulation.cpp.
References Emulation::_screen, and Screen::setMargins().
Referenced by tau().
|
protectedvirtual |
Implements Emulation.
Definition at line 1154 of file Vt102Emulation.cpp.
References _currParm, Emulation::_screen, Screen::clearSelection(), m, DECpar::mode, MODE_AppScreen, MODE_BracketedPaste, MODE_Mouse1000, MODE_Mouse1001, MODE_Mouse1002, MODE_Mouse1003, MODE_NewLine, MODES_SCREEN, Emulation::programBracketedPasteModeChanged(), Emulation::programUsesMouseChanged(), Screen::setMode(), and Emulation::setScreen().
Referenced by resetModes(), restoreMode(), and tau().
|
protectedinherited |
Sets the active screen.
The terminal has two screens, primary and alternate. The primary screen is used by default. When certain interactive programs such as Vim are run, they trigger a switch to the alternate screen.
index | 0 to switch to the primary screen, or 1 to switch to the alternate screen |
change between primary and alternate _screen
Definition at line 130 of file Emulation.cpp.
References Emulation::_currentScreen, Emulation::_screen, Emulation::_windows, n, and Screen::setBusySelecting().
Referenced by resetMode(), and setMode().
|
privateslotinherited |
Definition at line 299 of file Emulation.cpp.
References Emulation::_bulkTimer1, Emulation::_bulkTimer2, Emulation::_currentScreen, Emulation::outputChanged(), Screen::resetDroppedLines(), and Screen::resetScrolledLines().
Referenced by Emulation::Emulation(), and Emulation::setHistory().
|
signalinherited |
Emitted when the activity state of the emulation is set.
state | The new activity state, one of NOTIFYNORMAL, NOTIFYACTIVITY or NOTIFYBELL |
Referenced by Emulation::receiveChar(), Emulation::receiveData(), Emulation::sendKeyEvent(), and tau().
|
private |
Definition at line 403 of file Vt102Emulation.cpp.
References Emulation::_currentScreen, Emulation::_screen, A, Screen::BackSpace(), Screen::backTabulate(), Screen::changeTabStop(), Emulation::changeTabTextColorRequest(), Screen::clearEntireLine(), Screen::clearEntireScreen(), clearScreenAndSetColumns(), Screen::clearTabStops(), Screen::clearToBeginOfLine(), Screen::clearToBeginOfScreen(), Screen::clearToEndOfLine(), Screen::clearToEndOfScreen(), COLOR_SPACE_DEFAULT, COLOR_SPACE_SYSTEM, Screen::cursorDown(), Screen::cursorLeft(), Screen::cursorRight(), Screen::cursorUp(), Screen::deleteChars(), Screen::deleteLines(), Screen::eraseChars(), Screen::helpAlign(), Screen::index(), Screen::insertChars(), Screen::insertLines(), LINE_DOUBLEHEIGHT, LINE_DOUBLEWIDTH, Emulation::LocaleCodec, MODE_Ansi, MODE_AppCuKeys, MODE_AppKeyPad, MODE_AppScreen, MODE_BracketedPaste, MODE_Cursor, MODE_Insert, MODE_Mouse1000, MODE_Mouse1001, MODE_Mouse1002, MODE_Mouse1003, MODE_NewLine, MODE_Origin, MODE_Screen, MODE_Wrap, N, Screen::NewLine(), Screen::NextLine(), NOTIFYBELL, RE_BLINK, RE_BOLD, RE_REVERSE, RE_UNDERLINE, reportAnswerBack(), reportCursorPosition(), ReportErrorToken(), reportSecondaryAttributes(), reportStatus(), reportTerminalParms(), reportTerminalType(), reset(), resetMode(), Screen::resetRendition(), restoreCursor(), Screen::restoreMode(), restoreMode(), Screen::Return(), Screen::reverseIndex(), saveCursor(), saveMode(), Screen::scrollDown(), Screen::scrollUp(), setAndUseCharset(), Screen::setBackColor(), setCharset(), Emulation::setCodec(), Screen::setCursorX(), Screen::setCursorY(), Screen::setCursorYX(), Screen::setDefaultRendition(), Screen::setForeColor(), Emulation::setImageSize(), Screen::setLineProperty(), setMargins(), setMode(), Screen::ShowCharacter(), Emulation::stateSet(), Screen::Tabulate(), TY_CHR, TY_CSI_PE, TY_CSI_PG, TY_CSI_PN, TY_CSI_PR, TY_CSI_PS, TY_CTL, TY_ESC, TY_ESC_CS, TY_ESC_DE, TY_VT52, useCharset(), and Emulation::Utf8Codec.
Referenced by receiveChar().
|
signalinherited |
Emitted when the program running in the terminal wishes to update the session's title.
This also allows terminal programs to customize other aspects of the terminal emulation display.
This signal is emitted when the escape sequence "\033]ARG;VALUE\007" is received in the input string, where ARG is a number specifying what should change and VALUE is a string specifying the new value.
TODO: The name of this method is not very accurate since this method is used to perform a whole range of tasks besides just setting the user-title of the session.
title | Specifies what to change.
|
newTitle | Specifies the new title |
Referenced by updateTitle().
|
privateslot |
Definition at line 374 of file Vt102Emulation.cpp.
References _pendingTitleUpdates, and Emulation::titleChanged().
Referenced by Vt102Emulation().
|
private |
Definition at line 1079 of file Vt102Emulation.cpp.
Referenced by setAndUseCharset(), setCharset(), and tau().
|
privateslotinherited |
Definition at line 81 of file Emulation.cpp.
References Emulation::_usesMouse.
Referenced by Emulation::Emulation().
|
signalinherited |
Requests that the pty used by the terminal process be set to UTF 8 mode.
TODO: More documentation
Referenced by Emulation::setCodec().
|
inlineinherited |
Convenience method.
Returns true if the current codec used to decode incoming characters is UTF-8
Definition at line 181 of file Emulation.h.
References Emulation::_codec.
Referenced by Emulation::setCodec().
|
virtualinherited |
Copies the output history from startLine
to endLine
into stream
, using decoder
to convert the terminal characters into text.
decoder | A decoder which converts lines of terminal characters with appearance attributes into output text. PlainTextDecoder is the most commonly used decoder. |
startLine | The first |
Definition at line 279 of file Emulation.cpp.
References Emulation::_currentScreen, Emulation::_decoder, and Screen::writeToStream().
|
private |
Definition at line 356 of file Vt102Emulation.cpp.
References _pendingTitleUpdates, _titleUpdateTimer, pbuf, ppos, and ReportErrorToken().
Referenced by receiveChar().
|
privateinherited |
Definition at line 457 of file Emulation.h.
Referenced by Emulation::bracketedPasteModeChanged(), and Emulation::programBracketedPasteMode().
|
privateinherited |
Definition at line 458 of file Emulation.h.
Referenced by Emulation::Emulation(), Emulation::bufferedUpdate(), and Emulation::showBulk().
|
privateinherited |
Definition at line 459 of file Emulation.h.
Referenced by Emulation::Emulation(), Emulation::bufferedUpdate(), and Emulation::showBulk().
|
private |
Definition at line 173 of file Vt102Emulation.h.
Referenced by resetCharset(), and setCharset().
|
protectedinherited |
Definition at line 431 of file Emulation.h.
Referenced by Emulation::codec(), sendKeyEvent(), Emulation::setCodec(), and Emulation::utf8().
|
protectedinherited |
Definition at line 420 of file Emulation.h.
Referenced by Emulation::Emulation(), clearEntireScreen(), clearScreenAndSetColumns(), Emulation::createWindow(), Emulation::imageSize(), Emulation::lineCount(), Emulation::receiveChar(), reportCursorPosition(), restoreCursor(), saveCursor(), Emulation::setScreen(), Emulation::showBulk(), tau(), and Emulation::writeToStream().
|
private |
Definition at line 175 of file Vt102Emulation.h.
Referenced by getMode(), resetMode(), saveMode(), and setMode().
|
protectedinherited |
Definition at line 432 of file Emulation.h.
Referenced by Emulation::~Emulation(), Emulation::receiveData(), Emulation::setCodec(), and Emulation::writeToStream().
|
protectedinherited |
Definition at line 434 of file Emulation.h.
Referenced by getErase(), Emulation::keyBindings(), sendKeyEvent(), and Emulation::setKeyBindings().
|
private |
Definition at line 183 of file Vt102Emulation.h.
Referenced by updateTitle(), and XtermHack().
|
private |
Definition at line 176 of file Vt102Emulation.h.
Referenced by restoreMode(), and saveMode().
|
protectedinherited |
Definition at line 423 of file Emulation.h.
Referenced by Emulation::Emulation(), Emulation::~Emulation(), Emulation::clearHistory(), Emulation::history(), reset(), resetMode(), setDefaultMargins(), Emulation::setHistory(), Emulation::setImageSize(), setMargins(), setMode(), Emulation::setScreen(), and tau().
|
private |
Definition at line 184 of file Vt102Emulation.h.
Referenced by Vt102Emulation(), and XtermHack().
|
privateinherited |
Definition at line 456 of file Emulation.h.
Referenced by Emulation::programUsesMouse(), and Emulation::usesMouseChanged().
|
protectedinherited |
Definition at line 418 of file Emulation.h.
Referenced by Emulation::~Emulation(), Emulation::createWindow(), and Emulation::setScreen().
|
private |
Definition at line 149 of file Vt102Emulation.h.
Referenced by addArgument(), addDigit(), receiveChar(), and resetToken().
|
private |
Definition at line 148 of file Vt102Emulation.h.
Referenced by addArgument(), addDigit(), receiveChar(), and resetToken().
|
private |
Definition at line 143 of file Vt102Emulation.h.
Referenced by pushToToken(), receiveChar(), scan_buffer_report(), and XtermHack().
|
private |
Definition at line 144 of file Vt102Emulation.h.
Referenced by pushToToken(), receiveChar(), resetToken(), scan_buffer_report(), and XtermHack().
|
private |
Definition at line 151 of file Vt102Emulation.h.
Referenced by initTokenizer().