display: Remove the monitor signals
authorBenjamin Otte <otte@redhat.com>
Sun, 17 May 2020 03:47:07 +0000 (05:47 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 17 May 2020 05:10:34 +0000 (07:10 +0200)
Applications can listen to GdkDisplay:monitors::items-changed if they
want to track monitor changes.

gdk/gdkdisplay.c
gdk/gdkdisplayprivate.h
gdk/wayland/gdkdisplay-wayland.c
gdk/win32/gdkdisplay-win32.c
gdk/x11/gdkscreen-x11.c

index a072e3f23f0f1c426c61f7185962608d66e4ee17..7749b5e2ce1174715b487c76fd2950b270961555 100644 (file)
@@ -81,8 +81,6 @@ enum {
   CLOSED,
   SEAT_ADDED,
   SEAT_REMOVED,
-  MONITOR_ADDED,
-  MONITOR_REMOVED,
   SETTING_CHANGED,
   LAST_SIGNAL
 };
@@ -264,38 +262,6 @@ gdk_display_class_init (GdkDisplayClass *class)
                   NULL,
                  G_TYPE_NONE, 1, GDK_TYPE_SEAT);
 
-  /**
-   * GdkDisplay::monitor-added:
-   * @display: the objedct on which the signal is emitted
-   * @monitor: the monitor that was just added
-   *
-   * The ::monitor-added signal is emitted whenever a monitor is
-   * added.
-   */
-  signals[MONITOR_ADDED] =
-    g_signal_new (g_intern_static_string ("monitor-added"),
-                 G_OBJECT_CLASS_TYPE (object_class),
-                 G_SIGNAL_RUN_LAST,
-                 0, NULL, NULL,
-                  NULL,
-                 G_TYPE_NONE, 1, GDK_TYPE_MONITOR);
-
-  /**
-   * GdkDisplay::monitor-removed:
-   * @display: the object on which the signal is emitted
-   * @monitor: the monitor that was just removed
-   *
-   * The ::monitor-removed signal is emitted whenever a monitor is
-   * removed.
-   */
-  signals[MONITOR_REMOVED] =
-    g_signal_new (g_intern_static_string ("monitor-removed"),
-                 G_OBJECT_CLASS_TYPE (object_class),
-                 G_SIGNAL_RUN_LAST,
-                 0, NULL, NULL,
-                  NULL,
-                 G_TYPE_NONE, 1, GDK_TYPE_MONITOR);
-
   /**
    * GdkDisplay::setting-changed:
    * @display: the object on which the signal is emitted
@@ -1648,21 +1614,6 @@ gdk_display_get_monitor_at_surface (GdkDisplay *display,
   return best;
 }
 
-void
-gdk_display_monitor_added (GdkDisplay *display,
-                           GdkMonitor *monitor)
-{
-  g_signal_emit (display, signals[MONITOR_ADDED], 0, monitor);
-}
-
-void
-gdk_display_monitor_removed (GdkDisplay *display,
-                             GdkMonitor *monitor)
-{
-  g_signal_emit (display, signals[MONITOR_REMOVED], 0, monitor);
-  gdk_monitor_invalidate (monitor);
-}
-
 void
 gdk_display_emit_opened (GdkDisplay *display)
 {
index 25d1f697ff3c47ac9b5c544bd22eb8b7d136a9b8..eeba7a359dead3b531177e4208a5328f1690f818 100644 (file)
@@ -241,10 +241,6 @@ void                gdk_display_add_seat              (GdkDisplay       *display
                                                        GdkSeat          *seat);
 void                gdk_display_remove_seat           (GdkDisplay       *display,
                                                        GdkSeat          *seat);
-void                gdk_display_monitor_added         (GdkDisplay       *display,
-                                                       GdkMonitor       *monitor);
-void                gdk_display_monitor_removed       (GdkDisplay       *display,
-                                                       GdkMonitor       *monitor);
 void                gdk_display_emit_opened           (GdkDisplay       *display);
 
 void                gdk_display_setting_changed       (GdkDisplay       *display,
index d2237ae0b4bec0f76c0c7c4b446be0d79c765d55..163423203aa517744b0ac33ef7015f9cd40d999f 100644 (file)
@@ -2521,7 +2521,6 @@ gdk_wayland_display_add_output (GdkWaylandDisplay *display_wayland,
     gdk_wayland_display_get_xdg_output (monitor);
 
   g_list_store_append (display_wayland->monitors, monitor);
-  gdk_display_monitor_added (GDK_DISPLAY (display_wayland), GDK_MONITOR (monitor));
 
   g_object_unref (monitor);
 }
@@ -2567,7 +2566,7 @@ gdk_wayland_display_remove_output (GdkWaylandDisplay *self,
       if (monitor->id == id)
         {
           g_list_store_remove (self->monitors, i);
-          gdk_display_monitor_removed (GDK_DISPLAY (self), GDK_MONITOR (monitor));
+          gdk_monitor_invalidate (GDK_MONITOR (monitor));
           update_scale (GDK_DISPLAY (self));
         }
 
index f97114d19038af128a1ecc01f95c1d2a5eca7d1f..c44554081578bcab41fb20cd8021ef0e03772758 100644 (file)
@@ -186,7 +186,6 @@ _gdk_win32_display_find_matching_monitor (GdkWin32Display *win32_display,
 void
 _gdk_win32_display_init_monitors (GdkWin32Display *win32_display)
 {
-  GdkDisplay *display = GDK_DISPLAY (win32_display);
   GPtrArray *new_monitors;
   gint i;
   GdkWin32Monitor *primary_to_move = NULL;
@@ -286,23 +285,19 @@ _gdk_win32_display_init_monitors (GdkWin32Display *win32_display)
       if (!w32_ex_monitor->remove)
         continue;
 
-      gdk_display_monitor_removed (display, ex_monitor);
       g_list_store_remove (G_LIST_STORE (win32_display->monitors), i);
+      gdk_monitor_invalidate (ex_monitor);
     }
 
   for (i = 0; i < new_monitors->len; i++)
     {
       GdkWin32Monitor *w32_m;
-      GdkMonitor *m;
 
       w32_m = GDK_WIN32_MONITOR (g_ptr_array_index (new_monitors, i));
-      m = GDK_MONITOR (w32_m);
 
       if (!w32_m->add)
         continue;
 
-      gdk_display_monitor_added (display, m);
-
       if (i == 0)
         g_list_store_insert (G_LIST_STORE (win32_display->monitors), 0, w32_m);
       else
index 61f255b3b6caf263f122894e00cb8b42f6e6b058..6f1aa1f9c82e3eff4f9c5645e69cc1cdd46a5dfe 100644 (file)
@@ -610,16 +610,13 @@ init_randr15 (GdkX11Screen *x11_screen)
   for (i = g_list_model_get_n_items (G_LIST_MODEL (x11_display->monitors)) - 1; i >= 0; i--)
     {
       GdkX11Monitor *monitor = g_list_model_get_item (G_LIST_MODEL (x11_display->monitors), i);
+
       notify_surface_monitor_change (x11_display, GDK_MONITOR (monitor));
-      if (monitor->add)
-        {
-          gdk_display_monitor_added (display, GDK_MONITOR (monitor));
-        }
-      else if (monitor->remove)
+      if (monitor->remove)
         {
           g_object_ref (monitor);
           g_list_store_remove (x11_display->monitors, i);
-          gdk_display_monitor_removed (display, GDK_MONITOR (monitor));
+          gdk_monitor_invalidate (GDK_MONITOR (monitor));
           g_object_unref (monitor);
         }
       g_object_unref (monitor);
@@ -765,16 +762,13 @@ init_randr13 (GdkX11Screen *x11_screen)
   for (i = g_list_model_get_n_items (G_LIST_MODEL (x11_display->monitors)) - 1; i >= 0; i--)
     {
       GdkX11Monitor *monitor = g_list_model_get_item (G_LIST_MODEL (x11_display->monitors), i);
+
       notify_surface_monitor_change (x11_display, GDK_MONITOR (monitor));
-      if (monitor->add)
-        {
-          gdk_display_monitor_added (display, GDK_MONITOR (monitor));
-        }
-      else if (monitor->remove)
+      if (monitor->remove)
         {
           g_object_ref (monitor);
           g_list_store_remove (x11_display->monitors, i);
-          gdk_display_monitor_removed (display, GDK_MONITOR (monitor));
+          gdk_monitor_invalidate (GDK_MONITOR (monitor));
           g_object_unref (monitor);
         }
     }
@@ -857,16 +851,13 @@ init_no_multihead (GdkX11Screen *x11_screen)
   for (i = g_list_model_get_n_items (G_LIST_MODEL (x11_display->monitors)) - 1; i >= 0; i--)
     {
       monitor = g_list_model_get_item (G_LIST_MODEL (x11_display->monitors), i);
+
       notify_surface_monitor_change (x11_display, GDK_MONITOR (monitor));
-      if (monitor->add)
-        {
-          gdk_display_monitor_added (GDK_DISPLAY (x11_display), GDK_MONITOR (monitor));
-        }
-      else if (monitor->remove)
+      if (monitor->remove)
         {
           g_object_ref (monitor);
           g_list_store_remove (x11_display->monitors, i);
-          gdk_display_monitor_removed (GDK_DISPLAY (x11_display), GDK_MONITOR (monitor));
+          gdk_monitor_invalidate (GDK_MONITOR (monitor));
           g_object_unref (monitor);
         }
       g_object_unref (monitor);