Commit graph

73 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 6ba8a926da [CONSRV]: Add PCONSRV_CONSOLE --> PCONSOLE casts (needed *on purpose*).
svn path=/branches/condrv_restructure/; revision=65644
2014-12-14 18:05:50 +00:00
Hermès Bélusca-Maïto 4bc1529cfa [CONSRV]: Move all references to VDM screenbuffers from condrv back to consrv (only ConDrvWriteConsoleOutputVDM remains in condrv for now...)
svn path=/branches/condrv_restructure/; revision=65643
2014-12-14 17:30:38 +00:00
Hermès Bélusca-Maïto f995f5fef8 [CONSRV]: Use an optional parameter for passing things to the "line discipline" functions.
svn path=/branches/condrv_restructure/; revision=65640
2014-12-14 16:53:47 +00:00
Hermès Bélusca-Maïto f6b392dd4c Fix merge r65567.
svn path=/branches/condrv_restructure/; revision=65570
2014-12-05 22:24:49 +00:00
Hermès Bélusca-Maïto 9919d4fa10 Sync to trunk r65566.
svn path=/branches/condrv_restructure/; revision=65567
2014-12-05 21:20:35 +00:00
Hermès Bélusca-Maïto ecfd6e6d6d Sync with trunk revision 64099.
svn path=/branches/condrv_restructure/; revision=64100
2014-09-09 23:20:40 +00:00
Hermès Bélusca-Maïto cfe6d0b69f [CONSRV]: Use a console input thread that doesn't need any hidden notification window of any sort.
svn path=/branches/condrv_restructure/; revision=64085
2014-09-08 23:31:12 +00:00
Hermès Bélusca-Maïto a9feb19181 [KERNEL32][CONSRV]
- 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
2014-09-07 22:53:49 +00:00
Hermès Bélusca-Maïto 4c18b81f0f [CONSRV]
- Start to implement a popup list of entered commands (history), WIP.
- Fix Get/SetConsoleHistoryInfo.
- Implement SetConsoleCommandHistoryMode.

svn path=/branches/condrv_restructure/; revision=64075
2014-09-07 20:05:39 +00:00
Hermès Bélusca-Maïto 0f46d2a9bd Code formatting mainly (and comments fixes for future usage).
svn path=/branches/condrv_restructure/; revision=64044
2014-09-05 21:12:42 +00:00
Hermès Bélusca-Maïto f7ed0f0444 [CONSRV]: Code reorganization part 2 (add some comments for future fixes).
svn path=/branches/condrv_restructure/; revision=64043
2014-09-05 21:08:15 +00:00
Hermès Bélusca-Maïto f03589f92e [CONSRV]: Code reorganization part 1.
svn path=/branches/condrv_restructure/; revision=64042
2014-09-05 21:06:36 +00:00
Hermès Bélusca-Maïto 241cfca838 Code formatting only.
svn path=/branches/condrv_restructure/; revision=64012
2014-08-31 14:57:43 +00:00
Hermès Bélusca-Maïto 3e02669bee [CONSRV]: Continuing code refactoring of revisions 63866, 63867, 63868 and 63874.
svn path=/branches/condrv_restructure/; revision=64011
2014-08-31 14:04:03 +00:00
Hermès Bélusca-Maïto af311f30a9 [CONSRV]: Merge again ConDrvProcessKey and ConioProcessKey.
svn path=/branches/condrv_restructure/; revision=64010
2014-08-31 14:01:21 +00:00
Hermès Bélusca-Maïto ff5a8823e0 [CONSRV]
- 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
2014-08-31 11:58:50 +00:00
Hermès Bélusca-Maïto abe58c387a [CONSRV]: Code cleaning.
svn path=/branches/condrv_restructure/; revision=64005
2014-08-31 11:24:23 +00:00
Hermès Bélusca-Maïto b47d51c6a3 [CONSRV][CONDRV]
- 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
2014-08-31 11:07:09 +00:00
Hermès Bélusca-Maïto 0482248489 [CONSRV]: Start implementing popup windows (it's what you see when you press e.g. the F7 key in your console, when you run cmd.exe).
svn path=/branches/condrv_restructure/; revision=63992
2014-08-30 16:20:32 +00:00
Hermès Bélusca-Maïto a55a2fbbc4 [CONDRV]
- 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
2014-08-30 16:18:07 +00:00
Hermès Bélusca-Maïto ccaa07fecf [CONSRV]: Code formatting only.
svn path=/branches/condrv_restructure/; revision=63990
2014-08-30 15:59:35 +00:00
Hermès Bélusca-Maïto e3e54a09b3 [CONSRV]
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
2014-08-29 19:54:10 +00:00
Hermès Bélusca-Maïto 742f7ebd4b [CONSRV]
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
2014-08-29 19:45:45 +00:00
Hermès Bélusca-Maïto 89524de4be [CONSRV]: Add some accelerators and fix few french strings.
TO TRANSLATORS: Please add accelerators for the other languages!

svn path=/branches/condrv_restructure/; revision=63926
2014-08-23 16:38:22 +00:00
Hermès Bélusca-Maïto 73a66663c8 Sync to trunk revision 63922.
svn path=/branches/condrv_restructure/; revision=63923
2014-08-23 15:51:37 +00:00
Hermès Bélusca-Maïto 9fc8396088 [CONSOLE.CPL][CONSRV]: Font fix n°1: correctly use the font size (for TT fonts only, at the moment).
svn path=/branches/condrv_restructure/; revision=63896
2014-08-15 20:00:47 +00:00
Hermès Bélusca-Maïto 21b5377d35 [KERNEL32]
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
2014-08-14 20:10:00 +00:00
Hermès Bélusca-Maïto de799f57dc Sync to trunk revision 63875.
svn path=/branches/condrv_restructure/; revision=63876
2014-08-12 18:49:17 +00:00
Hermès Bélusca-Maïto 73cdd53b1d [CONSRV]: Still some code refactoring....
svn path=/branches/condrv_restructure/; revision=63874
2014-08-12 14:59:13 +00:00
Hermès Bélusca-Maïto d9e86f8a78 [CONSRV]: Continuing 3/X, a small step for a brighter future, maybe!
svn path=/branches/condrv_restructure/; revision=63868
2014-08-11 20:55:50 +00:00
Hermès Bélusca-Maïto afd30b0e36 [CONSRV]: Continuing 2/X
svn path=/branches/condrv_restructure/; revision=63867
2014-08-11 20:39:06 +00:00
Hermès Bélusca-Maïto 991c1f0e88 [CONSRV]: Code refactoring 1/X (and move VDM support to where it belongs).
svn path=/branches/condrv_restructure/; revision=63866
2014-08-11 20:28:40 +00:00
Hermès Bélusca-Maïto 6671999847 [CONSRV]: Support reverse video bit COMMON_LVB_REVERSE_VIDEO
svn path=/branches/condrv_restructure/; revision=63865
2014-08-11 15:37:01 +00:00
Hermès Bélusca-Maïto 1581bcfc02 [CONSRV]: Support underline code COMMON_LVB_UNDERSCORE in the console via CreateFont* API.
svn path=/branches/condrv_restructure/; revision=63864
2014-08-11 14:38:07 +00:00
Hermès Bélusca-Maïto 23f16979ac [CONSOLE.CPL][CONSRV]
- 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
2014-08-11 13:35:33 +00:00
Hermès Bélusca-Maïto 8e73c54f79 [CONSRV]: Some handle reworking commit, that might look like ridiculous at first, but is just the start of something bigger.
svn path=/branches/condrv_restructure/; revision=63862
2014-08-11 13:31:22 +00:00
Hermès Bélusca-Maïto e5b5525a8a Sync to trunk revision 63857.
svn path=/branches/condrv_restructure/; revision=63858
2014-08-10 21:33:21 +00:00
Hermès Bélusca-Maïto cc85bc57af [KERNEL32][CONSRV]: Implement a basic RegisterConsoleVDM (see revision 62371 for more details).
svn path=/branches/condrv_restructure/; revision=63849
2014-08-09 19:47:40 +00:00
Hermès Bélusca-Maïto 636d4cf0ce [KERNEL32][CONSRV]
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
2014-08-08 17:06:28 +00:00
Hermès Bélusca-Maïto 277e3473c4 Sync with trunk r63831.
svn path=/branches/condrv_restructure/; revision=63832
2014-08-07 12:54:03 +00:00
Hermès Bélusca-Maïto 18897fd933 [CONSRV]: Add a DPRINT for diagnostics purposes...
svn path=/branches/condrv_restructure/; revision=63831
2014-08-07 12:36:40 +00:00
Hermès Bélusca-Maïto 7a1f204af1 [KERNEL32][CONSRV]
- 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
2014-08-06 21:01:23 +00:00
Hermès Bélusca-Maïto e4f44047b6 [CONSOLE][CONSRV]
- Implement the undocumented WM_SETCONSOLEINFO window message (the equivalent of our PM_APPLY_CONSOLE_INFO), sent
  by the Windows' console control panel applet console.dll, when applying new console settings to the current opened console
  (and its associated data structure CONSOLE_STATE_INFO).
  This is used by the FAR plugin MinCE by Andrew Grechkin (see http://code.google.com/p/andrew-grechkin/source/browse/trunk/MinCE/src/setconsoleinfo.cpp for example)
- Convert GUI_CONSOLE_INFO::FontSize to COORD, as it should be.

See: http://www.catch22.net/sites/default/source/files/setconsoleinfo.c and http://www.scn.rain.com/~neighorn/PDF/MSBugPaper.pdf for more information.

svn path=/branches/condrv_restructure/; revision=63819
2014-08-06 20:49:10 +00:00
Hermès Bélusca-Maïto 58f976d27f [CONDRV]: Quick fix for ASCII strings for ConDrvWriteConsoleOutputString.
[CONSRV]: Commit something forgotten from previous revision.

svn path=/branches/condrv_restructure/; revision=63808
2014-08-04 21:09:46 +00:00
Hermès Bélusca-Maïto 2c404d180a [CONSRV]
- Few code reshuffling before more restructuration.
- Some type fixes.

svn path=/branches/condrv_restructure/; revision=63806
2014-08-04 20:23:33 +00:00
Hermès Bélusca-Maïto d3043d040d [CONSRV]: Cosmetic changes only.
svn path=/branches/condrv_restructure/; revision=63805
2014-08-04 17:53:00 +00:00
Hermès Bélusca-Maïto e3a5ed0e2b [KERNEL32][CONSRV]
Fix few MSVC dword -> short warnings (basically). Thanks GCC for not having noticed them...

svn path=/branches/condrv_restructure/; revision=63804
2014-08-04 17:13:43 +00:00
Hermès Bélusca-Maïto 9fd5cfb5f8 [KERNEL32]
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
2014-08-04 16:25:12 +00:00
Hermès Bélusca-Maïto e9c6ccbd0f [CONSRV]
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
2014-08-04 14:36:26 +00:00
Hermès Bélusca-Maïto bf136052c0 Sync with trunk r63793.
svn path=/branches/condrv_restructure/; revision=63794
2014-08-01 18:39:52 +00:00