qemu/ui
Roman Penyaev 40339871da ui/console-vc: report cursor position in the screen not in the scroll buffer
The format of the CSI cursor position report is `ESC[row;columnR`,
where `row` is a row of a cursor in the screen, not in the scrollback
buffer. What's the difference? Let's say the terminal screen has 24
lines, no matter how long the scrollback buffer may be, the last line
is the 24th.

For example the following command can be executed in xterm on the last
screen line:

   $ echo -en '\e[6n'; IFS='[;' read -sdR _ row col; echo $row:$col
   24:1

It shows the cursor position on the current screen and not relative
to the backscroll buffer.

Before this change the row number was always increasing for the QEMU
VC and represents the cursor position relative to the backscroll
buffer.

Signed-off-by: Roman Penyaev <r.peniaev@gmail.com>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20250226075913.353676-4-r.peniaev@gmail.com>
2025-03-05 09:34:14 +04:00
..
icons configure: move directory options from config-host.mak to meson 2020-10-26 07:08:38 -04:00
shader meson: do not build shaders by default 2023-10-17 15:20:53 +02:00
clipboard.c ui/vdagent: notify clipboard peers of serial reset 2024-07-22 12:47:28 +04:00
cocoa.m ui & main loop: Redesign of system-specific main thread event handling 2024-12-31 21:21:34 +01:00
console-gl.c ui/console: remove redundant format field 2023-09-12 10:37:02 +04:00
console-priv.h ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
console-vc-stubs.c ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
console-vc.c ui/console-vc: report cursor position in the screen not in the scroll buffer 2025-03-05 09:34:14 +04:00
console.c overall: Remove unnecessary g_strdup_printf() calls 2025-02-14 08:49:06 +03:00
curses.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
curses_keys.h For curses display, recognize a few more control keys 2023-07-25 10:56:51 +01:00
cursor.c ui/cursor: remove cursor_get_mono_image 2024-10-03 17:26:06 +03:00
cursor_hidden.xpm ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
cursor_left_ptr.xpm ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
dbus-chardev.c qom: Use object_get_container() 2025-01-09 18:16:24 +01:00
dbus-clipboard.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dbus-console.c ui/dbus: on win32, allow ANONYMOUS with p2p 2025-02-03 21:15:57 +04:00
dbus-display1.xml dbus: add -audio dbus nsamples option 2025-02-03 21:16:07 +04:00
dbus-error.c ui: add a D-Bus display backend 2021-12-21 10:50:22 +04:00
dbus-listener.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dbus-module.c ui/dbus: add p2p=on/off option 2021-12-21 10:50:22 +04:00
dbus.c ui/dbus: on win32, allow ANONYMOUS with p2p 2025-02-03 21:15:57 +04:00
dbus.h ui/dbus: win32 support 2023-06-27 17:08:56 +02:00
dmabuf.c ui/console: move QemuDmaBuf struct def to dmabuf.c 2024-05-14 17:14:12 +04:00
egl-context.c qapi/ui: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
egl-headless.c qapi/ui: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
egl-helpers.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
gtk-clipboard.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
gtk-egl.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
gtk-gl-area.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
gtk.c overall: Remove unnecessary g_strdup_printf() calls 2025-02-14 08:49:06 +03:00
input-barrier.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
input-barrier.h ui: add an embedded Barrier client 2019-09-17 13:43:22 +02:00
input-keymap.c meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
input-legacy.c ui/input-legacy.c: remove unused legacy qemu_add_kbd_event_handler() function 2024-11-08 11:06:42 +01:00
input-linux.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
input.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
kbd-state.c ui/vnc: Do not use console_select() 2024-03-20 10:27:54 +04:00
keymaps.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
keymaps.h ui: spelling fixes 2023-08-31 19:47:43 +02:00
meson.build ui/sdl2: reenable the SDL2 Windows keyboard hook procedure 2025-02-13 13:50:45 +01:00
qemu-pixman.c ui: refactor using a common qemu_pixman_shareable 2024-10-14 17:34:09 +04:00
qemu-x509.h ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
qemu.desktop ui: fix icon display for GTK frontend under GNOME Shell with Wayland 2019-01-21 09:43:13 +01:00
sdl2-2d.c ui+display: rename is_placeholder() -> surface_is_placeholder() 2024-06-19 12:42:03 +02:00
sdl2-gl.c qapi/ui: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
sdl2-input.c ui/sdl2: release all modifiers 2024-09-13 20:12:16 +02:00
sdl2.c ui/sdl2: reenable the SDL2 Windows keyboard hook procedure 2025-02-13 13:50:45 +01:00
shader.c ui/shader: free associated programs 2022-03-14 15:16:16 +04:00
spice-app.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
spice-core.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
spice-display.c ui/console: Convert mouse visibility parameter into bool 2024-07-16 20:04:08 +02:00
spice-input.c input: Allow to choose console with qemu_input_is_absolute 2023-10-03 15:04:56 +04:00
spice-module.c spice: wire up monitor in QemuSpiceOps. 2020-10-21 15:46:14 +02:00
trace-events ui/dbus: add trace for can_share_map 2024-10-14 17:34:09 +04:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
udmabuf.c Do not include "qemu/error-report.h" in headers that do not need it 2023-02-14 09:11:27 +01:00
ui-hmp-cmds.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
ui-qmp-cmds.c ui/qmp-cmds: Improve two error messages 2023-11-17 10:07:52 +01:00
util.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
vdagent.c ui/vdagent: send caps on fe_open 2024-07-22 12:47:28 +04:00
vgafont.h ui: fix tab indentation 2022-11-08 10:23:06 +01:00
vnc-auth-sasl.c ui: validate NUL byte padding in SASL client data more strictly 2024-10-22 13:02:31 +01:00
vnc-auth-sasl.h vnc: avoid deprecation warnings for SASL on OS X 2021-06-15 17:17:09 +02:00
vnc-auth-vencrypt.c vnc: fix resource leak when websocket channel error 2020-11-04 08:25:17 +01:00
vnc-auth-vencrypt.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
vnc-clipboard.c ui/vnc-clipboard: fix inflate_buffer 2023-12-04 11:28:26 +04:00
vnc-enc-hextile-template.h ui/vnc-enc-hextile: Use static rather than dynamic length stack array 2023-09-04 14:57:44 +04:00
vnc-enc-hextile.c Drop useless casts from g_malloc() & friends to pointer 2022-10-22 23:15:40 +02:00
vnc-enc-tight.c ui/vnc-enc-tight: Avoid dynamic stack allocation 2023-09-04 14:57:44 +04:00
vnc-enc-tight.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
vnc-enc-zlib.c vnc: fix memory leak when vnc disconnect 2019-09-17 13:45:10 +02:00
vnc-enc-zrle.c meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
vnc-enc-zrle.c.inc ui: Clean up local variable shadowing 2023-09-29 08:13:57 +02:00
vnc-enc-zrle.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
vnc-enc-zywrle-template.c ui: fix tab indentation 2022-11-08 10:23:06 +01:00
vnc-enc-zywrle.h ui: spelling fixes 2023-08-31 19:47:43 +02:00
vnc-jobs.c vnc: move assert in vnc_worker_thread_loop 2023-06-10 00:00:24 +03:00
vnc-jobs.h ui/vnc: Drop unused vnc_has_job() and vnc_jobs_clear() 2017-02-08 14:59:36 +01:00
vnc-palette.c ui: Clean up local variable shadowing 2023-09-29 08:13:57 +02:00
vnc-palette.h Include qapi/qmp/qlist.h exactly where needed 2018-02-09 13:52:15 +01:00
vnc-stubs.c qemu-options: define -vnc only #ifdef CONFIG_VNC 2023-11-07 14:04:25 +04:00
vnc-ws.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
vnc-ws.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
vnc.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
vnc.h ui/vnc: fix skipping SASL SSF on UNIX sockets 2024-10-22 11:44:23 +01:00
vnc_keysym.h ui: fix tab indentation 2022-11-08 10:23:06 +01:00
win32-kbd-hook.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
x_keymap.c ui: Fix memory leak in qemu_xkeymap_mapping_table() 2021-05-02 17:24:50 +02:00
x_keymap.h ui: convert GTK and SDL1 frontends to keycodemapdb 2018-01-25 15:02:00 +01:00