sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

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>