Fix various bugs in the fn-f7 support
This commit is contained in:
parent
787827453c
commit
e60c9bb4fb
@ -1,5 +1,5 @@
|
|||||||
diff --git a/plugins/xrandr/gsd-xrandr-manager.c b/plugins/xrandr/gsd-xrandr-manager.c
|
diff --git a/plugins/xrandr/gsd-xrandr-manager.c b/plugins/xrandr/gsd-xrandr-manager.c
|
||||||
index 4d8ce2f..b80e55d 100644
|
index 4d8ce2f..4057962 100644
|
||||||
--- a/plugins/xrandr/gsd-xrandr-manager.c
|
--- a/plugins/xrandr/gsd-xrandr-manager.c
|
||||||
+++ b/plugins/xrandr/gsd-xrandr-manager.c
|
+++ b/plugins/xrandr/gsd-xrandr-manager.c
|
||||||
@@ -82,6 +82,10 @@ struct GsdXrandrManagerPrivate
|
@@ -82,6 +82,10 @@ struct GsdXrandrManagerPrivate
|
||||||
@ -13,7 +13,7 @@ index 4d8ce2f..b80e55d 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
static void gsd_xrandr_manager_class_init (GsdXrandrManagerClass *klass);
|
static void gsd_xrandr_manager_class_init (GsdXrandrManagerClass *klass);
|
||||||
@@ -127,6 +131,418 @@ on_client_message (GdkXEvent *xevent,
|
@@ -127,6 +131,421 @@ on_client_message (GdkXEvent *xevent,
|
||||||
return GDK_FILTER_CONTINUE;
|
return GDK_FILTER_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,6 +136,7 @@ index 4d8ce2f..b80e55d 100644
|
|||||||
+ info->width = width;
|
+ info->width = width;
|
||||||
+ info->height = height;
|
+ info->height = height;
|
||||||
+ info->rate = best_rate;
|
+ info->rate = best_rate;
|
||||||
|
+ info->rotation = GNOME_RR_ROTATION_0;
|
||||||
+ info->x = 0;
|
+ info->x = 0;
|
||||||
+ info->y = 0;
|
+ info->y = 0;
|
||||||
+ }
|
+ }
|
||||||
@ -219,25 +220,21 @@ index 4d8ce2f..b80e55d 100644
|
|||||||
+ GnomeOutputInfo *info = result->outputs[i];
|
+ GnomeOutputInfo *info = result->outputs[i];
|
||||||
+
|
+
|
||||||
+ if (is_laptop (info)) {
|
+ if (is_laptop (info)) {
|
||||||
+ if (!info->on) {
|
+ if (info->on || turn_on (screen, info, x, 0)) {
|
||||||
+ if (turn_on (screen, info, x, 0)) {
|
|
||||||
+ x += info->width;
|
+ x += info->width;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
+ for (i = 0; result->outputs[i] != NULL; ++i) {
|
+ for (i = 0; result->outputs[i] != NULL; ++i) {
|
||||||
+ GnomeOutputInfo *info = result->outputs[i];
|
+ GnomeOutputInfo *info = result->outputs[i];
|
||||||
+
|
+
|
||||||
+ if (info->connected && !is_laptop (info)) {
|
+ if (info->connected && !is_laptop (info)) {
|
||||||
+ if (!info->on) {
|
+ if (info->on || turn_on (screen, info, x, 0)) {
|
||||||
+ if (turn_on (screen, info, x, 0)) {
|
|
||||||
+ x += info->width;
|
+ x += info->width;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
+ print_configuration (result, "xinerama setup");
|
+ print_configuration (result, "xinerama setup");
|
||||||
+
|
+
|
||||||
@ -403,8 +400,14 @@ index 4d8ce2f..b80e55d 100644
|
|||||||
+
|
+
|
||||||
+ current = gnome_rr_config_new_current (screen);
|
+ current = gnome_rr_config_new_current (screen);
|
||||||
+
|
+
|
||||||
+ if (priv->fn_f7_configs && !gnome_rr_config_match (current, priv->fn_f7_configs[0]))
|
+ if (priv->fn_f7_configs &&
|
||||||
|
+ (!gnome_rr_config_match (current, priv->fn_f7_configs[0]) ||
|
||||||
|
+ !gnome_rr_config_equal (current, priv->fn_f7_configs[mgr->priv->current_fn_f7_config]))) {
|
||||||
|
+ /* Our view of the world is incorrect, so regenerate the
|
||||||
|
+ * configurations
|
||||||
|
+ */
|
||||||
+ generate_fn_f7_configs (mgr);
|
+ generate_fn_f7_configs (mgr);
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ gnome_rr_config_free (current);
|
+ gnome_rr_config_free (current);
|
||||||
+
|
+
|
||||||
@ -432,7 +435,7 @@ index 4d8ce2f..b80e55d 100644
|
|||||||
static GdkFilterReturn
|
static GdkFilterReturn
|
||||||
event_filter (GdkXEvent *xevent,
|
event_filter (GdkXEvent *xevent,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
@@ -142,12 +558,9 @@ event_filter (GdkXEvent *xevent,
|
@@ -142,12 +561,9 @@ event_filter (GdkXEvent *xevent,
|
||||||
if (xev->xany.type != KeyPress && xev->xany.type != KeyRelease)
|
if (xev->xany.type != KeyPress && xev->xany.type != KeyRelease)
|
||||||
return GDK_FILTER_CONTINUE;
|
return GDK_FILTER_CONTINUE;
|
||||||
|
|
||||||
@ -448,7 +451,7 @@ index 4d8ce2f..b80e55d 100644
|
|||||||
return GDK_FILTER_CONTINUE;
|
return GDK_FILTER_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -869,6 +1282,9 @@ gsd_xrandr_manager_init (GsdXrandrManager *manager)
|
@@ -869,6 +1285,9 @@ gsd_xrandr_manager_init (GsdXrandrManager *manager)
|
||||||
manager->priv = GSD_XRANDR_MANAGER_GET_PRIVATE (manager);
|
manager->priv = GSD_XRANDR_MANAGER_GET_PRIVATE (manager);
|
||||||
|
|
||||||
manager->priv->keycode = keycode;
|
manager->priv->keycode = keycode;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Name: gnome-settings-daemon
|
Name: gnome-settings-daemon
|
||||||
Version: 2.23.92
|
Version: 2.23.92
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: The daemon sharing settings from GNOME to GTK+/KDE applications
|
Summary: The daemon sharing settings from GNOME to GTK+/KDE applications
|
||||||
|
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
@ -155,6 +155,9 @@ fi
|
|||||||
%{_libdir}/pkgconfig/gnome-settings-daemon.pc
|
%{_libdir}/pkgconfig/gnome-settings-daemon.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 11 2008 Soren Sandmann <sandmann@redhat.com> - 2.23.91-5
|
||||||
|
- Fix various bugs in the fn-F7 support
|
||||||
|
|
||||||
* Mon Sep 8 2008 Matthias Clasen <mclasen@redhat.com> - 2.23.92-1
|
* Mon Sep 8 2008 Matthias Clasen <mclasen@redhat.com> - 2.23.92-1
|
||||||
- Update to 2.23.92
|
- Update to 2.23.92
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user