From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Hi, QEMU provides multiple display backend, with different set of features. One of the richest UI is the -display gtk. It is quite minimal, and comparable to remote-viewer UI wrt fullscreen, zooming, grabbing. I haven't done a detailed comparison, but for regular use, I prefer the remote-viewer UI. The fullscreen mode has a popup toolbar, there is a send-key menu, it provides better desktop integration support: USB redirection, folder sharing, more complete multi-monitor configuration, screenshot. remote-viewer also allows hotkey configuration, and has an experimental "kiosk" mode. However, remote-viewer is lacking 2 important features compared to QEMU UI: VT console (for serials, and monitors) and basic VM state commands (power off, reset, pause..). This series add support for VT console over Spice ports, and QMP monitor to provide a similar user experience as QEMU -display gtk. Another WIP series (fairly small, everything is there already) for QEMU will provide a new "-display app" backend, that will configure QEMU appropriately, and start remote-viewer (actually any client handling spice+unix://). The result is that the "QEMU UI experience" is entirely out of qemu code base and process. thanks Marc-André Lureau (22): remote-viewer: add handling of spice+unix and spice+tls schemes Remove class signal handlers app: simplify toggling visibility window: use virt_viewer_window_set_menus_sensitive() window: move default sensitivity in .ui window: do not reset sensitivity of menu-send in rebuild window: set sensitivity based on display capability display: make klass->close() optional build-sys: check for VTE library Add a VirtViewerDisplayVte display kind window/zoom: deal with VTE display differently display: ignore display that do not have toplevel window session: skip monitor changes if there is no sized monitors app: set subtitle using VTE name app: append VTE consoles to display submenu display: allow display without associated monitor number session: do not take VTE display into account for geometry changes app: create a window for VTE displays spice: hook into port channel to create VTE terminals app: add "machine" UI app: add "vm-running" property spice: hook into QMP port configure.ac | 22 ++- data/remote-viewer.desktop.in | 2 +- src/Makefile.am | 6 + src/resources/ui/virt-viewer.ui | 50 +++++ src/virt-viewer-app.c | 197 ++++++++++++++------ src/virt-viewer-app.h | 2 +- src/virt-viewer-display-spice.c | 8 - src/virt-viewer-display-vte.c | 319 ++++++++++++++++++++++++++++++++ src/virt-viewer-display-vte.h | 81 ++++++++ src/virt-viewer-display.c | 22 +-- src/virt-viewer-display.h | 14 +- src/virt-viewer-session-spice.c | 284 +++++++++++++++++++++++++++- src/virt-viewer-session.c | 48 +++-- src/virt-viewer-session.h | 30 ++- src/virt-viewer-window.c | 117 ++++++++++-- 15 files changed, 1066 insertions(+), 136 deletions(-) create mode 100644 src/virt-viewer-display-vte.c create mode 100644 src/virt-viewer-display-vte.h -- 2.18.0.321.gffc6fa0e39 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list