mirror of
https://github.com/tmux/tmux.git
synced 2026-10-08 19:14:20 +00:00
Implement generalised image support
Support Kitty and SIXEL input and output with grid-resident image layers, history and copy-mode integration, text fallback rendering, and damage-rectangle redraws. Consolidate the image work through 250f96b4b onto the redraw-damage-rectangles-new base, excluding the superseded redraw implementation and its historical merges. The original history is preserved in backup/4902-image-support-before-master-rebase-20261003.
This commit is contained in:
19
resize.c
19
resize.c
@@ -152,7 +152,18 @@ clients_calculate_size(int type, int current, struct client *c,
|
||||
*sx = UINT_MAX;
|
||||
*sy = UINT_MAX;
|
||||
}
|
||||
*xpixel = *ypixel = 0;
|
||||
if (w != NULL && type == WINDOW_SIZE_MANUAL) {
|
||||
/*
|
||||
* Manual mode has no separate pixel size to apply, so keep the
|
||||
* window's own - otherwise this always differs from the real
|
||||
* w->xpixel/ypixel, and recalculate_size() can never tell a
|
||||
* later call apart from an actual change, resizing (and
|
||||
* re-firing window-resized) on every recalculation.
|
||||
*/
|
||||
*xpixel = w->xpixel;
|
||||
*ypixel = w->ypixel;
|
||||
} else
|
||||
*xpixel = *ypixel = 0;
|
||||
|
||||
/*
|
||||
* For latest, count the number of clients with this window. We only
|
||||
@@ -386,10 +397,12 @@ recalculate_size(struct window *w, int now)
|
||||
* got a resize scheduled, then use the new size; otherwise the old.
|
||||
*/
|
||||
if (w->flags & WINDOW_RESIZE) {
|
||||
if (!now && changed && w->new_sx == sx && w->new_sy == sy)
|
||||
if (!now && changed && w->new_sx == sx && w->new_sy == sy &&
|
||||
w->new_xpixel == xpixel && w->new_ypixel == ypixel)
|
||||
changed = 0;
|
||||
} else {
|
||||
if (!now && changed && w->sx == sx && w->sy == sy)
|
||||
if (!now && changed && w->sx == sx && w->sy == sy &&
|
||||
w->xpixel == xpixel && w->ypixel == ypixel)
|
||||
changed = 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user