[virt-tools-list] [PATCH 00/22] Add QEMU-like UI: VT console & basic VM state
marcandre.lureau at redhat.com
marcandre.lureau at redhat.com
Tue Jul 31 13:24:40 UTC 2018
From: Marc-André Lureau <marcandre.lureau at redhat.com>
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
More information about the virt-tools-list
mailing list