- Update to 2.29.90
This commit is contained in:
parent
48dfdfe51c
commit
48e2e7267d
@ -1 +1 @@
|
||||
gnome-settings-daemon-2.29.6.tar.bz2
|
||||
gnome-settings-daemon-2.29.90.tar.bz2
|
||||
|
@ -1,35 +0,0 @@
|
||||
From c05c9b8c19f4c735ac1809f8bc61a3c13ea42c12 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Thu, 5 Nov 2009 22:21:52 +0000
|
||||
Subject: [PATCH] Avoid volumes going over 100%
|
||||
|
||||
Because we don't handle that.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=600770
|
||||
---
|
||||
plugins/media-keys/gsd-media-keys-manager.c | 6 ++++--
|
||||
1 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
|
||||
index b10fc64..86cb9d4 100644
|
||||
--- a/plugins/media-keys/gsd-media-keys-manager.c
|
||||
+++ b/plugins/media-keys/gsd-media-keys-manager.c
|
||||
@@ -618,11 +618,13 @@ update_dialog (GsdMediaKeysManager *manager,
|
||||
guint vol,
|
||||
gboolean muted)
|
||||
{
|
||||
+ vol = (int) (100 * (double) vol / PA_VOLUME_NORM);
|
||||
+ vol = CLAMP (vol, 0, 100);
|
||||
+
|
||||
dialog_init (manager);
|
||||
gsd_media_keys_window_set_volume_muted (GSD_MEDIA_KEYS_WINDOW (manager->priv->dialog),
|
||||
muted);
|
||||
- gsd_media_keys_window_set_volume_level (GSD_MEDIA_KEYS_WINDOW (manager->priv->dialog),
|
||||
- (int) (100 * (double)vol / PA_VOLUME_NORM));
|
||||
+ gsd_media_keys_window_set_volume_level (GSD_MEDIA_KEYS_WINDOW (manager->priv->dialog), vol);
|
||||
gsd_media_keys_window_set_action (GSD_MEDIA_KEYS_WINDOW (manager->priv->dialog),
|
||||
GSD_MEDIA_KEYS_WINDOW_ACTION_VOLUME);
|
||||
dialog_show (manager);
|
||||
--
|
||||
1.6.5.2
|
||||
|
@ -1,66 +0,0 @@
|
||||
From fadc8f8aaa65eecc855350a1dea9cfc8c255620f Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Mon, 26 Oct 2009 14:55:55 +0000
|
||||
Subject: [PATCH 1/3] Fix bluriness in level bar, and popup
|
||||
|
||||
By shifting the top-left coordinates by half a pixel, to match
|
||||
the cairo grid.
|
||||
|
||||
This makes the outter border of the popup, as well as the
|
||||
level bar's borders much sharper.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=567249
|
||||
---
|
||||
plugins/media-keys/gsd-media-keys-window.c | 18 +++++++++++-------
|
||||
1 files changed, 11 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/plugins/media-keys/gsd-media-keys-window.c b/plugins/media-keys/gsd-media-keys-window.c
|
||||
index 9306b92..f890344 100644
|
||||
--- a/plugins/media-keys/gsd-media-keys-window.c
|
||||
+++ b/plugins/media-keys/gsd-media-keys-window.c
|
||||
@@ -610,7 +610,11 @@ draw_volume_boxes (GsdMediaKeysWindow *window,
|
||||
GdkColor color;
|
||||
double r, g, b;
|
||||
|
||||
- x1 = width * percentage;
|
||||
+ x0 += 0.5;
|
||||
+ y0 += 0.5;
|
||||
+ height = round (height) - 1;
|
||||
+ width = round (width) - 1;
|
||||
+ x1 = round ((width - 1) * percentage);
|
||||
|
||||
/* bar background */
|
||||
color = GTK_WIDGET (window)->style->dark [GTK_STATE_NORMAL];
|
||||
@@ -636,7 +640,7 @@ draw_volume_boxes (GsdMediaKeysWindow *window,
|
||||
r = (float)color.red / 65535.0;
|
||||
g = (float)color.green / 65535.0;
|
||||
b = (float)color.blue / 65535.0;
|
||||
- cairo_rectangle (cr, x0, y0, x1, height);
|
||||
+ cairo_rectangle (cr, x0 + 0.5, y0 + 0.5, x1, height - 1);
|
||||
cairo_set_source_rgba (cr, r, g, b, FG_ALPHA);
|
||||
cairo_fill (cr);
|
||||
}
|
||||
@@ -659,15 +663,15 @@ draw_action_volume (GsdMediaKeysWindow *window,
|
||||
|
||||
gtk_window_get_size (GTK_WINDOW (window), &window_width, &window_height);
|
||||
|
||||
- icon_box_width = window_width * 0.65;
|
||||
- icon_box_height = window_height * 0.65;
|
||||
+ icon_box_width = round (window_width * 0.65);
|
||||
+ icon_box_height = round (window_height * 0.65);
|
||||
volume_box_width = icon_box_width;
|
||||
- volume_box_height = window_height * 0.05;
|
||||
+ volume_box_height = round (window_height * 0.05);
|
||||
|
||||
icon_box_x0 = (window_width - icon_box_width) / 2;
|
||||
icon_box_y0 = (window_height - icon_box_height - volume_box_height) / 2;
|
||||
- volume_box_x0 = icon_box_x0;
|
||||
- volume_box_y0 = icon_box_height + icon_box_y0;
|
||||
+ volume_box_x0 = round (icon_box_x0);
|
||||
+ volume_box_y0 = round (icon_box_height + icon_box_y0);
|
||||
|
||||
#if 0
|
||||
g_message ("icon box: w=%f h=%f x0=%f y0=%f",
|
||||
--
|
||||
1.6.5.rc2
|
||||
|
@ -1,133 +0,0 @@
|
||||
From dab2e6b44c57e14dd373adf04d4530bd5915f582 Mon Sep 17 00:00:00 2001
|
||||
From: William Jon McCann <jmccann@redhat.com>
|
||||
Date: Wed, 23 Sep 2009 20:23:31 -0400
|
||||
Subject: [PATCH 2/3] Use a rounded instead of curved rectangle
|
||||
|
||||
---
|
||||
plugins/media-keys/gsd-media-keys-window.c | 101 +++++++++++++---------------
|
||||
1 files changed, 48 insertions(+), 53 deletions(-)
|
||||
|
||||
diff --git a/plugins/media-keys/gsd-media-keys-window.c b/plugins/media-keys/gsd-media-keys-window.c
|
||||
index f890344..cffbe3e 100644
|
||||
--- a/plugins/media-keys/gsd-media-keys-window.c
|
||||
+++ b/plugins/media-keys/gsd-media-keys-window.c
|
||||
@@ -260,59 +260,54 @@ gsd_media_keys_window_set_volume_level (GsdMediaKeysWindow *window,
|
||||
}
|
||||
|
||||
static void
|
||||
-curved_rectangle (cairo_t *cr,
|
||||
- double x0,
|
||||
- double y0,
|
||||
- double width,
|
||||
- double height,
|
||||
- double radius)
|
||||
-{
|
||||
- double x1;
|
||||
- double y1;
|
||||
-
|
||||
- x1 = x0 + width;
|
||||
- y1 = y0 + height;
|
||||
-
|
||||
- if (!width || !height) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (width / 2 < radius) {
|
||||
- if (height / 2 < radius) {
|
||||
- cairo_move_to (cr, x0, (y0 + y1) / 2);
|
||||
- cairo_curve_to (cr, x0 ,y0, x0, y0, (x0 + x1) / 2, y0);
|
||||
- cairo_curve_to (cr, x1, y0, x1, y0, x1, (y0 + y1) / 2);
|
||||
- cairo_curve_to (cr, x1, y1, x1, y1, (x1 + x0) / 2, y1);
|
||||
- cairo_curve_to (cr, x0, y1, x0, y1, x0, (y0 + y1) / 2);
|
||||
- } else {
|
||||
- cairo_move_to (cr, x0, y0 + radius);
|
||||
- cairo_curve_to (cr, x0, y0, x0, y0, (x0 + x1) / 2, y0);
|
||||
- cairo_curve_to (cr, x1, y0, x1, y0, x1, y0 + radius);
|
||||
- cairo_line_to (cr, x1, y1 - radius);
|
||||
- cairo_curve_to (cr, x1, y1, x1, y1, (x1 + x0) / 2, y1);
|
||||
- cairo_curve_to (cr, x0, y1, x0, y1, x0, y1 - radius);
|
||||
- }
|
||||
- } else {
|
||||
- if (height / 2 < radius) {
|
||||
- cairo_move_to (cr, x0, (y0 + y1) / 2);
|
||||
- cairo_curve_to (cr, x0, y0, x0 , y0, x0 + radius, y0);
|
||||
- cairo_line_to (cr, x1 - radius, y0);
|
||||
- cairo_curve_to (cr, x1, y0, x1, y0, x1, (y0 + y1) / 2);
|
||||
- cairo_curve_to (cr, x1, y1, x1, y1, x1 - radius, y1);
|
||||
- cairo_line_to (cr, x0 + radius, y1);
|
||||
- cairo_curve_to (cr, x0, y1, x0, y1, x0, (y0 + y1) / 2);
|
||||
- } else {
|
||||
- cairo_move_to (cr, x0, y0 + radius);
|
||||
- cairo_curve_to (cr, x0 , y0, x0 , y0, x0 + radius, y0);
|
||||
- cairo_line_to (cr, x1 - radius, y0);
|
||||
- cairo_curve_to (cr, x1, y0, x1, y0, x1, y0 + radius);
|
||||
- cairo_line_to (cr, x1, y1 - radius);
|
||||
- cairo_curve_to (cr, x1, y1, x1, y1, x1 - radius, y1);
|
||||
- cairo_line_to (cr, x0 + radius, y1);
|
||||
- cairo_curve_to (cr, x0, y1, x0, y1, x0, y1 - radius);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
+rounded_rectangle (cairo_t* cr,
|
||||
+ gdouble aspect,
|
||||
+ gdouble x,
|
||||
+ gdouble y,
|
||||
+ gdouble corner_radius,
|
||||
+ gdouble width,
|
||||
+ gdouble height)
|
||||
+{
|
||||
+ gdouble radius = corner_radius / aspect;
|
||||
+
|
||||
+ cairo_move_to (cr, x + radius, y);
|
||||
+
|
||||
+ cairo_line_to (cr,
|
||||
+ x + width - radius,
|
||||
+ y);
|
||||
+ cairo_arc (cr,
|
||||
+ x + width - radius,
|
||||
+ y + radius,
|
||||
+ radius,
|
||||
+ -90.0f * G_PI / 180.0f,
|
||||
+ 0.0f * G_PI / 180.0f);
|
||||
+ cairo_line_to (cr,
|
||||
+ x + width,
|
||||
+ y + height - radius);
|
||||
+ cairo_arc (cr,
|
||||
+ x + width - radius,
|
||||
+ y + height - radius,
|
||||
+ radius,
|
||||
+ 0.0f * G_PI / 180.0f,
|
||||
+ 90.0f * G_PI / 180.0f);
|
||||
+ cairo_line_to (cr,
|
||||
+ x + radius,
|
||||
+ y + height);
|
||||
+ cairo_arc (cr,
|
||||
+ x + radius,
|
||||
+ y + height - radius,
|
||||
+ radius,
|
||||
+ 90.0f * G_PI / 180.0f,
|
||||
+ 180.0f * G_PI / 180.0f);
|
||||
+ cairo_line_to (cr,
|
||||
+ x,
|
||||
+ y + radius);
|
||||
+ cairo_arc (cr,
|
||||
+ x + radius,
|
||||
+ y + radius,
|
||||
+ radius,
|
||||
+ 180.0f * G_PI / 180.0f,
|
||||
+ 270.0f * G_PI / 180.0f);
|
||||
cairo_close_path (cr);
|
||||
}
|
||||
|
||||
@@ -799,7 +794,7 @@ on_expose_event (GtkWidget *widget,
|
||||
cairo_paint (cr);
|
||||
|
||||
/* draw a box */
|
||||
- curved_rectangle (cr, 0.5, 0.5, width-1, height-1, height / 10);
|
||||
+ rounded_rectangle (cr, 1.0, 0.5, 0.5, height / 10, width-1, height-1);
|
||||
color = GTK_WIDGET (window)->style->bg [GTK_STATE_NORMAL];
|
||||
r = (float)color.red / 65535.0;
|
||||
g = (float)color.green / 65535.0;
|
||||
--
|
||||
1.6.5.rc2
|
||||
|
@ -1,126 +0,0 @@
|
||||
From 20036534e2828417b75ea3a0cd830266f40f81f6 Mon Sep 17 00:00:00 2001
|
||||
From: William Jon McCann <jmccann@redhat.com>
|
||||
Date: Wed, 23 Sep 2009 21:15:45 -0400
|
||||
Subject: [PATCH 3/5] Improve the media keys overlay design
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=596136
|
||||
---
|
||||
plugins/media-keys/gsd-media-keys-window.c | 57 +++++++++++++++++++++------
|
||||
1 files changed, 44 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/plugins/media-keys/gsd-media-keys-window.c b/plugins/media-keys/gsd-media-keys-window.c
|
||||
index cffbe3e..ec69598 100644
|
||||
--- a/plugins/media-keys/gsd-media-keys-window.c
|
||||
+++ b/plugins/media-keys/gsd-media-keys-window.c
|
||||
@@ -33,7 +33,7 @@
|
||||
#define DIALOG_FADE_TIMEOUT 1500 /* timeout before fade starts */
|
||||
#define FADE_TIMEOUT 10 /* timeout in ms between each frame of the fade */
|
||||
|
||||
-#define BG_ALPHA 0.50
|
||||
+#define BG_ALPHA 0.75
|
||||
#define FG_ALPHA 1.00
|
||||
|
||||
static void gsd_media_keys_window_class_init (GsdMediaKeysWindowClass *klass);
|
||||
@@ -593,6 +593,36 @@ render_speaker (GsdMediaKeysWindow *window,
|
||||
}
|
||||
|
||||
static void
|
||||
+color_reverse (const GdkColor *a,
|
||||
+ GdkColor *b)
|
||||
+{
|
||||
+ gdouble red;
|
||||
+ gdouble green;
|
||||
+ gdouble blue;
|
||||
+ gdouble h;
|
||||
+ gdouble s;
|
||||
+ gdouble v;
|
||||
+
|
||||
+ red = (gdouble) a->red / 65535.0;
|
||||
+ green = (gdouble) a->green / 65535.0;
|
||||
+ blue = (gdouble) a->blue / 65535.0;
|
||||
+
|
||||
+ gtk_rgb_to_hsv (red, green, blue, &h, &s, &v);
|
||||
+
|
||||
+ v = 0.5 + (0.5 - v);
|
||||
+ if (v > 1.0)
|
||||
+ v = 1.0;
|
||||
+ else if (v < 0.0)
|
||||
+ v = 0.0;
|
||||
+
|
||||
+ gtk_hsv_to_rgb (h, s, v, &red, &green, &blue);
|
||||
+
|
||||
+ b->red = red * 65535.0;
|
||||
+ b->green = green * 65535.0;
|
||||
+ b->blue = blue * 65535.0;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
draw_volume_boxes (GsdMediaKeysWindow *window,
|
||||
cairo_t *cr,
|
||||
double percentage,
|
||||
@@ -612,30 +642,31 @@ draw_volume_boxes (GsdMediaKeysWindow *window,
|
||||
x1 = round ((width - 1) * percentage);
|
||||
|
||||
/* bar background */
|
||||
- color = GTK_WIDGET (window)->style->dark [GTK_STATE_NORMAL];
|
||||
+ color_reverse (>K_WIDGET (window)->style->dark[GTK_STATE_NORMAL], &color);
|
||||
r = (float)color.red / 65535.0;
|
||||
g = (float)color.green / 65535.0;
|
||||
b = (float)color.blue / 65535.0;
|
||||
- cairo_rectangle (cr, x0, y0, width, height);
|
||||
- cairo_set_source_rgba (cr, r, g, b, FG_ALPHA);
|
||||
- cairo_fill (cr);
|
||||
+ rounded_rectangle (cr, 1.0, x0, y0, height / 6, width, height);
|
||||
+ cairo_set_source_rgba (cr, r, g, b, FG_ALPHA / 2);
|
||||
+ cairo_fill_preserve (cr);
|
||||
|
||||
/* bar border */
|
||||
- color = GTK_WIDGET (window)->style->dark [GTK_STATE_SELECTED];
|
||||
+ color_reverse (>K_WIDGET (window)->style->light[GTK_STATE_NORMAL], &color);
|
||||
r = (float)color.red / 65535.0;
|
||||
g = (float)color.green / 65535.0;
|
||||
b = (float)color.blue / 65535.0;
|
||||
- cairo_rectangle (cr, x0, y0, width, height);
|
||||
- cairo_set_source_rgba (cr, r, g, b, FG_ALPHA);
|
||||
+ cairo_set_source_rgba (cr, r, g, b, FG_ALPHA / 2);
|
||||
cairo_set_line_width (cr, 1);
|
||||
cairo_stroke (cr);
|
||||
|
||||
/* bar progress */
|
||||
- color = GTK_WIDGET (window)->style->bg [GTK_STATE_SELECTED];
|
||||
+ if (percentage < 0.01)
|
||||
+ return;
|
||||
+ color = GTK_WIDGET (window)->style->bg[GTK_STATE_NORMAL];
|
||||
r = (float)color.red / 65535.0;
|
||||
g = (float)color.green / 65535.0;
|
||||
b = (float)color.blue / 65535.0;
|
||||
- cairo_rectangle (cr, x0 + 0.5, y0 + 0.5, x1, height - 1);
|
||||
+ rounded_rectangle (cr, 1.0, x0 + 0.5, y0 + 0.5, height / 6 - 0.5, x1, height - 1);
|
||||
cairo_set_source_rgba (cr, r, g, b, FG_ALPHA);
|
||||
cairo_fill (cr);
|
||||
}
|
||||
@@ -795,18 +826,18 @@ on_expose_event (GtkWidget *widget,
|
||||
|
||||
/* draw a box */
|
||||
rounded_rectangle (cr, 1.0, 0.5, 0.5, height / 10, width-1, height-1);
|
||||
- color = GTK_WIDGET (window)->style->bg [GTK_STATE_NORMAL];
|
||||
+ color_reverse (>K_WIDGET (window)->style->bg[GTK_STATE_NORMAL], &color);
|
||||
r = (float)color.red / 65535.0;
|
||||
g = (float)color.green / 65535.0;
|
||||
b = (float)color.blue / 65535.0;
|
||||
cairo_set_source_rgba (cr, r, g, b, BG_ALPHA);
|
||||
cairo_fill_preserve (cr);
|
||||
|
||||
- color = GTK_WIDGET (window)->style->fg [GTK_STATE_NORMAL];
|
||||
+ color_reverse (>K_WIDGET (window)->style->text_aa[GTK_STATE_NORMAL], &color);
|
||||
r = (float)color.red / 65535.0;
|
||||
g = (float)color.green / 65535.0;
|
||||
b = (float)color.blue / 65535.0;
|
||||
- cairo_set_source_rgba (cr, r, g, b, BG_ALPHA);
|
||||
+ cairo_set_source_rgba (cr, r, g, b, BG_ALPHA / 2);
|
||||
cairo_set_line_width (cr, 1);
|
||||
cairo_stroke (cr);
|
||||
|
||||
--
|
||||
1.6.5.rc2
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 77e4a88e1a4abd72f036eb6fda208cb36faff162 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed, 26 Aug 2009 09:48:06 +1000
|
||||
Subject: [PATCH] Skip button mappings only for core devices.
|
||||
|
||||
Since server 1.4, devices are unlikely to be marked as IsXExtensionPointer.
|
||||
More common is IsXExtensionKeyboard or IsXExtensionPointer.
|
||||
However, with many pointer devices also having keys (e.g. most wireless
|
||||
combos) a check for IsXExtensionPointer is unreliable.
|
||||
|
||||
In gsd-mouse-manager, skip the XInput button mapping only if the device is a
|
||||
core device. Otherwise, test for buttons.
|
||||
|
||||
---
|
||||
plugins/mouse/gsd-mouse-manager.c | 3 ++-
|
||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/plugins/mouse/gsd-mouse-manager.c b/plugins/mouse/gsd-mouse-manager.c
|
||||
index 30e649d..7fae963 100644
|
||||
--- a/plugins/mouse/gsd-mouse-manager.c
|
||||
+++ b/plugins/mouse/gsd-mouse-manager.c
|
||||
@@ -283,7 +283,8 @@ set_xinput_devices_left_handed (gboolean left_handed)
|
||||
for (i = 0; i < n_devices; i++) {
|
||||
XDevice *device = NULL;
|
||||
|
||||
- if ((device_info[i].use != IsXExtensionPointer) ||
|
||||
+ if ((device_info[i].use == IsXPointer) ||
|
||||
+ (device_info[i].use == IsXKeyboard) ||
|
||||
(!xinput_device_has_buttons (&device_info[i])))
|
||||
continue;
|
||||
|
||||
--
|
||||
1.6.3.rc1.2.g0164.dirty
|
||||
|
@ -1,5 +1,5 @@
|
||||
Name: gnome-settings-daemon
|
||||
Version: 2.29.6
|
||||
Version: 2.29.90
|
||||
Release: 1%{?dist}
|
||||
Summary: The daemon sharing settings from GNOME to GTK+/KDE applications
|
||||
|
||||
@ -18,7 +18,7 @@ BuildRequires: dbus-glib-devel
|
||||
BuildRequires: GConf2-devel
|
||||
BuildRequires: gtk2-devel
|
||||
BuildRequires: gnome-vfs2-devel
|
||||
BuildRequires: gnome-desktop-devel >= 2.25.5
|
||||
BuildRequires: gnome-desktop-devel >= 2.26.3
|
||||
BuildRequires: libglade2-devel
|
||||
BuildRequires: libgnomeui-devel
|
||||
BuildRequires: libgnome-devel
|
||||
@ -55,6 +55,8 @@ developing applications that use %{name}.
|
||||
%patch3 -p1 -b .slight-hinting
|
||||
|
||||
%build
|
||||
# https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking
|
||||
export LIBS="-lX11"
|
||||
%configure --enable-static=no --enable-profiling --disable-esd
|
||||
make %{?_smp_mflags}
|
||||
|
||||
@ -164,6 +166,9 @@ fi
|
||||
%{_libdir}/pkgconfig/gnome-settings-daemon.pc
|
||||
|
||||
%changelog
|
||||
* Wed Feb 10 2010 Tomas Bzatek <tbzatek@redhat.com> 2.29.90-1
|
||||
- Update to 2.29.90
|
||||
|
||||
* Tue Jan 26 2010 Matthias Clasen <mclasen@redhat.com> 2.29.6-1
|
||||
- Update to 2.29.6
|
||||
|
||||
|
@ -1,107 +0,0 @@
|
||||
diff -up gnome-settings-daemon-2.28.1/plugins/background/gsd-background-manager.c.screen-change gnome-settings-daemon-2.28.1/plugins/background/gsd-background-manager.c
|
||||
--- gnome-settings-daemon-2.28.1/plugins/background/gsd-background-manager.c.screen-change 2009-05-03 14:15:30.000000000 -0400
|
||||
+++ gnome-settings-daemon-2.28.1/plugins/background/gsd-background-manager.c 2009-11-09 15:38:32.005583997 -0500
|
||||
@@ -47,6 +47,8 @@
|
||||
#include "gnome-settings-profile.h"
|
||||
#include "gsd-background-manager.h"
|
||||
|
||||
+#define NAUTILUS_SHOW_DESKTOP_KEY "/apps/nautilus/preferences/show_desktop"
|
||||
+
|
||||
#define GSD_BACKGROUND_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_BACKGROUND_MANAGER, GsdBackgroundManagerPrivate))
|
||||
|
||||
struct GsdBackgroundManagerPrivate
|
||||
@@ -330,6 +332,67 @@ draw_background_after_session_loads (Gsd
|
||||
manager->priv->dbus_connection = connection;
|
||||
}
|
||||
|
||||
+static void
|
||||
+on_screen_size_changed (GdkScreen *screen,
|
||||
+ GsdBackgroundManager *manager)
|
||||
+{
|
||||
+ gboolean nautilus_show_desktop;
|
||||
+
|
||||
+ nautilus_show_desktop = gconf_client_get_bool (manager->priv->client,
|
||||
+ NAUTILUS_SHOW_DESKTOP_KEY,
|
||||
+ NULL);
|
||||
+
|
||||
+ if (!nautilus_is_running () || !nautilus_show_desktop) {
|
||||
+ if (manager->priv->bg == NULL) {
|
||||
+ setup_bg (manager);
|
||||
+ }
|
||||
+ draw_background (manager, FALSE);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+disconnect_screen_signals (GsdBackgroundManager *manager)
|
||||
+{
|
||||
+ GdkDisplay *display;
|
||||
+ int i;
|
||||
+ int n_screens;
|
||||
+
|
||||
+ display = gdk_display_get_default ();
|
||||
+ n_screens = gdk_display_get_n_screens (display);
|
||||
+
|
||||
+ for (i = 0; i < n_screens; ++i) {
|
||||
+ GdkScreen *screen;
|
||||
+ screen = gdk_display_get_screen (display, i);
|
||||
+ g_signal_handlers_disconnect_by_func (screen,
|
||||
+ G_CALLBACK (on_screen_size_changed),
|
||||
+ manager);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+connect_screen_signals (GsdBackgroundManager *manager)
|
||||
+{
|
||||
+ GdkDisplay *display;
|
||||
+ int i;
|
||||
+ int n_screens;
|
||||
+
|
||||
+ display = gdk_display_get_default ();
|
||||
+ n_screens = gdk_display_get_n_screens (display);
|
||||
+
|
||||
+ for (i = 0; i < n_screens; ++i) {
|
||||
+ GdkScreen *screen;
|
||||
+ screen = gdk_display_get_screen (display, i);
|
||||
+ g_signal_connect (screen,
|
||||
+ "monitors-changed",
|
||||
+ G_CALLBACK (on_screen_size_changed),
|
||||
+ manager);
|
||||
+ g_signal_connect (screen,
|
||||
+ "size-changed",
|
||||
+ G_CALLBACK (on_screen_size_changed),
|
||||
+ manager);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
gboolean
|
||||
gsd_background_manager_start (GsdBackgroundManager *manager,
|
||||
GError **error)
|
||||
@@ -349,7 +412,7 @@ gsd_background_manager_start (GsdBackgro
|
||||
* nautilus overwrite it.
|
||||
*/
|
||||
nautilus_show_desktop = gconf_client_get_bool (manager->priv->client,
|
||||
- "/apps/nautilus/preferences/show_desktop",
|
||||
+ NAUTILUS_SHOW_DESKTOP_KEY,
|
||||
NULL);
|
||||
|
||||
if (!nautilus_show_desktop) {
|
||||
@@ -358,6 +421,8 @@ gsd_background_manager_start (GsdBackgro
|
||||
draw_background_after_session_loads (manager);
|
||||
}
|
||||
|
||||
+ connect_screen_signals (manager);
|
||||
+
|
||||
gnome_settings_profile_end (NULL);
|
||||
|
||||
return TRUE;
|
||||
@@ -370,6 +435,8 @@ gsd_background_manager_stop (GsdBackgrou
|
||||
|
||||
g_debug ("Stopping background manager");
|
||||
|
||||
+ disconnect_screen_signals (manager);
|
||||
+
|
||||
if (manager->priv->dbus_connection != NULL) {
|
||||
dbus_connection_remove_filter (manager->priv->dbus_connection,
|
||||
on_bus_message,
|
@ -1,11 +0,0 @@
|
||||
diff -up gnome-settings-daemon-2.28.1/plugins/xrandr/gsd-xrandr-manager.c.iconleak gnome-settings-daemon-2.28.1/plugins/xrandr/gsd-xrandr-manager.c
|
||||
--- gnome-settings-daemon-2.28.1/plugins/xrandr/gsd-xrandr-manager.c.iconleak 2009-07-27 17:37:28.000000000 -0400
|
||||
+++ gnome-settings-daemon-2.28.1/plugins/xrandr/gsd-xrandr-manager.c 2009-11-12 09:16:37.600916194 -0500
|
||||
@@ -1793,6 +1793,7 @@ status_icon_stop (GsdXrandrManager *mana
|
||||
g_signal_handlers_disconnect_by_func (
|
||||
priv->status_icon, G_CALLBACK (status_icon_popup_menu_cb), manager);
|
||||
|
||||
+ gtk_status_icon_set_visible (priv->status_icon, FALSE);
|
||||
g_object_unref (priv->status_icon);
|
||||
priv->status_icon = NULL;
|
||||
}
|
@ -1,115 +0,0 @@
|
||||
From ca4c9a0d9c269e51b8f6955277553f61ece9899a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon, 26 Oct 2009 15:24:48 +1000
|
||||
Subject: [PATCH] mouse: allow left-handed setting for touchpads.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Button mapping is handled in the server, tapping is handled in the driver.
|
||||
Thus, if the tapping is enabled and the device is left-handed, the tapping
|
||||
order must be reversed to counter the effect of the left-handed button
|
||||
mapping.
|
||||
|
||||
For right-handed setup:
|
||||
phys. button 1 → logical button 1
|
||||
one-finger tapping → phys button 1
|
||||
|
||||
For left-handed setup:
|
||||
phys. button 3 → logical button 1
|
||||
one-finger-tapping → phys. button 3
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
plugins/mouse/gsd-mouse-manager.c | 27 ++++++++++++++++++---------
|
||||
1 files changed, 18 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/plugins/mouse/gsd-mouse-manager.c b/plugins/mouse/gsd-mouse-manager.c
|
||||
index 4c463eb..21acca6 100644
|
||||
--- a/plugins/mouse/gsd-mouse-manager.c
|
||||
+++ b/plugins/mouse/gsd-mouse-manager.c
|
||||
@@ -84,6 +84,7 @@ static void gsd_mouse_manager_class_init (GsdMouseManagerClass *klass);
|
||||
static void gsd_mouse_manager_init (GsdMouseManager *mouse_manager);
|
||||
static void gsd_mouse_manager_finalize (GObject *object);
|
||||
static void set_mouse_settings (GsdMouseManager *manager);
|
||||
+static int set_tap_to_click (gboolean state, gboolean left_handed);
|
||||
static XDevice* device_is_touchpad (XDeviceInfo deviceinfo);
|
||||
|
||||
G_DEFINE_TYPE (GsdMouseManager, gsd_mouse_manager, G_TYPE_OBJECT)
|
||||
@@ -289,8 +290,12 @@ set_xinput_devices_left_handed (gboolean left_handed)
|
||||
* around, otherwise a tap would be a right-click */
|
||||
device = device_is_touchpad (device_info[i]);
|
||||
if (device != NULL) {
|
||||
+ GConfClient *client = gconf_client_get_default ();
|
||||
+ gboolean tap = gconf_client_get_bool (client, KEY_TAP_TO_CLICK, NULL);
|
||||
+
|
||||
+ if (tap)
|
||||
+ set_tap_to_click (tap, left_handed);
|
||||
XCloseDevice (GDK_DISPLAY (), device);
|
||||
- continue;
|
||||
}
|
||||
|
||||
gdk_error_trap_push ();
|
||||
@@ -540,7 +545,7 @@ set_disable_w_typing (GsdMouseManager *manager, gboolean state)
|
||||
}
|
||||
|
||||
static int
|
||||
-set_tap_to_click (gboolean state)
|
||||
+set_tap_to_click (gboolean state, gboolean left_handed)
|
||||
{
|
||||
int numdevices, i, format, rc;
|
||||
unsigned long nitems, bytes_after;
|
||||
@@ -567,8 +572,8 @@ set_tap_to_click (gboolean state)
|
||||
if (rc == Success && type == XA_INTEGER && format == 8 && nitems >= 7)
|
||||
{
|
||||
/* Set RLM mapping for 1/2/3 fingers*/
|
||||
- data[4] = (state) ? 1 : 0;
|
||||
- data[5] = (state) ? 3 : 0;
|
||||
+ data[4] = (state) ? ((left_handed) ? 3 : 1) : 0;
|
||||
+ data[5] = (state) ? ((left_handed) ? 1 : 3) : 0;
|
||||
data[6] = (state) ? 2 : 0;
|
||||
XChangeDeviceProperty (GDK_DISPLAY (), device, prop, XA_INTEGER, 8,
|
||||
PropModeReplace, data, nitems);
|
||||
@@ -812,13 +817,14 @@ static void
|
||||
set_mouse_settings (GsdMouseManager *manager)
|
||||
{
|
||||
GConfClient *client = gconf_client_get_default ();
|
||||
+ gboolean left_handed = gconf_client_get_bool (client, KEY_LEFT_HANDED, NULL);
|
||||
|
||||
- set_left_handed (manager, gconf_client_get_bool (client, KEY_LEFT_HANDED, NULL));
|
||||
+ set_left_handed (manager, left_handed);
|
||||
set_motion_acceleration (manager, gconf_client_get_float (client, KEY_MOTION_ACCELERATION , NULL));
|
||||
set_motion_threshold (manager, gconf_client_get_int (client, KEY_MOTION_THRESHOLD, NULL));
|
||||
|
||||
set_disable_w_typing (manager, gconf_client_get_bool (client, KEY_TOUCHPAD_DISABLE_W_TYPING, NULL));
|
||||
- set_tap_to_click (gconf_client_get_bool (client, KEY_TAP_TO_CLICK, NULL));
|
||||
+ set_tap_to_click (gconf_client_get_bool (client, KEY_TAP_TO_CLICK, NULL), left_handed);
|
||||
set_edge_scroll (gconf_client_get_int (client, KEY_SCROLL_METHOD, NULL));
|
||||
set_horiz_scroll (gconf_client_get_bool (client, KEY_PAD_HORIZ_SCROLL, NULL));
|
||||
|
||||
@@ -847,8 +853,10 @@ mouse_callback (GConfClient *client,
|
||||
if (entry->value->type == GCONF_VALUE_BOOL)
|
||||
set_disable_w_typing (manager, gconf_value_get_bool (entry->value));
|
||||
} else if (! strcmp (entry->key, KEY_TAP_TO_CLICK)) {
|
||||
- if (entry->value->type == GCONF_VALUE_BOOL)
|
||||
- set_tap_to_click (gconf_value_get_bool (entry->value));
|
||||
+ if (entry->value->type == GCONF_VALUE_BOOL) {
|
||||
+ set_tap_to_click (gconf_value_get_bool (entry->value),
|
||||
+ gconf_client_get_bool (client, KEY_LEFT_HANDED, NULL));
|
||||
+ }
|
||||
} else if (! strcmp (entry->key, KEY_SCROLL_METHOD)) {
|
||||
if (entry->value->type == GCONF_VALUE_INT) {
|
||||
set_edge_scroll (gconf_value_get_int (entry->value));
|
||||
@@ -928,7 +936,8 @@ gsd_mouse_manager_idle_cb (GsdMouseManager *manager)
|
||||
gconf_client_get_bool (client, KEY_DELAY_ENABLE, NULL));
|
||||
|
||||
set_disable_w_typing (manager, gconf_client_get_bool (client, KEY_TOUCHPAD_DISABLE_W_TYPING, NULL));
|
||||
- set_tap_to_click (gconf_client_get_bool (client, KEY_TAP_TO_CLICK, NULL));
|
||||
+ set_tap_to_click (gconf_client_get_bool (client, KEY_TAP_TO_CLICK, NULL),
|
||||
+ gconf_client_get_bool (client, KEY_LEFT_HANDED, NULL));
|
||||
set_edge_scroll (gconf_client_get_int (client, KEY_SCROLL_METHOD, NULL));
|
||||
set_horiz_scroll (gconf_client_get_bool (client, KEY_PAD_HORIZ_SCROLL, NULL));
|
||||
|
||||
--
|
||||
1.6.5.rc2
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff -up gnome-settings-daemon-2.28.1/plugins/media-keys/gsd-media-keys-window.c.spam gnome-settings-daemon-2.28.1/plugins/media-keys/gsd-media-keys-window.c
|
||||
--- gnome-settings-daemon-2.28.1/plugins/media-keys/gsd-media-keys-window.c.spam 2009-12-18 10:32:07.722360259 -0500
|
||||
+++ gnome-settings-daemon-2.28.1/plugins/media-keys/gsd-media-keys-window.c 2009-12-18 10:33:00.923109059 -0500
|
||||
@@ -134,6 +134,9 @@ add_hide_timeout (GsdMediaKeysWindow *wi
|
||||
static void
|
||||
update_window (GsdMediaKeysWindow *window)
|
||||
{
|
||||
+ if (!gtk_widget_is_drawable (GTK_WIDGET (window)))
|
||||
+ return;
|
||||
+
|
||||
remove_hide_timeout (window);
|
||||
add_hide_timeout (window);
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
9afd5d93fc2fe7237f4c7b211ae91168 gnome-settings-daemon-2.29.6.tar.bz2
|
||||
3b516fdac67458bfd4114432a72f28a7 gnome-settings-daemon-2.29.90.tar.bz2
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up gnome-settings-daemon-2.28.1/plugins/keyboard/gsd-keyboard-xkb.c.survive-xmm gnome-settings-daemon-2.28.1/plugins/keyboard/gsd-keyboard-xkb.c
|
||||
--- gnome-settings-daemon-2.28.1/plugins/keyboard/gsd-keyboard-xkb.c.survive-xmm 2009-12-15 15:39:28.904208015 -0500
|
||||
+++ gnome-settings-daemon-2.28.1/plugins/keyboard/gsd-keyboard-xkb.c 2009-12-15 15:39:46.554927327 -0500
|
||||
@@ -236,7 +236,7 @@ apply_xkb_settings (void)
|
||||
GSList *found_node;
|
||||
int max_groups;
|
||||
|
||||
- max_groups = xkl_engine_get_max_num_groups (xkl_engine);
|
||||
+ max_groups = MAX (xkl_engine_get_max_num_groups (xkl_engine), 1);
|
||||
layouts = gconf_client_get_list (conf_client,
|
||||
GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS,
|
||||
GCONF_VALUE_STRING, NULL);
|
Loading…
Reference in New Issue
Block a user