kasramp/UbuntuIndicatorWeather

Preferences window not showing up in Ubuntu 14.04

mabkenar opened this issue · 3 comments

The indicator runs successfully and shows a temperature. However, when I click on the 'Preference'(s) menu item in the indicator, no window is opened and I see this error in the terminal:

Traceback (most recent call last): File "/usr/bin/indicator-weather", line 94, in preference preference_dialog = Dialog() File "/usr/lib/ubuntu-indicator-weather/preference.py", line 23, in __init__ self.builder.add_from_file('/usr/share/ubuntu-indicator-weather/ui.glade') gi._glib.GError: /usr/share/ubuntu-indicator-weather/ui.glade: required gtk+ version 3.12, current version is 3.10

I see that my GTK+ version is too old. But is there a way to remove the requirement for gtk+ 3.12 so that people on Ubuntu 14.04 can also use the weather indicator?

As always, thank you very much for this nice and beautiful tool.

Kycko commented

mabkenar, I think you only need to change line 4 in /usr/share/ubuntu-indicator-weather/ui.glade to:
<requires lib="gtk+" version="3.10"/>
please check if all will be OK, and if so, we will apply this change.

On my 16.04 all is looking good after that

@mabkenar I think it's possible to make it to support older version using @Kycko solution. Let us know the outcome.

@mabkenar I've applied a small change to make it backward compatible. However, note that state buttons do not function as it is suppose to. This is obvious in the case of Automatic location detection that when it gets enabled it supposes to enable latitude and longitude and vice versa. But it's not working. The current workaround is to click ok button and open the preferences menu again to see latitude and longitude get enabled.
It seems that the problem is due to a bug in GTK Py which causes the following error to be thrown:
File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 415, in _full_callback gobj.connect(signal_name, handler, *args) TypeError: <Switch object at 0x7ff0a85c7730 (GtkSwitch at 0x11b9b10)>: unknown signal name: state-set