diff options
-rw-r--r-- | gdk/gdkdisplay.c | 24 | ||||
-rw-r--r-- | gdk/gdkdisplay.h | 6 | ||||
-rw-r--r-- | gdk/gdkdisplayprivate.h | 7 |
3 files changed, 35 insertions, 2 deletions
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 5e75773dae..f8989c623d 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -84,6 +84,7 @@ enum { SEAT_REMOVED, MONITOR_ADDED, MONITOR_REMOVED, + SETTING_CHANGED, LAST_SIGNAL }; @@ -341,6 +342,14 @@ gdk_display_class_init (GdkDisplayClass *class) 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GDK_TYPE_MONITOR); + + signals[SETTING_CHANGED] = + g_signal_new (g_intern_static_string ("setting-changed"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, NULL, NULL, + NULL, + G_TYPE_NONE, 1, G_TYPE_STRING | G_SIGNAL_TYPE_STATIC_SCOPE); } static void @@ -2223,3 +2232,18 @@ gdk_display_emit_opened (GdkDisplay *display) { g_signal_emit (display, signals[OPENED], 0); } + +gboolean +gdk_display_get_setting (GdkDisplay *display, + const char *name, + GValue *value) +{ + return gdk_screen_get_setting (gdk_display_get_default_screen (display), name, value); +} + +void +gdk_display_setting_changed (GdkDisplay *display, + const char *name) +{ + g_signal_emit (display, signals[SETTING_CHANGED], 0, name); +} diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index d099ab4487..d9168481a5 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -154,6 +154,12 @@ GDK_AVAILABLE_IN_3_22 GdkMonitor * gdk_display_get_monitor_at_window (GdkDisplay *display, GdkWindow *window); +GDK_AVAILABLE_IN_3_94 +gboolean gdk_display_get_setting (GdkDisplay *display, + const char *name, + GValue *value); + + G_END_DECLS diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index cd3ef346d1..16969e4cf1 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -225,8 +225,8 @@ struct _GdkDisplayClass /* Signals */ void (*opened) (GdkDisplay *display); - void (*closed) (GdkDisplay *display, - gboolean is_error); + void (*closed) (GdkDisplay *display, + gboolean is_error); }; @@ -303,6 +303,9 @@ void gdk_display_monitor_removed (GdkDisplay *display GdkMonitor *monitor); void gdk_display_emit_opened (GdkDisplay *display); +void gdk_display_setting_changed (GdkDisplay *display, + const char *name); + G_END_DECLS #endif /* __GDK_DISPLAY_PRIVATE_H__ */ |