[Xfce4-commits] <xfce4-settings:master> Store the preferred mode
Nick Schermer
noreply at xfce.org
Sat Aug 28 23:02:28 CEST 2010
Updating branch refs/heads/master
to 422dacc0ee952cd846c73eaaef07140e4e8a8446 (commit)
from 3871cece4659050df476214ce9f2bf15edb5012d (commit)
commit 422dacc0ee952cd846c73eaaef07140e4e8a8446
Author: Lionel Le Folgoc <mrpouit at gmail.com>
Date: Tue Jun 8 22:23:50 2010 +0200
Store the preferred mode
This can be useful when detecting new outputs (e.g. a dialog pops up,
preselecting the preferred modes for the user, something like xrandr --auto).
dialogs/display-settings/xfce-randr.c | 4 ++++
dialogs/display-settings/xfce-randr.h | 10 ++++++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dialogs/display-settings/xfce-randr.c b/dialogs/display-settings/xfce-randr.c
index 43d102b..0de624a 100644
--- a/dialogs/display-settings/xfce-randr.c
+++ b/dialogs/display-settings/xfce-randr.c
@@ -88,6 +88,7 @@ xfce_randr_new (GdkDisplay *display,
/* allocate space for the settings */
randr->mode = g_new0 (RRMode, randr->resources->noutput);
+ randr->preferred_mode = g_new0 (RRMode, randr->resources->noutput);
randr->rotation = g_new0 (Rotation, randr->resources->noutput);
randr->rotations = g_new0 (Rotation, randr->resources->noutput);
randr->position = g_new0 (XfceOutputPosition, randr->resources->noutput);
@@ -118,6 +119,8 @@ xfce_randr_new (GdkDisplay *display,
}
/* load defaults */
+ randr->preferred_mode[n] = randr->output_info[n]->modes[randr->output_info[n]->npreferred];
+
if (randr->output_info[n]->crtc != None)
{
crtc_info = XRRGetCrtcInfo (xdisplay, randr->resources, randr->output_info[n]->crtc);
@@ -167,6 +170,7 @@ xfce_randr_free (XfceRandr *randr)
/* free the settings */
g_free (randr->mode);
+ g_free (randr->preferred_mode);
g_free (randr->rotation);
g_free (randr->rotations);
g_free (randr->status);
diff --git a/dialogs/display-settings/xfce-randr.h b/dialogs/display-settings/xfce-randr.h
index fd44b27..840e2b5 100644
--- a/dialogs/display-settings/xfce-randr.h
+++ b/dialogs/display-settings/xfce-randr.h
@@ -24,10 +24,11 @@
#ifndef __XFCE_RANDR_H__
#define __XFCE_RANDR_H__
-#define XFCE_RANDR_MODE(randr) (randr->mode[randr->active_output])
-#define XFCE_RANDR_ROTATION(randr) (randr->rotation[randr->active_output])
-#define XFCE_RANDR_ROTATIONS(randr) (randr->rotations[randr->active_output])
-#define XFCE_RANDR_OUTPUT_INFO(randr) (randr->output_info[randr->active_output])
+#define XFCE_RANDR_MODE(randr) (randr->mode[randr->active_output])
+#define XFCE_RANDR_PREFERRED_MODE(randr) (randr->preferred_mode[randr->active_output])
+#define XFCE_RANDR_ROTATION(randr) (randr->rotation[randr->active_output])
+#define XFCE_RANDR_ROTATIONS(randr) (randr->rotations[randr->active_output])
+#define XFCE_RANDR_OUTPUT_INFO(randr) (randr->output_info[randr->active_output])
/* check for randr 1.2 or better */
#if RANDR_MAJOR > 1 || (RANDR_MAJOR == 1 && RANDR_MINOR >= 2)
@@ -91,6 +92,7 @@ struct _XfceRandr
/* selected settings for all outputs */
RRMode *mode;
+ RRMode *preferred_mode;
Rotation *rotation;
Rotation *rotations;
XfceOutputPosition *position;
More information about the Xfce4-commits
mailing list