mirror of
https://github.com/brl/mutter.git
synced 2025-02-02 23:03:00 +00:00
udev: Add 'hotplug' event
To be used my the monitor manager to handle hotplugs. https://gitlab.gnome.org/GNOME/mutter/issues/548 https://gitlab.gnome.org/GNOME/mutter/merge_requests/525
This commit is contained in:
parent
7b7d881386
commit
171e5fc3c2
@ -29,6 +29,7 @@
|
|||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
HOTPLUG,
|
||||||
DEVICE_ADDED,
|
DEVICE_ADDED,
|
||||||
|
|
||||||
N_SIGNALS
|
N_SIGNALS
|
||||||
@ -162,6 +163,9 @@ on_uevent (GUdevClient *client,
|
|||||||
|
|
||||||
if (g_str_equal (action, "add"))
|
if (g_str_equal (action, "add"))
|
||||||
g_signal_emit (udev, signals[DEVICE_ADDED], 0, device);
|
g_signal_emit (udev, signals[DEVICE_ADDED], 0, device);
|
||||||
|
|
||||||
|
if (g_udev_device_get_property_as_boolean (device, "HOTPLUG"))
|
||||||
|
g_signal_emit (udev, signals[HOTPLUG], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
GUdevClient *
|
GUdevClient *
|
||||||
@ -210,6 +214,13 @@ meta_udev_class_init (MetaUdevClass *klass)
|
|||||||
|
|
||||||
object_class->finalize = meta_udev_finalize;
|
object_class->finalize = meta_udev_finalize;
|
||||||
|
|
||||||
|
signals[HOTPLUG] =
|
||||||
|
g_signal_new ("hotplug",
|
||||||
|
G_TYPE_FROM_CLASS (object_class),
|
||||||
|
G_SIGNAL_RUN_LAST,
|
||||||
|
0, NULL, NULL,
|
||||||
|
g_cclosure_marshal_VOID__VOID,
|
||||||
|
G_TYPE_NONE, 0);
|
||||||
signals[DEVICE_ADDED] =
|
signals[DEVICE_ADDED] =
|
||||||
g_signal_new ("device-added",
|
g_signal_new ("device-added",
|
||||||
G_TYPE_FROM_CLASS (object_class),
|
G_TYPE_FROM_CLASS (object_class),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user