2384 Commits

Author SHA1 Message Date
Mitchell Hashimoto
3c513ccbcf terminal/kitty-gfx: cursor pos x/y were flipped 2023-08-22 12:20:29 -07:00
Mitchell Hashimoto
71f1f35cfc terminal/kitty-gfx: move cursor after image placement 2023-08-22 12:15:51 -07:00
Mitchell Hashimoto
5a9bbcbc2d renderer/metal: clip image if necessary off top of viewport (scrolling) 2023-08-22 11:32:45 -07:00
Mitchell Hashimoto
53b25d0ecc renderer/metal: set correct x/y for image 2023-08-22 10:14:57 -07:00
Mitchell Hashimoto
cb70d86c00 renderer/metal: emit draw calls for images 2023-08-22 10:12:40 -07:00
Mitchell Hashimoto
e665fc6741 renderer/metal: first pass at an image shader 2023-08-22 09:20:30 -07:00
Mitchell Hashimoto
5229cb93d2 renderer/metal: extract helpers for shaders/buffers 2023-08-22 08:49:34 -07:00
Mitchell Hashimoto
91f2343d1f Merge pull request #314 from hovsater/allow-opt-osc-52-parameter
Allow optional OSC 52 parameter
2023-08-22 07:59:25 -07:00
Kevin Hovsäter
59fd918443 Allow optional OSC 52 parameter
Quoting from the XTerm documentation:

The first, Pc, may contain zero or more characters from the set c, p, q,
s, 0, 1, 2, 3, 4, 5, 6, and 7. It is used to construct a list of
selection parameters for clipboard, primary, secondary, select, or
cut-buffers 0 through 7 respectively, in the order given. If the
parameter is empty, xterm uses s 0 , to specify the configurable
primary/clipboard selection and cut-buffer 0.

See https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
2023-08-22 14:20:19 +02:00
Mitchell Hashimoto
da4ead8f60 renderer/metal: deallocate unused image textures 2023-08-21 22:11:58 -07:00
Mitchell Hashimoto
20257c7a87 renderer/metal: images required by placements become textures 2023-08-21 21:40:57 -07:00
Mitchell Hashimoto
11bf2680b7 terminal/kitty-gfx: make some args const 2023-08-21 16:07:41 -07:00
Mitchell Hashimoto
660faf3ac3 terminal: clear screen, alt screen, etc. clear all kitty graphics 2023-08-21 15:34:46 -07:00
Mitchell Hashimoto
a02fa4e705 terminal/kitty-gfx: png decoding 2023-08-21 15:09:42 -07:00
Mitchell Hashimoto
a5a977be9f terminal/kitty-gfx: file medium 2023-08-21 14:52:46 -07:00
Mitchell Hashimoto
5bb99efb84 terminal/kitty-gfx: temporary file medium 2023-08-21 14:43:24 -07:00
Mitchell Hashimoto
d821e023f3 terminal/kitty-gfx: test chunked loads 2023-08-21 12:06:26 -07:00
Mitchell Hashimoto
53c39c39d6 terminal/kitty-gfx: move all image decompression to loadingimage 2023-08-21 11:52:12 -07:00
Mitchell Hashimoto
fe79bd5cc9 terminal/kitty-gfx: centralize all image loading on LoadingImage 2023-08-21 11:40:03 -07:00
Mitchell Hashimoto
e56bc01c7e terminal/kitty-gfx: base64 decode data as it comes in 2023-08-21 11:19:22 -07:00
Mitchell Hashimoto
9c9a62bf3c terminal/kitty-gfx: test for non-compressed rgb image 2023-08-21 08:50:51 -07:00
Mitchell Hashimoto
a239f1198a terminal/kitty-gfx: decompress as part of image completion, tests 2023-08-21 08:48:30 -07:00
Mitchell Hashimoto
b2432a672f terminal/kitty-gfx: add debug function to dump image data 2023-08-21 08:28:20 -07:00
Mitchell Hashimoto
99abff85dd input: pc style function keys should use all mods, not effective 2023-08-21 08:10:27 -07:00
Mitchell Hashimoto
89dfe85740 terminal/kitty-gfx: the data is base64 encoded! 2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
c96fa2e85f terminal/kitty-gfx: fix broken tests 2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
59dcb85ad4 terminal/kitty-gfx: loading non-chunked image takes data slice ownership 2023-08-20 22:03:22 -07:00
Mitchell Hashimoto
03e0ba9081 terminal/kitty-gfx: zlib decompression for data validation 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
6ed3fcbfb0 terminal/kitty-gfx: fix big chunked load memory leak 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
bbcb2f96c8 terminal/kitty-gfx: huge progress on chunked transfers, lots of issues 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
e84f82bd97 terminal/kitty-gfx: assign an internal image id 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
b3a3ca1182 terminal/kitty-gfx: placement now works properly 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
7bec2820a7 terminal/kitty-gfx: start working on placements 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
80c7f09a36 terminal/kitty-gfx: start terminal state, can load and add images 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
f82899bd58 terminal/kitty-gfx: better memory ownership semantics around func calls 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
1b7fbd00d1 terminal/kitty-gfx: add some validation from Kitty 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
eeddda57ff terminal/kitty-gfx: handle quiet settings for response 2023-08-20 22:03:21 -07:00
Mitchell Hashimoto
c7658df978 terminal/kitty-gfx: support "query", loading images, tests 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
ec69644de6 move stb to src/stb, add stb_image for png decoding 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
824d586afc terminal: generalized APC handler 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
b7f819dc0b terminal/kitty-gfx: clean up a lot more memory management 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
b5bd35f538 terminal/kitty-gfx: optimize some of our kv parsing 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
a07cfbb1e0 terminal: kitty parser get a little clever, keys are always a char 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
bffbc626fc terminal: more comments for kitty command parsing 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
91ea586b1e terminal: tests for kitty command parsing 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
ac12d2eb97 terminal: all commands parsed, need tests 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
f4a40168da terminal: a lot more kitty command parsing 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
94040c05f0 terminal: initial kitty graphics command parsing 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
b9db629662 terminal: kitty graphics command/control structs 2023-08-20 22:03:19 -07:00
Mitchell Hashimoto
fc7b3689fc terminal: move kitty keyboard protocol to its own file 2023-08-20 22:03:19 -07:00