1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-07-06 22:12:47 -05:00

Flip direction of window pos/size queries.

Similarly to other recent changes, the frontend now proactively keeps
Terminal up to date with the current position and size of the terminal
window, so that escape-sequence queries can be answered immediately
from the Terminal's own internal data structures without needing a
call back to the frontend.

Mostly this has let me remove explicit window-system API calls that
retrieve the window position and size, in favour of having the front
ends listen for WM_MOVE / WM_SIZE / ConfigureNotify events and track
the position and size that way. One exception is that the window pixel
size is still requested by Seat via a callback, to put in the
wire-encoded termios settings. That won't be happening very much, so
I'm leaving it this way round for the moment.
This commit is contained in:
Simon Tatham
2021-02-07 19:59:21 +00:00
parent ca9cd983e1
commit 696550a5f2
6 changed files with 70 additions and 90 deletions

View File

@ -94,8 +94,6 @@ static void fuzz_set_zorder(TermWin *tw, bool top) {}
static void fuzz_palette_set(TermWin *tw, unsigned start, unsigned ncolours,
const rgb *colours) {}
static void fuzz_palette_get_overrides(TermWin *tw) {}
static void fuzz_get_pos(TermWin *tw, int *x, int *y) { *x = *y = 0; }
static void fuzz_get_pixels(TermWin *tw, int *x, int *y) { *x = *y = 0; }
static const TermWinVtable fuzz_termwin_vt = {
.setup_draw_ctx = fuzz_setup_draw_ctx,
@ -120,8 +118,6 @@ static const TermWinVtable fuzz_termwin_vt = {
.set_zorder = fuzz_set_zorder,
.palette_set = fuzz_palette_set,
.palette_get_overrides = fuzz_palette_get_overrides,
.get_pos = fuzz_get_pos,
.get_pixels = fuzz_get_pixels,
};
void ldisc_send(Ldisc *ldisc, const void *buf, int len, bool interactive) {}