[Spice-devel] [RFC] Seamless mode behaviour discussion
Frediano Ziglio
fziglio at redhat.com
Wed Aug 10 10:09:11 UTC 2016
>
> Hi
>
> while working on the seamless mode, couple of issue concerning it's
> behaviour came up.
>
> Firstly the simple stuff.
>
> 1. Closing last seamless window
> The question is what should happen, after you close the last window
> while in seamless mode.
> Currently when no window are open, the desktop with taskbars is shown
> (without window
> decorations, so basically fullscreen with your own taskbar showing)
>
> I propose, that closing the last window should close the client,
> because that's what I always expect,
> when I close th last window, and I'm always surprised that the
> background shows up instead :)
>
> Second way would be to disable seamless mode. This might seem better,
> but in the end, I see it not
> much better then showing the background, because it might be confusing
> when you close a window, that a VM shows up instead.
>
I remember how VirtualBox and Citrix xenapp works.
The first is focused on the desktop. When you enabled seamless only the
taskbar at the beginning is shown and you can open additional applications.
When you close all application the taskbar is still there to allow other
applications to be launched.
xenapp was instead focused on applications so you decide which application
to run and xenapp will connect to a VM and filter out all windows except
your one (so the taskbar is not shown). When you close the application
you get disconnected.
It seems that your idea is more similar to the second however you still
have the taskbar (if I understood) which is more similar to the first.
> 2. Starting from command line
> So this one is rather simple, we could have --seamless-mode option to
> just open the VM directly in
> seamless mode. Currently a maximized VM would show up if no windows
> are open, but with the change I propose, this would be an issue. Maybe
> don't enable seamless mode when no windows are open? So then this
> option would run the VM normally, and seamless mode button would be
> greyed out.
>
Greying out make sense.
> 3. Alt tabbing inside the VM
> This one is currently kinda hacked. I changed the keybind inside the
> VM from alt+tab to shift+tab, but we could just bind the shift+tab
> combo to send alt+tab key combo to the VM or something.
> The propblem starts when the alt+tab interface shows up, because it is
> only rendering over the windows themselves. Could there be
> multiplatform way to show the interface? This might also be
> customization dependant (different sizes, widgets, etc)
>
> Example: http://i.imgur.com/pZlcCIV.png
>
Quite complicated. I think the best would be if you detect and handle the
applications from the VM as being present on the client. But this seems
overkilling.
You could add the rectangle of the switching windows to the ones you transfer
so hitting alt-tab will make possible to change application inside the VM.
> 3. Accessing activities, start menues etc
> This one is a weird one. We could do it like other VMs with a special
> button to emulate activities/start etc floating around the screen and
> showing most of the VM when clicked, or something like that. I'm not
> really sure how to do this one
>
I didn't get this one.
> 5. Multi desktop and multi monitor
> This might be currently the biggest propelm, with no real idea how to solve
> it.
> Currently the VM is still a one big window, so showing up multiple
> windows might be the way to go, but can we have multiple displays
> working as a workspace? It might require like 8 display for simple
> dual screen + 4 workspaces layout, not even mentioning dynamic
> workspaces in gnome.
>
For multi monitor I would have a 1-to-1 mapping from VM to client.
For multi desktop I would just let the VM switch between it's desktop
(not mixing with client notion of desktops).
> 6. Launching specific applications from command line
> So this might be a cool little feature. Imagine running the VM from
> command line, with seamless mode on and telling it exactly what
> app/script run when the client launches.
> It could even work like having pecific applications in the activities
> which would in turn open the client and launch the app, and close the
> clitn when the app is closed.
>
> There is a security concern about leting the user run scripts on a VM
> from command line, but wer could have some kind of settings, where the
> user would choose specific command like words for specific
> binaries/scripts in the VM beforehand.
>
> Example: remote-viewer --seamless-mode --start writer
>
> Which would look if a writer command has been set upt, and if yes, run
> the given application.
>
Looks like you want here to do something like xenapp :)
> So that's most of the issues that really need solving, and it's better
> to discuss it in the list instead of just us 3 in Brno :)
>
> Thanks for all the responses.
Frediano
More information about the Spice-devel
mailing list