index.md (2589B)
1 Kitty Graphics Protocol 2 ======================= 3 4 [![Screenshot](st-kitty-graphics.png)](st-kitty-graphics.png) 5 6 Description 7 ----------- 8 This patch implements a subset of the [kitty graphics 9 protocol](https://sw.kovidgoyal.net/kitty/graphics-protocol) 10 in st. For more details, refer to the [st-graphics 11 repository](https://github.com/sergei-grechanik/st-graphics). 12 13 Notes 14 ----- 15 * Additional dependencies: imlib2, zlib 16 * You can configure various limits, such as the maximum image size and cache 17 size, in `config.h`. 18 * There are several additional shortcuts: 19 - `Ctrl+Shift+RightClick` to preview the clicked image in feh. 20 - `Ctrl+Shift+MiddleClick` to view debug information (image id, placement id, 21 etc). 22 - `Ctrl+Shift+F1` to toggle graphics debug mode. It has three states: 1) no 23 debugging; 2) show general info and print logs to stderr; 3) print logs and 24 show bounding boxes. 25 - `Ctrl+Shift+F6` to dump the state of all images to stderr. 26 - `Ctrl+Shift+F7` to unload all images from RAM (the cache in `/tmp` will be 27 preserved). 28 - `Ctrl+Shift+F8` to toggle image display. 29 * This patch includes support for some XTWINOPS control sequences to query 30 information that is sometimes required for image display. 31 * This patch includes support for underline colors and styles. It also 32 changes the behavior of underlines by increasing their thickness with font 33 size. If you don't like it, apply the following diff: 34 35 diff --git a/x.c b/x.c 36 index e0925c4..cd86fdf 100644 37 --- a/x.c 38 +++ b/x.c 39 @@ -1691,3 +1691,3 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i 40 /* Integer thickness in pixels. Must not be 0. */ 41 - int thick = MAX(1, roundf(fthick)); 42 + int thick = 1; 43 /* The default gap between the baseline and a single underline. */ 44 45 Patch Compatibility 46 ------------------- 47 * This patch already includes the anysize patch. If you prefer the expected 48 behavior, set `anysize_halign` and `anysize_valign` to 0 in `config.h`. 49 * This patch already supports underline colors and styles, so it is incompatible 50 with the undercurl patch. 51 * It should be compatible with the boxdraw, scrollback, alpha, and background 52 image patches, with minor conflict resolution. Ligatures also seem to work 53 after some hacking. For more details, see 54 [here](https://github.com/sergei-grechanik/st-graphics?tab=readme-ov-file#patch-compatibility). 55 56 Download 57 -------- 58 * [st-kitty-graphics-20240922-a0274bc.diff](st-kitty-graphics-20240922-a0274bc.diff) 59 60 Author 61 ------ 62 * Sergei Grechanik <sergei.grechanik@gmail.com>