Diff against correct version
This commit is contained in:
parent
2946d2f3dc
commit
54d84ec35c
@ -1,34 +1,42 @@
|
|||||||
diff -up gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c.add-randr-12 gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c
|
diff -up gnome-settings-daemon-2.21.92/plugins/xrandr/gsd-xrandr-manager.c.add-randr-12 gnome-settings-daemon-2.21.92/plugins/xrandr/gsd-xrandr-manager.c
|
||||||
--- gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c.add-randr-12 2007-12-24 06:18:48.000000000 -0500
|
--- gnome-settings-daemon-2.21.92/plugins/xrandr/gsd-xrandr-manager.c.add-randr-12 2008-02-20 09:20:27.000000000 -0500
|
||||||
+++ gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c 2008-03-02 17:26:08.000000000 -0500
|
+++ gnome-settings-daemon-2.21.92/plugins/xrandr/gsd-xrandr-manager.c 2008-03-02 17:48:02.000000000 -0500
|
||||||
@@ -36,6 +36,10 @@
|
@@ -35,7 +35,10 @@
|
||||||
|
#include <gdk/gdk.h>
|
||||||
#include <gdk/gdkx.h>
|
#include <gdk/gdkx.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
-#include <gconf/gconf-client.h>
|
||||||
|
+
|
||||||
+#define I_KNOW_THIS_IS_UNSTABLE_AND_ONLY_IN_FEDORA
|
+#define I_KNOW_THIS_IS_UNSTABLE_AND_ONLY_IN_FEDORA
|
||||||
+#include <libgnomeui/monitor-db.h>
|
+#include <libgnomeui/monitor-db.h>
|
||||||
+#include <libgnomeui/randrwrap.h>
|
+#include <libgnomeui/randrwrap.h>
|
||||||
+
|
|
||||||
#ifdef HAVE_RANDR
|
#ifdef HAVE_RANDR
|
||||||
#include <X11/extensions/Xrandr.h>
|
#include <X11/extensions/Xrandr.h>
|
||||||
#endif
|
@@ -43,6 +46,22 @@
|
||||||
@@ -44,9 +48,14 @@
|
|
||||||
|
|
||||||
#define GSD_XRANDR_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_XRANDR_MANAGER, GsdXrandrManagerPrivate))
|
#include "gsd-xrandr-manager.h"
|
||||||
|
|
||||||
|
+#define GSD_XRANDR_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_XRANDR_MANAGER, GsdXrandrManagerPrivate))
|
||||||
|
+
|
||||||
+#define VIDEO_KEYSYM "XF86Display"
|
+#define VIDEO_KEYSYM "XF86Display"
|
||||||
+
|
+
|
||||||
struct GsdXrandrManagerPrivate
|
+struct GsdXrandrManagerPrivate
|
||||||
{
|
+{
|
||||||
- gboolean dummy;
|
|
||||||
+ /* Key code of the fn-F7 video key (XF86Display) */
|
+ /* Key code of the fn-F7 video key (XF86Display) */
|
||||||
+ guint keycode;
|
+ guint keycode;
|
||||||
+ RWScreen *rw_screen;
|
+ RWScreen *rw_screen;
|
||||||
+ gboolean running;
|
+ gboolean running;
|
||||||
};
|
+};
|
||||||
|
+
|
||||||
enum {
|
+enum {
|
||||||
@@ -61,248 +70,74 @@ G_DEFINE_TYPE (GsdXrandrManager, gsd_xra
|
+ PROP_0,
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
static void gsd_xrandr_manager_class_init (GsdXrandrManagerClass *klass);
|
||||||
|
static void gsd_xrandr_manager_init (GsdXrandrManager *xrandr_manager);
|
||||||
|
static void gsd_xrandr_manager_finalize (GObject *object);
|
||||||
|
@@ -51,248 +70,74 @@ G_DEFINE_TYPE (GsdXrandrManager, gsd_xra
|
||||||
|
|
||||||
static gpointer manager_object = NULL;
|
static gpointer manager_object = NULL;
|
||||||
|
|
||||||
@ -135,28 +143,28 @@ diff -up gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c.add-r
|
|||||||
- char *key;
|
- char *key;
|
||||||
- int val;
|
- int val;
|
||||||
- GError *error;
|
- GError *error;
|
||||||
-
|
+ GsdXrandrManager *manager = data;
|
||||||
|
+ XEvent *xev = (XEvent *) xevent;
|
||||||
|
|
||||||
- key = g_strdup_printf ("%s/%d/rate", display, screen);
|
- key = g_strdup_printf ("%s/%d/rate", display, screen);
|
||||||
- error = NULL;
|
- error = NULL;
|
||||||
- val = gconf_client_get_int (client, key, &error);
|
- val = gconf_client_get_int (client, key, &error);
|
||||||
- g_free (key);
|
- g_free (key);
|
||||||
+ GsdXrandrManager *manager = data;
|
+ if (!manager->priv->running)
|
||||||
+ XEvent *xev = (XEvent *) xevent;
|
+ return GDK_FILTER_CONTINUE;
|
||||||
|
|
||||||
- if (error == NULL) {
|
- if (error == NULL) {
|
||||||
- return val;
|
- return val;
|
||||||
- }
|
- }
|
||||||
+ if (!manager->priv->running)
|
|
||||||
+ return GDK_FILTER_CONTINUE;
|
|
||||||
|
|
||||||
- g_error_free (error);
|
|
||||||
-
|
-
|
||||||
- return 0;
|
- g_error_free (error);
|
||||||
-}
|
|
||||||
+ /* verify we have a key event */
|
+ /* verify we have a key event */
|
||||||
+ 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;
|
||||||
|
|
||||||
|
- return 0;
|
||||||
|
-}
|
||||||
|
-
|
||||||
-static int
|
-static int
|
||||||
-find_closest_size (XRRScreenSize *sizes,
|
-find_closest_size (XRRScreenSize *sizes,
|
||||||
- int nsizes,
|
- int nsizes,
|
||||||
@ -327,7 +335,7 @@ diff -up gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c.add-r
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
@@ -311,8 +146,25 @@ gsd_xrandr_manager_start (GsdXrandrManag
|
@@ -301,8 +146,25 @@ gsd_xrandr_manager_start (GsdXrandrManag
|
||||||
{
|
{
|
||||||
g_debug ("Starting xrandr manager");
|
g_debug ("Starting xrandr manager");
|
||||||
|
|
||||||
@ -355,7 +363,7 @@ diff -up gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c.add-r
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -320,6 +172,12 @@ void
|
@@ -310,6 +172,12 @@ void
|
||||||
gsd_xrandr_manager_stop (GsdXrandrManager *manager)
|
gsd_xrandr_manager_stop (GsdXrandrManager *manager)
|
||||||
{
|
{
|
||||||
g_debug ("Stopping xrandr manager");
|
g_debug ("Stopping xrandr manager");
|
||||||
@ -368,7 +376,14 @@ diff -up gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c.add-r
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -400,8 +258,15 @@ gsd_xrandr_manager_class_init (GsdXrandr
|
@@ -383,11 +251,22 @@ gsd_xrandr_manager_class_init (GsdXrandr
|
||||||
|
object_class->constructor = gsd_xrandr_manager_constructor;
|
||||||
|
object_class->dispose = gsd_xrandr_manager_dispose;
|
||||||
|
object_class->finalize = gsd_xrandr_manager_finalize;
|
||||||
|
+
|
||||||
|
+ g_type_class_add_private (klass, sizeof (GsdXrandrManagerPrivate));
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gsd_xrandr_manager_init (GsdXrandrManager *manager)
|
gsd_xrandr_manager_init (GsdXrandrManager *manager)
|
||||||
{
|
{
|
||||||
@ -376,11 +391,20 @@ diff -up gnome-settings-daemon-2.21.91/plugins/xrandr/gsd-xrandr-manager.c.add-r
|
|||||||
+ guint keyval = gdk_keyval_from_name (VIDEO_KEYSYM);
|
+ guint keyval = gdk_keyval_from_name (VIDEO_KEYSYM);
|
||||||
+ guint keycode = XKeysymToKeycode (dpy, keyval);
|
+ guint keycode = XKeysymToKeycode (dpy, keyval);
|
||||||
+
|
+
|
||||||
manager->priv = GSD_XRANDR_MANAGER_GET_PRIVATE (manager);
|
+ manager->priv = GSD_XRANDR_MANAGER_GET_PRIVATE (manager);
|
||||||
|
+
|
||||||
+ manager->priv->keycode = keycode;
|
+ manager->priv->keycode = keycode;
|
||||||
+ manager->priv->rw_screen = rw_screen_new (
|
+ manager->priv->rw_screen = rw_screen_new (
|
||||||
+ gdk_screen_get_default(), on_randr_event, NULL);
|
+ gdk_screen_get_default(), on_randr_event, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@@ -400,6 +279,8 @@ gsd_xrandr_manager_finalize (GObject *ob
|
||||||
|
|
||||||
|
xrandr_manager = GSD_XRANDR_MANAGER (object);
|
||||||
|
|
||||||
|
+ g_return_if_fail (xrandr_manager->priv != NULL);
|
||||||
|
+
|
||||||
|
G_OBJECT_CLASS (gsd_xrandr_manager_parent_class)->finalize (object);
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user