[mutter] window: Don't use GTK+ to fetch the drag threshold
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window: Don't use GTK+ to fetch the drag threshold
- Date: Fri, 15 Aug 2014 22:35:37 +0000 (UTC)
commit 67be4e2bf34d2951dac9eacb09638d6cb0f20087
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Fri Aug 15 18:21:13 2014 -0400
window: Don't use GTK+ to fetch the drag threshold
Just look it up in GSettings ourselves.
src/core/prefs.c | 18 ++++++++++++++++++
src/core/window.c | 4 ++--
src/meta/prefs.h | 4 +++-
src/ui/ui.c | 14 --------------
src/ui/ui.h | 2 --
5 files changed, 23 insertions(+), 19 deletions(-)
---
diff --git a/src/core/prefs.c b/src/core/prefs.c
index 3e04cce..af2e206 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -67,6 +67,7 @@
#define SCHEMA_INTERFACE "org.gnome.desktop.interface"
#define SCHEMA_INPUT_SOURCES "org.gnome.desktop.input-sources"
#define SCHEMA_XSETTINGS "org.gnome.settings-daemon.plugins.xsettings"
+#define SCHEMA_MOUSE "org.gnome.settings-daemon.peripherals.mouse"
#define SETTINGS(s) g_hash_table_lookup (settings_schemas, (s))
@@ -101,6 +102,7 @@ static gboolean gnome_animations = TRUE;
static char *cursor_theme = NULL;
static int cursor_size = 24;
static int draggable_border_width = 10;
+static int drag_threshold;
static gboolean resize_with_right_button = FALSE;
static gboolean edge_tiling = FALSE;
static gboolean force_fullscreen = TRUE;
@@ -492,6 +494,13 @@ static MetaIntPreference preferences_int[] =
},
&draggable_border_width
},
+ {
+ { "drag-threshold",
+ SCHEMA_MOUSE,
+ META_PREF_DRAG_THRESHOLD,
+ },
+ &drag_threshold
+ },
{ { NULL, 0, 0 }, NULL },
};
@@ -1924,6 +1933,9 @@ meta_preference_to_string (MetaPreference pref)
case META_PREF_DRAGGABLE_BORDER_WIDTH:
return "DRAGGABLE_BORDER_WIDTH";
+ case META_PREF_DRAG_THRESHOLD:
+ return "DRAG_TRHESHOLD";
+
case META_PREF_DYNAMIC_WORKSPACES:
return "DYNAMIC_WORKSPACES";
@@ -2389,6 +2401,12 @@ meta_prefs_get_draggable_border_width (void)
return draggable_border_width;
}
+int
+meta_prefs_get_drag_threshold (void)
+{
+ return drag_threshold;
+}
+
void
meta_prefs_set_force_fullscreen (gboolean whether)
{
diff --git a/src/core/window.c b/src/core/window.c
index fcb06ac..9aa2508 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -5534,7 +5534,7 @@ update_move (MetaWindow *window,
* because it's about the right size
*/
#define DRAG_THRESHOLD_TO_SHAKE_THRESHOLD_FACTOR 6
- shake_threshold = meta_ui_get_drag_threshold (window->screen->ui) *
+ shake_threshold = meta_prefs_get_drag_threshold () *
DRAG_THRESHOLD_TO_SHAKE_THRESHOLD_FACTOR;
if (snap)
@@ -5726,7 +5726,7 @@ check_resize_unmaximize(MetaWindow *window,
#define DRAG_THRESHOLD_TO_RESIZE_THRESHOLD_FACTOR 3
- threshold = meta_ui_get_drag_threshold (window->screen->ui) *
+ threshold = meta_prefs_get_drag_threshold () *
DRAG_THRESHOLD_TO_RESIZE_THRESHOLD_FACTOR;
new_unmaximize = 0;
diff --git a/src/meta/prefs.h b/src/meta/prefs.h
index a0b4a1d..dac81c3 100644
--- a/src/meta/prefs.h
+++ b/src/meta/prefs.h
@@ -102,7 +102,8 @@ typedef enum
META_PREF_WORKSPACES_ONLY_ON_PRIMARY,
META_PREF_DRAGGABLE_BORDER_WIDTH,
META_PREF_AUTO_MAXIMIZE,
- META_PREF_CENTER_NEW_WINDOWS
+ META_PREF_CENTER_NEW_WINDOWS,
+ META_PREF_DRAG_THRESHOLD,
} MetaPreference;
typedef void (* MetaPrefsChangedFunc) (MetaPreference pref,
@@ -166,6 +167,7 @@ void meta_prefs_set_force_fullscreen (gboolean whether);
gboolean meta_prefs_get_workspaces_only_on_primary (void);
int meta_prefs_get_draggable_border_width (void);
+int meta_prefs_get_drag_threshold (void);
gboolean meta_prefs_get_ignore_request_hide_titlebar (void);
void meta_prefs_set_ignore_request_hide_titlebar (gboolean whether);
diff --git a/src/ui/ui.c b/src/ui/ui.c
index 0328572..d6fbb80 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -654,20 +654,6 @@ meta_ui_window_is_widget (MetaUI *ui,
return FALSE;
}
-int
-meta_ui_get_drag_threshold (MetaUI *ui)
-{
- GtkSettings *settings;
- int threshold;
-
- settings = gtk_widget_get_settings (GTK_WIDGET (ui->frames));
-
- threshold = 8;
- g_object_get (G_OBJECT (settings), "gtk-dnd-drag-threshold", &threshold, NULL);
-
- return threshold;
-}
-
MetaUIDirection
meta_ui_get_direction (void)
{
diff --git a/src/ui/ui.h b/src/ui/ui.h
index 9bb332c..7190295 100644
--- a/src/ui/ui.h
+++ b/src/ui/ui.h
@@ -123,8 +123,6 @@ gboolean meta_ui_have_a_theme (void);
gboolean meta_ui_window_is_widget (MetaUI *ui,
Window xwindow);
-int meta_ui_get_drag_threshold (MetaUI *ui);
-
MetaUIDirection meta_ui_get_direction (void);
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]