sixel: force a height of at least one sixel when explicitly resizing
sixel: force a height of at least one sixel when explicitly resizing Applications often prefix the sixel with a raster attributes (RA) sequence, where they tell us how large the sixel is. Strictly...
View Articleshm: don't bother with xrgb surfaces, always use argb
shm: don't bother with xrgb surfaces, always use argb Before this patch, foot used xrgb surfaces for all fully opaque surfaces, and only used argb surfaces for the main window when the user enabled...
View Articleconfig: add [colors-dark] and [colors-light], replacing [colors] and [colors2]
config: add [colors-dark] and [colors-light], replacing [colors] and [colors2] The main reason for having two color sections is to be able to switch between dark and light. Thus, it's better if the...
View Articleconfig: tweak.surface-bit-depth: add support for 16-bit surfaces
config: tweak.surface-bit-depth: add support for 16-bit surfaces This adds supports for 16-bit surfaces, using the new PIXMAN_a16b16g16r16 buffer format. This maps to WL_SHM_FORMAT_ABGR16161616...
View Articleconfig: tweak.surface-bit-depth now defaults to 'auto'
config: tweak.surface-bit-depth now defaults to 'auto' When set to 'auto', use 10-bit surfaces if gamma-correct blending is enabled, and 8-bit surfaces otherwise. Note that we may still fallback to...
View Articlerender: gamma-correct blending
render: gamma-correct blending This implements gamma-correct blending, which mainly affects font rendering. The implementation requires compile-time availability of the new color-management protocol...
View Articleconfig: add color.sixelN options
config: add color.sixelN options These options allows you to configure the default sixel color palette.
View Articlesixel: default bg color is now taken from the sixel palette, not the ANSI bg...
sixel: default bg color is now taken from the sixel palette, not the ANSI bg color The wording in the original VT340 documentation is vague: Pixel positions specified as 0 are set to the current...
View Articleterm: performance: use a bitfield to track which ascii printer to use
term: performance: use a bitfield to track which ascii printer to use The things affecting which ASCII printer we use have grown... Instead of checking everything inside term_update_ascii_printer(),...
View Articlesixel: comment: document the P1 parameter
sixel: comment: document the P1 parameter (and no, it's no longer unimplemented)
View Articlesixel: don't allow pan/pad changes after sixel data has been emitted
sixel: don't allow pan/pad changes after sixel data has been emitted Changing pan/pad changes the sixel's aspect ratio. While I don't know for certain what a real VT340 would do, I suspect it would...
View Articlesixel: also set 'alloc_height', when short-cutting a resize operation
sixel: also set 'alloc_height', when short-cutting a resize operation In some cases, a sixel may be resized vertically, while still having a zero-width. In this case, the resize operations are...
View Articlesixel: abuse wmemset() when initializing a freshly allocated image buffer
sixel: abuse wmemset() when initializing a freshly allocated image buffer wmemset() is heavily optimized, and in some cases, *much* faster than manually initializing the new image pixels. Furthermore,...
View Articlesixel: fix cursor positioning when image is split up into several
sixel: fix cursor positioning when image is split up into several
View Articlesixel: hopefully handle image height correctly when trimming
sixel: hopefully handle image height correctly when trimming When trimming trailing empty rows from the final image, handle the RA region correctly: * If image is transparent, trim down to the last...
View Articlesixel: RA region does not affect the text cursor position
sixel: RA region does not affect the text cursor position The raster attributes is, really, just a way to erase an area. And, if the sixel is transparent, it's a nop. The final text cursor position...
View Articlesixel: trim trailing, fully transparent sixel rows
sixel: trim trailing, fully transparent sixel rows See https://github.com/hpjansson/chafa/issues/192
View Articlesixel: place cursor on the last character row touched by the sixel
sixel: place cursor on the last character row touched by the sixel After emitting a sixel, place the cursor on the character row touched by the last sixel. The last sixel _may_ not be a multiple of 6...
View Articlesixel: initialize the color table to colors used by the VT340
sixel: initialize the color table to colors used by the VT340
View Article