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

68 Commits

Author SHA1 Message Date
Ben Harris
a1e2199dc1 Add a level of indirection to make it rather easier to work out which of a
session's windows we're dealing with.

[originally from svn r2804]
2003-02-04 23:39:26 +00:00
Ben Harris
67312214da I can only quote the comment in <Scrap.h> which prompted this commit:
/*
    Newsflash! After 15 years of arduous toil, it's finally possible
    for specially trained typists wielding advanced text editing
    technology to define symbolic names for commonly used scrap
    flavor type constants! Apple triumphs again!
*/

[originally from svn r2791]
2003-02-04 02:08:03 +00:00
Ben Harris
16f40e8bcc Fix various breakages my Carbonisation caused in the Classic build, notably
that outside Carbon, CGrafPtr and GrafPtr are different types, even though
they're mostly interchangeable, so we need to interpose a cast between
GetWindowPort and SetPort.

[originally from svn r2790]
2003-02-04 02:03:53 +00:00
Ben Harris
13feddf9ea Carbonise. Currently, size tips and copy/paste won't work in Carbon.
[originally from svn r2789]
2003-02-04 01:53:50 +00:00
Ben Harris
1e67347b04 Convert keyboard events into Unicode properly. I can now type all manner of
interesting characters and have them work properly.

[originally from svn r2787]
2003-02-04 00:01:33 +00:00
Ben Harris
947b70006e Tidy up Simon's FontSpec abstraction.
Also, make fontspec_to_str not return the address of an automatic variable.
It now has a memory leak instead.

[originally from svn r2767]
2003-02-01 15:44:08 +00:00
Simon Tatham
f26b7aa0d3 Created new data types Filename' and FontSpec', intended to be
opaque to all platform-independent modules and only handled within
per-platform code. `Filename' is there because the Mac has a magic
way to store filenames (though currently this checkin doesn't
support it!); `FontSpec' is there so that all the auxiliary stuff
such as font height and charset and so on which is needed under
Windows but not Unix can be kept where it belongs, and so that I can
have a hope in hell of dealing with a font chooser in the forthcoming
cross-platform config box code, and best of all it gets the horrid
font height wart out of settings.c and into the Windows code where
it should be.
The Mac part of this checkin is a bunch of random guesses which will
probably not quite compile, but which look roughly right to me.
Sorry if I screwed it up, Ben :-)

[originally from svn r2765]
2003-02-01 12:54:40 +00:00
Ben Harris
fe5f4c14f4 Richard's lazy-scrolling patch. This builds up scroll operations in a list,
combining adjacent ones for the same region, and runs them all in do_paint.
I'm not sure it's entirely right, but it works on my Mac in every case I've
tested.

[originally from svn r2763]
2003-02-01 12:26:33 +00:00
Ben Harris
6f43ffc13c Don't log every keypress by default here either.
[originally from svn r2739]
2003-01-28 00:35:54 +00:00
Ben Harris
b29a64c760 Fix a minor oversight in the new 16-colour code for the Mac, which was
calculating the background colour wrongly.

[originally from svn r2738]
2003-01-28 00:25:20 +00:00
Simon Tatham
c370336a92 xterm apparently supports ESC[90m through ESC[97m to set bright
foreground colours, and ESC[100m through ESC[107m to set bright
background colours. Hence, so do we. Bright-foreground is
distinguishable from bold, and bright-background distinguishable
from blink, when it leaves terminal.c; the front end may then choose
to display them in the same way if it's configured to do so. This
change makes the xterm backend for Turbo Vision (!!!) work properly.
Untested on Mac.

[originally from svn r2734]
2003-01-27 23:03:31 +00:00
Ben Harris
de34bdac6d First attempt at a platform-independent keyboard handler. This isn't complete
yet -- there's no Alt+keypad support, and no way for the front-end to find
out what it should do with the Num Lock light.  It's also not fully tested.
Nonetheless, it's at least as good as the previous Mac keyboard handler.
Other platforms probably shouldn't adopt it just yet.

[originally from svn r2728]
2003-01-27 00:39:01 +00:00
Ben Harris
146ff8f190 Support for pasting 'TEXT', ie text in the local character set. At the moment,
we assume it's in the system script -- later we should check for 'styl' scrap
in case it isn't.

[originally from svn r2726]
2003-01-25 19:23:03 +00:00
Ben Harris
787fcd3eb7 Add support for copying non-Unicode text to the clipboard. We also send a
simple 'styl' record along with it to specify the font and suchlike.  I'm
not sure it's worth making this optional in the way the RTF is in Windows.

[originally from svn r2724]
2003-01-25 17:20:54 +00:00
Ben Harris
af4be2e83e Change the term_mouse interface a little so that it gets passed
both the raw and the cooked mouse button, with the mapping being done in
advance by the front-end.  This is useful because it allows the front-end to
use information other than the raw button (e.g. the modifier state) to decide
which cooked button to generate.
.
Front ends other than the Mac one are untested, but they just call
translate_button() themselves and pass the result to term_mouse().

[originally from svn r2721]
2003-01-25 16:16:45 +00:00
Ben Harris
9812db5f1f Add support for "Duplicate Session", moving back-end selection into
mac_startsession() in the process.

[originally from svn r2718]
2003-01-25 15:15:40 +00:00
Ben Harris
99c1029649 Support for saving sessions on the Mac. This is slightly useful even in the
absence of a config dialogue, since it allows me to get Default Settings out.

[originally from svn r2646]
2003-01-18 20:09:21 +00:00
Ben Harris
2dc0bf7a60 Move mac_opensession() from macterm.c to macdlg.c.
[originally from svn r2641]
2003-01-18 16:54:25 +00:00
Ben Harris
694aafa071 Add the ability to close sessions. This adds *_free() functions to most
areas of the code.  Not all back-ends have been tested, but Telnet and SSH
behave reasonably.

Incidentally, almost all of this patch was written through Mac PuTTY,
admittedly over a Telnet connection.

[originally from svn r2615]
2003-01-15 23:30:21 +00:00
Ben Harris
1d92c2b783 Update for Unicode deglobalisations.
[originally from svn r2600]
2003-01-14 19:42:00 +00:00
Ben Harris
0edb75b696 Remove debugging printfs from mac_workoutfontscale().
[originally from svn r2595]
2003-01-14 18:44:34 +00:00
Ben Harris
1f39efb94d Add double width/height support. This passes all the relevant parts of
vttest apart from the "mad programmer" screen, which I think is a linedraw
problem.
This also intorduces proper clipping of the drawn text for good measure.

[originally from svn r2593]
2003-01-14 18:43:26 +00:00
Ben Harris
a185e16467 request_resize() needs to call term_size() to tell the terminal emulator
that its resize request has been approved.

[originally from svn r2591]
2003-01-14 15:24:51 +00:00
Ben Harris
0e52f05217 Set the window title to the canonical host name when we connect.
[originally from svn r2574]
2003-01-12 16:25:58 +00:00
Ben Harris
b4d37df579 Consequences of Simon's recent deglobalisation changes.
[originally from svn r2573]
2003-01-12 16:11:27 +00:00
Ben Harris
80c29aa16f Don't fatalbox() unconditionally when opening a connection, since that makes
it a little difficult to do anything.

[originally from svn r2559]
2003-01-12 14:44:12 +00:00
Ben Harris
c81fa2ff24 COmpiling _before_ committing is usually a good idea.
[originally from svn r2556]
2003-01-12 14:23:00 +00:00
Ben Harris
05ae857752 Correct code to insert into a doubly-linked list.
[originally from svn r2553]
2003-01-12 13:50:04 +00:00
Ben Harris
5d90fd4d1d Remove code for splatting test data into new terminals, since we can do
that over real network connections now.

[originally from svn r2549]
2003-01-12 01:25:34 +00:00
Ben Harris
0d8ee2458a Implement get_window_title().
[originally from svn r2525]
2003-01-09 23:29:22 +00:00
Ben Harris
34a96d4924 Use c2pstrcpy() rather than silly sprintf() tricks.
[originally from svn r2523]
2003-01-09 22:51:41 +00:00
Ben Harris
76a43ad512 c2pstr() is deprecated. Use c2pstrcpy() instead.
[originally from svn r2522]
2003-01-09 22:45:48 +00:00
Ben Harris
697794abbf Fairly major hackery to get SSH going on the Mac. Half the support
functions are only dummy stubs, but it's still minimally usable.  At
least, as long as you don't want to do anything complex like logging out.

[originally from svn r2500]
2003-01-08 22:46:12 +00:00
Ben Harris
a7ba273b5b When looking for the correct backend to use, look in the configuration
structure for the session, not the almost-dead global cfg.

[originally from svn r2457]
2003-01-05 11:31:51 +00:00
Ben Harris
ac85d9b8c9 Second work-in-progress MacTCP commit. We can now open a connection, but
not transfer any data across it.

[originally from svn r2456]
2003-01-05 10:52:56 +00:00
Ben Harris
e13dfa3562 Re-arrange the sums in the size tip code so as to ensure that we're always do
division on positive numbers, hence avoiding nasty problems of rounding
towards zero when I wanted rounding down.

[originally from svn r2443]
2003-01-04 00:48:13 +00:00
Ben Harris
561029bfdf Correct handling of Mac OS 8.5 Window Manager and Control Manager. The new
functions turn out to be available only to PowerPC applications, through
WindowsLib and ControlsLib respectively, so we weak-link against those in
the obvious way.

[originally from svn r2441]
2003-01-04 00:13:18 +00:00
Ben Harris
0416b77c7f If for some reason do_text() fails to translate from Unicode to the font
encoding, have it go through the rest of its motions with an empty string
anyway, so as to at least give a sensible empty box of the right colour.

If SetFallbackUnicodeToText() fails, switch over to using the charset
library, hence avoiding problems in do_text().

If the version of the Unicode Converter we're using doesn't understand about
interrupt-safe fallback functions, don't try to tell it we've got one.  This
prevents SetFallbackUnicodeToText() from failing on systems with old Unicode
Converters.

[originally from svn r2414]
2003-01-02 00:33:40 +00:00
Ben Harris
0ea7e35008 Add a mechanism for determining which charset to use for a given Mac OS font,
and use it.

[originally from svn r2409]
2003-01-01 19:51:13 +00:00
Ben Harris
491f7be9fc Use the shiny new character-set library to handle conversion from Unicode
to Mac OS Roman for display if the Unicode Converter isn't around.  Support
for Mac character sets other than Roman (e.g. the variant used by the Apple
VT100 font) is still absent.

[originally from svn r2401]
2002-12-31 22:49:03 +00:00
Ben Harris
3777de60cb Add a small comment explaining my failure to find any way to get QuickDraw
to give me the missing-character glyph for a font.
While I'm here, change the character we substitute for unmappable ones
to '.', since that's what the charset library uses.

[originally from svn r2397]
2002-12-31 20:11:38 +00:00
Ben Harris
6c1c86f23d Add a minimalist settings dialogue, which contains a single button
marked "open".  Still, it seems to work.

[originally from svn r2392]
2002-12-31 01:40:14 +00:00
Ben Harris
71d699c28c Add an "open" command to the "file" (now "session") menu on the Mac to
open an existing saved session.  This has entailed adding an extra hook to
settings.c to allow for loading settings other than by name.

[originally from svn r2387]
2002-12-30 18:21:17 +00:00
Ben Harris
454e6d2a43 Remove more unused variables.
[originally from svn r2372]
2002-12-28 22:25:31 +00:00
Ben Harris
1cfe88e9d2 Dispose of some unused local variables.
[originally from svn r2371]
2002-12-28 22:22:43 +00:00
Ben Harris
93f12a008d Use the Unicode Converter to convert from Unicode to the display encoding
if it's available.  Linking against the static Unicode Converter library
costs us about 30k on Classic 68K, which I can live with.

Because the default fallback converter can generate multiple output
characters for a single input character, we provide our own fallback that
doesn't.  It converts everything to '?' instead.

[originally from svn r2315]
2002-12-13 00:02:48 +00:00
Ben Harris
d78a0aacc0 When resizing the window, redraw the grow box as well as the scroll bar.
I wasn't noticing the bug on my system, since the Appearance Manager handles
the grow box itself when it's present.

[originally from svn r2299]
2002-12-09 23:26:52 +00:00
Ben Harris
05456758c4 Update the non-Color Quickdraw code in pre_paint() to match recent changes
to the Color Quickdraw code.  This makes redraw work properly on old Macs
again.

[originally from svn r2298]
2002-12-09 22:49:56 +00:00
Ben Harris
e06e554830 Oops. When deciding which attributes are interesting, we want the union of
all the screens' capabilites, not the intersection.

[originally from svn r2297]
2002-12-08 22:23:08 +00:00
Ben Harris
65b8dd1501 Remove a stray prototype for mac_set_attr_mask().
[originally from svn r2296]
2002-12-08 22:15:10 +00:00