Mitchell Hashimoto
2acd7e8a42
kitty: respond OK with metadata on display transmissions
2024-09-03 11:05:16 -07:00
Mitchell Hashimoto
e9c83a5f64
kitty: ENOENT when image ID not found for placement
2024-09-03 10:38:10 -07:00
Mitchell Hashimoto
358b4ca896
terminal/kitty: parse relative placement fields
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
7d9e50353b
terminal/kitty: add virtual placeholders placements
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
a5c382633f
terminal/kitty: placements support location enum (only pin for now)
2024-07-25 21:32:43 -07:00
Mitchell Hashimoto
d7ee705a7a
terminal/kitty: calculate cell height more efficiently
2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
4c4d5f5a89
terminal/kitty: graphics exec ported
2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
238361698b
kitty graphics: use internal ID for placements with ID 0
...
Fixes #1356 correctly.
This was previously fixed by #1360 which just assigned a random
placement ID. I asked the Kitty maintainer about this and this is not
the correct logic and the spec has been updated.
When a placement ID of zero is sent, we allow multiple placements but
use an internal, non-addressable placement ID. The issue with my
previous approach was someone with knowledge of internals (or luck)
could technically address the placement. This isn't allowed.
2024-01-24 22:17:13 -08:00
Mitchell Hashimoto
46dd6e6caf
kitty graphics: assign automatic placement ID if p==0
...
Fixes #1356
As stated in the code, the specification itself doesn't explicitly
specify this behavior (as far as I can tell), but testing in Kitty
results in this working and I believe this is how they do it.
2024-01-22 15:51:51 -08:00
Mitchell Hashimoto
553d81afd1
terminal: enable kitty graphics commands on OpenGL
2023-11-19 21:39:30 -08:00
Mitchell Hashimoto
f2f2b1eaf1
termio/exec: initial subprocess screen size should be sub padding
2023-08-24 08:45:32 -07:00
Mitchell Hashimoto
c962bd0abf
terminal/kitty-gfx: add error if both image id and num is set
2023-08-24 08:33:58 -07:00
Mitchell Hashimoto
ec5dcf0850
terminal/kitty-gfx: do not send response on transmit/display unless I
2023-08-23 22:37:01 -07:00
Mitchell Hashimoto
35f1a9a478
terminal/kitty-gfx: transmission only sends response when no more chunks
2023-08-23 22:01:21 -07:00
Mitchell Hashimoto
bf7054eeb6
terminal/kitty-gfx: ignore extra base64 padding
2023-08-23 21:52:50 -07:00
Mitchell Hashimoto
53452bab78
terminal/kitty-gfx: chunked transmit and display
2023-08-23 17:55:41 -07:00
Mitchell Hashimoto
23c7d95ee1
terminal/kitty-gfx: only enable on Metal for now
2023-08-23 17:07:50 -07:00
Mitchell Hashimoto
46ba3189f6
config: image-storage-limit to set maximum image memory per terminal
2023-08-23 16:58:16 -07:00
Mitchell Hashimoto
79ea2ff2db
terminal/kitty-gfx: update todo
2023-08-23 16:45:23 -07:00
Mitchell Hashimoto
135250018e
terminal/kitty-gfx: get rid of selection
2023-08-23 11:41:49 -07:00
Mitchell Hashimoto
de3ef0f78c
terminal/kitty-gfx: hook up delete
2023-08-23 11:37:14 -07:00
Mitchell Hashimoto
c0b58802ba
terminal/kitty-gfx: images store transmit time
2023-08-23 11:17:58 -07:00
Mitchell Hashimoto
4b38fb96db
terminal/kitty-gfx: honor "z" setting
2023-08-23 09:55:13 -07:00
Mitchell Hashimoto
7ff76ca00d
terminal/kitty-gfx: respect display c/r params
2023-08-22 14:43:50 -07:00
Mitchell Hashimoto
3bbfee676b
terminal/kitty-gfx: process source rectangle display params
2023-08-22 14:33:41 -07:00
Mitchell Hashimoto
84c72bbe46
renderer/metal: honor cell offset graphics command
2023-08-22 13:28:40 -07:00
Mitchell Hashimoto
e6155b7f19
terminal/kitty-gfx: add placement function get selection
2023-08-22 13:15:00 -07:00
Mitchell Hashimoto
65df9f4618
terminal/kitty-gfx: down movement off by one
2023-08-22 12:23:27 -07:00
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
20257c7a87
renderer/metal: images required by placements become textures
2023-08-21 21:40:57 -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
5bb99efb84
terminal/kitty-gfx: temporary file medium
2023-08-21 14:43:24 -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
b2432a672f
terminal/kitty-gfx: add debug function to dump image data
2023-08-21 08:28:20 -07:00
Mitchell Hashimoto
89dfe85740
terminal/kitty-gfx: the data is base64 encoded!
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