[X2Go-Dev] Bug#769: pyhoca-gui gtk3 support
Orion Poplawski
orion at cora.nwra.com
Mon Jan 26 22:39:09 CET 2015
Package: pyhoca-gui
Version: 0.5.0.3
Fedora rawhide is in the process of moving to wxPython 3.0 with gtk3 support.
This appears to be breaking pyhoca-gui:
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning:
g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning:
g_type_set_qdata: assertion 'node != NULL' failed
from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning: cannot
register existing type 'GtkWidget'
from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning:
g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE
(instance_type)' failed
from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning: cannot
register existing type 'GtkBuildable'
from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning:
g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE
(interface_type)' failed
from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning:
g_once_init_leave: assertion 'result != 0' failed
from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning:
g_type_register_static: assertion 'parent_type > 0' failed
from gtk import _gtk
I believe this is because we are mixing a gtk2 based notify-python module with
the gtk3 wxPython module. This seems like further impetus to move to a modern
python libnotify interface, either notify2 or gobject introspection Notify.
Code difference for gi appears to be:
diff --git a/pyhoca/wxgui/notify.py b/pyhoca/wxgui/notify.py
index bc49028..85f0d52 100644
--- a/pyhoca/wxgui/notify.py
+++ b/pyhoca/wxgui/notify.py
@@ -22,7 +22,7 @@ import wx
from x2go import X2GOCLIENT_OS
from x2go import log
if X2GOCLIENT_OS in ('Linux', 'Mac'):
- import pynotify
+ from gi.repository import Notify
import exceptions
import basepath
@@ -52,7 +52,7 @@ class libnotify_NotifierPopup(object):
self._PyHocaGUI = _PyHocaGUI
self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
- if not pynotify.init("PyHocaGUI"):
+ if not Notify.init("PyHocaGUI"):
raise NotSupportedException
def prepare(self, context, title=None, text=None, icon=None, timeout=None):
@@ -132,8 +132,8 @@ class libnotify_NotifierPopup(object):
try:
if not self._PyHocaGUI.disable_notifications and title and text:
- n = pynotify.Notification(title, text, icon)
- n.set_urgency(pynotify.URGENCY_NORMAL)
+ n = Notify.Notification.new(title, text, icon)
+ n.set_urgency(Notify.Urgency.NORMAL)
n.set_timeout(timeout)
n.show()
except:
Although with that change, unless I comment out the set_urgency() call, I
don't see the message "SSH key authentication has been successful." pop-up
above the pyhoca-gui icon. But perhaps the new behavior is proper.
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA, Boulder/CoRA Office FAX: 303-415-9702
3380 Mitchell Lane orion at nwra.com
Boulder, CO 80301 http://www.nwra.com
More information about the x2go-dev
mailing list