monitor-config-utils: Add monitors config copy function
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4364>
This commit is contained in:
parent
62d10da4cb
commit
6113b2824f
@ -74,6 +74,36 @@ meta_clone_logical_monitor_config_list (GList *logical_monitor_configs)
|
|||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MetaMonitorsConfig *
|
||||||
|
meta_monitors_config_copy (MetaMonitorsConfig *monitors_config)
|
||||||
|
{
|
||||||
|
MetaMonitorsConfig *new_monitors_config;
|
||||||
|
GList *logical_monitor_configs;
|
||||||
|
GList *disabled_monitor_specs;
|
||||||
|
GList *for_lease_monitor_specs;
|
||||||
|
|
||||||
|
logical_monitor_configs =
|
||||||
|
meta_clone_logical_monitor_config_list (monitors_config->logical_monitor_configs);
|
||||||
|
disabled_monitor_specs =
|
||||||
|
g_list_copy_deep (monitors_config->disabled_monitor_specs,
|
||||||
|
(GCopyFunc) meta_monitor_spec_clone,
|
||||||
|
NULL);
|
||||||
|
for_lease_monitor_specs =
|
||||||
|
g_list_copy_deep (monitors_config->for_lease_monitor_specs,
|
||||||
|
(GCopyFunc) meta_monitor_spec_clone,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
new_monitors_config =
|
||||||
|
meta_monitors_config_new_full (logical_monitor_configs,
|
||||||
|
disabled_monitor_specs,
|
||||||
|
for_lease_monitor_specs,
|
||||||
|
monitors_config->layout_mode,
|
||||||
|
monitors_config->flags);
|
||||||
|
new_monitors_config->switch_config = monitors_config->switch_config;
|
||||||
|
|
||||||
|
return new_monitors_config;
|
||||||
|
}
|
||||||
|
|
||||||
static GList *
|
static GList *
|
||||||
find_adjacent_neighbours (GList *logical_monitor_configs,
|
find_adjacent_neighbours (GList *logical_monitor_configs,
|
||||||
MetaLogicalMonitorConfig *logical_monitor_config)
|
MetaLogicalMonitorConfig *logical_monitor_config)
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
GList * meta_clone_logical_monitor_config_list (GList *logical_monitor_configs);
|
GList * meta_clone_logical_monitor_config_list (GList *logical_monitor_configs);
|
||||||
|
|
||||||
|
MetaMonitorsConfig * meta_monitors_config_copy (MetaMonitorsConfig *monitors_config);
|
||||||
|
|
||||||
gboolean meta_verify_logical_monitor_config_list (GList *logical_monitor_configs,
|
gboolean meta_verify_logical_monitor_config_list (GList *logical_monitor_configs,
|
||||||
MetaLogicalMonitorLayoutMode layout_mode,
|
MetaLogicalMonitorLayoutMode layout_mode,
|
||||||
MetaMonitorManager *monitor_manager,
|
MetaMonitorManager *monitor_manager,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user