[gnome-music] window: grab media keys later



commit 3c80e38a58bee263206efc2b01950d5360c0ac28
Author: Vadim Rutkovsky <vrutkovs redhat com>
Date:   Wed Aug 5 10:19:07 2015 +0200

    window: grab media keys later

 gnomemusic/window.py |   40 +++++++++++++++++-----------------------
 1 files changed, 17 insertions(+), 23 deletions(-)
---
diff --git a/gnomemusic/window.py b/gnomemusic/window.py
index 491a962..d8727c8 100644
--- a/gnomemusic/window.py
+++ b/gnomemusic/window.py
@@ -91,20 +91,6 @@ class Window(Gtk.ApplicationWindow):
         self.window_size_update_timeout = None
         self.connect("window-state-event", self._on_window_state_event)
         self.connect("configure-event", self._on_configure_event)
-
-        self.proxy = Gio.DBusProxy.new_sync(Gio.bus_get_sync(Gio.BusType.SESSION, None),
-                                            Gio.DBusProxyFlags.NONE,
-                                            None,
-                                            'org.gnome.SettingsDaemon',
-                                            '/org/gnome/SettingsDaemon/MediaKeys',
-                                            'org.gnome.SettingsDaemon.MediaKeys',
-                                            None)
-        self._grab_media_player_keys()
-        try:
-            self.proxy.connect('g-signal', self._handle_media_keys)
-        except GLib.GError:
-            # We cannot grab media keys if no settings daemon is running
-            pass
         grilo.connect('changes-pending', self._on_changes_pending)
 
     @log
@@ -153,21 +139,29 @@ class Window(Gtk.ApplicationWindow):
 
     @log
     def _grab_media_player_keys(self):
+        self.proxy = Gio.DBusProxy.new_sync(Gio.bus_get_sync(Gio.BusType.SESSION, None),
+                                            Gio.DBusProxyFlags.NONE,
+                                            None,
+                                            'org.gnome.SettingsDaemon',
+                                            '/org/gnome/SettingsDaemon/MediaKeys',
+                                            'org.gnome.SettingsDaemon.MediaKeys',
+                                            None)
+        self.proxy.call_sync('GrabMediaPlayerKeys',
+                             GLib.Variant('(su)', ('Music', 0)),
+                             Gio.DBusCallFlags.NONE,
+                             -1,
+                             None)
+        self.proxy.connect('g-signal', self._handle_media_keys)
+
+    @log
+    def _windows_focus_cb(self, window, event):
         try:
-            self.proxy.call_sync('GrabMediaPlayerKeys',
-                                 GLib.Variant('(su)', ('Music', 0)),
-                                 Gio.DBusCallFlags.NONE,
-                                 -1,
-                                 None)
+            self._grab_media_player_keys()
         except GLib.GError:
             # We cannot grab media keys if no settings daemon is running
             pass
 
     @log
-    def _windows_focus_cb(self, window, event):
-        self._grab_media_player_keys()
-
-    @log
     def _handle_media_keys(self, proxy, sender, signal, parameters):
         if signal != 'MediaPlayerKeyPressed':
             print('Received an unexpected signal \'%s\' from media player'.format(signal))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]