1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
|
2003-03-26 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Work-around for programs trying to use non-standard escape
codes to draw line characters.
2003-03-24 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Fixed configuration file parsing when embedding C-style escape
sequences.
2003-02-15 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Work-around for terminal emulators that expect
clear-to-end-of-screen to be issued from column 0. This quirk
was noticed with the default terminal emulator in RedHat 8.0,
but might exist in other programs as well.
2002-11-13 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* The emulator detects the application trying to decrease the
screen resolution, but the underlying host terminal failing to
honor the request. In this case, we now use the newly requested
screen dimensions rather than the physical ones for the
computation of cursor positions. This only works if the physical
screen of the host terminal is larger than the one requested by
the application. The upshot is that the emulator now deals more
gracefully with host terminals that do not know how to resize
(e.g. current versions of the GNOME and KDE terminal emulators).
* Work-around for applications that output undefined graphics
characters.
2002-07-14 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Allow users to override the identification string in the
configuration file.
* Added command line option to override configuration variables.
* Emulate setupterm(), reset_shell_mode(), and tparm() if
<term.h> could not be found. As long as <curses.h> defines
tgetent(), tgetflag(), tgetstr(), and tputs() we can emulate the
rest.
* With these changes, the emulator now runs on Mac OS X.
2002-07-13 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Emulate poll() by calls to select() if the <sys/poll.h> include
file does not exist.
2002-07-11 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Both AIX and MacOS X seem to have difficulties with variadic
arguments. Fall back to using fixed argument lists instead.
2002-06-04 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Rather than closing stdin and stderr when calling external
programs, redirect them to "/dev/null" instead.
* Update the documentation with a new version of the "resize"
shell script. This script knows how to find the current terminal
from the value of stdout and no longer relies on stdin to point
anywhere useful.
* Added support for slave printing.
2002-06-04 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* The SIGCHLD signal handler should not use siglongjmp() as the
signal isn't blocked (this code is mostly a result of trying to
accomodate various UNIX systems that treat SIGCHLD specially).
* Close stdin and stderr for the duration of running external
resize scripts. We still must keep stdout open, though.
2002-06-02 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Added optional support for job control. If the calling process
enabled job control, then wy60 can pass this capability through to
its children.
* The code is now sufficiently feature rich to warrant upgrading
the version number to 2.0.
2002-05-31 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* wy60 now attempts to correctly implement protected mode. Since I
don't have a hardware Wyse 60 terminal, and I don't have full
specs, I am not sure if I got all the corner cases right.
* Do not reset the terminal at startup, initializing it is
sufficient and seems to be less disruptive for most terminfo
entries.
* The attributes for protected mode weren't always initialized
correctly.
2002-05-26 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* A lot more compatibility tweaks. The code is now more friendly
to systems that have restrictive C compilers (i.e. pre C99),
run-time libraries limited in functionality, or require System V
streams.
* User input uses buffered I/O now. This improves performance over
high-latency network connections.
2002-05-21 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Assorted performance improvements in dealing with the internal
screen buffers.
* Fixed a couple of minor redraw problems introduced with the
screen buffers.
* Do not clear old contents in buffers if the screen size has
shrunk, unless there has also been a scrolling operation.
* When requesting a change in screen size, wait for the terminal
to adjust before continuing (or time out after about 1s).
2002-05-19 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Major change in the way how characters are output. Wy60 now
maintains internal buffers that mirror what is shown on the
screen. This is the neccessary framework to add full support for
protected mode. Protected mode itself has not been implemented,
yet.
2002-05-15 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Ported to Cygwin.
2002-05-13 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Added ugly fall-back code that gets used if the C compiler does
not understand GCC extensions.
* Exit with error code 125 if the child process closed all its
filehandles, but didn't terminate.
2002-05-12 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Extended resizing code to understand about changes in both width
and height of the console (i.e. supported modes are now 80x24,
80x25, 80x42, 80x43, 132x24, 132x25, 132x42, 132x43).
* Added a configuration option to specify an external program for
screen resizing. This allows users to use SVGATextMode when
running from the Linux text console.
* Added a configuration option to override the attributes that
indicate write-protect mode.
2002-05-11 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Added support for automake/autoconf.
* Verified that wy60 compiles and runs on both Linux and FreeBSD.
2002-01-07 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Modified the terminal initialization code, so that BSD systems
can properly set the controlling terminal.
2001-12-26 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Added explicit buffering for all output to the
console. Performance is back to where it was before getting rid of
stdio calls.
2001-12-19 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* First attempt at making the code compile on FreeBSD. There are
still a few caveats. wy60 must be run setuid root in order for the
permissions on the pty to be updated. The Makefile must be
manually configured for FreeBSD. There still seem to be some bugs
in the handling of terminal settings (e.g. the session breaks
after leaving emacs).
* Had to get rid of most of the calls to the stdio library. This
means performance is now somewhat degraded, because there is no
buffering on I/O.
2001-11-17 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Allow wy60 to become a user's default shell. This can be used if
a specific user always should run all programs within the
emulator.
* Updated the manual page.
* Released version 1.0.1
2001-11-16 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Added full command line parsing. Unknown parameters are still
forwarded to the child process.
* Introduced a distinction between launching a regular child
process or an inferior shell. Only shells understand about leading
'-' characters signaling a login shell.
* Updated the documentation.
* Released version 1.0
2001-11-11 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Added support for dynamically changing the window size if
supported by the host terminal emulation. This works for recent
versions of xterm.
* Added lots of predefined function key definitions. This works
around the lack of proper terminfo entries for many host terminal
emulators.
* Completed code for parsing the configuration file.
* Move cursors to closest corner if attempt is made to move it off
the screen.
* Check for all mandatory capabilities before emulation starts.
* Added some more alternative algorithms to use if some of the
capabilities are missing from the host terminal. Also, added code
to prefer using parameterized commands if available.
* Made sure that we only attempt to scroll if in top or bottom
corner (this is suggested by the terminfo manual page).
* Successfully tested wy60 running within a 3270 emulator.
2001-11-10 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Update internal cursor position when the screen gets cleared.
* Added several conditional debugging modes for tracing program
execution. This code is not usually compiled in.
* Fixed attribute handling and switched to using colors if
available.
* Added support for graphics characters.
* Output all of the terminal's reset or initialization strings
both at program startup and termination.
2001-11-02 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* wy60 jumps to last character in previous line if backspace is
issued in the first column. This fixes a display glitch in "vi".
* Removed signal handling for SIGSTOP et. al, as these currently
seem to be impossible to raise anyway.
* Added code that parses escape sequences in the user input and
maps function keys to the corresponding wy60 escape sequences.
* Started work on parsing configuration files.
* Added a "make install" target.
2001-10-29 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Improved handling of terminal size changes.
2001-10-28 Markus Gutschke <markus+wy60@wy60.gutschke.com>
* Initial public release.
* All of the core features are implemented. It is possible to run
programs such emacs, vi, or less in the emulator. The emulator can
also successfully emulate itself.
* A lot of advanced features are still missing. Most notably this
includes the status bar, programmable function keys, and text
segments. It is not clear which of these features are actually
used by real-life applications.
|