diff --git a/src/backends/native/meta-kms.c b/src/backends/native/meta-kms.c index d41fcefb5..47702c556 100644 --- a/src/backends/native/meta-kms.c +++ b/src/backends/native/meta-kms.c @@ -34,6 +34,7 @@ enum { RESOURCES_CHANGED, + DEVICE_ADDED, N_SIGNALS }; @@ -336,6 +337,8 @@ meta_kms_create_device (MetaKms *kms, kms->devices = g_list_append (kms->devices, device); + g_signal_emit (kms, signals[DEVICE_ADDED], 0, device); + return device; } @@ -452,6 +455,15 @@ meta_kms_class_init (MetaKmsClass *klass) G_TYPE_NONE, 1, META_TYPE_KMS_RESOURCE_CHANGES); + signals[DEVICE_ADDED] = + g_signal_new ("device-added", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, 1, + META_TYPE_KMS_DEVICE); + meta_thread_class_register_impl_type (thread_class, META_TYPE_KMS_IMPL); }