If auto-resize is enabled, the guest desktop size will be resized to
match current window*zoom size.
This can be a problem if the user explicitely set the desktop size to
a different resolution and want to keep it. Disabling auto-resize
sounds like a simple way to allow that.
The SpiceDisplay doesn't receive the full allocation, because
VirtViewerDisplay maintains current aspect ratio. However, the guest
display can be resize up to its container size.
This fixes going full-screen and not getting native resolution for
instance.
The standard SPICE widget guest resize implementation does not
take into account the zoom level settings in virt-viewer, because
it has no knowledge of this functionality. The guest resize can,
however, be done by calling spice_main_set_display() directly.
This allows virt-viewer to resize the guest taking into account
zoom levels.
ie, if virt-viewer is run with --zoom 50 and the window
is resized to 400x300, then the guest agent should
be told to set its resolution to 800x600
The SpiceDisplay widget has built-in support for resizing the
guest desktop, but this does not know that virt-viewer has a
zoom level setting. This makes the virt-viewer zoom completely
inoperable. Revert use of the 'resize-guest' property.
Override the grab_focus() method in the display class. Since both VNC
and Spice displays are the direct child, let's just grab the child.
It can be that this behaviour need to be overriden if Spice or VNC
display become more complex (using sub-childs or different objects)
Add a new flag --attach, which instructs virt-viewer to attach
to the target display using virDomainOpenGraphics, instead of
initiating a VNC/SPICE connection directly.
The GLIB2 check previously removed was misleading because it in
fact checked for gmodule-export-2.0 which is needed to export
the signal handlers. Revert the previous commit, but rename the
var to GMODULE2 to make it clearer
When waiting for a VM to appear or start, set the initial window
title to the command line arg. When the VM actually appears then
update it to the real VM name
When the guest XML contains a wildcard address like 0.0.0.0 or ::,
we can't directly use connect() on it. Instead we have to use the
hostname/IP from the libvirt URI.
Ensure that all windows get a default zoom level of 100. Propagate
the primary window's zoom level to all secondary windows when
initially creating them