- Make CONSRV_API_CONNECTINFO, CONSOLE_ALLOCCONSOLE and CONSOLE_ATTACHCONSOLE Windows 2k3-compatible, so that using either their kernel32 in ROS or our kernel32 in windows, works.
For that, complete and fix also the CONSOLE_START_INFO and CONSOLE_PROPERTIES structures.
- Rewrite Alloc/AttachConsole and the console initialization functions to match what Windows expects when connecting to the console server, and make them compatible with the fixed structures.
- Fix SrvAllocConsole and SrvAttachConsole accordingly, and few other console initialization functions in consrv.
- Fix input EXE name support and store also the current directory from which we were started.
- Use a temporarily define USE_CONSOLE_INIT_HANDLES that is not enabled yet because we do not use console initialization events (used by Windows for Alloc/AttachConsole and console initialization functions). Until this gets implemented in ReactOS, putting windows' kernel32 in ReactOS will fail when it will try to wait on those events.
- For SrvAlloc/SrvAttach/SrvFreeConsole, ConSrvConnect and ConSrvDisconnect: correctly mark the process as console app.
- Fix process initialization in ConSrvNewProcess.
- Get rid of CONSOLE_PROCESS_DATA::ParentConsoleHandle member.
- Temporarily move the link settings retrieval in console.c and hack a bit icon setting.
[CONSRV]
- Move console title setting from condrv back to consrv where it should belong in fact.
CORE-7931 #resolve #comment ConsolepAlloc and ConsolepAttach finally fixed in revision 64079.
svn path=/branches/condrv_restructure/; revision=64079
- Some code cleaning.
- Bring back the terminal bell that was added in revision 58253 and disabled in revision 58447.
svn path=/branches/condrv_restructure/; revision=64007
- Move CSR details (pre/post-processing, unicode translation) of reading/writing console inputs to consrv, where they belong.
- Add a temporary solution to screenbuffer resizing notifications, to be properly fixed later on.
svn path=/branches/condrv_restructure/; revision=64004
- In ConDrvChangeScreenBufferAttributes, change also the popup attributes.
- In some functions we need to check validity of Read/WriteCoord parameters, add fixme for now, that need to be fixed later on.
svn path=/branches/condrv_restructure/; revision=63991
Commit my work that I've done during my trip from Albi back to Paris (part 2/2):
Remove terminal-specific line discipline code from CONDRV back to CONSRV.
svn path=/branches/condrv_restructure/; revision=63979
Commit my work that I've done during my trip from Albi back to Paris (part 1/2):
- QuickEdit and InsertMode are input modes that are related to CONSRV terminal(s), therefore remove them from CONDRV that needs to be agnostic about terminal specificities.
- Separate history helper functions from the line discipline functions to different files.
svn path=/branches/condrv_restructure/; revision=63978
OpenConsoleW was implemented :P
[CONSOLE.CPL][CONSRV]
Create all the fonts needed at console startup, and then just select what's needed when fonts attributes need to be changed at run-time.
[CONSOLE.CPL][CONSRV]
- HACKFIX: Temporary use FW_NORMAL instead of FW_DONTCARE as default font weight (in ReactOS, FW_DONTCARE makes fonts bold by default, instead of normal)
- Use bold fonts instead of the underlined ones for underlined fonts in the terminal.
Timo, FIX THE FONTS !!!!!!!!!! :P
CORE-8439 #comment Should be fixed in revision 63885.
svn path=/branches/condrv_restructure/; revision=63885
- Remove the unuseful UseRasterFonts member in console properties structure.
- Fix my FontSize.X / FontSize.Y mixing (X is width, Y is height) that I introduced in revision 63819.
- We are now able to change the console font via the console props control panel applet (work in progress, but it works!)
svn path=/branches/condrv_restructure/; revision=63863
For WriteConsoleOutput API only!! Diagnosed with ApiMonitor from Rohitab.
If one tries to write a too large buffer (>= 80*198 CHAR_INFO cells), the CsrAllocateCaptureBuffer API helper fails, because it uses the non-growable CSR port heap of fixed size 64kB.
Since many applications use the API with large buffers (for example, Far Manager <= 1.70, the Windows XTree app http://textmode.netne.net/Extreme.html , ...) and maybe NTVDM,
Windows (and hence ReactOS for compatibility reasons) allocates a buffer in the process' heap (and not in the CSR port heap via the CSR capture API), so that the big buffer allocation
should work. Then, to be able to access it, CSR needs to call NtReadVirtualMemory for capturing the buffer.
CORE-5006 CORE-6397 CORE-8424 #resolve
svn path=/branches/condrv_restructure/; revision=63841
- Fix FreeConsole API.
- Implement undocumented GetConsoleKeyboardLayoutNameA/W API (same usage as GetKeyboardLayoutName), needed for ConEmu.
See some examples here: http://www.opensource.apple.com/source/vim/vim-44/src/os_win32.c , and there: 700bab23f2/lswitch.c
CORE-7931 #comment ConsolepFree fixed in revision 63820.
svn path=/branches/condrv_restructure/; revision=63820
Add a bunch of missing _SEH_YIELD in 'return' clues in _SEH_TRY clauses.
[KERNEL32][CONSRV]
Make kernel32 / winsrv console CSR structures Win2k3-compliant for Read/WriteConsoleOutput functions.
The last missing ones are Alloc/Attach/FreeConsole APIs!!
Part 9/10
CORE-7931
svn path=/branches/condrv_restructure/; revision=63803
Fix memory section protection flag, that made console settings application fail since some recent work on virtual memory...
svn path=/branches/condrv_restructure/; revision=63801