GNOME Desktop Library Reference Manual: gnome-rr

## gnome-rr gnome-rr |

## Functions

#define | GNOME_RR_ERROR
GQuark | gnome_rr_error_quark ()
GnomeRRScreen * | gnome_rr_screen_new ()
void | gnome_rr_screen_new_async ()
GnomeRRScreen * | gnome_rr_screen_new_finish ()
GnomeRROutput ** | gnome_rr_screen_list_outputs ()
GnomeRRCrtc ** | gnome_rr_screen_list_crtcs ()
GnomeRRMode ** | gnome_rr_screen_list_modes ()
GnomeRRMode ** | gnome_rr_screen_list_clone_modes ()
GnomeRRCrtc * | gnome_rr_screen_get_crtc_by_id ()
gboolean | gnome_rr_screen_refresh ()
GnomeRROutput * | gnome_rr_screen_get_output_by_id ()
GnomeRROutput * | gnome_rr_screen_get_output_by_name ()
void | gnome_rr_screen_get_ranges ()
gboolean | gnome_rr_screen_get_dpms_mode ()
gboolean | gnome_rr_screen_set_dpms_mode ()
guint32 | gnome_rr_output_get_id ()
const char * | gnome_rr_output_get_name ()
const guint8 * | gnome_rr_output_get_edid_data ()
GnomeRRCrtc ** | gnome_rr_output_get_possible_crtcs ()
GnomeRRMode * | gnome_rr_output_get_current_mode ()
GnomeRRCrtc * | gnome_rr_output_get_crtc ()
gboolean | gnome_rr_output_is_builtin_display ()
void | gnome_rr_output_get_position ()
gboolean | gnome_rr_output_can_clone ()
GnomeRRMode ** | gnome_rr_output_list_modes ()
GnomeRRMode * | gnome_rr_output_get_preferred_mode ()
gboolean | gnome_rr_output_supports_mode ()
gboolean | gnome_rr_output_get_is_primary ()
gint | gnome_rr_output_get_backlight ()
gboolean | gnome_rr_output_set_backlight ()
const char * | gnome_rr_output_get_display_name ()
void | gnome_rr_output_get_ids_from_edid ()
gint | gnome_rr_output_get_min_backlight_step ()
void | gnome_rr_output_get_physical_size ()
guint32 | gnome_rr_mode_get_id ()
guint | gnome_rr_mode_get_width ()
guint | gnome_rr_mode_get_height ()
int | gnome_rr_mode_get_freq ()
guint32 | gnome_rr_crtc_get_id ()
gboolean | gnome_rr_crtc_can_drive_output ()
GnomeRRMode * | gnome_rr_crtc_get_current_mode ()
void | gnome_rr_crtc_get_position ()
GnomeRRRotation | gnome_rr_crtc_get_current_rotation ()
GnomeRRRotation | gnome_rr_crtc_get_rotations ()
gboolean | gnome_rr_crtc_supports_rotation ()
gboolean | gnome_rr_crtc_get_gamma ()
gboolean | gnome_rr_crtc_set_gamma ()

## Types and Values

| GnomeRRScreen
| GnomeRRScreenClass
typedef | GnomeRROutput
typedef | GnomeRRCrtc
enum | GnomeRRDpmsMode
typedef | GnomeRRMode
enum | GnomeRRRotation
enum | GnomeRRError
#define | GNOME_RR_CONNECTOR_TYPE_PANEL

## Description

## Functions

### GNOME_RR_ERROR

    #define GNOME_RR_ERROR (gnome_rr_error_quark ())

### gnome_rr_error_quark ()

    GQuark
    gnome_rr_error_quark (void);

Returns the GQuark that will be used for GError values returned by the GnomeRR API.

#### Returns

a GQuark used to identify errors coming from the GnomeRR API.

### gnome_rr_screen_new ()

    GnomeRRScreen *
    gnome_rr_screen_new (GdkScreen *screen,
                         GError **error);

Creates a unique GnomeRRScreen instance for the specified `screen` .

#### Parameters

screen | the GdkScreen on which to operate |
error | will be set if XRandR is not supported |

#### Returns

a unique GnomeRRScreen instance, specific to the `screen` , or NULL if this could not be created, for instance if the driver does not support Xrandr 1.2. Each GdkScreen thus has a single instance of GnomeRRScreen.

### gnome_rr_screen_new_async ()

    void
    gnome_rr_screen_new_async (GdkScreen *screen,
                               GAsyncReadyCallback callback,
                               gpointer user_data);

### gnome_rr_screen_new_finish ()

    GnomeRRScreen *
    gnome_rr_screen_new_finish (GAsyncResult *result,
                                GError **error);

#### Returns

### gnome_rr_screen_list_outputs ()

    GnomeRROutput **
    gnome_rr_screen_list_outputs (GnomeRRScreen *screen);

List all outputs

#### Returns

.

[array zero-terminated=1][transfer none]

### gnome_rr_screen_list_crtcs ()

    GnomeRRCrtc **
    gnome_rr_screen_list_crtcs (GnomeRRScreen *screen);

List all CRTCs

#### Returns

.

[array zero-terminated=1][transfer none]

### gnome_rr_screen_list_modes ()

    GnomeRRMode **
    gnome_rr_screen_list_modes (GnomeRRScreen *screen);

List available XRandR modes

#### Returns

.

[array zero-terminated=1][transfer none]

### gnome_rr_screen_list_clone_modes ()

    GnomeRRMode **
    gnome_rr_screen_list_clone_modes (GnomeRRScreen *screen);

List available XRandR clone modes

#### Returns

.

[array zero-terminated=1][transfer none]

### gnome_rr_screen_get_crtc_by_id ()

    GnomeRRCrtc *
    gnome_rr_screen_get_crtc_by_id (GnomeRRScreen *screen,
                                    guint32 id);

#### Returns

the CRTC identified by `id` .

[transfer none]

### gnome_rr_screen_refresh ()

    gboolean
    gnome_rr_screen_refresh (GnomeRRScreen *screen,
                             GError **error);

Refreshes the screen configuration, and calls the screen's callback if it exists and if the screen's configuration changed.

#### Parameters

screen | a GnomeRRScreen |
error | location to store error, or `NULL` |

#### Returns

TRUE if the screen's configuration changed; otherwise, the function returns FALSE and a NULL error if the configuration didn't change, or FALSE and a non-NULL error if there was an error while refreshing the configuration.

### gnome_rr_screen_get_output_by_id ()

    GnomeRROutput *
    gnome_rr_screen_get_output_by_id (GnomeRRScreen *screen,
                                      guint32 id);

#### Returns

the output identified by `id` .

[transfer none]

### gnome_rr_screen_get_output_by_name ()

    GnomeRROutput *
    gnome_rr_screen_get_output_by_name (GnomeRRScreen *screen,
                                        const char *name);

#### Returns

the output identified by `name` .

[transfer none]

### gnome_rr_screen_get_ranges ()

    void
    gnome_rr_screen_get_ranges (GnomeRRScreen *screen,
                                int *min_width,
                                int *max_width,
                                int *min_height,
                                int *max_height);

Get the ranges of the screen

#### Parameters

screen | a GnomeRRScreen |
min_width | the minimum width. | [out]
max_width | the maximum width. | [out]
min_height | the minimum height. | [out]
max_height | the maximum height. | [out]

### gnome_rr_screen_get_dpms_mode ()

    gboolean
    gnome_rr_screen_get_dpms_mode (GnomeRRScreen *screen,
                                   GnomeRRDpmsMode *mode,
                                   GError **error);

#### Parameters

mode | The current GnomeRRDpmsMode of this screen. | [out]

#### Returns

### gnome_rr_screen_set_dpms_mode ()

    gboolean
    gnome_rr_screen_set_dpms_mode (GnomeRRScreen *screen,
                                   GnomeRRDpmsMode mode,
                                   GError **error);

This method also disables the DPMS timeouts.

#### Returns

### gnome_rr_output_get_id ()

    guint32
    gnome_rr_output_get_id (GnomeRROutput *output);

#### Returns

### gnome_rr_output_get_name ()

    const char *
    gnome_rr_output_get_name (GnomeRROutput *output);

#### Returns

### gnome_rr_output_get_edid_data ()

    const guint8 *
    gnome_rr_output_get_edid_data (GnomeRROutput *output,
                                   gsize *size);

#### Returns

### gnome_rr_output_get_possible_crtcs ()

    GnomeRRCrtc **
    gnome_rr_output_get_possible_crtcs (GnomeRROutput *output);

#### Parameters

output | a GnomeRROutput Returns: (array zero-terminated=1) (transfer none): |

#### Returns

### gnome_rr_output_get_current_mode ()

    GnomeRRMode *
    gnome_rr_output_get_current_mode (GnomeRROutput *output);

#### Parameters

output | a GnomeRROutput Returns: (transfer none): the current mode of this output |

#### Returns

### gnome_rr_output_get_crtc ()

    GnomeRRCrtc *
    gnome_rr_output_get_crtc (GnomeRROutput *output);

#### Parameters

output | a GnomeRROutput Returns: (transfer none): |

#### Returns

### gnome_rr_output_is_builtin_display ()

    gboolean
    gnome_rr_output_is_builtin_display (GnomeRROutput *output);

#### Returns

### gnome_rr_output_get_position ()

    void
    gnome_rr_output_get_position (GnomeRROutput *output,
                                  int *x,
                                  int *y);

#### Parameters

output | a GnomeRROutput |
x | . | [out][allow-none]
y | . | [out][allow-none]

### gnome_rr_output_can_clone ()

    gboolean
    gnome_rr_output_can_clone (GnomeRROutput *output,
                               GnomeRROutput *clone);

#### Returns

### gnome_rr_output_list_modes ()

    GnomeRRMode **
    gnome_rr_output_list_modes (GnomeRROutput *output);

#### Parameters

output | a GnomeRROutput Returns: (array zero-terminated=1) (transfer none): |

#### Returns

### gnome_rr_output_get_preferred_mode ()

    GnomeRRMode *
    gnome_rr_output_get_preferred_mode (GnomeRROutput *output);

#### Parameters

output | a GnomeRROutput Returns: (transfer none): |

#### Returns

### gnome_rr_output_supports_mode ()

    gboolean
    gnome_rr_output_supports_mode (GnomeRROutput *output,
                                   GnomeRRMode *mode);

#### Returns

### gnome_rr_output_get_is_primary ()

    gboolean
    gnome_rr_output_get_is_primary (GnomeRROutput *output);

#### Returns

### gnome_rr_output_get_backlight ()

    gint
    gnome_rr_output_get_backlight (GnomeRROutput *output);

#### Returns

The currently set backlight brightness

### gnome_rr_output_set_backlight ()

    gboolean
    gnome_rr_output_set_backlight (GnomeRROutput *output,
                                   gint value,
                                   GError **error);

#### Parameters

value | the absolute value which is 0 >= this <= 100 |

#### Returns

`TRUE` for success

### gnome_rr_output_get_display_name ()

    const char *
    gnome_rr_output_get_display_name (GnomeRROutput *output);

#### Returns

### gnome_rr_output_get_ids_from_edid ()

    void
    gnome_rr_output_get_ids_from_edid (GnomeRROutput *output,
                                       char **vendor,
                                       char **product,
                                       char **serial);

#### Parameters

output | a GnomeRROutput |
vendor | . | [out][allow-none]
product | . | [out][allow-none]
serial | . | [out][allow-none]

### gnome_rr_output_get_min_backlight_step ()

    gint
    gnome_rr_output_get_min_backlight_step
                                   (GnomeRROutput *output);

#### Returns

The minimum backlight step available in percent

### gnome_rr_output_get_physical_size ()

    void
    gnome_rr_output_get_physical_size (GnomeRROutput *output,
                                       int *width_mm,
                                       int *height_mm);

#### Parameters

output | a GnomeRROutput |
width_mm | . | [out][allow-none]
height_mm | . | [out][allow-none]

### gnome_rr_mode_get_id ()

    guint32
    gnome_rr_mode_get_id (GnomeRRMode *mode);

#### Returns

### gnome_rr_mode_get_width ()

    guint
    gnome_rr_mode_get_width (GnomeRRMode *mode);

#### Returns

### gnome_rr_mode_get_height ()

    guint
    gnome_rr_mode_get_height (GnomeRRMode *mode);

#### Returns

### gnome_rr_mode_get_freq ()

    int
    gnome_rr_mode_get_freq (GnomeRRMode *mode);

#### Returns

### gnome_rr_crtc_get_id ()

    guint32
    gnome_rr_crtc_get_id (GnomeRRCrtc *crtc);

#### Returns

### gnome_rr_crtc_can_drive_output ()

    gboolean
    gnome_rr_crtc_can_drive_output (GnomeRRCrtc *crtc,
                                    GnomeRROutput *output);

#### Returns

### gnome_rr_crtc_get_current_mode ()

    GnomeRRMode *
    gnome_rr_crtc_get_current_mode (GnomeRRCrtc *crtc);

#### Parameters

crtc | a GnomeRRCrtc Returns: (transfer none): the current mode of this crtc |

#### Returns

### gnome_rr_crtc_get_position ()

    void
    gnome_rr_crtc_get_position (GnomeRRCrtc *crtc,
                                int *x,
                                int *y);

#### Parameters

crtc | a GnomeRRCrtc |
x | . | [out][allow-none]
y | . | [out][allow-none]

### gnome_rr_crtc_get_current_rotation ()

    GnomeRRRotation
    gnome_rr_crtc_get_current_rotation (GnomeRRCrtc *crtc);

#### Returns

### gnome_rr_crtc_get_rotations ()

    GnomeRRRotation
    gnome_rr_crtc_get_rotations (GnomeRRCrtc *crtc);

#### Returns

### gnome_rr_crtc_supports_rotation ()

    gboolean
    gnome_rr_crtc_supports_rotation (GnomeRRCrtc *crtc,
                                     GnomeRRRotation rotation);

#### Returns

### gnome_rr_crtc_get_gamma ()

    gboolean
    gnome_rr_crtc_get_gamma (GnomeRRCrtc *crtc,
                             int *size,
                             unsigned short **red,
                             unsigned short **green,
                             unsigned short **blue);

#### Parameters

crtc | a GnomeRRCrtc |
red | the minimum width. | [out]
green | the maximum width. | [out]
blue | the minimum height. | [out]

#### Returns

`TRUE` for success

### gnome_rr_crtc_set_gamma ()

    gboolean
    gnome_rr_crtc_set_gamma (GnomeRRCrtc *crtc,
                             int size,
                             unsigned short *red,
                             unsigned short *green,
                             unsigned short *blue);

#### Returns

## Types and Values

### GnomeRRScreen

    typedef struct {
    	GObject parent;

    	GnomeRRScreenPrivate* priv;
    } GnomeRRScreen;

### GnomeRRScreenClass

    typedef struct {
    	GObjectClass parent_class;

            void (*changed)                (GnomeRRScreen *screen);
            void (*output_connected)       (GnomeRRScreen *screen, GnomeRROutput *output);
            void (*output_disconnected)    (GnomeRRScreen *screen, GnomeRROutput *output);
    } GnomeRRScreenClass;

### GnomeRROutput

    typedef struct GnomeRROutput GnomeRROutput;

### GnomeRRCrtc

    typedef struct GnomeRRCrtc GnomeRRCrtc;

### enum GnomeRRDpmsMode

#### Members

GNOME_RR_DPMS_ON |  |
GNOME_RR_DPMS_STANDBY |  |
GNOME_RR_DPMS_SUSPEND |  |
GNOME_RR_DPMS_OFF |  |
GNOME_RR_DPMS_DISABLED |  |
GNOME_RR_DPMS_UNKNOWN |  |

### GnomeRRMode

    typedef struct GnomeRRMode GnomeRRMode;

### enum GnomeRRRotation

#### Members

GNOME_RR_ROTATION_NEXT |  |
GNOME_RR_ROTATION_0 |  |
GNOME_RR_ROTATION_90 |  |
GNOME_RR_ROTATION_180 |  |
GNOME_RR_ROTATION_270 |  |
GNOME_RR_REFLECT_X |  |
GNOME_RR_REFLECT_Y |  |

### enum GnomeRRError

#### Members

GNOME_RR_ERROR_UNKNOWN |  |
GNOME_RR_ERROR_NO_RANDR_EXTENSION |  |
GNOME_RR_ERROR_RANDR_ERROR |  |
GNOME_RR_ERROR_BOUNDS_ERROR |  |
GNOME_RR_ERROR_CRTC_ASSIGNMENT |  |
GNOME_RR_ERROR_NO_MATCHING_CONFIG |  |
GNOME_RR_ERROR_NO_DPMS_EXTENSION |  |

### GNOME_RR_CONNECTOR_TYPE_PANEL

    #define GNOME_RR_CONNECTOR_TYPE_PANEL "Panel"  /* This is a built-in LCD */