summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRay Strode <halfline@hawaii.rr.com>2003-05-30 02:53:42 +0000
committerRay Strode <halfline@src.gnome.org>2003-05-30 02:53:42 +0000
commitd1a853557b06c49b5d0f187e41b0455b458b715b (patch)
tree8070e23f3e9eca5d920e2f2c6ebdbf3663450cf8 /src
parentf441033959ffd7d09c196c98ff280541be959218 (diff)
downloadmutter-d1a853557b06c49b5d0f187e41b0455b458b715b.tar.gz
Get and use double-click speed from GtkSettings (Bug #103218).
2003-05-29 Ray Strode <halfline@hawaii.rr.com> Get and use double-click speed from GtkSettings (Bug #103218). * src/ui.c, src/ui.h: add function meta_ui_get_double_click_timeout for looking up the global double-click speed. * src/display.c, src/display.h: remove double_click_time field from MetaDisplay and use meta_ui_get_double_click_timeout instead.
Diffstat (limited to 'src')
-rw-r--r--src/display.c3
-rw-r--r--src/display.h1
-rw-r--r--src/ui.c20
-rw-r--r--src/ui.h3
4 files changed, 23 insertions, 4 deletions
diff --git a/src/display.c b/src/display.c
index eceaa0427..523fa1c66 100644
--- a/src/display.c
+++ b/src/display.c
@@ -459,7 +459,6 @@ meta_display_open (const char *name)
display->window_ids = g_hash_table_new (meta_unsigned_long_hash,
meta_unsigned_long_equal);
- display->double_click_time = 250;
display->last_button_time = 0;
display->last_button_xwindow = None;
display->last_button_num = 0;
@@ -1152,7 +1151,7 @@ event_callback (XEvent *event,
/* mark double click events, kind of a hack, oh well. */
if (((int)event->xbutton.button) == display->last_button_num &&
event->xbutton.window == display->last_button_xwindow &&
- event->xbutton.time < (display->last_button_time + display->double_click_time))
+ event->xbutton.time < (display->last_button_time + meta_ui_get_double_click_timeout ()))
{
display->is_double_click = TRUE;
meta_topic (META_DEBUG_EVENTS,
diff --git a/src/display.h b/src/display.h
index c73c61593..009566515 100644
--- a/src/display.h
+++ b/src/display.h
@@ -205,7 +205,6 @@ struct _MetaDisplay
Window no_focus_window;
/* for double click */
- int double_click_time;
Time last_button_time;
Window last_button_xwindow;
int last_button_num;
diff --git a/src/ui.c b/src/ui.c
index f140f3508..1a668dde9 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -765,3 +765,23 @@ meta_stock_icons_init (void)
g_object_unref (G_OBJECT (factory));
}
+
+int
+meta_ui_get_double_click_timeout (void)
+{
+ GtkSettings *settings;
+ GObjectClass *klass;
+ int timeout = 0;
+
+ settings = gtk_settings_get_default ();
+
+ klass = G_OBJECT_CLASS (GTK_SETTINGS_GET_CLASS (settings));
+ if (g_object_class_find_property (klass, "gtk-double-click-time") == NULL)
+ {
+ return 250;
+ }
+
+ g_object_get (G_OBJECT (settings), "gtk-double-click-time", &timeout, NULL);
+
+ return timeout;
+}
diff --git a/src/ui.h b/src/ui.h
index 5415beddb..171c342d1 100644
--- a/src/ui.h
+++ b/src/ui.h
@@ -165,7 +165,8 @@ gboolean meta_ui_parse_modifier (const char *accel,
gboolean meta_ui_window_is_widget (MetaUI *ui,
Window xwindow);
+int meta_ui_get_double_click_timeout (void);
+
#include "tabpopup.h"
#endif
-