## gnome-rr-config gnome-rr-config |

## Synopsis

    struct              GnomeRROutputInfo;
    struct              GnomeRROutputInfoClass;
    double              gnome_rr_output_info_get_aspect_ratio
                                                            (GnomeRROutputInfo *self);
    char *              gnome_rr_output_info_get_display_name
                                                            (GnomeRROutputInfo *self);
    void                gnome_rr_output_info_get_geometry   (GnomeRROutputInfo *self,
                                                             int *x,
                                                             int *y,
                                                             int *width,
                                                             int *height);
    char *              gnome_rr_output_info_get_name       (GnomeRROutputInfo *self);
    int                 gnome_rr_output_info_get_preferred_height
                                                            (GnomeRROutputInfo *self);
    int                 gnome_rr_output_info_get_preferred_width
                                                            (GnomeRROutputInfo *self);
    gboolean            gnome_rr_output_info_get_primary    (GnomeRROutputInfo *self);
    const char *        gnome_rr_output_info_get_product    (GnomeRROutputInfo *self);
    int                 gnome_rr_output_info_get_refresh_rate
                                                            (GnomeRROutputInfo *self);
    GnomeRRRotation     gnome_rr_output_info_get_rotation   (GnomeRROutputInfo *self);
    const char *        gnome_rr_output_info_get_serial     (GnomeRROutputInfo *self);
    const char *        gnome_rr_output_info_get_vendor     (GnomeRROutputInfo *self);
    gboolean            gnome_rr_output_info_is_active      (GnomeRROutputInfo *self);
    gboolean            gnome_rr_output_info_is_connected   (GnomeRROutputInfo *self);
    void                gnome_rr_output_info_set_active     (GnomeRROutputInfo *self,
                                                             gboolean active);
    void                gnome_rr_output_info_set_geometry   (GnomeRROutputInfo *self,
                                                             int x,
                                                             int y,
                                                             int width,
                                                             int height);
    void                gnome_rr_output_info_set_primary    (GnomeRROutputInfo *self,
                                                             gboolean primary);
    void                gnome_rr_output_info_set_refresh_rate
                                                            (GnomeRROutputInfo *self,
                                                             int rate);
    void                gnome_rr_output_info_set_rotation   (GnomeRROutputInfo *self,
                                                             GnomeRRRotation rotation);
    struct              GnomeRRConfig;
    struct              GnomeRRConfigClass;
    GnomeRRConfig *     gnome_rr_config_new_current         (GnomeRRScreen *screen,
                                                             GError **error);
    gboolean            gnome_rr_config_match               (GnomeRRConfig *config1,
                                                             GnomeRRConfig *config2);
    gboolean            gnome_rr_config_equal               (GnomeRRConfig *config1,
                                                             GnomeRRConfig *config2);
    void                gnome_rr_config_sanitize            (GnomeRRConfig *configuration);
    gboolean            gnome_rr_config_applicable          (GnomeRRConfig *configuration,
                                                             GnomeRRScreen *screen,
                                                             GError **error);
    gboolean            gnome_rr_config_ensure_primary      (GnomeRRConfig *configuration);
    gboolean            gnome_rr_config_get_clone           (GnomeRRConfig *configuration);
    GnomeRROutputInfo ** gnome_rr_config_get_outputs        (GnomeRRConfig *configuration);
    gboolean            gnome_rr_config_load_current        (GnomeRRConfig *self,
                                                             GError **error);
    void                gnome_rr_config_set_clone           (GnomeRRConfig *configuration,
                                                             gboolean clone);

## Description

## Details

### struct GnomeRROutputInfo

    struct GnomeRROutputInfo {
        GObject parent;
    };

### struct GnomeRROutputInfoClass

    struct GnomeRROutputInfoClass {
        GObjectClass parent_class;
    };

### gnome_rr_output_info_get_aspect_ratio ()

    double              gnome_rr_output_info_get_aspect_ratio
                                                            (GnomeRROutputInfo *self);

### gnome_rr_output_info_get_display_name ()

    char *              gnome_rr_output_info_get_display_name
                                                            (GnomeRROutputInfo *self);

Returns : | the display name of this output. [transfer none]

### gnome_rr_output_info_get_geometry ()

    void                gnome_rr_output_info_get_geometry   (GnomeRROutputInfo *self,
                                                             int *x,
                                                             int *y,
                                                             int *width,
                                                             int *height);

`self` : | a GnomeRROutputInfo
`x` : | . [out][allow-none]
`y` : | . [out][allow-none]
`width` : | . [out][allow-none]
`height` : | . [out][allow-none]

### gnome_rr_output_info_get_name ()

    char *              gnome_rr_output_info_get_name       (GnomeRROutputInfo *self);

Returns : | the output name. [transfer none]

### gnome_rr_output_info_get_preferred_height ()

    int                 gnome_rr_output_info_get_preferred_height
                                                            (GnomeRROutputInfo *self);

### gnome_rr_output_info_get_preferred_width ()

    int                 gnome_rr_output_info_get_preferred_width
                                                            (GnomeRROutputInfo *self);

### gnome_rr_output_info_get_primary ()

    gboolean            gnome_rr_output_info_get_primary    (GnomeRROutputInfo *self);

### gnome_rr_output_info_get_product ()

    const char *        gnome_rr_output_info_get_product    (GnomeRROutputInfo *self);

### gnome_rr_output_info_get_refresh_rate ()

    int                 gnome_rr_output_info_get_refresh_rate
                                                            (GnomeRROutputInfo *self);

### gnome_rr_output_info_get_rotation ()

    GnomeRRRotation     gnome_rr_output_info_get_rotation   (GnomeRROutputInfo *self);

### gnome_rr_output_info_get_serial ()

    const char *        gnome_rr_output_info_get_serial     (GnomeRROutputInfo *self);

### gnome_rr_output_info_get_vendor ()

    const char *        gnome_rr_output_info_get_vendor     (GnomeRROutputInfo *self);

`self` : | a GnomeRROutputInfo

### gnome_rr_output_info_is_active ()

    gboolean            gnome_rr_output_info_is_active      (GnomeRROutputInfo *self);

Returns : | whether there is a CRTC assigned to this output (i.e. a signal is being sent to it)

### gnome_rr_output_info_is_connected ()

    gboolean            gnome_rr_output_info_is_connected   (GnomeRROutputInfo *self);

Returns : | whether the output is physically connected to a monitor

### gnome_rr_output_info_set_active ()

    void                gnome_rr_output_info_set_active     (GnomeRROutputInfo *self,
                                                             gboolean active);

### gnome_rr_output_info_set_geometry ()

    void                gnome_rr_output_info_set_geometry   (GnomeRROutputInfo *self,
                                                             int x,
                                                             int y,
                                                             int width,
                                                             int height);

### gnome_rr_output_info_set_primary ()

    void                gnome_rr_output_info_set_primary    (GnomeRROutputInfo *self,
                                                             gboolean primary);

### gnome_rr_output_info_set_refresh_rate ()

    void                gnome_rr_output_info_set_refresh_rate
                                                            (GnomeRROutputInfo *self,
                                                             int rate);

### gnome_rr_output_info_set_rotation ()

    void                gnome_rr_output_info_set_rotation   (GnomeRROutputInfo *self,
                                                             GnomeRRRotation rotation);

### struct GnomeRRConfig

    struct GnomeRRConfig {
        GObject parent;
    };

### struct GnomeRRConfigClass

    struct GnomeRRConfigClass {
        GObjectClass parent_class;
    };

### gnome_rr_config_new_current ()

    GnomeRRConfig *     gnome_rr_config_new_current         (GnomeRRScreen *screen,
                                                             GError **error);

### gnome_rr_config_match ()

    gboolean            gnome_rr_config_match               (GnomeRRConfig *config1,
                                                             GnomeRRConfig *config2);

### gnome_rr_config_equal ()

    gboolean            gnome_rr_config_equal               (GnomeRRConfig *config1,
                                                             GnomeRRConfig *config2);

### gnome_rr_config_sanitize ()

    void                gnome_rr_config_sanitize            (GnomeRRConfig *configuration);

### gnome_rr_config_applicable ()

    gboolean            gnome_rr_config_applicable          (GnomeRRConfig *configuration,
                                                             GnomeRRScreen *screen,
                                                             GError **error);

### gnome_rr_config_ensure_primary ()

    gboolean            gnome_rr_config_ensure_primary      (GnomeRRConfig *configuration);

### gnome_rr_config_get_clone ()

    gboolean            gnome_rr_config_get_clone           (GnomeRRConfig *configuration);

Returns : | whether at least two outputs are at (0, 0) offset and they have the same width/height. Those outputs are of course connected and on (i.e. they have a CRTC assigned).

### gnome_rr_config_get_outputs ()

    GnomeRROutputInfo ** gnome_rr_config_get_outputs        (GnomeRRConfig *configuration);

Returns : | the output configuration for this GnomeRRConfig. [array zero-terminated=1][element-type GnomeDesktop.RROutputInfo][transfer none]

### gnome_rr_config_load_current ()

    gboolean            gnome_rr_config_load_current        (GnomeRRConfig *self,
                                                             GError **error);

### gnome_rr_config_set_clone ()

    void                gnome_rr_config_set_clone           (GnomeRRConfig *configuration,
                                                             gboolean clone);