sixel: scale images on both screens when zooming in/out (#141)

This fixes an issue where images on the main screen don't scale when you
increase or decrease the font size on the alt screen.
This commit is contained in:
veltza 2024-06-14 19:16:32 +03:00 committed by GitHub
parent a414f4a707
commit 546dd288c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

19
x.c
View File

@ -318,6 +318,7 @@ void
zoomabs(const Arg *arg)
{
#if SIXEL_PATCH
int i;
ImageList *im;
#endif // SIXEL_PATCH
@ -328,14 +329,16 @@ zoomabs(const Arg *arg)
#endif // FONT2_PATCH
#if SIXEL_PATCH
/* deleting old pixmaps forces the new scaled pixmaps to be created */
for (im = term.images; im; im = im->next) {
if (im->pixmap)
XFreePixmap(xw.dpy, (Drawable)im->pixmap);
if (im->clipmask)
XFreePixmap(xw.dpy, (Drawable)im->clipmask);
im->pixmap = NULL;
im->clipmask = NULL;
/* delete old pixmaps so that xfinishdraw() can create new scaled ones */
for (im = term.images, i = 0; i < 2; i++, im = term.images_alt) {
for (; im; im = im->next) {
if (im->pixmap)
XFreePixmap(xw.dpy, (Drawable)im->pixmap);
if (im->clipmask)
XFreePixmap(xw.dpy, (Drawable)im->clipmask);
im->pixmap = NULL;
im->clipmask = NULL;
}
}
#endif // SIXEL_PATCH