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
b00cd5cbc3
Match save/restore cursor behavior of other terms
...
For the sake of interoperability. This means that doing a DECRC without
a prior DECSC is now undefined. However, one can now issue multiple
DECRC for a single DECSC. Fixes #1264
2020-12-01 17:55:17 +05:30
Kovid Goyal
a78515e5bf
Remove the max size limit for line_as_ansi
...
Needed for output of hyperlinks, also more efficient, since avoids
malloc per line. Also fix pagerhist not having SGR reset at the start of
every line.
2020-09-20 11:26:59 +05:30
Kovid Goyal
4a75952fc7
Implement marking of hyperlinks
2020-09-10 10:47:27 +05:30
Kovid Goyal
00ea189074
Infrastructure to support multiple selection ranges
...
Needed for hyperlinks, that can be discontinuous
2020-09-10 10:47:27 +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
9a54da84dc
Add a setting tab_activity_symbol
...
Fixes #2515
2020-09-08 21:54:56 +05:30
Kovid Goyal
5937892ebc
Move focus tracking into the Screen object
2020-09-07 09:31:44 +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
1af426bf84
Add support for legacy DECSET codes 47, 1047 and 1048
...
Fixes #2871
2020-07-22 09:00:51 +05:30
Kovid Goyal
7824739034
Ensure selection GPU buffer is refreshed after a resize
...
Fixes #2747 (I hope since I cannot reproduce)
2020-06-13 22:59:46 +05:30
Andrew Mayorov
9fe631ee3f
Provide support for CSI REP control code
2020-05-29 01:05:49 +03:00
Kovid Goyal
3bff3bcbe4
Fix selection not updating properly while scrolling
...
Fixes #2442
2020-03-18 18:48:59 +05:30
Kovid Goyal
e84163e838
Remove unused code
2020-02-26 07:31:43 +05:30
Kovid Goyal
3a64b835fb
DRYer
2020-02-26 07:28:39 +05:30
Kovid Goyal
c4b2de8939
Refactor function to not combine input and output parameters
2020-02-25 21:49:31 +05:30
Kovid Goyal
1690e6933f
Clean up handling of scrolling in selections
2020-02-25 20:03:14 +05:30
Kovid Goyal
5bbc15583e
Non-scrolling based selection tests all pass
2020-02-25 20:03:14 +05:30
Kovid Goyal
9c486f6e69
Track left to right for selections based on actual mouse positions
...
Cant use the selection boundaries as these can be programmatically
altered when extending selection by word or line.
2020-02-25 20:03:14 +05:30
Kovid Goyal
6b1ea326a0
Initial implementation of half cell based selection
2020-02-25 20:03:14 +05:30
Kovid Goyal
6f1fda0a48
Store cell half information in selection objects
2020-02-18 17:45:07 +05:30
Kovid Goyal
35fb702833
Use only a single marker function
...
Multipe colors/expressions can instead be combined at definition time
2020-01-13 11:57:19 +05:30
Kovid Goyal
23bc2171c9
Avoid a double call for mark functions
2020-01-13 06:50:36 +05:30
Kovid Goyal
0b3602f764
Code to add markers to Screen
2020-01-13 06:50:36 +05:30
Kovid Goyal
652eec3033
Fix a crash/incorrect rendering when detaching a window in some circumstances
...
Fixes #2173
Ensure all cell related GPU data is resent
2019-11-28 09:01:40 +05:30
Luflosi
3750d70173
Store pending_scroll_pixels for every screen
...
Scrolling in one screen shouldn't affect the `pending_scroll_pixels` for another screen in the same OS window.
2019-10-20 13:22:46 +02: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
9849a69afd
Allow extending word selections to non-word chars
2019-05-16 20:20:03 +05:30
Kovid Goyal
6037167336
Allow controlling the ligature strategy dynamically, per window
...
Fixes #1574
2019-04-27 22:05:33 +05:30
Kovid Goyal
be7a4a5868
Add an option :opt:disable_ligatures_under_cursor to disable multi-character ligatures under the cursor to make editing easier
...
Fixes #461
2019-03-20 16:28:27 +05:30
Luflosi
999a6a288c
Do not render ligatures under cursor
2019-03-20 01:35:03 +01:00
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
6ed9dccde2
Remove unused parameter
2018-07-24 13:51:45 +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
5b1eaa741c
IME input: Show the pre-edit text while the IME is in progress
...
Text is show in reverse video
2018-07-12 18:18:21 +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
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
df9eab279a
Implement changing the font size for individual top level (OS) windows
2018-05-27 12:37:49 +05:30
Kovid Goyal
523aadaa3b
Refactor font group handling
...
Allow kitty to manage multiple groups of fonts with different cell
sizes. Will eventually allow kitty to have different font sizes/dpi per
OSWindow
2018-05-27 12:37:05 +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
ba9af3df8c
Fix moving cursor outside a defined page area incorrectly causing the cursor to be placed inside the page area. Caused incorrect rendering in neovim, which relies on this behavior.
...
Fixes #542
2018-05-19 08:04:37 +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
Kovid Goyal
e90df0ca95
When double-clicking select words that continue onto next/prev line as well. Fixes #444
2018-04-09 09:47:18 +05:30
Kovid Goyal
90cc785b55
Allow double-click and triple-click + drag to extend selections word at a time or line at a time. Fixes #400
2018-03-26 16:48:28 +05:30
Kovid Goyal
09710425ab
Move rectangle_select onto the selection object
2018-03-26 12:37:36 +05:30