Commit graph

219 commits

Author SHA1 Message Date
Kovid Goyal
664975b707
Show off kitty's graphics capabilities 2017-10-05 16:49:34 +05:30
Kovid Goyal
c3ab6ff780
Fix vertically inverted rendering of PNG 2017-10-04 23:38:36 +05:30
Kovid Goyal
46bb482e96
Fix y-axis mapping incorrect for images 2017-10-04 19:34:34 +05:30
Kovid Goyal
1a8d9314fe
Fix transmission of chunked compressed data 2017-10-04 10:19:25 +05:30
Kovid Goyal
c87dcdbe3c
Tests for displaying graphics 2017-10-03 16:10:04 +05:30
Kovid Goyal
3cbc20005b
Implement sending of image data to GPU 2017-10-01 09:04:46 +05:30
Kovid Goyal
28ae99ed37
More work on displaying images 2017-09-30 14:46:17 +05:30
Kovid Goyal
4f98d10caa
Remove the requirement to specify sizes for PNG files 2017-09-30 13:51:52 +05:30
Kovid Goyal
933621b038
Better libpng error handling 2017-09-30 13:51:51 +05:30
Kovid Goyal
c31e608ff9
Tests for loading PNG images 2017-09-30 13:51:51 +05:30
Kovid Goyal
c01f009e42
Remove sz requirement and implement proper fix for failure to mmap shm objects on OS X. Apparently they have to be mapped shared. 2017-09-30 13:51:51 +05:30
Kovid Goyal
dbd7ec5b27
Allow specifying the offset and size for reading data from files
Also require size to be specified for SHM objects to support platforms
such as macOS that have no way to get the size from the fd.
2017-09-30 13:51:51 +05:30
Kovid Goyal
b644d4620a
OS X does not support write() with shared memory 2017-09-30 13:51:51 +05:30
Kovid Goyal
03dd6e0490
Test for image loading from shared memory 2017-09-30 13:51:50 +05:30
Kovid Goyal
dfca991173
Test for loading image data from file 2017-09-30 13:51:50 +05:30
Kovid Goyal
8e5c4b6f7a
Require data size to be sent for PNG format 2017-09-30 13:51:50 +05:30
Kovid Goyal
d0d769f26b
Test for zlib de-compression 2017-09-30 13:51:50 +05:30
Kovid Goyal
35acb1497a
Fix chunked loading of images 2017-09-30 13:51:50 +05:30
Kovid Goyal
8cd1f76d2b
Framework for testing loading of images 2017-09-30 13:51:50 +05:30
Kovid Goyal
f0ee728b94
Fix failing flake 2017-09-30 13:51:50 +05:30
Kovid Goyal
7da08d37d2
File to host graphics tests 2017-09-30 13:51:49 +05:30
Kovid Goyal
23c2bdb6f0
Dont silently wrap too large ids, instead ignore the graphics command 2017-09-30 13:51:49 +05:30
Kovid Goyal
7736629bc4
Fix graphics id not going upto UINT32_MAX 2017-09-30 13:51:49 +05:30
Kovid Goyal
204bd97198
Nicer error responses on bad graphics data 2017-09-30 13:51:49 +05:30
Kovid Goyal
66bce4b8cd
Code to read image data 2017-09-30 13:51:48 +05:30
Kovid Goyal
c567acb4e5
Work on loading images 2017-09-30 13:51:48 +05:30
Kovid Goyal
15e03f74f4
Also report the payload for graphics commands 2017-09-30 13:51:47 +05:30
Kovid Goyal
56c2e0c26a
Report incomplete graphics commands as parser errors 2017-09-30 13:51:47 +05:30
Kovid Goyal
83de392b39
... 2017-09-30 13:51:47 +05:30
Kovid Goyal
3c89f80603
More tests for the graphics control code parser 2017-09-30 13:51:47 +05:30
Kovid Goyal
8e64895c23
Framework for testing graphics command parsing 2017-09-30 13:51:47 +05:30
Kovid Goyal
b8d9629ee4
Start work on parsing of graphics escape code 2017-09-30 13:51:46 +05:30
Kovid Goyal
5b24d51fcd
Fix failing screen resize test
Take into account the index that now happens to ensure that
the cursor is on a new line.
2017-09-30 13:51:35 +05:30
Kovid Goyal
3ca45ab241
Fix cursor moving one line up when resizing 2017-09-20 10:59:31 +05:30
Kovid Goyal
bc1de92534
Fix the broken tests 2017-09-16 17:05:58 +05:30
Kovid Goyal
9cd146fe3e
Remove the buf_toggled callback 2017-09-16 16:31:29 +05:30
Kovid Goyal
c5e989bc94
Move the key handler to C 2017-09-15 21:46:00 +05:30
Kovid Goyal
464291bbb1
Port click on URL code to C 2017-09-15 10:45:27 +05:30
Kovid Goyal
271b623f82
More URL detection tests 2017-09-15 10:45:25 +05:30
Kovid Goyal
88d896e745
Move function to detect URLs into C code 2017-09-15 10:45:25 +05:30
Kovid Goyal
c683725434
Get rid of the timers infrastructure
It is not needed with a pure state machine.
Note that drag scrolling still has to be ported from using
timers.
2017-09-15 10:45:24 +05:30
Kovid Goyal
bc97cfa024
Use a null to represent a blank rather than a space
This has performance benefits when clearing (can use a single
memset). Also allows detecting trailing whitespace on lines correctly.
2017-09-15 10:45:16 +05:30
Kovid Goyal
029ff84f09
Remove the change tracker related tests
The change tracker no longer exists
2017-09-15 10:45:16 +05:30
Kovid Goyal
6127d2d122
Make the sprite map globally accessible from C code as well as python code
The lock was removed as the Python GIL is sufficient to serialize access
to the SpriteMap structure.
2017-09-15 10:45:10 +05:30
Kovid Goyal
a429bcbb22
Dont use the glfw timer function as it requires glfwInit 2017-09-15 10:45:07 +05:30
Kovid Goyal
08f336769f
Add tests for key mapping
Also fix Alt+Special keys no generating correct codes
2017-05-20 11:41:21 +05:30
Kovid Goyal
cd1ba334c1
Forgot to change test 2017-05-19 15:54:34 +05:30
Kovid Goyal
3f272d102b Test for toggling IUTF8 2017-04-28 09:41:47 +05:30
Kovid Goyal
898a8075be Fix #69 2017-04-28 08:31:07 +05:30
Kovid Goyal
01c289e440 Add ST test to OTH tests as well 2017-04-05 09:09:41 +05:30
Kovid Goyal
db2d14d9ed Fix backslashes in OSC codes not being parsed correctly
Fixes #61
2017-04-05 09:07:55 +05:30
Kovid Goyal
edab1aebaa Allow clients to query if the terminal emulator support styled underlines 2017-02-10 16:00:51 +05:30
Kovid Goyal
585a01fff6 Start out in normal key mode
Matches behavior of xterm
2017-02-05 16:39:40 +05:30
Kovid Goyal
bb7edb5f8f Implement DECRQM
Also add tests for DECRQM and DECCKM
2017-02-05 16:21:13 +05:30
Kovid Goyal
cc14562f2c Forgot the unicode version of APC and PM 2017-01-20 13:40:58 +05:30
Kovid Goyal
0612855c95 Ignore PM and APC control codes 2017-01-20 13:31:05 +05:30
Kovid Goyal
9c501b37ea Allow skipping of tests that depend on a modern wcwidth() via an env var 2017-01-10 13:52:15 +05:30
Kovid Goyal
2517e4a8a0 Expand the wcwidth test 2017-01-09 07:13:14 +05:30
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
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
271e3360ff Fix top lines appearing at bottom when resizing a screen that seen more lines than the number of lines available 2016-12-12 10:58:18 +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
ae3f555f51 HistoryBuf.as_ansi() 2016-12-09 19:39:20 +05:30
Kovid Goyal
471b36832e ... 2016-12-09 12:46:02 +05:30
Kovid Goyal
5a6ecbbf43 LineBuf.as_ansi() 2016-12-09 12:44:39 +05:30
Kovid Goyal
e3e3e86598 Code to get the ANSI representation of a line 2016-12-08 21:11:12 +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
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
45a5190a0d Handle CSI codes that start with a ; 2016-11-30 16:03:45 +05:30
Kovid Goyal
a095fffc67 Finish up the margins test 2016-11-30 15:12:00 +05:30
Kovid Goyal
2b39b3a053 Change tests now that we dont report ch number for simple commands 2016-11-30 15:06:17 +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
f0b1af964b Fix clearing of tab stops 2016-11-30 10:21:37 +05:30
Kovid Goyal
5b78769d28 Report unshifted mode numbers 2016-11-30 09:04:59 +05:30
Kovid Goyal
f9fa73cd43 ... 2016-11-30 08:52:32 +05:30
Kovid Goyal
56cfc7df3b Handle leading zeroes in CSI codes 2016-11-30 08:50:55 +05:30
Kovid Goyal
358b2bc5f1 Modify tests for SGR reporting 2016-11-30 08:15:40 +05:30
Kovid Goyal
4f5daa94d0 Clean up the mode handling code 2016-11-24 21:18:04 +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
9e0e757179 ... 2016-11-24 13:48:13 +05:30
Kovid Goyal
41e583842e Flush draw buf at end of each parse call 2016-11-24 13:43:28 +05:30
Kovid Goyal
2e3e6d331d Parse DCS+q 2016-11-24 08:14:29 +05:30
Kovid Goyal
101afd5031 Switch title handling to use unicode 2016-11-23 20:28:30 +05:30
Kovid Goyal
91f80a3c85 Switch screen tests to use unicode directly 2016-11-23 20:26: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
cdd58207a3 Start migrating the tests 2016-11-23 15:47:22 +05:30
Kovid Goyal
f14e7037e2 Start work on dumping non-UTF-8 charset support 2016-11-23 15:33:08 +05:30
Kovid Goyal
4b0e8fcb49 ... 2016-11-23 11:11:23 +05:30
Kovid Goyal
3c8d2dce36 ... 2016-11-21 10:25:53 +05:30
Kovid Goyal
5681138243 Fix scrollback_lines opt not being used 2016-11-21 09:07:52 +05:30
Kovid Goyal
7b1591113a Basic tests for HistoryBuf.rewrap 2016-11-20 22:40:43 +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
42976b1048 Allow OSC codes that consist of only a numeric component 2016-11-19 13:48:49 +05:30