[PATCH 0/5] Moving bare consoles to wineconsole (try #2)
eric.pouech at orange.fr
Sat Dec 15 02:22:17 CST 2012
The following series implements a new scheme for managing 'bare' consoles.
We now force every program started without a wine parent to be run under
wineconsole (transparently for the user).
This is done using a new backend in wineconsole called 'line'. This backend
only takes care of input; output is kept as a client side operation.
All terminal related code is moved from dlls/kernel32 to programs/wineconsole.
This basically ensures that:
- Only wineconsole reads from standard input (and writes into input queue).
This fixes bug reported by Jason when $CONIN is opened with read access only.
- It also enforces that wineconsole always has control of the unix terminal,
hence ensuring that we properly reset the terminal settings upon exit.
Code looks way cleaner now.
Try #2 (changes from previous patch)
- fix changelog of first patch (was WineHelp...)
- fix date in header for new file
- remove setting title code (will be fixed in later patch)
Eric Pouech (5):
[WineConsole]: added basic infrastructure for a new wineconsole mode: line
[WineConsole]: in line mode, save (resp restore) terminal settings upon startup (resp exit)
[WineConsole]: in line mode, now support extended characters
Force using wineconsole as input manager for the bare consoles
Remove lots now unneeded code related to bare console management
dlls/kernel32/Makefile.in | 1
dlls/kernel32/console.c | 306 +-------------
dlls/kernel32/console_private.h | 9
dlls/kernel32/editline.c | 4
dlls/kernel32/kernel_main.c | 1
dlls/kernel32/kernel_private.h | 2
dlls/kernel32/process.c | 26 +
dlls/kernel32/term.c | 472 ----------------------
dlls/ntdll/thread.c | 11 -
include/wine/server_protocol.h | 4
programs/wineconsole/Makefile.in | 1
programs/wineconsole/curses.c | 61 ++-
programs/wineconsole/line.c | 697 ++++++++++++++++++++++++++++++++
programs/wineconsole/registry.c | 8
programs/wineconsole/user.c | 24 +
programs/wineconsole/winecon_private.h | 21 +
programs/wineconsole/wineconsole.c | 57 ++-
server/console.c | 83 +---
server/protocol.def | 1
server/request.h | 3
server/trace.c | 1
21 files changed, 878 insertions(+), 915 deletions(-)
delete mode 100644 dlls/kernel32/term.c
create mode 100644 programs/wineconsole/line.c
More information about the wine-patches