Commit Graph
86 Commits
Author SHA1 Message Date
Kovid Goyal af8d44ecab Refactor screen mode API to use get/setters 2017-01-04 10:24:00 +05:30
Kovid Goyal b4af2ff314 The cursor visible (DECTCEM) property should be global, not affected by save/restore of cursor or alternate screens 2017-01-04 10:02:39 +05:30
Kovid Goyal 7c76e907c2 When switching to alternate screen always reset cursor 2017-01-04 08:58:49 +05:30
Kovid Goyal 4ccb05d3d3 Also save DECTCEM when saving cursor 2017-01-04 08:29:33 +05:30
Kovid Goyal 5b9aadd135 Simplify conditional 2017-01-04 08:14:47 +05:30
Kovid Goyal 9e2653a55a Clear the alternate screen when switching to it 2016-12-29 16:40:46 +05:30
Kovid Goyal 39e770a670 Fix cursor position being rendered incorrectly after screen resize 2016-12-18 21:06:54 +05:30
Kovid Goyal c323e5372c Fix a memory leak when deleting screens
The HistoryBuf object was not being de-allocated
2016-12-18 14:04:42 +05:30
Kovid Goyal 3e1dac97ad Fix a couple of out of bounds memory reads 2016-12-18 13:58:01 +05:30
Kovid Goyal 3c9d4dfb90 Fix designate_charset without change_charset not taking effect 2016-12-13 12:43:20 +05:30
Kovid Goyal 0797f159ad Only move the cursor a line down on resize if the cursor line was split 2016-12-12 12:44:33 +05:30
Kovid Goyal e3ba45d903 Ensure cursor x-coord is correct on resize 2016-12-11 11:48:46 +05:30
Kovid Goyal a7fce9353a Fix an off-by-one error when scrolling back 2016-12-10 14:18:27 +05:30
Kovid Goyal 25aaf4331a Add control code for resetting underline color to default 2016-12-08 18:34:02 +05:30
Kovid Goyal 6e5ceb63f4 Implement escape codes for setting underline color and underline style
\E[6m for underline style = curl
\E[58<color spec>m for underline color

<color spec> can be one of 5;i where 0 <= i < 256
or 2;r;g;b where 0 <= r,g,b < 256
2016-12-05 11:03:02 +05:30
Kovid Goyal 7afbfb8349 Reset scroll when toggling screen buffers 2016-12-02 14:35:38 +05:30
Kovid Goyal d3fd0646fb Implement the mouse tracking protocol 2016-12-02 14:23:38 +05:30
Kovid Goyal 02fec34629 ... 2016-12-01 11:31:06 +05:30
Kovid Goyal 489504cda5 More charset fixes
Properly use the G0/G1 charsets only to map characters being drawn to
the screen. And only decode bytes using either Latin-1 or UTF-8,
defaulting to UTF-8 at startup/reset.
2016-11-30 23:36:10 +05:30
Kovid Goyal 9e68cc559a Implement CBT 2016-11-30 21:50:54 +05:30
Kovid Goyal b343625b9f Add a simple test for SGR 2016-11-30 21:16:04 +05:30
Kovid Goyal ce1514963b Various charset related fixes
Fix changing of charset not taking effect immediately while parsing a
single block of bytes

Fix incorrect mapping of C0 control codes in some of the charsets
2016-11-30 19:44:41 +05:30
Kovid Goyal c713712f89 Restore support for charsets other than UTF-8 2016-11-30 17:48:52 +05:30
Kovid Goyal 95d3f20832 Do not ignore CUP when y is out of margins, instead clamp to margins 2016-11-30 14:58:34 +05:30
Kovid Goyal 7bf15a0f29 Also save/restore DESCNM state 2016-11-30 11:25:59 +05:30
Kovid Goyal f71e266764 Implement reverse video and DECSCNM 2016-11-30 11:12:34 +05:30
Kovid Goyal f0b1af964b Fix clearing of tab stops 2016-11-30 10:21:37 +05:30
Kovid Goyal eb3bf71ef7 ... 2016-11-30 09:46:33 +05:30
Kovid Goyal 5e8cec0842 DRYer 2016-11-30 09:44:28 +05:30
Kovid Goyal df704c87c7 Wrap the tab related functions 2016-11-30 09:29:29 +05:30
Kovid Goyal d132ba5a48 Implement DECALN 2016-11-30 08:34:02 +05:30
Kovid Goyal f25b2d241f Support for turning off auto-repeat 2016-11-30 08:03:29 +05:30
Kovid Goyal 2ecc98cdd0 Fix screen not being redrawn after resize 2016-11-29 13:20:48 +05:30
Kovid Goyal f4e3fbcb2e Implement rendering of selections 2016-11-29 09:45:14 +05:30
Kovid Goyal b5000c2ec0 Refactor to support multiple windows/tabs 2016-11-26 17:40:28 +05:30
Kovid Goyal 0ad81ae6fe Also allow all mouse motion tracking mode 2016-11-25 08:38:22 +05:30
Kovid Goyal 4f5daa94d0 Clean up the mode handling code 2016-11-24 21:18:04 +05:30
Kovid Goyal d6782d002b A nicer method name 2016-11-24 20:14:31 +05:30
Kovid Goyal fc0e785322 Use a different set of tabstops for the alt screen 2016-11-24 19:49:23 +05:30
Kovid Goyal 9a0f057012 Fix crash caused by incorrect re-allocation of tabstops on resize 2016-11-24 16:39:47 +05:30
Kovid Goyal abd09464f0 Implement control code to change colors 2016-11-24 16:28:08 +05:30
Kovid Goyal 3031d41e72 Start work on supporting changing of entries in the color table 2016-11-24 15:28:52 +05:30
Kovid Goyal 2e3e6d331d Parse DCS+q 2016-11-24 08:14:29 +05:30
Kovid Goyal 2c3893d8a4 Port parsing of CSI codes 2016-11-23 20:23:37 +05:30
Kovid Goyal ce8db74154 Port OSC parsing 2016-11-23 17:25:38 +05:30
Kovid Goyal f14e7037e2 Start work on dumping non-UTF-8 charset support 2016-11-23 15:33:08 +05:30
Kovid Goyal a0df10d0c2 Start work on handling DCS 2016-11-23 11:08:35 +05:30
Kovid Goyal aca53d4e2b Rendering of underline/strikethrough 2016-11-23 09:01:07 +05:30
Kovid Goyal b426210e38 Implement keyboard shortcuts for scrolling 2016-11-21 20:48:51 +05:30
Kovid Goyal 992aaf96d5 Show a wide cursor when over a wide character 2016-11-21 14:30:08 +05:30