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

917 Commits

Author SHA1 Message Date
Simon Tatham
48314f7dc0 Make -ut work the right way round! :-)
[originally from svn r2114]
2002-10-22 13:27:58 +00:00
Simon Tatham
5ce13aad0f Stop `pterm -ut-' leaving the unnecessary utmp helper as a zombie
process (Debian bug #165887).

[originally from svn r2113]
2002-10-22 13:26:57 +00:00
Simon Tatham
45c494ff9d Make sure SIGINT and SIGQUIT haven't been nobbled in our child
process by weird POSIX-required shell behaviour.

[originally from svn r2110]
2002-10-21 23:01:34 +00:00
Simon Tatham
068da38044 Don't bother closing fds 0-2 before dup2ing over them; there's no
need, and it means we always have a valid open stderr.

[originally from svn r2109]
2002-10-21 23:00:18 +00:00
Simon Tatham
a14e970585 VT100 line drawing characters should only happen between 0x5F and
0x7E, not everywhere else. Silly me thought nobody would bother to
depend on this :-)

[originally from svn r2108]
2002-10-21 22:59:14 +00:00
Simon Tatham
07878d8b7c Implement Richard's really clever idea about bell overload mode:
it's automatically deactivated by any keypress, so that command-line
beeps from (e.g.) filename completion don't suddenly stop occurring,
but it still provides a rapid response to an accidental spewing of a
binary to your terminal.

[originally from svn r2107]
2002-10-20 13:23:30 +00:00
Simon Tatham
de8789b8f2 ScrollOnKey wasn't working because I failed to set seen_key_event in
pterm.c.

[originally from svn r2106]
2002-10-20 12:44:29 +00:00
Simon Tatham
a219808b15 Reject unrecognised command-line options; thanks rjk.
[originally from svn r2102]
2002-10-18 15:26:54 +00:00
Simon Tatham
14a7d67b26 Fix typo in man page. Thanks Richard.
[originally from svn r2101]
2002-10-18 10:38:22 +00:00
Simon Tatham
dc7afc9ca7 Oops - that fix wasn't _quite_ right, since it killed all
non-function keys completely :-/

[originally from svn r2096]
2002-10-17 16:58:24 +00:00
Simon Tatham
7d7b523977 Make the shadow bold offset configurable, after discovering that
7x13 goes the other way to all other X fonts I've ever seen. (Arrgh.)

[originally from svn r2095]
2002-10-17 16:51:01 +00:00
Simon Tatham
34bdd30857 This should fix the bug causing Alt-Shift to generate Escape.
[originally from svn r2093]
2002-10-17 16:45:17 +00:00
Simon Tatham
3c6a770e9f Add the -xrm command-line option, to allow specification of an
arbitrary X resource which doesn't have a dedicated command-line
option.

[originally from svn r2089]
2002-10-16 22:54:58 +00:00
Simon Tatham
e70c66b8b0 Add a man page.
[originally from svn r2088]
2002-10-16 22:43:35 +00:00
Simon Tatham
ac3d4e70ad A few more command-line options.
[originally from svn r2086]
2002-10-16 16:00:38 +00:00
Simon Tatham
1f2ee65ae9 Implement reading of X resources, and -name to change the name under
which to look them up.

[originally from svn r2084]
2002-10-16 14:32:06 +00:00
Simon Tatham
1aed45b4e1 Fix utmp and pty handling so that GTK never complains about running
set[ug]id. All privs-requiring pty operations are done at the very
start of the run, then privs are dropped before initialising GTK.
Utmp is handled by forking a still-privileged subprocess at this
point, and later asking it (through a pipe) to stamp utmp. The
subprocess cleans up utmp on exit, which has the additional
advantage that if the main pterm process suffers some sort of
unexpected termination (up to and including SIGKILL) the subprocess
can still mop up utmp.

[originally from svn r2082]
2002-10-16 12:17:51 +00:00
Simon Tatham
5bc8f34f58 Bug `shift-backspace': whichever of ^H and ^? is configured for
Backspace, Shift-Backspace should do the _other_ one. Thanks to
Justin Bradford.

[originally from svn r2079]
2002-10-16 09:40:36 +00:00
Simon Tatham
4f3806f735 Support bold-as-font, by means of a separate bold font (if one was
supplied) or shadow bolding (if not). As usual, can't yet be turned
on without a recompile.

[originally from svn r2077]
2002-10-15 18:42:48 +00:00
Simon Tatham
07a69c5245 Configure the pty so that it agrees with our idea of whether
Backspace sends ^H or ^?.

[originally from svn r2076]
2002-10-15 18:36:18 +00:00
Simon Tatham
d3983ca06b Support underline and vertical-line cursors as well as block.
[originally from svn r2075]
2002-10-15 18:18:25 +00:00
Simon Tatham
58ee7d86a6 If we can't load the specified font, give an error message rather
than segfaulting.

[originally from svn r2074]
2002-10-15 17:41:22 +00:00
Simon Tatham
12189e7193 Printer support: cfg.printer is assumed to be a Unix command through
which to pipe printed data. Of course by default printing is
disabled; typically cfg.printer would be set to `lpr', perhaps with
some arguments.

[originally from svn r2073]
2002-10-15 17:38:04 +00:00
Simon Tatham
80063aeef7 Scrollbar can now be configured to go on the left (although the
current configuration mechanism doesn't support it).

[originally from svn r2072]
2002-10-15 17:24:13 +00:00
Simon Tatham
3584334835 Support ALT + numeric keypad for typing in strange character codes.
[originally from svn r2071]
2002-10-15 17:18:24 +00:00
Simon Tatham
5b061e20cf Add newline at EOF in uxucs.c. Thanks Richard. :-)
[originally from svn r2070]
2002-10-15 16:52:45 +00:00
Simon Tatham
0fdab304de Support scrolling with the mouse wheel (X servers apparently usually
send a button 4 press for an upward wheel movement and a button 5
press for a downward one). Untested since my own trackball's button
4 does nothing obvious. Someone with a mouse wheel should give this
a workout.

[originally from svn r2069]
2002-10-15 16:50:42 +00:00
Simon Tatham
6f9ce1b724 Support for blinking text and blinking cursor. Won't actually be
accessible until there's a way to configure it on, but it worked in
tests.

[originally from svn r2067]
2002-10-15 16:38:10 +00:00
Simon Tatham
69f78385ab Use the appalling gnome-terminal hack for server-controlled resizes
rather than the gtk_window_set_policy approach; the GNOME people say
that the former is the Right Thing in spite of the latter looking
obviously plausible.

[originally from svn r2066]
2002-10-15 16:24:42 +00:00
Simon Tatham
851a376359 Remove some rogue diagnostics.
[originally from svn r2065]
2002-10-15 15:44:23 +00:00
Simon Tatham
e18cf6b714 Don't forget to initialise the pixel size parameters of the window
as passed to the pty...

[originally from svn r2064]
2002-10-15 15:16:21 +00:00
Simon Tatham
8782e6a3b0 Richard's patch to make the scrollbar configurably absent. (Still
want a new option to configure it to be on the LHS though. And some
lunatic is bound to ask for an xterm-style scrollbar too... :-)

[originally from svn r2062]
2002-10-15 14:55:19 +00:00
Simon Tatham
c15a6ada0c Support for all the server-side window configuration requests,
including server-controlled resizing. Irritatingly I've had to use a
deprecated option to gtk_window_set_policy() to make this work,
resulting in me raising GNOME bug #95818 to ask for it to be un-
deprecated again...

[originally from svn r2061]
2002-10-15 14:31:06 +00:00
Simon Tatham
0c011dcbe0 Introduce the ability to control whether the shell run in pterm is a
login shell or not. Also moved these new pieces of configuration
into the Config structure, though they won't stay there forever
since they will need to be moved out into platform-dependent config.

[originally from svn r2060]
2002-10-15 13:07:18 +00:00
Simon Tatham
0813c25bf6 Finish up utmp processing: add the -ut- command-line option to
suppress stamping it at all. (I suppose this ought to be part of the
cfg structure really.)

[originally from svn r2059]
2002-10-15 12:42:58 +00:00
Simon Tatham
6118021749 Support for utmp, wtmp and lastlog. Probably not terribly portable
as yet, but seems to work plausibly on Linux.

[originally from svn r2058]
2002-10-15 12:29:52 +00:00
Simon Tatham
cec0515b2c Support for BSD-style pty devices. Tested under Linux; might need
minor tweaks to run under other BSD-style OSes.

[originally from svn r2056]
2002-10-15 10:49:38 +00:00
Simon Tatham
b8625a2bf5 Trim wide text properly at the RH edge of the screen.
[originally from svn r2055]
2002-10-15 09:30:16 +00:00
Simon Tatham
74f8f8e8ac Support for line attributes: ESC #3, #4 and #6 for double-width and
double-height text.

[originally from svn r2054]
2002-10-15 00:22:48 +00:00
Simon Tatham
cf74237900 Don't cause the mouse pointer to reappear just because it's changed
shape.

[originally from svn r2053]
2002-10-14 23:39:07 +00:00
Simon Tatham
8bc305cafe Only engage a GTK idle function when absolutely necessary, otherwise
the whole app spins on it and takes up CPU all the time.

[originally from svn r2052]
2002-10-14 23:32:00 +00:00
Simon Tatham
7dff77fccf Set up the palette _before_ trying to paint the window black.
[originally from svn r2051]
2002-10-14 22:14:54 +00:00
Simon Tatham
1d65d8ae5f Add the -log option, which activates full session logging. Should be
handy next time I need to debug any weird terminal problems...

[originally from svn r2050]
2002-10-14 10:33:34 +00:00
Simon Tatham
6b2f5c95ab Support server requests for colour palette changes.
[originally from svn r2048]
2002-10-14 10:21:35 +00:00
Simon Tatham
a8ba9f422b Don't forget to call term_paste() when we get the chance, or big
pastes won't go through. (Not sure whether I should remove this
weird behaviour completely for pterm. It's a bit bizarre.)

[originally from svn r2047]
2002-10-14 10:14:12 +00:00
Simon Tatham
209fe88b79 Support NetHack keypad mode. :-)
[originally from svn r2046]
2002-10-14 10:06:07 +00:00
Simon Tatham
e0c7339695 Support for hiding the mouse pointer on keypresses. Currently
activated by `-hide' on the command line.

[originally from svn r2045]
2002-10-14 09:58:27 +00:00
Simon Tatham
76cda50683 xterm-class programs should exit when their primary child process
dies, rather than waiting around until the last open handle on the
pty closes.

[originally from svn r2044]
2002-10-14 09:18:34 +00:00
Simon Tatham
b3072e227e SEL_NL is different between Windows and Unix; move it out into the
platform-specific header files.

[originally from svn r2043]
2002-10-14 09:06:31 +00:00
Simon Tatham
3c3fd86691 Various faffs in the pty allocation process to get controlling
terminals right. Irritatingly this was working when run from another
[xsp]term but not when run from my GNOME panel. I think it's now
more robust.

[originally from svn r2041]
2002-10-14 08:56:55 +00:00
Simon Tatham
6758c89927 Window title configurability: -T to set it from the command line,
support for the xterm escape sequences to set it, and support for
the xterm escape sequence to query it.

[originally from svn r2040]
2002-10-14 00:05:37 +00:00
Simon Tatham
598018644a Don't forget to set $TERM when we spawn the pty. Of course I haven't
noticed this until now because I've always been spawning it _from_
another xterm! :-)

[originally from svn r2039]
2002-10-13 23:57:40 +00:00
Simon Tatham
e6d2d5260f gnome-terminal insists on receiving the selection as COMPOUND_TEXT
rather than STRING, so we can now supply that too. Pasting both ways
between pterm and gnome-terminal now works.

[originally from svn r2038]
2002-10-13 23:48:31 +00:00
Simon Tatham
bacc5cf102 Added two simple command-line arguments: -fn (so I can have my Font
Of Choice back :-) and -e to run a command other than $SHELL.

[originally from svn r2037]
2002-10-13 12:54:17 +00:00
Simon Tatham
0dff7f90da Resizing of pterm now works, and the size information is correctly
sent on to the pty.

[originally from svn r2036]
2002-10-13 12:44:01 +00:00
Simon Tatham
504c198e73 Deal with the appalling mouse pointer colours. (Why doesn't GTK let
us select our own mouse pointer fg and bg for standard pointers?
It's ludicrous that we can only do it for pixmap-derived ones. :-( )

[originally from svn r2035]
2002-10-13 12:17:03 +00:00
Simon Tatham
b4cf83ed6b Shift-Ins pastes.
[originally from svn r2034]
2002-10-13 11:27:39 +00:00
Simon Tatham
ffff6f32c7 Selection now supported in pterm. Required small modifications
outside the unix subdir, owing to more things needing to become
platform-dependent.

[originally from svn r2033]
2002-10-13 11:24:25 +00:00
Simon Tatham
b65b4e36f5 Fix underline, which I cleverly broke while adding support for the
window border. Oops.

[originally from svn r2032]
2002-10-13 09:57:07 +00:00
Simon Tatham
534c8b4c4a Scrollbar now exists and functions; so do Shift-PgUp / Shift-PgDn.
[originally from svn r2031]
2002-10-13 09:54:36 +00:00
Simon Tatham
5aee6cf2af Stop hard-coding a nonstandard font. We now default to `fixed', and
pick up the font's real width and height. This means I now _can't_
use my font of choice until I implement some command-line options; I
wonder what feature will appear next :-)

[originally from svn r2027]
2002-10-10 14:42:56 +00:00
Simon Tatham
33a54aaa8a And that's it! pty.c is now a real pty backend rather than a
loopback interface; pterm now runs $SHELL and gives every impression
of being not a bad terminal emulator. I'm quite pleased with that. :-)

[originally from svn r2015]
2002-10-10 12:40:05 +00:00
Simon Tatham
77096ce405 Half-decent keyboard handling for pterm. Not very well done - it
would have been better to abstract the general key-handling rules
away from the platform-specific keysyms rather than doing clone-
and-hack as I've done - but it'll serve for now. Now all I need is a
real pty back end and pterm should be a just-about-usable prototype.

[originally from svn r2013]
2002-10-10 12:14:05 +00:00
Simon Tatham
77a43c5d7a Temporary hack which makes vt100 line drawing work in the prototype
pterm.

[originally from svn r2012]
2002-10-10 11:33:46 +00:00
Simon Tatham
622f9b44f0 A sensible minimum of do_text() and do_cursor() is now implemented.
This means pterm actually _looks_ like the PuTTY terminal emulator
engine, instead of merely giving evidence to the expert eye that
said engine is hidden in there somewhere :-)

[originally from svn r2011]
2002-10-10 10:40:30 +00:00
Simon Tatham
6d0e9b205d First phase of porting. pterm now compiles and runs under Linux+gtk.
The current pty.c backend is temporarily a loopback device for
terminal emulator testing, the display handling is only just enough
to show that terminal.c is functioning, the keyboard handling is
laughable, and most features are absent. Next step: bring output and
input up to a plausibly working state, and put a real pty on the
back to create a vaguely usable prototype. Oh, and a scrollbar would
be nice too.
In _theory_ the Windows builds should still work fine after this...

[originally from svn r2010]
2002-10-09 18:09:42 +00:00
Simon Tatham
64c52b0d30 Begin destabilisation in the wake of 0.53! This checkin contains the
beginning of a Unix port. It's nowhere near done, and currently it
won't even compile on Unix. But this represents the start of the
process of separating out platform-specific code, and also contains
the mkfiles.pl changes required to support a Unix makefile and a
non-flat source tree.

[originally from svn r1993]
2002-10-07 16:45:23 +00:00