backends: Introduce MetaIdleManager

This object takes over the functionality of meta-idle-monitor-dbus.c,
meta-idle-monitor.c and meta-backend.c, all related to higher level
management of idle watches etc.

The idle D-Bus API is changed to be initialized by the backend instead
of MetaDisplay, as it's more of a backend functionality than what
MetaDisplay usually deals with.

It also takes over the work of implementing "core" idle monitors. The
singleton API is replaced with thin wrapper functions on the backend.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1859>
This commit is contained in:
Jonas Ådahl
2021-04-19 15:22:57 +02:00
committed by Marge Bot
parent 389432de46
commit 18d670e69f
14 changed files with 274 additions and 200 deletions

View File

@ -29,6 +29,7 @@
#include "clutter/clutter.h"
#include "meta/meta-dnd.h"
#include "meta/meta-idle-monitor.h"
#include "meta/meta-remote-access-controller.h"
#define META_TYPE_BACKEND (meta_backend_get_type ())
@ -61,6 +62,9 @@ MetaDnd *meta_backend_get_dnd (MetaBackend *backend);
META_EXPORT
MetaSettings *meta_backend_get_settings (MetaBackend *backend);
META_EXPORT
MetaIdleMonitor * meta_backend_get_core_idle_monitor (MetaBackend *backend);
META_EXPORT
MetaRemoteAccessController * meta_backend_get_remote_access_controller (MetaBackend *backend);

View File

@ -40,9 +40,6 @@ typedef void (*MetaIdleMonitorWatchFunc) (MetaIdleMonitor *monitor,
guint watch_id,
gpointer user_data);
META_EXPORT
MetaIdleMonitor *meta_idle_monitor_get_core (void);
META_EXPORT
guint meta_idle_monitor_add_idle_watch (MetaIdleMonitor *monitor,
guint64 interval_msec,