linuxmint / lightdm-settings

A configuration tool for the LightDM display manager
GNU General Public License v3.0
107 stars 24 forks source link

Deprecation warnings (Arch Linux) #34

Closed ghost closed 4 years ago

ghost commented 5 years ago
 * LightDM Settings version 1.2.5
 * Distribution: Arch Linux and Manjaro (probably other Arch derivatives might be affected but those are the only ones I have access to)
 * 64 bit

Issue When running "lightdm-settings" in a terminal, a lot of deprecation warnings appears in a terminal, though I haven't had any other issues and the program is perfectly usable (so far, I haven't seen other reports of this not working at all), but I would like to know if this has to do with the libraries or probably something within Python or PyGObject

The only thing I have been able to find is this message from this site saying that it has to do with development versions of Python, but I am running stable versions of it and the message still appears

Steps to reproduce

  1. Open any terminal program (gnome-terminal, tilix, guake, etc.)
  2. Type command "pkexec lightdm-settings"

Expected behaviour "lightdm-settings" should run with no issues or minor warnings

Actual behaviour "lightdm-settings" run so far with no issues, however in terminal a lot of deprecation warnings appears. As of now there is no crash or error reports

Other information I attach some screenshots related to what are the messages that appears on terminal

Captura de pantalla de 2019-06-10 08-28-23 ArchLinux-2019-06-10-08-25-08 ArchLinux-2019-06-10-08-24-12

shanmukhateja commented 5 years ago

So I did some research on this on my Manjaro Cinnamon Edition and I see them too!

it has to do with development versions of Python, but I am running stable versions of it and the message still appears

I was able to make them go away by modifying usr/lib/lightdm-settings/lightdm-settings file.

For example: settings = Gio.Settings("x.dm.slick-greeter")

BECOMES

settings = Gio.Settings(schema="x.dm.slick-greeter")

AND row = SettingsRow(Gtk.Label(_("Background")), SettingsPictureChooser(keyfile, settings, "background"))

BECOMES

row = SettingsRow(Gtk.Label(label="Background"), SettingsPictureChooser(keyfile, settings, "background"))

Apparently, GNOME had decided this was an anti-pattern and started displaying the warnings to us.

jpmvferreira commented 5 years ago

I've run into the same issue, only that my lightdm-settings do not open at all. I'm currently running Manjaro with the i3 WM installed from scratch.

When running sudo lightdm-settings in the terminal i get:


  settings = Gio.Settings("x.dm.slick-greeter")
/usr/lib/lightdm-settings/lightdm-settings:133: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  row = SettingsRow(Gtk.Label(_("Background")), SettingsPictureChooser(keyfile, settings, "background"))
/usr/lib/lightdm-settings/lightdm-settings:137: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  row = SettingsRow(Gtk.Label(_("Background color")), SettingsColorChooser(keyfile, settings, "background-color"))
/usr/lib/lightdm-settings/lightdm-settings:142: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  row = SettingsRow(Gtk.Label(_("Draw user backgrounds")), SettingsSwitch(keyfile, settings, "draw-user-backgrounds"))
/usr/lib/lightdm-settings/lightdm-settings:146: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  row = SettingsRow(Gtk.Label(_("Draw a grid")), SettingsSwitch(keyfile, settings, "draw-grid"))
/usr/lib/lightdm-settings/lightdm-settings:152: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "mode" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  size_group = Gtk.SizeGroup(Gtk.SizeGroupMode.HORIZONTAL)
/usr/lib/lightdm-settings/lightdm-settings:154: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  row = SettingsRow(Gtk.Label(_("GTK theme")), SettingsCombo(keyfile, settings, "theme-name", self.get_gtk_themes(), "string", size_group))
Traceback (most recent call last):
  File "/usr/lib/lightdm-settings/lightdm-settings", line 45, in do_activate
    self.create_window()
  File "/usr/lib/lightdm-settings/lightdm-settings", line 154, in create_window
    row = SettingsRow(Gtk.Label(_("GTK theme")), SettingsCombo(keyfile, settings, "theme-name", self.get_gtk_themes(), "string", size_group))
  File "/usr/lib/lightdm-settings/SettingsWidgets.py", line 299, in __init__
    var_type = type(options[0][0])
IndexError: list index out of range```
ghost commented 5 years ago

@JPUnD : in your case I believe it is more of the way you are running lightdm-settings (you have to run it using "pkexec lightdm-settings" or for a missing dependency (I don't use i3 but in this case you might need to install a polkit agent like gnome-polkit, mate-polkit, etc. which allows you to control it that way)

I have tested only on Cinnamon, GNOME and MATE and maybe those DE happen to pull something along the way that i3 might be missing (either on runtime or compilation time), since I am the maintainer and packager of lightdm-settings on Arch let me know if a dependency is missing, or if you are using Manjaro you might need to direct the issue to them so they can also check (on Manjaro things are out of my reach)

jpmvferreira commented 4 years ago

Sorry for the late reply, but after uninstalling it and reinstalling it later on, it works as expected.

shanmukhateja commented 4 years ago

@SamBurgos please close this issue as it has been addressed in the PR #38 and changes were merged.