← Back to team overview

unity-dev team mailing list archive

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

 

Il 08 febbraio 2012 05:39, Ryan Beasley <rbeasley@xxxxxxxxxx> ha scritto:
> Hey Ted,
>
> So, like, check this out:
>
> I went on a crack-induced binge a few weeks ago where, by heinously
> subverting the com.canonical.AppMenu.Registrar service /
> unity-panel-service, I was able to get applications' menus to toggle between
> remaining in the apps' windows and globally proxied.  This didn't seem to
> interfere w/ the desktop session or applications, and I also didn't notice
> any long term side effects.
>
> This made me wonder whether it'd make sense for that service to also have an
> "inhibit" API, similar to gnome-screensaver.  (By having an inhibit method
> tied to a D-Bus client, if, $deity forbid, the VMware Tools crash,
> unity-panel-service would be able to go back about its normal business.)
>  While inhibited, clients' menus would remain in purview of the client
> windows.  Once uninhibited, the service would resume proxying menus to the
> global menu bar.

That's actually doable. And should be done un unity-panel-service.
Has already some bits that allows to remove indicators, in fact a
patch like this one
does something similar (even if it crashes now, due to something
strange on the loaded indicators unreffing)...
http://paste.ubuntu.com/835024/

> I can't commit to anything atm, but if a) this was a good idea (most
> important)

The patch above is raw (just 5-minutes hacking), but something like an
inhibit list would be better.

>>> Third, when our users enter VMware Unity mode with an Ubuntu Unity DE
>>> VM, we need to hide the left side dock/launcher bar.
>>
>>
>> These are done by Compiz using the Ubuntu Unity plugin.  In theory, you
>> should be able to disable and renable the Unity plugin.  Here be
>> dragons, and it's not something we've really tested.  Compiz has some
>> complex dependency chains that might break -- not sure.  Try it,
>> reply :-)  It might work on a default installation, but if a user has
>> customized their Compiz setup it'd be more fragile.  I'm guessing most
>> of your users don't do that though.
>>
>> So, in general, it's not a case that we've actively developed for, but

> [...]

> Now, in the 2D case, it looks like Canonical has a custom Metacity which
> checks a gconf pref, /apps/metacity/general/show_maximized_titlebars.
> Toggling that seems to work well enough.
>
> Still not sure about the 3D case.  I'm assuming this is up to the window
> decorator selected by Compiz, but I haven't had enough time to really dig
> into that.

I'm speaking for 3d version on this side, but in unity's PanelMenuView
is trivial to monitor a gsettings key (or even the mentioned
gconf-key, to keep the two interfaces in sync) that enables or
disables the undecoration of the maximized windows... But maybe it
would be better to also cross this with an environment variable check
(that for example tell us that we're running on a machine that allows
this, to avoid unexpected results to users who hacks too much with
gsettings).

So, both these issues are easily fixable... But I guess we need to
strictly define the cases where these new settings could apply.
Patches could help to get them by 12.04 ;)

-- 
Treviño, Ubuntu member
https://launchpad.net/~3v1n0
http://www.3v1n0.net


Follow ups

References