[Spice-devel] How to send a custom resolution message to windows/linux guest vdagent
Pavel Grunt
pgrunt at redhat.com
Fri Mar 3 09:20:13 UTC 2017
On Thu, 2017-03-02 at 13:00 -0300, Thiago Nascimento Araujo wrote:
> Hi,
>
> First of all, thank you all for the quick answers.
>
> The cut off message was my fault, sorry about that.
>
> I am trying to understand this:
>
> Lets say I am connected to a win/lnx guest though remote-viewer and
> my remote-viewer is a window with the dimensions 1440x900, so:
>
> When I resize the window from 1440x900 to 1024x768 (manually resize
> the remote-viewer window, not the screen resolution inside the
> guest), what is the process involved from the remote-viewer to
> communicate to the guest (with spice-guest-tools installed) to
> peform the guest resize ?
>
> Is something like:
> a) remote-viewer inform his new resolution sending a message ?
yes
> b) the agents capture this message ?
no (not anymore) server takes this message and sends it to the QXL
video card
> c) the agents set the new resolution inside the client ?
the window manager notices the change and adjusts the resolution
>
> I want to understand how "arbitrary resolution" are possible.
> I can't create an arbitrary resolution using the win-api, for
> example, all I can do is search for the available modes starting the
> devnode using enumdisplay from win-api. But using remote-viewer I
> can force a 672x350 resolution for example.
>
> So, why I need this?
>
> I am trying to create a way to grab a window resolution (the windows
> explorer at 700x500 window resolution, for example) and set the win
> guest screen resolution to match the same resolution of the
> explorer. Wrapping the remote-viewer window around the explorer and
> adapt when is needed.
>
> I am implementing a VDi solution that works like a "terminal service
> app".
>
> An user wants to use a notepad, for example, then I created a
> program that resides inside the win guest, that receives the desired
> app and hides everything else (desktop, taskbar, start menu, blocks
> win-menu and other keys bindings) and only present the user with
> notepad. (There's a similar solution for lnx as well in progress)
>
> So far, everything is ok for win/lnx (most of it) guests - the only
> thing I can't do, is set arbitrary resolutions, specially on windows
> guests.
>
> So I thought: I have to find a way to grab the notepad resolution
> (that part is done) and send it to the spice-channel and create the
> "wrapping effect around notepad".
>
This sounds like the Seamless application project, please take a look
at
https://www.spice-space.org/seamless-applications.html
Any comments are welcomed
> Thank you all in advance.
>
> PS: sorry about my english - still learning.
>
>
> ----- Mensagem original -----
> De: "Jonathon Jongsma" <jjongsma at redhat.com>
> Para: "Thiago Nascimento Araujo" <taraujo at artit.com.br>, spice-devel
> @lists.freedesktop.org
> Enviadas: Quinta-feira, 2 de março de 2017 12:05:46
> Assunto: Re: [Spice-devel] How to send a custom resolution message
> to windows/linux guest vdagent
>
> On Thu, 2017-03-02 at 03:58 -0300, Thiago Nascimento Araujo wrote:
> > Hello,
> >
> > Is there a way to send a spice message, connect to pipe, or any
> > other
> > method to contact vdservice/vdagent to create/simulate a resize to
> > an
> > arbitrary resolution or full screen effect caused by remote-
> > viewer?
> >
> > Any other ways I can connect to the named pipes (windows guests or
> > linux guests) and watch/debug/learn. I cant find or connect to the
> > windows guest named pipe and I got connection refused trying to
> > socat
> > to a port in linux guest.
> >
> > I really need some guidance to fully understand how arbitrary
> > resolutions are created using win/lnx/spice api.
> >
> > Thanks in advance.
> >
> > Or a way to
> > ___________________
>
> Hi Thiago,
>
> Seems your message got cut off or something.
>
> My main question is: what is your end goal exactly? You say you're
> trying to simulate a resize and therefore you want to connect to a
> named pipe to do that. But there are probably better ways to do
> that,
> depending on your final goal. Also note that in recent linux guests,
> the vdagent executable is not really involved in the resolution
> changing process at all. Once we know what you're actually trying to
> do
> it will probably be easier to help you.
>
> Cheers,
> Jonathon
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list