mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-04-15 01:58:05 -05:00

In the changes around commit 420fe75552afa94, I made the terminal suspend output processing while it waited for a term_size() callback in response to a resize request. Because on X11 there are unusual circumstances in which you never receive that callback, I also added a last-ditch 5-second timeout, so that eventually we'll resume terminal output processing regardless. But the timeout lives in terminal.c, in the cross-platform code. This is pointless on Windows (where resize processing is synchronous, so we always finish it before the timer code next gets called anyway), but I decided it was easier to keep the whole mechanism in terminal.c in the absence of a good reason not to. Now I've found that reason. We _also_ generate window resizes locally to the GTK front end, in response to the key combinations that change the font size, and _those_ still have an asynchrony problem. So, to begin with, I'm refactoring the request_resize system so that now there's an explicit callback from the frontend to the terminal to say 'Your resize request has now been processed, whether or not you've received a term_size() call'. On Windows, this simplifies matters greatly because we always know exactly when to call that, and don't have to keep a 'have we called term_size() already?' flag. On GTK, the timing complexity previously in terminal.c has moved into window.c. No functional change (I hope). The payoff will be in the next commit.
This is the README for PuTTY, a free Windows and Unix Telnet and SSH client. PuTTY is built using CMake <https://cmake.org/>. To compile in the simplest way (on any of Linux, Windows or Mac), run these commands in the source directory: cmake . cmake --build . Documentation (in various formats including Windows Help and Unix `man' pages) is built from the Halibut (`.but') files in the `doc' subdirectory using `doc/Makefile'. If you aren't using one of our source snapshots, you'll need to do this yourself. Halibut can be found at <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>. The PuTTY home web site is https://www.chiark.greenend.org.uk/~sgtatham/putty/ If you want to send bug reports or feature requests, please read the Feedback section of the web site before doing so. Sending one-line reports saying `it doesn't work' will waste your time as much as ours. See the file LICENCE for the licence conditions.
Description
Languages
C
89.7%
Python
8%
Perl
0.9%
CMake
0.8%
Shell
0.4%
Other
0.1%