Commit graph

13 commits

Author SHA1 Message Date
Marco Trevisan (Treviño)
2f6d086c6f display-config: Parse privacy screen property and expose it per monitor
Each monitor can have a privacy screen property, so read it and expose
so that it can be at upper levels.
2022-07-28 22:47:14 +00:00
Jonas Ådahl
9e4f15353c display: Use virtual clone modes when mirroring
These are not real modes, but just as place holders when generating
'mirror' configurations. The clone modes will be just to match the
flag/dimension, while the actual mode applied will be individual for
each monitor.

This allows monitors to have their own refresh rates, which is possible
since a few mutter versions back. This also matches how mutter itself
generates mirror modes when doing so via the key binding.
2022-06-27 14:06:16 +00:00
Jonas Ådahl
6087c0397b display: Add 'is_preferred()' mode getter 2022-06-27 14:06:16 +00:00
Marco Trevisan (Treviño)
a3392176a9 display-config: Expose the supported scales as a reffed GArray
It's just a nicer api and allows us to avoid having to count all the
elements around or to expose the size via an out value.

Given this is a private API anyway there's no risk for modifying the
array, so it's something safe to use anyways.
2021-06-15 17:30:36 +00:00
Carlos Garnacho
b91a83c402 display: Add API to get the PanelOrientationManaged DisplayConfig property
This property indicates whether the builtin panel orientation is managed by
an accelerometer, thus shouldn't be managed by the display panel.
2020-09-05 08:03:44 +00:00
Marco Trevisan (Treviño)
9ef001b3b1 display-config: Add size constraints and (global) scaled mode checks
Make possible to set scaled size constraints per configuration, and add a method
to verify if the current mode at scale is allowed for such config.

This allows to perform such check also in case we have global scaling enabled,
as in such case we must verify that all the selected current modes are supported
by the given scale.

Fixes GNOME/mutter#407
2019-07-15 03:14:23 +00:00
Benjamin Berg
9025f79b5f display: Add helper that returns the monitor name as new string 2019-01-29 12:05:43 +01:00
Benjamin Berg
4360288c74 display: Move setter for cloning mode into CcDisplayConfig
It will be used from multiple files in the future.
2019-01-29 12:05:43 +01:00
Robert Ancell
72a3516389 display: Replace ifdefs with #pragma once 2018-05-29 21:53:28 +00:00
Benjamin Berg
08a7f7cb53 display: Move output utility functions into CcDisplayMonitor
This adds the following API:
 * cc_display_config_get_ui_sorted_monitors
   Returns the monitors in UI order
 * cc_display_config_count_useful_monitors
   Counts the useful monitors (active and usable)
 * cc_display_monitor_is_useful
   Checks if a monitor is active and usable
 * cc_display_monitor_is_useable
   Check if a monitor is marked as useable
 * cc_display_monitor_set_usable
   Used to mark builtin monitors as unusable if the lid is closed
 * cc_display_monitor_get_ui_*
   Get the UI number and strings for display

https://bugzilla.gnome.org/show_bug.cgi?id=786971
2018-05-28 20:57:20 -03:00
Benjamin Berg
faaf402c82 display: Re-indent cc-display-config.h
This commit has no functional changes.
2018-05-28 20:57:20 -03:00
Marco Trevisan (Treviño)
cca9663d87 display: Adapt to new Mutter interface with scaling per mode
New Mutter GetCurrentState now provides a list of available scales, we
need to use these values in order to define an UI that shows them all.
2017-07-14 18:32:54 +02:00
Rui Matos
918fd9a333 display: Introduce an abstract API for display configuration
This will allow us to switch the display panel away from using the
GnomeRR api directly in order to gracefully move to a new DBus display
configuration API to be provided by mutter while still keeping the
existing functionality on top of the GnomeRR api while the new one
is developed.

https://bugzilla.gnome.org/show_bug.cgi?id=782785
2017-05-18 18:57:26 +02:00