+1
.ocamlformat
+1
.ocamlformat
···
+49
.tangled/workflows/build.yml
+49
.tangled/workflows/build.yml
···
+18
LICENSE.md
+18
LICENSE.md
···
+66
README.md
+66
README.md
···+An OCaml library for displaying images in terminals using the [Kitty Graphics Protocol](https://sw.kovidgoyal.net/kitty/graphics-protocol/).+This library can display PNG images in supported terminals (e.g. Kitty, WezTerm, Konsole, Ghostty) with varying levels of support depending on the terminal. Most core features work but some advanced things like animations might be only partially supported outside of Kitty.+The library provides a Cmdliner term via the `kgp.cli` package to make integration into other CLI tools easier.
+1
TODO.md
+1
TODO.md
···
+5
bin/dune
+5
bin/dune
+352
bin/kgpcat.ml
+352
bin/kgpcat.ml
···+let h = int_of_string (String.sub size_part (x_pos + 1) (String.length size_part - x_pos - 1)) in+let y = int_of_string (String.sub pos_part (comma_pos + 1) (String.length pos_part - comma_pos - 1)) in
+11
-1
dune-project
+11
-1
dune-project
···-"A standalone library for rendering images in terminals that support the Kitty graphics protocol. Supports image transmission, display, animation, Unicode placeholders, and terminal capability detection.")+"Library for rendering images in terminals that support the Kitty graphics protocol. Supports image transmission, display, animation, Unicode placeholders, and terminal capability detection.")
-97
example/anim_test.ml
-97
example/anim_test.ml
···
example/camel.png
example/camel.png
This is a binary file and will not be displayed.
-94
example/debug_anim.ml
-94
example/debug_anim.ml
···
+3
-11
example/dune
+3
-11
example/dune
···
+97
-161
example/example.ml
+97
-161
example/example.ml
·····················-Printf.printf "Orange square (200x200) - %d bytes uncompressed\n" (String.length orange_data);··················
-59
example/test_output.ml
-59
example/test_output.ml
···
+33
-50
example/tiny_anim.ml
+33
-50
example/tiny_anim.ml
·········
+32
kgp.opam
+32
kgp.opam
···+"Library for rendering images in terminals that support the Kitty graphics protocol. Supports image transmission, display, animation, Unicode placeholders, and terminal capability detection."
+1
-1
lib/dune
+1
-1
lib/dune
+10
-18
lib/kgp.ml
+10
-18
lib/kgp.ml
·········
+112
-82
lib/kgp.mli
+112
-82
lib/kgp.mli
··········································
+5
lib/kgp_animation.ml
+5
lib/kgp_animation.ml
···
+34
-26
lib/kgp_animation.mli
+34
-26
lib/kgp_animation.mli
···············
+6
-4
lib/kgp_animation_state.ml
+6
-4
lib/kgp_animation_state.ml
···
+30
-25
lib/kgp_animation_state.mli
+30
-25
lib/kgp_animation_state.mli
······
+40
-22
lib/kgp_command.ml
+40
-22
lib/kgp_command.ml
·································
+26
-7
lib/kgp_command.mli
+26
-7
lib/kgp_command.mli
············
+5
lib/kgp_compose.ml
+5
lib/kgp_compose.ml
···
+32
-29
lib/kgp_compose.mli
+32
-29
lib/kgp_compose.mli
···············
+6
-3
lib/kgp_composition.ml
+6
-3
lib/kgp_composition.ml
···
+12
-7
lib/kgp_composition.mli
+12
-7
lib/kgp_composition.mli
······
+6
-3
lib/kgp_compression.ml
+6
-3
lib/kgp_compression.ml
···
+13
-8
lib/kgp_compression.mli
+13
-8
lib/kgp_compression.mli
·········
+6
-3
lib/kgp_cursor.ml
+6
-3
lib/kgp_cursor.ml
···
+16
-11
lib/kgp_cursor.mli
+16
-11
lib/kgp_cursor.mli
·········
+23
-35
lib/kgp_delete.ml
+23
-35
lib/kgp_delete.ml
···
+34
-40
lib/kgp_delete.mli
+34
-40
lib/kgp_delete.mli
·········
+5
lib/kgp_detect.ml
+5
lib/kgp_detect.ml
···
+5
lib/kgp_detect.mli
+5
lib/kgp_detect.mli
···
+6
-4
lib/kgp_format.ml
+6
-4
lib/kgp_format.ml
···
+18
-13
lib/kgp_format.mli
+18
-13
lib/kgp_format.mli
·········
+7
-1
lib/kgp_frame.ml
+7
-1
lib/kgp_frame.ml
······
+51
-41
lib/kgp_frame.mli
+51
-41
lib/kgp_frame.mli
············
+5
lib/kgp_placement.ml
+5
lib/kgp_placement.ml
···
+49
-36
lib/kgp_placement.mli
+49
-36
lib/kgp_placement.mli
··················
+5
lib/kgp_quiet.ml
+5
lib/kgp_quiet.ml
···
+19
-14
lib/kgp_quiet.mli
+19
-14
lib/kgp_quiet.mli
······
+6
-1
lib/kgp_response.ml
+6
-1
lib/kgp_response.ml
······
+5
lib/kgp_response.mli
+5
lib/kgp_response.mli
···
+60
lib/kgp_terminal.ml
+60
lib/kgp_terminal.ml
···
+85
lib/kgp_terminal.mli
+85
lib/kgp_terminal.mli
···
+27
lib/kgp_tmux.ml
+27
lib/kgp_tmux.ml
···
+69
lib/kgp_tmux.mli
+69
lib/kgp_tmux.mli
···
+5
lib/kgp_transmission.ml
+5
lib/kgp_transmission.ml
···
+16
-11
lib/kgp_transmission.mli
+16
-11
lib/kgp_transmission.mli
············
+284
-44
lib/kgp_unicode.ml
+284
-44
lib/kgp_unicode.ml
······
+34
-3
lib/kgp_unicode.mli
+34
-3
lib/kgp_unicode.mli
······
+4
lib-cli/dune
+4
lib-cli/dune
+29
lib-cli/kgp_cli.ml
+29
lib-cli/kgp_cli.ml
···
+52
lib-cli/kgp_cli.mli
+52
lib-cli/kgp_cli.mli
···