[virt-tools-list] AppIndicator3 not appindicator
Marc Deslauriers
marc.deslauriers at canonical.com
Tue Jul 30 07:20:09 UTC 2013
On 13-07-29 09:22 PM, poma wrote:
> On 30.07.2013 01:19, Marc Deslauriers wrote:
>> On 13-07-29 07:09 PM, poma wrote:
>>> On 29.07.2013 20:45, Cole Robinson wrote:
>>>> On 07/29/2013 02:38 PM, Marc Deslauriers wrote:
>>>>> On 13-07-29 07:29 AM, Cole Robinson wrote:
>>>>>> Thanks for trying this out and fixing my typo. Unfortunate that this is still
>>>>>> an issue.
>>>>>>
>>>>>> Marc, you did the original appindicators patch, any chance you can give
>>>>>> virt-manager git a spin and fix the issues with appindicator3 ? My guess is
>>>>>> they are minor. If I don't hear back for a week I'll likely drop the
>>>>>> appindicators support since it is currently broken, but I'm happy to revive it
>>>>>> later when someone has it working.
>>>>>>
>>>>>> git clone git://git.fedorahosted.org/virt-manager.git
>>>>>> cd virt-manager
>>>>>> ./virt-manager --debug
>>>>>> Preferences->Enable tray icon
>>>>>
>>>>>
>>>>> Here you go:
>>>>>
>>>>>
>>>>> From bcb0993cc9902574da2ec2e21ae960503ddfc6db Mon Sep 17 00:00:00 2001
>>>>> From: Marc Deslauriers <marc.deslauriers at ubuntu.com>
>>>>> Date: Mon, 29 Jul 2013 14:25:07 -0400
>>>>> Subject: [PATCH] systray: Switch AppIndicator code to GIR
>>>>>
>>>>> Switch AppIndicator code to use GObject introspection.
>>>>> ---
>>>>> virtManager/systray.py | 15 +++++++++------
>>>>> 1 file changed, 9 insertions(+), 6 deletions(-)
>>>>>
>>>>> diff --git a/virtManager/systray.py b/virtManager/systray.py
>>>>> index 992a59b..d504495 100644
>>>>> --- a/virtManager/systray.py
>>>>> +++ b/virtManager/systray.py
>>>>> @@ -123,7 +123,8 @@ class vmmSystray(vmmGObject):
>>>>> self.systray_menu.add(Gtk.SeparatorMenuItem())
>>>>>
>>>>> if self.systray_indicator:
>>>>> - hide_item = Gtk.MenuItem("_Show Virtual Machine Manager")
>>>>> + hide_item = Gtk.MenuItem.new_with_mnemonic(
>>>>> + _("_Show Virtual Machine Manager"))
>>>>> hide_item.connect("activate", self.systray_activate)
>>>>> self.systray_menu.add(hide_item)
>>>>>
>>>>> @@ -138,10 +139,10 @@ class vmmSystray(vmmGObject):
>>>>> return
>>>>>
>>>>> if self.systray_indicator:
>>>>> - self.systray_icon = AppIndicator3.Indicator("virt-manager",
>>>>> + self.systray_icon = AppIndicator3.Indicator.new("virt-manager",
>>>>> "virt-manager-icon",
>>>>> - AppIndicator3.CATEGORY_OTHER)
>>>>> - self.systray_icon.set_status(AppIndicator3.STATUS_ACTIVE)
>>>>> + AppIndicator3.IndicatorCategory.OTHER)
>>>>> + self.systray_icon.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
>>>>> self.systray_icon.set_menu(self.systray_menu)
>>>>>
>>>>> else:
>>>>> @@ -162,9 +163,11 @@ class vmmSystray(vmmGObject):
>>>>> else:
>>>>> if self.systray_indicator:
>>>>> if do_show:
>>>>> - self.systray_icon.set_status(AppIndicator3.STATUS_ACTIVE)
>>>>> + self.systray_icon.set_status(
>>>>> + AppIndicator3.IndicatorStatus.ACTIVE)
>>>>> else:
>>>>> - self.systray_icon.set_status(AppIndicator3.STATUS_PASSIVE)
>>>>> + self.systray_icon.set_status(
>>>>> + AppIndicator3.IndicatorStatus.PASSIVE)
>>>>> else:
>>>>> self.systray_icon.set_visible(do_show)
>>>>>
>>>>
>>>> Thanks Marc! Pushed now.
>>>>
>>>> - Cole
>>>>
>>>
>>> With 'systray-fedora.patch' - attach,
>>> - systray icon is displayed correctly
>>> - left mouse button single-click on the systray icon opens and closes
>>> the virtual manager window
>>> - right mouse button single-click on the systray icon displays menu
>>> correctly
>>>
>>> With Marc's original patch isn't entirely the same case, on Fedora 19. ;)
>>>
>>> http://goo.gl/FfiF89
>>>
>>
>> This patch doesn't make sense. self.systray_indicator should be True only on
>> systems that have AppIndicator3, which isn't the case on Fedora.
>>
>> Marc.
>>
>>
>
> It is a matter of perspective. :)
>
> https://www.redhat.com/archives/virt-tools-list/2013-July/msg00106.html
>
> http://pkgs.fedoraproject.org/cgit/libappindicator.git
>
> $ rpm -qi libappindicator-gtk3
> Name : libappindicator-gtk3
> Version : 12.10.0
> Release : 2.fc19
> Architecture: x86_64
> Install Date: Mon 15 Jul 2013 10:46:08 AM CEST
> Group : System Environment/Libraries
> Size : 95744
> License : LGPLv2 and LGPLv3
> Signature : RSA/SHA256, Fri 14 Jun 2013 05:43:00 PM CEST, Key ID
> 07477e65fb4b18e6
> Source RPM : libappindicator-12.10.0-2.fc19.src.rpm
> Build Date : Thu 13 Jun 2013 06:19:20 PM CEST
> Build Host : buildvm-16.phx2.fedoraproject.org
> Relocations : (not relocatable)
> Packager : Fedora Project
> Vendor : Fedora Project
> URL : https://launchpad.net/libappindicator
> Summary : Application indicators library - GTK 3
> Description :
> A library to allow applications to export a menu into the Unity Menu
> bar. Based
> on KSNI it also works in KDE and will fallback to generic Systray support if
> none of those are available.
>
> This package contains the GTK 3 version of this library.
>
So that means your libappindicator package is broken, as your patch is forcing a
fallback to Gtk.StatusIcon() when it is installed, which is definitely not the
right thing to do.
Marc.
More information about the virt-tools-list
mailing list