Commit graph

104 commits

Author SHA1 Message Date
Hugh McMaster
12cf3459b5 conhost: Process Ctrl-M key input.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50526
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-14 20:53:42 +01:00
Hugh McMaster
a7fb08fba6 conhost: Use font face length as number of characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 18:27:44 +02:00
Jacek Caban
da86e50e29 conhost: Use message window to return a window for windowless consoles.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38640
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 18:16:49 +02:00
Jacek Caban
365e99c022 conhost: Use dedicated ioctl for GetConsoleWindow.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 18:16:49 +02:00
Hugh McMaster
3bf6b27882 conhost: Copy font properties to the new screen buffer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50187
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 20:43:28 +02:00
Hugh McMaster
f1023b4b52 conhost: Popup Attributes should match Character Attributes when creating a new screen buffer.
Popup Attributes should match Character Attributes when a new screen
buffer is created. The existing Popup Attributes are copied when
using a pseudo console.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 21:44:25 +02:00
Hugh McMaster
b17eb27112 conhost: Copy Character Attributes (colors) to the new screen buffer.
CreateConsoleScreenBuffer() copies the Character Attributes (colors)
to the new screen buffer when called.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 16:43:50 +02:00
Jacek Caban
8dfcc1e3bc conhost: Silence FIXME in console_input_ioctl.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-28 19:43:28 +02:00
Alexandre Julliard
1bd4473484 ntdll: Create a thread to run the ctrl-C routine instead of raising an exception.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-09 23:38:43 +02:00
Jacek Caban
fdf568aaae ntdll: Inherit tty std input and output in processes attached to Unix console.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50117
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:52:23 +02:00
Gabriel Ivăncescu
8d076bc5e4 conhost: Fix line wrapping around when ENABLE_VIRTUAL_TERMINAL_PROCESSING is set.
Remember the fact we completed the entire line but normalize the cursor
otherwise. A newline is delayed so it wraps when writing a new character
if the cursor is outside the width.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-05 23:00:00 +02:00
Gabriel Ivăncescu
85c4adc80b conhost: Wrap around immediately if ENABLE_VIRTUAL_TERMINAL_PROCESSING is not set.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-05 23:00:00 +02:00
Jacek Caban
8ccf24ccb0 conhost: Delay window refresh on output update.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-31 19:26:09 +02:00
Jacek Caban
9e97f3513e conhost: Avoid assumption about the exact Unix cursor position after writing to the last column.
Spotted by Roman Pišl.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50581
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:38 +01:00
Roman Pišl
2ca86d3b59 conhost: Improve notification when resizing window.
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 20:59:55 +01:00
Jacek Caban
105db4c538 conhost: Fix wrapping search in edit_line_find_in_history.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50000
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-04 21:48:25 +01:00
Jacek Caban
d7d315ddf4 conhost: Ignore CONTROL_C_EXIT exceptions in Unix mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50304
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-30 11:19:16 +01:00
Jacek Caban
ef876fc54e conhost: Improve get_output_info debug traces.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-16 22:32:13 +01:00
Jacek Caban
8a47ef28ca conhost: Use QS_ALLINPUT to wait for input in main loop.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50014
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 12:34:48 +01:00
Jacek Caban
90cdea1b65 conhost: Allow events with left alt pressed in edit_line_insert.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50197
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Gabriel Ivăncescu
7b2b4e0329 conhost: Respect the StartupInfo's wShowWindow.
Since 859b526c81, console windows are always
shown even if they're supposed to start in some other state, e.g. minimized.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Jacek Caban
dfe1bb7b8d conhost: Signal console in process_console_input if needed.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50037
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-24 20:20:38 +01:00
Jacek Caban
a66eab0dfb kernelbase: Move Unicode conversion from ReadConsoleA to conhost.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:44:55 +01:00
Jacek Caban
4cc4ea449b kernelbase: Move Unicode conversion from WriteConsoleA to conhost.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 19:36:06 +01:00
Jacek Caban
1f15ddce9c conhost: Use console debug channel.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 21:14:58 +01:00
Jacek Caban
1d8c2d28cb kernelbase: Move console code page validation to conhost.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-15 20:20:43 +02:00
Jacek Caban
01c17ca260 conhost: Remove no longer needed non-blocking IOCTL_CONDRV_READ_INPUT.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-15 20:20:31 +02:00
Jacek Caban
6f05b299bc kernel32: Use new IOCTL_CONDRV_SCROLL ioctl for FlushConsoleInputBuffer implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-15 20:19:55 +02:00
Jacek Caban
e909986e6e conhost: Remove no longer needed condrv_input_info fields.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Jacek Caban
ef2e281dc2 conhost: Remove no longer needed SET_CONSOLE_OUTPUT_INFO flags.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Jacek Caban
d7e831c112 conhost: Remove no longer needed CHAR_INFO_MODE_TEXTSTDATTR.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Jacek Caban
bed3b61b49 conhost: Remove no longer needed SET_CONSOLE_INPUT_INFO flags.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Jacek Caban
a7066c66a6 conhost: Fix check for the last history index in edit_line_find_history.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50000
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Jacek Caban
70c1d4fcaa server: Remove no longer used console renderer object.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Jacek Caban
12cc863a4a conhost: Set console window title.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:45:03 +02:00
Jacek Caban
b2487c17eb conhost: Store title as zero terminated string.
To make it usable for Windows functions.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:45:01 +02:00
Jacek Caban
7148521305 conhost: Import keyboard event handling from wineconsole.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 17:37:43 +02:00
Jacek Caban
3a6da8defa conhost: Support painting screen buffer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 21:46:44 +02:00
Jacek Caban
c2ffbe5d36 conhost: Update window config in ioctl handlers when needed.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 21:46:44 +02:00
Jacek Caban
632676d071 conhost: Import window state update from wineconsole.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 21:46:44 +02:00
Jacek Caban
5c45ec90ff conhost: Import loading console config from wineconsole.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 21:46:44 +02:00
Jacek Caban
3d51714ce4 conhost: Pump window messages when we have a window.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 21:46:44 +02:00
Jacek Caban
bbd4196814 conhost: Initial support for creating console window.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 21:46:44 +02:00
Jacek Caban
0c25f5ee46 conhost: Use better default values in create_screen_buffer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 10:15:39 +02:00
Jacek Caban
1d2c29dfb0 conhost: Don't create tty input thread if we don't have tty_input handle.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 10:15:31 +02:00
Jacek Caban
a90017845d conhost: Scroll window to cursor position when needed.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 10:15:27 +02:00
Michael Stefaniuc
8bfdc84a19 conhost: Correct whitespace placement in a TRACE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 11:54:52 +02:00
Jacek Caban
c9e1b789d2 conhost: Clear out_size in IOCTL_CONDRV_READ_CONSOLE implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-01 21:48:20 +02:00
Jacek Caban
45b8489ba5 conhost: Call ensure_tty_input_thread in IOCTL_CONDRV_PEEK implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-01 21:48:20 +02:00
Jacek Caban
5f24f30124 conhost: Terminate pseudo console on input error.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 17:45:38 +02:00