diff --git a/lib/solaar/gtk.py b/lib/solaar/gtk.py index c29330f4..f6d35186 100644 --- a/lib/solaar/gtk.py +++ b/lib/solaar/gtk.py @@ -69,11 +69,12 @@ def _run(args): except OSError: # permission error, blacklist this path for now listeners.pop(device.path, None) - import logging - logging.exception("failed to open %s", device.path) - # ui.error_dialog(window, 'Permissions error', - # 'Found a possible Unifying Receiver device,\n' - # 'but did not have permission to open it.') + GLib.idle_add(ui.error_dialog, 'Permissions error', + 'Found a Logitech Unifying Receiver device,\n' + 'but did not have permission to open it.\n' + '\n' + 'If you\'ve just installed Solaar, try removing\n' + 'the receiver and plugging it back in.') # elif action == 'remove': # # we'll be receiving remove events for any hidraw devices, diff --git a/lib/solaar/ui/__init__.py b/lib/solaar/ui/__init__.py index d86f1ea9..52dd35cf 100644 --- a/lib/solaar/ui/__init__.py +++ b/lib/solaar/ui/__init__.py @@ -37,8 +37,8 @@ from gi.repository import GLib, Gtk GLib.threads_init() -def error_dialog(window, title, text): - m = Gtk.MessageDialog(window, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, text) +def error_dialog(title, text): + m = Gtk.MessageDialog(None, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, text) m.set_title(title) m.run() m.destroy()