Kovid Goyal
8dea5b3e3e
Reduce data sent to GPU per draw by 30%
...
Split up the Cell structure into a CPUCell and a GPUCell. Only the
GPUCell part needs to be sent to the GPU. Should make kitty use even
less system resources and make a performance difference on systems where
the GPU bandwidth is constrained.
Also allows adding more CPU only data in the future without affecting
GPU bandwidth. For example, hyperlinks or more combining characters.
2018-05-27 21:25:09 +05:30
Kovid Goyal
bb06bfa627
Cleanup the as_text_generic macro
...
Also allow adding a \r at the end of each visual line
2018-05-18 23:06:06 +05:30
Kovid Goyal
3f316c39d1
Dynamically allocate the scrollback history buffer
...
Reduces startup memory consumption when using very large scrollback
buffer sizes.
2018-05-03 15:17:02 +05:30
Kovid Goyal
16e77d7329
Replace use of PyObject_Str in a couple more places
2018-03-16 21:26:46 +05:30
Kovid Goyal
527255e3a1
Fix compilation with gcc 8
...
Apparently some nitwit Linux distros have made an unreleased compiler
their default compiler. Fixes #376
Fixes various new warnings that GCC 8 issues
2018-03-12 10:38:12 +05:30
Kovid Goyal
9c21610215
Use a single generic function to get text and ANSI representations of all buffers
2018-02-14 20:38:53 +05:30
Kovid Goyal
2ee9844c2b
Track cursor position explicitly during rewrap
...
Instead of using heuristics to position the cursor after a resize, track
the position during re-wrapping and place the cursor at the re-wrapped
position. Fixes #242 (I hope)
2018-02-02 13:06:18 +05:30
Kovid Goyal
1ef010689d
Add support for clearing the scrollback buffer
...
kitty now supports using \E3J to clear the screen and scrollback buffer.
See #268
2018-01-06 23:55:49 +05:30
Kovid Goyal
0fcce6ec58
Remove trailing whitespace from native code files
2017-12-20 08:44:47 +05:30
Kovid Goyal
79d8c04b00
Hook up render_line
2017-11-09 16:55:45 +05:30
Kovid Goyal
6c838bbc28
Implement dirty line tracking
2017-11-09 16:55:45 +05:30
Kovid Goyal
0277be5856
Track line dirty status in the line buffer
2017-11-09 16:55:45 +05:30
Kovid Goyal
f25d2ea540
Rip out the old sprite update code
2017-11-09 16:45:45 +05:30
Kovid Goyal
21ed07d7ce
Ensure python type objects are declared in onlya single unit
2017-11-01 13:14:50 +05:30
Kovid Goyal
3ca45ab241
Fix cursor moving one line up when resizing
2017-09-20 10:59:31 +05:30
Kovid Goyal
f655112bda
Directly copy the sprite positions into the GPU buffer
2017-09-15 10:45:15 +05:30
Kovid Goyal
e8b5a72c96
Remove GIL management code since it is no longer needed
2017-09-15 10:45:11 +05:30
Kovid Goyal
bab4680828
...
2017-09-15 10:45:08 +05:30
Kovid Goyal
564010c7cd
Migrate history.c
2017-09-15 10:45:08 +05:30
Kovid Goyal
4fd8c7cfaa
DRYer
2017-09-15 10:45:08 +05:30
Kovid Goyal
788f09e855
Use a special test launcher that links the sanitize runtime library directly
2017-05-15 12:07:36 +05:30
Kovid Goyal
59ac12570c
Fix unaligned read/writes in the History buffer
2017-05-15 12:06:06 +05:30
Kovid Goyal
69b187a743
Split up the color field into fg/bg colors
...
Avoid a lot of unnecessary masking as well as unaligned read/writes
2017-05-15 12:06:06 +05:30
Kovid Goyal
b6c639c487
Fix incorrect handling of trailing whitespace for lines in the history buffer when resizing
2016-12-11 14:48:00 +05:30
Kovid Goyal
a7fce9353a
Fix an off-by-one error when scrolling back
2016-12-10 14:18:27 +05:30
Kovid Goyal
ae3f555f51
HistoryBuf.as_ansi()
2016-12-09 19:39:20 +05:30
Kovid Goyal
b426210e38
Implement keyboard shortcuts for scrolling
2016-11-21 20:48:51 +05:30
Kovid Goyal
7b1591113a
Basic tests for HistoryBuf.rewrap
2016-11-20 22:40:43 +05:30
Kovid Goyal
5dccb91996
Make the rewrap algorithm re-useable for rewrapping of HistoryBuf as well
2016-11-20 22:22:39 +05:30
Kovid Goyal
776224378d
Basic tests for HistoryBuf
2016-11-20 20:40:10 +05:30
Kovid Goyal
0b0a216856
Use HistoryBuf (still need to implement rewrap)
2016-11-20 20:20:14 +05:30
Kovid Goyal
91a68f0089
...
2016-11-20 13:56:02 +05:30
Kovid Goyal
3a9f540f52
Start work on HistoryBuf
2016-11-20 13:55:19 +05:30