diff --git a/src/Widgets/DisplaysOverlay.vala b/src/Widgets/DisplaysOverlay.vala index d76bb41c..3874994d 100644 --- a/src/Widgets/DisplaysOverlay.vala +++ b/src/Widgets/DisplaysOverlay.vala @@ -39,7 +39,7 @@ public class Display.DisplaysOverlay : Gtk.Box { private int default_y_margin = 0; private unowned Display.MonitorManager monitor_manager; - private static GalaDBus gala_dbus = null; + private GalaDBus gala_dbus = null; public int active_displays { get; set; default = 0; } private List display_widgets; @@ -86,23 +86,6 @@ public class Display.DisplaysOverlay : Gtk.Box { add_controller (drag_gesture); - monitor_manager = Display.MonitorManager.get_default (); - monitor_manager.notify["virtual-monitor-number"].connect (() => rescan_displays ()); - rescan_displays (); - - overlay.get_child_position.connect (get_child_position); - } - - static construct { - var display_provider = new Gtk.CssProvider (); - display_provider.load_from_resource ("io/elementary/settings/display/Display.css"); - - Gtk.StyleContext.add_provider_for_display ( - Gdk.Display.get_default (), - display_provider, - Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION - ); - GLib.Bus.get_proxy.begin ( GLib.BusType.SESSION, "org.pantheon.gala.daemon", @@ -112,10 +95,26 @@ public class Display.DisplaysOverlay : Gtk.Box { (obj, res) => { try { gala_dbus = GLib.Bus.get_proxy.end (res); + monitor_manager = Display.MonitorManager.get_default (); + monitor_manager.notify["virtual-monitor-number"].connect (() => rescan_displays ()); + rescan_displays (); } catch (GLib.Error e) { critical (e.message); } }); + + overlay.get_child_position.connect (get_child_position); + } + + static construct { + var display_provider = new Gtk.CssProvider (); + display_provider.load_from_resource ("io/elementary/settings/display/Display.css"); + + Gtk.StyleContext.add_provider_for_display ( + Gdk.Display.get_default (), + display_provider, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION + ); } private double prev_dx = 0;