* CSI ? Pm l * DEC Private Mode Reset (DECRST). * Ps = 1 -> Normal Cursor Keys (DECCKM). * Ps = 2 -> Designate VT52 mode (DECANM). * Ps = 3 -> 80 Column Mode (DECCOLM). * Ps = 4 -> Jump (Fast) Scroll (DECSCLM). * Ps = 5 -> Normal Video (DECSCNM). *
(params: IParams)
| 2123 | * FIXME: DECCOLM is currently broken (already fixed in window options PR) |
| 2124 | */ |
| 2125 | public resetModePrivate(params: IParams): boolean { |
| 2126 | for (let i = 0; i < params.length; i++) { |
| 2127 | switch (params.params[i]) { |
| 2128 | case 1: |
| 2129 | this._coreService.decPrivateModes.applicationCursorKeys = false; |
| 2130 | break; |
| 2131 | case 3: |
| 2132 | /** |
| 2133 | * DECCOLM - 80 column mode. |
| 2134 | * This is only active if 'SetWinLines' (24) is enabled |
| 2135 | * through `options.windowsOptions`. |
| 2136 | */ |
| 2137 | if (this._optionsService.rawOptions.windowOptions.setWinLines) { |
| 2138 | this._bufferService.resize(80, this._bufferService.rows); |
| 2139 | this._onRequestReset.fire(); |
| 2140 | } |
| 2141 | break; |
| 2142 | case 6: |
| 2143 | this._coreService.decPrivateModes.origin = false; |
| 2144 | this._setCursor(0, 0); |
| 2145 | break; |
| 2146 | case 7: |
| 2147 | this._coreService.decPrivateModes.wraparound = false; |
| 2148 | break; |
| 2149 | case 12: |
| 2150 | this._optionsService.options.cursorBlink = false; |
| 2151 | break; |
| 2152 | case 45: |
| 2153 | this._coreService.decPrivateModes.reverseWraparound = false; |
| 2154 | break; |
| 2155 | case 66: |
| 2156 | this._logService.debug('Switching back to normal keypad.'); |
| 2157 | this._coreService.decPrivateModes.applicationKeypad = false; |
| 2158 | this._onRequestSyncScrollBar.fire(); |
| 2159 | break; |
| 2160 | case 9: // X10 Mouse |
| 2161 | case 1000: // vt200 mouse |
| 2162 | case 1002: // button event mouse |
| 2163 | case 1003: // any event mouse |
| 2164 | this._coreMouseService.activeProtocol = 'NONE'; |
| 2165 | break; |
| 2166 | case 1004: // send focusin/focusout events |
| 2167 | this._coreService.decPrivateModes.sendFocus = false; |
| 2168 | break; |
| 2169 | case 1005: // utf8 ext mode mouse - removed in #2507 |
| 2170 | this._logService.debug('DECRST 1005 not supported (see #2507)'); |
| 2171 | break; |
| 2172 | case 1006: // sgr ext mode mouse |
| 2173 | this._coreMouseService.activeEncoding = 'DEFAULT'; |
| 2174 | break; |
| 2175 | case 1015: // urxvt ext mode mouse - removed in #2507 |
| 2176 | this._logService.debug('DECRST 1015 not supported (see #2507)'); |
| 2177 | break; |
| 2178 | case 1016: // sgr pixels mode mouse |
| 2179 | this._coreMouseService.activeEncoding = 'DEFAULT'; |
| 2180 | break; |
| 2181 | case 25: // hide cursor |
| 2182 | this._coreService.isCursorHidden = true; |
no test coverage detected