Support iTerm2 ReportCellSize OSC

wilder
Matan Ziv-Av 4 years ago committed by Tomaz Canabrava
parent b621d0c0e5
commit bc4a631bae
  1. 15
      src/Vt102Emulation.cpp
  2. 1
      src/Vt102Emulation.h

@ -799,6 +799,10 @@ void Vt102Emulation::processSessionAttributeRequest(int tokenSize)
} }
if (attribute == 1337) { if (attribute == 1337) {
if (value.startsWith(QLatin1String("ReportCellSize"))) {
iTermReportCellSize();
return;
}
if (!value.startsWith(QLatin1String("File="))) { if (!value.startsWith(QLatin1String("File="))) {
return; return;
} }
@ -1581,6 +1585,17 @@ void Vt102Emulation::reportPixelSize()
sendString(tmp); sendString(tmp);
} }
void Vt102Emulation::iTermReportCellSize()
{
char tmp[50];
snprintf(tmp,
sizeof(tmp),
"\033]1337;ReportCellSize=%d.0;%d.0;1.0\007",
_currentScreen->currentTerminalDisplay()->terminalFont()->fontHeight(),
_currentScreen->currentTerminalDisplay()->terminalFont()->fontWidth());
sendString(tmp);
}
void Vt102Emulation::reportCellSize() void Vt102Emulation::reportCellSize()
{ {
char tmp[30]; char tmp[30];

@ -163,6 +163,7 @@ private:
void reportCursorPosition(); void reportCursorPosition();
void reportPixelSize(); void reportPixelSize();
void reportCellSize(); void reportCellSize();
void iTermReportCellSize();
void reportSize(); void reportSize();
void reportColor(int c, QColor color); void reportColor(int c, QColor color);
void reportTerminalParms(int p); void reportTerminalParms(int p);

Loading…
Cancel
Save