1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 18:07:59 +00:00
Commit Graph

201 Commits

Author SHA1 Message Date
Simon Tatham
58238b10d3 Jordan Russell's mysterious workaround for an almost equally
mysterious Windows GDI bug. Looks unlikely to cause any other
trouble and it's pretty small, so it can go in.

[originally from svn r1963]
2002-09-15 22:18:02 +00:00
Simon Tatham
437d740fb3 Pageant's command line handling now uses my new split_into_argv()
function, because it's silly to have two (and because the old one
was not the same as the new one, violating the Principle of Least
Surprise).

[originally from svn r1811]
2002-08-06 17:57:37 +00:00
Simon Tatham
118fc8c81e Revamp of command-line handling. Most command line options should
now be processed in cmdline.c, which is called from all utilities
(well, not Pageant or PuTTYgen). This should mean we get to
standardise almost all options across almost all tools. Also one
major change: `-load' is now the preferred option for loading a
saved session in PuTTY proper. `@session' still works but is
deprecated.

[originally from svn r1799]
2002-08-04 21:18:56 +00:00
Simon Tatham
9157417fea Fix bug in the alternative code for -DNO_MULTIMON (was breaking
Cygwin build).

[originally from svn r1595]
2002-03-20 22:16:00 +00:00
Simon Tatham
6bc827158f Fix multi-monitor / full-screen problems and clean up the code a
little. Thanks to Wez Furlong for the patch.

[originally from svn r1591]
2002-03-13 22:15:14 +00:00
Simon Tatham
8375ad6bd8 Rev 1.189 [r1517] of this file introduced a bug. While it is correct
to avoid calling term_out() during a drag-select, it's false to
assume that all drags are selects - some are xterm mouse-reported
drags, and term_out absolutely _should_ be called in those so that
the application can show the dragged object moving. Should now be
fixed.

[originally from svn r1590]
[r1517 == 02a926f6c1]
2002-03-13 19:55:01 +00:00
Simon Tatham
fcb31d5cfe Well, there was bound to be one I'd forgotten: the new Features
panel should include an option to disable xterm mouse reporting. So
now it does. Woo.

[originally from svn r1579]
2002-03-09 11:47:39 +00:00
Simon Tatham
2df966b43c Add the Features panel, allowing you to disable a bunch of the more
controversial terminal features.

[originally from svn r1576]
2002-03-06 23:04:20 +00:00
Simon Tatham
dac0d45699 Ensure our network layer is properly cleaned up before PuTTY exits.
Specifically, we explicitly closesocket() all open sockets, which
appears to be necessary since otherwise Windows sends RST rather
than FIN. I'm _sure_ that's a Windows bug, but there we go.

[originally from svn r1574]
2002-03-06 20:13:22 +00:00
Simon Tatham
5e3663b48e Experimental checkin: re-enable support for the static WM_MOUSEWHEEL
even on systems where the version number check thinks we should be
expecting a dynamically registered message number. I have a
suspicion the version check isn't accurate in all circumstances; and
in any case, in a situation like this where Windows might send you
either of two things, it's better to be ready to deal with both than
to try and second-guess which one you'll get.

[originally from svn r1549]
2002-01-17 12:22:26 +00:00
Simon Tatham
ba435fa6a0 Patch from RDB: the xterm move-window sequences now don't screw up
when the window is e.g. maximised.

[originally from svn r1533]
2002-01-08 09:56:06 +00:00
Simon Tatham
c7aec27d6f Patch from RDB: make /DNO_MULTIMON (mentioned as a possible
compile-time definition in the Makefile) actually work. D'oh.

[originally from svn r1531]
2002-01-08 09:44:23 +00:00
Simon Tatham
02a926f6c1 Jordan Russell's patch (3rd of several). We now don't call TermOut()
if the PuTTY window has the mouse capture (i.e. a drag-select is in
progress). This means you can drag-select at your leisure without
the screen contents wandering around providing you with a moving
target. Likewise dragging the scrollbar to find a piece of history
in the scrollback.

[originally from svn r1517]
2001-12-29 14:47:59 +00:00
Simon Tatham
7423036505 Jordan Russell's patch: only process mouse drags when we have the
mouse capture, which in turn will only occur if the initial click
was in the PuTTY client area. Prevents mouse drag events without an
initiating click, and also prevents selection occurring at
unexpected moments such as if you move the mouse before releasing
the second click after double-clicking the title bar to maximise the
window.

[originally from svn r1515]
2001-12-29 14:05:07 +00:00
Simon Tatham
0fa9d708f7 This should fix the busy-wait problem with the IME.
[originally from svn r1512]
2001-12-20 14:18:01 +00:00
Simon Tatham
c64d6871f6 Replace the definition of WHEEL_DELTA which was removed in rev 1.185
[r1499]. For some reason Borland builds were working perfectly OK
without it, but VC builds were failing. *shrug*

[originally from svn r1500]
[r1499 == d6016149bf]
2001-12-16 12:11:56 +00:00
Simon Tatham
d6016149bf A contributor tells me that WM_MOUSEWHEEL is not supported in Win95,
and offers a patch that uses RegisterMessage() to acquire the
correct dynamic message number to use instead.

[originally from svn r1499]
2001-12-15 14:30:58 +00:00
Simon Tatham
f10f7c966a Reverse part of RDB's pedantic patch from rev 1.129 [r1105]: app
cursor and app keypad modes are now once again independently
switchable. The VT100 and VT102 manuals may have done it RDB's way
as he said, but xterm and rxvt disagree and at least one app depends
on the xterm way. It'll have to become a configurable option if
anyone has trouble with this.

[originally from svn r1495]
[r1105 == 9f32a1da35]
2001-12-15 11:49:48 +00:00
Simon Tatham
efddc0a744 Jaeyoun Chung's mysterious patch that apparently makes Korean input
work properly: call luni_send() one character at a time rather than
all together after WM_IME_COMPOSITION.

[originally from svn r1494]
2001-12-15 11:10:19 +00:00
Simon Tatham
3ed0d44f16 Retired the #ifdef DUMP_PACKETS stuff in ssh.c because I'm utterly
sick of recompiling to enable packet dumps. SSH packet dumping is
now provided as a logging option, and dumps to putty.log like all
the other logging options. While I'm at it I cleaned up the format
so that packet types are translated into strings for easy browsing.
POSSIBLE SIDE EFFECT: in the course of this work I had to re-enable
the SSH1 packet length checks which it turns out hadn't actually
been active for some time, so it's possible things might break as a
result. If need be I can always disable those checks for the 0.52
release and think about it more carefully later.

[originally from svn r1493]
2001-12-14 14:57:50 +00:00
Simon Tatham
7c6fc9f160 Fixes to full-screen mode. There were various problems when you went
full-screen, then selected Change Settings and then changed the
resize behaviour, ranging from the window staying FS but acquiring
borders to the window restoring its previous size and _failing_ to
acquire borders. Should now all be fixed.

[originally from svn r1470]
2001-12-11 18:47:55 +00:00
Simon Tatham
5f2c53790c Fix compiler warnings
[originally from svn r1469]
2001-12-11 18:47:35 +00:00
Simon Tatham
1f516a8bb0 FIFTH ATTEMPT at getting full-screen mode right. This new attempt
(which I'll comment at some stage) should combine the believable
semantics of RDB's fullscreen-by-maximise mode with the multi-
monitor friendliness of Wez Furlong's approach while also working on
Win98. If we're lucky.

[originally from svn r1464]
2001-12-07 21:21:03 +00:00
Simon Tatham
b0c92ec43a Owen's patch to allow PowerMenu (third-party transparency tool) to
not crash PuTTY.

[originally from svn r1463]
2001-12-07 20:37:18 +00:00
Simon Tatham
2b99a70743 Integrate PuTTY and its help file. Now that's what I call a good
lunchtime's work :-)

[originally from svn r1458]
2001-12-06 13:28:02 +00:00
Simon Tatham
3270c74f9e Configurable TCP_NODELAY option on network connections
[originally from svn r1428]
2001-11-29 21:47:11 +00:00
Simon Tatham
43a4339ac5 Set up kbd_codepage at the start of the program, as well as when the
input locale changes. With any luck this should sort out the Polish
Unicode problems.

[originally from svn r1427]
2001-11-29 21:30:59 +00:00
Simon Tatham
59f3434672 RDB's general resizing cleanup. He's put his favourite resize mode
back in again, but as long as it's not the default it doesn't bother
me too much :-)

[originally from svn r1421]
2001-11-25 18:39:57 +00:00
Simon Tatham
bb1f5cec31 Add support for most of the ESC[<low number>t sequences, which xterm
uses to manipulate the window (minimise, maximise, front, back,
move, resize) and report things about the window (is it minimised or
maximised, how big is it, what's its title). Missing are ESC[4;X;Yt
(resize to a specified pixel size; our resize code doesn't like it)
and ESC[19;X;Yt (report size of _screen_ in _characters_, which it
isn't even obvious how to do when you've got a variable font size).

[originally from svn r1414]
2001-11-25 15:21:25 +00:00
Simon Tatham
92eb0710e3 Jacob's patch to make full-screen mode available even when Alt-Enter
isn't configured to do it: we now have a sysmenu option for it. In
addition, there's a special case such that clicking the top left
pixel on the screen in full-screen mode brings up the sysmenu (so
you can still get at the sysmenu in FS mode without Alt-anything
configured to bring it up and without ghastly fiddling with the
Windows key). Also Change Settings while in full-screen mode now
adds/removes the scrollbar in response to scrollbar_in_fullscreen
rather than scrollbar (oops).

[originally from svn r1410]
2001-11-25 10:24:29 +00:00
Simon Tatham
d9f7fc44bc Glenn Maynard's other IME fix
[originally from svn r1406]
2001-11-24 11:56:24 +00:00
Simon Tatham
6c19b2c413 Glenn Maynard's IMM cursor position fix
[originally from svn r1405]
2001-11-23 19:12:28 +00:00
Simon Tatham
cce8878289 Make sure we always unhide the mouse pointer when the System menu is
displayed.

[originally from svn r1393]
2001-11-21 22:31:05 +00:00
Simon Tatham
c2ae9e5537 Ctrl and Alt shouldn't reset the scrollback even if reset-on-
keypress is enabled. (Shift already didn't, because that was
necessary for Shift-Pg{Up,Dn} to work sanely.)

[originally from svn r1392]
2001-11-21 22:23:40 +00:00
Simon Tatham
98948bf236 Whoops - missed out a vital bit of RTF Unicode fallback handling
[originally from svn r1374]
2001-11-08 09:20:36 +00:00
Simon Tatham
7f1e73904a Implement writing RTF to the clipboard (off by default), so that if
you enable it text will paste into Word et al in the same font as
PuTTY itself is displaying in. In particular, this will be a fixed-
pitch font, so tables and `ls' and the like will naturally line up.

[originally from svn r1373]
2001-11-07 22:22:53 +00:00
Simon Tatham
4fd313f258 RDB's fix to full-screen mode. Apparently sorts out most of the
fullscreen/maximised confusions, by treating fullscreen as a special
case of maximised (fair enough). Removes dependency on multimon.h,
but Wez thinks (though he was unable to test) that this version
should naturally do the Right Thing on multi-monitor systems anyway.

[originally from svn r1365]
2001-11-04 16:41:26 +00:00
Simon Tatham
d2c9937691 Rectangular-block selection. Enabled by Alt+drag, unless you
configure it to be the default in which case it's _dis_abled by
Alt+drag.

[originally from svn r1350]
2001-10-31 18:50:09 +00:00
Simon Tatham
555ded7740 Fix the `SERIOUS NETWORK INTERNAL ERROR' oversight in winnet.c. See
the comment in try_send() for details of the problem.

[originally from svn r1335]
2001-10-28 09:57:47 +00:00
Simon Tatham
aa5f38e53c Add Jacob's patch for compiling without multimon.h.
[originally from svn r1315]
2001-10-23 20:25:34 +00:00
Simon Tatham
05226e43a9 Wez Furlong's patch to tidy up full-screen mode: make it
multi-monitor aware and make the scrollbar separately configurable
in and out of full-screen mode. Also (not Wez's patch, this bit) fix
the case where the user reconfigures _while_ the window is
full-screen, and disables full-screening. (In this case the window
should return gracefully to normal, rather than losing all its title
bars and getting confused.)

[originally from svn r1310]
2001-10-17 21:21:03 +00:00
Simon Tatham
07b6efb23d Revamp the window-resize behaviour UI so there are only three states
rather than four. Should fix all sorts of bugs, since the fourth
(and default!) state was behaving weirdly and nobody liked it.

[originally from svn r1307]
2001-10-12 21:10:56 +00:00
Simon Tatham
7466f4785c Ongoing pastes were being abandoned on any key-down event. Quite
apart from the debatable semantic sanity of abandoning mid-paste,
this was breaking Shift-paste (theoretically valid in any case,
actually necessary with xterm mouse reporting enabled) because when
you hold down Shift the window receives a steady stream of KEYDOWN
messages as the key auto-repeats. One of those is likely to show up
in mid-paste and scupper you. For the moment, this has been changed
so that only a key press that actually _generates session data_
aborts a paste. In future I plan to review just why we're doing this
anyway (it may be that paste-little-by-little was a response to
rubbish socket buffering, in which case we can dispense with it
completely now).

[originally from svn r1279]
2001-09-21 17:54:29 +00:00
Simon Tatham
39c3f9b8bc Fix pasting of newlines in local line editing mode. Possibly not a
very _good_ fix; something might want doing after the release.

[originally from svn r1277]
2001-09-19 20:07:15 +00:00
Simon Tatham
6364ff3e71 terminal.c's from_backend() no longer calls term_out(), because
term_out() can in turn call ldisc_send() which calls back to
from_backend() when local echo is enabled. This was giving rise to
crazy re-entrancy stuff and stack overflows. Instead from_backend()
deposits its data in a bufchain which term_out() empties the next
time it's called.

[originally from svn r1276]
2001-09-18 19:41:07 +00:00
Simon Tatham
f3a17c0715 Reintroduce Cyrillic Caps Lock mode, which was in 0.51 but got
kicked out by the Unicode patch. It's not very good - only works
sanely on US keyboards - but it's no worse than it was in 0.51.
After 0.52 maybe I should fix it properly.

[originally from svn r1273]
2001-09-18 18:51:10 +00:00
Simon Tatham
3d3ef9b8a4 Three more patches from RDB: one to make Atomica work right, one to
fiddle with the widths of characters in DBCS screen fonts, and (the
big one) one to enable a mode in which resizing the window locks the
terminal size and lets the font change, instead of vice versa. That
should shut up a few feature requests!

[originally from svn r1269]
2001-09-15 15:54:24 +00:00
Simon Tatham
fe43458dad Christopher Allene's patch for going full-screen on Alt-Enter.
[originally from svn r1267]
2001-09-13 18:24:51 +00:00
Simon Tatham
e1ecb1c61e Patch from RDB: fix the failure to display window-resize pointers
when in raw mouse mode.

[originally from svn r1241]
2001-09-07 22:43:31 +00:00
Simon Tatham
f08de20a1e Robert de Bath's asynchronous-connect patch. Helps a lot in port
forwarding; improves Event Log; and causes the PuTTY window to
appear earlier in the setup process.

[originally from svn r1239]
2001-09-07 22:39:01 +00:00