[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 9/9] qxl: add ui_info callback
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH 9/9] qxl: add ui_info callback |
Date: |
Fri, 4 Dec 2020 12:20:20 +0000 |
User-agent: |
Mutt/1.14.6 (2020-07-11) |
On Thu, Dec 03, 2020 at 12:08:05PM +0100, Gerd Hoffmann wrote:
> This makes qxl respond to user interface window resizes
> when not using spice, so it works with gtk and vnc too.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> hw/display/qxl.c | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/hw/display/qxl.c b/hw/display/qxl.c
> index 431c1070967a..e1df95c3e8a9 100644
> --- a/hw/display/qxl.c
> +++ b/hw/display/qxl.c
> @@ -1177,8 +1177,35 @@ static const QXLInterface qxl_interface = {
> .client_monitors_config = interface_client_monitors_config,
> };
>
> +static int qxl_ui_info(void *opaque, uint32_t idx, QemuUIInfo *info)
> +{
> + PCIQXLDevice *qxl = opaque;
> + VDAgentMonitorsConfig *cfg;
> + size_t size;
> +
> + if (using_spice) {
> + /* spice agent will handle display resize */
> + return -1;
> + }
Does this break VNC resizes if both VNC + SPICE are enabled
but the client is connected with VNC ?
> + if (idx > 0) {
> + /* supporting only single head for now */
> + return -1;
> + }
> +
> + /* go fake a spice agent message */
> + size = sizeof(VDAgentMonitorsConfig) + sizeof(VDAgentMonConfig);
> + cfg = g_malloc0(size);
> + cfg->num_of_monitors = 1;
> + cfg->monitors[0].width = info->width;
> + cfg->monitors[0].height = info->height;
> + interface_client_monitors_config(&qxl->ssd.qxl, cfg);
> + g_free(cfg);
> + return 0;
> +}
> +
> static const GraphicHwOps qxl_ops = {
> .gfx_update = qxl_hw_update,
> + .ui_info = qxl_ui_info,
> .gfx_update_async = true,
> };
>
> --
> 2.27.0
>
>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
[PATCH 5/9] vnc: add pseudo encodings, Gerd Hoffmann, 2020/12/03