Kovid Goyal
5768c54c5b
Add support for pending mode via SM/RM 2026
...
Because, why the hell not, it's not like I have an actual life.
More seriously, terminal-wg (aka Bikeshedder's Anonymous) is
pushing for it so it's likely at least one poor application writer
will fall for their propaganda.
2021-06-29 12:24:34 +05:30
Kovid Goyal
057084a708
Add support for XTVERSION version reporting escape code
2021-06-14 10:20:50 +05:30
Kovid Goyal
4d0d0b205d
Improve parser error messages a bit
2021-05-17 21:29:54 +05:30
Kovid Goyal
abb05f4883
...
2021-05-10 07:16:43 +05:30
Kovid Goyal
053c2ed2b9
Make pow10_array const
2021-05-10 07:16:43 +05:30
Kovid Goyal
b32c346eed
A new protocol extension to unscroll the screen
...
See https://gitlab.freedesktop.org/terminal-wg/specifications/-/issues/30
2021-04-23 15:44:38 +05:30
Kovid Goyal
b16317e2ca
Silence spurious compiler warning
2021-04-19 13:27:17 +05:30
Kovid Goyal
6179cfc670
Abort parsing of APC and PM escape codes on 0x00 and 0x7f
...
Correct as per ECMA-48 section 8.3 and matches parsing of other escape
codes
2021-04-15 12:57:58 +05:30
Kovid Goyal
d360d077d1
Handle the XTMODKEYS escape code
...
Treat the XTerm specific modifyOtherKeys escape codes as putting the
disambiguate mode on/off the stack. The escape code causes XTerm to use
a (broken, naturally) variant of CSI u encoding for many keys, so we
treat it as going into the disambiguate mode.
2021-03-16 17:46:11 +05:30
Kovid Goyal
ac2a33d09f
Silence the errors about OSC 7
...
Up to now this poorly designed and completely unnecessary escape code
was relegated to only GNOME, however, off late Apple has started using
it as well, so silently ignore it, instead of spamming error messages
for it.
2021-01-29 12:43:41 +05:30
Kovid Goyal
2ee1a366fd
Also assert non-negative params for SET_MODE
2021-01-21 07:21:23 +05:30
Kovid Goyal
f9844ba3b0
Allow negative numbers in CSI codes
2021-01-21 07:06:43 +05:30
Kovid Goyal
7cea233de3
- is not a CSI start modifier
2021-01-21 06:44:18 +05:30
Kovid Goyal
e4d8aac3d5
Make CSI parsing a bit more spec compliant
...
Now the full list of secondary characters (intermediate bytes) is used from ECMA 48
Also the codes that accept only one parameter now report errors when
multiple parameters are passed.
2021-01-21 06:41:27 +05:30
Kovid Goyal
a30ea2b7f8
Implement progressive enhancement of key event reporting
2021-01-16 20:52:12 +05:30
Kovid Goyal
b3ed4c3f40
Simplify implementation of REP
...
Also make it align more with the standard by using the actual last drawn
graphics character rather than the character before the cursor
2021-01-03 04:38:02 +05:30
Kovid Goyal
5f8dee8384
Add support for the color settings stack that XTerm copied from us without acknowledgement and decided to use incompatible escape codes for.
...
Completely in keeping with that project's past behavior.
See https://github.com/kovidgoyal/kitty/issues/879
XTerm announcement:
https://www.mail-archive.com/xorg@lists.x.org/msg06419.html
2020-12-21 21:39:05 +05:30
Kovid Goyal
e97f1a4310
Have the save/restore colors escape codes also save restore the ANSI color table
2020-12-21 19:38:03 +05:30
Kovid Goyal
19870983ca
Allow specifying text formatting in tab_title_template
...
Fixes #3146
2020-12-08 21:42:40 +05:30
Kovid Goyal
33beecddda
Implement storage of URLs in a hash map
2020-09-10 10:47:27 +05:30
Kovid Goyal
e99d93ca30
Implement parsing of OSC 8
...
Also start work on storing hyperlinks with cells
2020-09-10 10:47:24 +05:30
Kovid Goyal
601d37aa3d
Avoid malloc+copy for unknown OSC codes
2020-08-24 20:14:16 +05:30
Kovid Goyal
eca53bfab0
Add a new escape code to allow terminal programs to trigger desktop notifications
...
Fixes #1474
2020-08-21 20:29:54 +05:30
Kovid Goyal
a083aa04b2
vim also produces CSI > 4;m ignore that as well
2020-07-24 19:19:18 +05:30
Kovid Goyal
9f28dd61d3
Silence a spurious code scanning warning
...
I hope it silences it anyway
2020-07-07 09:31:00 +05:30
Kovid Goyal
025f6d7701
Add keypad mode support to replay commands
...
Also name the constants correctly
2020-06-29 12:46:34 +05:30
Kovid Goyal
d675977f10
Better error message for xterm specific key resource CSI codes that vim has started emitting
2020-06-25 23:07:34 +05:30
Kovid Goyal
7ef911e17d
Fix #2798
2020-06-25 21:43:54 +05:30
Kovid Goyal
7525e152b8
Make comment a bit better
2020-06-15 06:55:52 +05:30
Kovid Goyal
bc9dfec615
Fix #2764
2020-06-15 06:53:35 +05:30
Andrew Mayorov
9fe631ee3f
Provide support for CSI REP control code
2020-05-29 01:05:49 +03:00
Luflosi
f3b9ff5f9f
Use datatype monotonic_t instead of double to keep track of time
...
The time is stored in a signed 64 bit integer with nanosecond accuracy. This eliminates the possibility of floating-point inaccuracies.
`monotonic_t` can currently hold values large enough to work correctly for more than 200 years into the future.
Using a typedef instead of directly using `int64_t` everywhere will also allow easily changing the datatype in the future should the need arise for more precise or bigger time values.
2019-09-25 17:43:11 +02:00
Kovid Goyal
6a31909557
Make the MIN and MAX macros typesafe
2019-07-01 17:03:47 +05:30
Kovid Goyal
428c600788
When parsing CSI codes allow - as a primary modifier
...
Fixes #1438
2019-03-08 09:58:18 +05:30
Kovid Goyal
e33af8b2f8
Fix #1423
2019-02-26 06:56:25 +05:30
Kovid Goyal
de130787f6
Make the charsets code useable in kittens
2019-01-23 11:33:45 +05:30
Kovid Goyal
db1e48848d
More robust no modifier check for CSI parsing
2018-11-19 09:53:01 +05:30
Kovid Goyal
c02fa79591
Fix #1153
2018-11-19 09:35:46 +05:30
Kovid Goyal
b891f4f874
Better error message for attempts to use CSI codes to resize the window
...
nvim does this for some odd reason
2018-08-29 10:09:06 +05:30
Kovid Goyal
3067103b18
Implement window title stack
...
Used by new versions of vim
2018-08-29 09:56:52 +05:30
Kovid Goyal
3df78de3f8
Update pending mode escape code parsing to match latest shed color
2018-07-28 10:56:34 +05:30
Kovid Goyal
f84cb2f07a
...
2018-07-24 09:32:21 +05:30
Kovid Goyal
e0ff6bcc5d
Implement protocol for atomic screen updates
...
See https://gitlab.com/gnachman/iterm2/wikis/synchronized-updates-spec
2018-07-23 13:24:49 +05:30
Kovid Goyal
af9f7bb0d2
Generate the code to parse APC escape codes
...
Allows it to be re-used for other APC codes
if needed.
2018-07-19 18:43:26 +05:30
Kovid Goyal
6f7ea49008
Switch to high number OSC codes instead of DCS string codes for dynamic color push/pop
2018-06-15 15:21:46 +05:30
Kovid Goyal
82f9f002bd
diff kitten: Fix default foreground/background colors not being restored when kitten quits. Fixes #637
2018-06-14 23:25:13 +05:30
Kovid Goyal
138b4cf5da
Fix build breakage caused by FreeBSD support
...
Also move the changes to the glfw files to glfw.py
2018-06-03 09:17:18 +05:30
Kovid Goyal
dd20789249
Add support for the CSI t escape code to query window and cell sizes
2018-05-28 13:47:42 +05:30
Kovid Goyal
fb57653665
Make debugging kittens a little nicer
...
Now debug() writes to the stderr of the parent kitty process instead of
a temp file.
2018-05-19 16:32:08 +05:30
Kovid Goyal
889ca77912
Allow programs running in kitty to read/write from the clipboard
...
By default only writing is allowed. There is a config option to enable
reading, if needed.
2018-05-07 09:57:39 +05:30