summaryrefslogtreecommitdiff
path: root/gnome-settings-daemon
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@gnome.org>2012-01-10 18:09:18 -0600
committerFederico Mena Quintero <federico@gnome.org>2012-01-10 18:09:31 -0600
commit6e17bc786f55f283f2c721249197e7740174fd43 (patch)
tree1a2452bf78450046e78afa61846f5b34345d7765 /gnome-settings-daemon
parent7675bffde2fb0e0f25d41d3f30748809353e128a (diff)
parent7e238f2da29c383ba391fd8d133bbcf3e5348fe2 (diff)
downloadgnome-settings-daemon-6e17bc786f55f283f2c721249197e7740174fd43.tar.gz
Merge branch 'docking-stations' - bgo#663126
This lets docking stations work better in the light of plugging external monitors. It used to be that a docked laptop, with a closed lid, would still keep the LCD active, thus making it pretty useless with an external monitor. Now, we disable the LCD if the laptop's lid is closed, as expected. Additionally, to decide when to suspend the laptop, we do so if there are no plugged or usable RANDR outputs. For example, a docked laptop with a closed lid and *no* external monitor has no usable outputs, so it will get suspended. This requires gnome-desktop 3.3.4 or later, as the semantics of gnome_rr_screen_new() are slightly different there - now it returns a singleton instead of a new object every time.
Diffstat (limited to 'gnome-settings-daemon')
-rw-r--r--gnome-settings-daemon/Makefile.am2
-rw-r--r--gnome-settings-daemon/gnome-settings-session.c15
-rw-r--r--gnome-settings-daemon/gnome-settings-session.h4
3 files changed, 2 insertions, 19 deletions
diff --git a/gnome-settings-daemon/Makefile.am b/gnome-settings-daemon/Makefile.am
index 7e0e0929..37734a76 100644
--- a/gnome-settings-daemon/Makefile.am
+++ b/gnome-settings-daemon/Makefile.am
@@ -9,6 +9,7 @@ INCLUDES = \
$(DISABLE_DEPRECATED_CFLAGS) \
$(SETTINGS_DAEMON_CFLAGS) \
$(LIBNOTIFY_CFLAGS) \
+ $(UPOWER_CFLAGS) \
$(GNOME_DESKTOP_CFLAGS) \
$(NULL)
@@ -75,6 +76,7 @@ gnome_settings_daemon_LDADD = \
libgsd-profile.la \
$(SETTINGS_DAEMON_LIBS) \
$(LIBNOTIFY_LIBS) \
+ $(UPOWER_LIBS) \
$(GNOME_DESKTOP_LIBS) \
$(NULL)
diff --git a/gnome-settings-daemon/gnome-settings-session.c b/gnome-settings-daemon/gnome-settings-session.c
index d32490af..af4922f9 100644
--- a/gnome-settings-daemon/gnome-settings-session.c
+++ b/gnome-settings-daemon/gnome-settings-session.c
@@ -307,18 +307,3 @@ gnome_settings_session_new (void)
session = g_object_new (GNOME_TYPE_SETTINGS_SESSION, NULL);
return GNOME_SETTINGS_SESSION (session);
}
-
-GnomeRRScreen *
-gnome_settings_session_get_screen (GError **error)
-{
- static GnomeRRScreen *screen = NULL;
-
- if (screen != NULL)
- return g_object_ref (screen);
-
- screen = gnome_rr_screen_new (gdk_screen_get_default (), error);
- if (screen != NULL)
- g_object_add_weak_pointer (G_OBJECT (screen), (gpointer *) &screen);
-
- return screen;
-}
diff --git a/gnome-settings-daemon/gnome-settings-session.h b/gnome-settings-daemon/gnome-settings-session.h
index ba93cf22..c9b64ee9 100644
--- a/gnome-settings-daemon/gnome-settings-session.h
+++ b/gnome-settings-daemon/gnome-settings-session.h
@@ -24,9 +24,6 @@
#include <glib-object.h>
-#define GNOME_DESKTOP_USE_UNSTABLE_API
-#include <libgnome-desktop/gnome-rr.h>
-
G_BEGIN_DECLS
#define GNOME_TYPE_SETTINGS_SESSION (gnome_settings_session_get_type ())
@@ -61,7 +58,6 @@ GType gnome_settings_session_state_get_type (void);
GnomeSettingsSession *gnome_settings_session_new (void);
GnomeSettingsSessionState gnome_settings_session_get_state (GnomeSettingsSession *session);
-GnomeRRScreen *gnome_settings_session_get_screen (GError **error);
G_END_DECLS