Kovid Goyal
b2a4db2028
Revert metadata row for sprites
...
Store in a separate VAO instead more performant as it uses less VRAM and
allows shader lookup co-ords to be passed to fragment shaders without
calculation in the fragment shader.
2025-02-03 10:56:45 +05:30
Kovid Goyal
9e9ab3e6f9
pass decorations location as sprite metadata
2025-02-03 10:56:45 +05:30
Kovid Goyal
5d195bf50b
Give sprites a metadata row accessible in the shaders
...
Will allow sprites to point to where their decorations should be read
from, for instance. Needed for scaled text and also if we want to
implement decoration avoidance.
2025-02-03 10:56:45 +05:30
Kovid Goyal
0fb49f4139
Switch to using an index for sprite tracking
...
Frees up two bytes in GPUCell. Doesn't require a minimum texture row
size. Makes a bunch of code faster. Index uses 31 bits which gives us
2,147,483,647 aka ~ 2 billion sprites.
2025-02-03 10:56:45 +05:30
Kovid Goyal
87dea95a0e
Fix rendering of scaled emoji
2025-02-03 10:56:45 +05:30
Kovid Goyal
27bcd96071
Tests for combining char on multicell
2025-02-03 10:56:45 +05:30
Kovid Goyal
06c428ba7b
Fix drawing multiple chars where the second or later char is on a multicell
2025-02-03 10:56:45 +05:30
Kovid Goyal
4a0086b241
Fix vertical_align serialization
2025-02-03 10:56:45 +05:30
Kovid Goyal
5c2c88858b
Implement reporting of multicell commands
2025-02-03 10:56:45 +05:30
Kovid Goyal
1aec299ad8
...
2025-02-03 10:56:45 +05:30
Kovid Goyal
42e93d8caa
More work on scaled font rendering
2025-02-03 10:56:44 +05:30
Kovid Goyal
3dca2687d8
Make font rendering tests use a text font rather than system font
2025-02-03 10:56:44 +05:30
Kovid Goyal
850dcec4d7
Allow multiple box rendering chars per cell
2025-02-03 10:56:44 +05:30
Kovid Goyal
073d5c7340
Add test for quarter blocks
2025-02-03 10:56:44 +05:30
Kovid Goyal
8030cbd361
Allow more subscales
2025-02-03 10:56:44 +05:30
Kovid Goyal
b1c80d212f
Allow non-width multicell code to fill multiple cells using native width algo
2025-02-03 10:56:44 +05:30
Kovid Goyal
844d538e40
When drawing text, skip past multiline chars
2025-02-03 10:56:44 +05:30
Kovid Goyal
79a062466c
Fix render_box_cell test with odd block height
2025-02-03 10:56:44 +05:30
Kovid Goyal
35946f9386
Improve performance of processing wide chars
...
Store multi cell data in the CPUCell rather than in TextCache.
This sends the CPUCell size back to 12 but in benchmarks ASCII
performance is untouched and Unicode performace goes back to what it was
before multicell
2025-02-03 10:56:44 +05:30
Kovid Goyal
383e1f8f57
Work on scaled rendering for box drawing chars
2025-02-03 10:56:43 +05:30
Kovid Goyal
394404a1ab
Add multicell tests for various edit operations
2025-02-03 10:56:43 +05:30
Kovid Goyal
e10df382f8
Tests for erasing characters
2025-02-03 10:56:43 +05:30
Kovid Goyal
8f0d291500
Delete chars with multicell tests
2025-02-03 10:56:43 +05:30
Kovid Goyal
23bb053fb4
Insert chars with multicell tests
2025-02-03 10:56:43 +05:30
Kovid Goyal
1ed4a349be
Clearance of multicell tests
2025-02-03 10:56:43 +05:30
Kovid Goyal
5e861ea5ac
Start work on testing multicell commands
2025-02-03 10:56:43 +05:30
Kovid Goyal
b5dff921c4
Start work on multicell support
2025-02-03 10:56:43 +05:30
Kovid Goyal
4f0f9b9aff
Fix #8262
2025-01-27 21:13:45 +05:30
Kovid Goyal
d7ce3eb66e
Keyboard events: Fix turning on only the "Report all keys as escape codes" enhancement not reporting modifier+enter/tab/backspace using escape codes
2025-01-12 19:11:19 +05:30
Kovid Goyal
1eeea70c7a
Allow dynamically generating configuration by running an arbitrary program using the new geninclude directive
2025-01-06 19:00:01 +05:30
Kovid Goyal
334adf9c1a
Ensure temp files and other resources are cleaned up even if kitty crashes or is SIGKILLed
2025-01-05 12:51:59 +05:30
Kovid Goyal
25cb73511f
Implement atexit.rmtree
2025-01-05 11:04:23 +05:30
Kovid Goyal
0d5bcff353
Tool to implement robust cleanups even on process crash
2025-01-05 10:50:50 +05:30
Kovid Goyal
dd249df5eb
Dont encode enter, tab and backspace when lock mods are set
...
Otherwise user cant type reset when num lock is set.
2025-01-01 06:10:47 +05:30
Kovid Goyal
909bccb807
When mapping a custom kitten allow using shell escaping for the kitten path
...
Fixes #8178
2024-12-31 12:13:17 +05:30
Kovid Goyal
24a195c7c7
Graphics: Fix deletion of images by id not working for images with no placements
2024-12-24 09:39:01 +05:30
Kovid Goyal
8facaf4fa0
Graphics: Fix deleted but not freed images without any references being incorrectly freed on a subsequent delete command
2024-12-18 09:25:06 +05:30
Kovid Goyal
33207a57ba
Add tests for consecutive conflicting variation selectors
2024-12-05 19:21:00 +05:30
Kovid Goyal
a4d2d933c9
Fix #8103
2024-12-05 19:19:15 +05:30
Kovid Goyal
8e388acab7
Add some cursor tracking tests
2024-11-27 20:33:56 +05:30
Kovid Goyal
778344a439
Fix enlarging window when a long line is wrapped between the first line of the scrollback buffer and the screen inserting a spurious newline
...
Fixes #7033
2024-11-27 20:08:27 +05:30
Kovid Goyal
cb2e1fcd04
Graphics protocol: Fix delete by number not deleting newest image with the specified number
...
Fixes #8071
2024-11-24 10:11:34 +05:30
Kovid Goyal
0eaf44d33d
Add tests for strip_csi with multibyte
2024-11-24 09:28:21 +05:30
Kovid Goyal
97e4625a82
...
2024-11-12 09:29:17 +05:30
Kovid Goyal
6d5a2b8ecd
Add a test that exercises the text_cache in Line code path
2024-11-12 09:16:45 +05:30
Kovid Goyal
5e36e0a324
Fix text_at
2024-11-04 09:10:07 +05:30
Kovid Goyal
30f4441fe5
Fix line_as_ansi
2024-11-04 09:10:07 +05:30
Kovid Goyal
bbd2df7e4d
Nicer error message on I/O error with child over pty
2024-10-29 06:01:35 +05:30
Kovid Goyal
002d0a0403
Preserve trailing blank line on resize always
...
No sense in restricting it to just lines marked as output and only on
main screen.
2024-10-19 14:15:45 +05:30
Kovid Goyal
66251f8fd5
Add test for previous bugfix
...
main screen should have trailing output line preserved when resized on alt screen
2024-10-19 14:02:06 +05:30