← Back to team overview

unity-dev team mailing list archive

Re: Looking for ways to make Ubuntu Unity work better with VMware Unity

 

On Tue, Feb 7, 2012 at 11:31 PM, <sam.spilsbury@xxxxxxxxxxxxx> wrote:

> On Tue, 7 Feb 2012, Ted Gould wrote:
>
>  On Tue, 2012-02-07 at 15:04 -0500, Jason 'vanRijn' Kasper wrote:
>>
>>> [snip]

>  Second, Ubuntu Unity removes the application titlebar when a window is
>>> maximized and instead integrates it into the top panel bar. Same as
>>> above, since we need to hide the top panel bar in Ubuntu Unity when
>>> our users enter VMware Unity, when our users maximize a window when
>>> they're in VMware Unity mode, they lose their window titlebar and have
>>> no way to unmaximize their window.
>>>
>>>
> You can re-decorate the window by setting MwmDecorAll on _MOTIF_WM_HINTS
> on the window. I'm not particularly sure how well this plays out with how
> unity works, I am 90% sure that unity will undecorate the window again if
> the client plays around with the hints.


Yeah, I already had to put a hack in place to do something very close to
this to solve https://bugs.launchpad.net/unity/+bug/787277 internally. The
problem is you have to unrealize/unmap/map/realize the window to get this
to take affect, which is very suboptimal. Also, as you've noted, Ubuntu
Unity does whatever it wants after this hint is set anyway. =:) And I'd
like VMware code to be as hands-off as possible with this. The more we have
to do Window-Manager-ish things, the more brittle our relationship with the
DE becomes and more likely it is to break.


>
>  Third, when our users enter VMware Unity mode with an Ubuntu Unity DE
>>> VM, we need to hide the left side dock/launcher bar.
>>>
>>
>>
> I'd say it would make sense to force the launcher to hide by changing the
> relevant setting in compizconfig when "Unity" is entered.
>

Right, that would help with the Ubuntu Unity 3D DE, but not the 2D DE, I
think?


>
> These are all important usecases though. To be honest, I'd say that it
> would make sense to have an environment variable or gsettings key to hide
> the "shell" when running in some kind of integrated mode, though thats not
> really my call to make. Unloading and loading plugins is certainly one way
> to go, but the unity plugin is quite big, so dlopen takes a second or two
> to resolve the symbols.
>

Yeah, agreed, it would be great if there could be something we could do via
gsettings/dconf/gconf/whatever that would enable an integrated mode for a
duration of time and then turn everything back on again when we're done. I
like Ryan's idea of an inhibition-style API that he mentions later in this
thread or something similar for this. An environment variable won't work
because that requires something we do to set it before the user logs into
his DE session. This won't work because we want our users to have a full
and rich Ubuntu Unity DE when they start up their VM by default. It's just
when our users VMware Unity mode that we need to switch things to play
nicely.

-- 
 -[ Jason 'vanRijn' Kasper   //  http://movingparts.net ]-
 -[ bash fun -> :(){ :|:&};:   //  Numbers 6:22-26 ]-

References