diff options
author | Federico Mena Quintero <federico@gnome.org> | 2012-01-10 18:09:18 -0600 |
---|---|---|
committer | Federico Mena Quintero <federico@gnome.org> | 2012-01-10 18:09:31 -0600 |
commit | 6e17bc786f55f283f2c721249197e7740174fd43 (patch) | |
tree | 1a2452bf78450046e78afa61846f5b34345d7765 /gnome-settings-daemon | |
parent | 7675bffde2fb0e0f25d41d3f30748809353e128a (diff) | |
parent | 7e238f2da29c383ba391fd8d133bbcf3e5348fe2 (diff) | |
download | gnome-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.am | 2 | ||||
-rw-r--r-- | gnome-settings-daemon/gnome-settings-session.c | 15 | ||||
-rw-r--r-- | gnome-settings-daemon/gnome-settings-session.h | 4 |
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 |