[openbox/f16: 3/4] increase doubleclick timeout (#727995)
Miroslav Lichvar
mlichvar at fedoraproject.org
Fri Mar 30 13:46:19 UTC 2012
commit abc7304b39b529553d0061a0da530ae35b4a59f2
Author: Miroslav Lichvar <mlichvar at redhat.com>
Date: Fri Mar 30 15:09:43 2012 +0200
increase doubleclick timeout (#727995)
openbox-doubleclick.patch | 97 +++++++++++++++++++++++++++++++++++++++++++++
openbox.spec | 2 +
2 files changed, 99 insertions(+), 0 deletions(-)
---
diff --git a/openbox-doubleclick.patch b/openbox-doubleclick.patch
new file mode 100644
index 0000000..dc668dd
--- /dev/null
+++ b/openbox-doubleclick.patch
@@ -0,0 +1,97 @@
+commit c885c9a676e4860a68f0bdce4b926902f6597ebb
+Author: Mikael Magnusson <mikachu at gmail.com>
+Date: Thu Aug 4 18:34:54 2011 +0200
+
+ Change default doubleclick timeout to 500ms and keep track of where last click was
+
+ Bug #5152 - "mouse double-click time is too low by default - 200ms"
+
+ We only use the doubleclick in one place in the default configuration,
+ for doubleclicking titlebars to maximize windows, so any negative impact
+ of increasing the timeout should be minimal, especially with the
+ addition of requiring the two clicks to be in the same place.
+
+ Doubleclicks are hardcoded to occur within 8 pixels for now, it doesn't
+ seem worth it to add a config until someone complains. A possibility is
+ using the drag threshold, but some people have that set very low so it
+ could be hard to doubleclick then.
+
+diff --git a/data/rc.xml b/data/rc.xml
+index 7598a72..209cc2d 100644
+--- a/data/rc.xml
++++ b/data/rc.xml
+@@ -313,7 +313,7 @@
+ <mouse>
+ <dragThreshold>1</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+- <doubleClickTime>200</doubleClickTime>
++ <doubleClickTime>500</doubleClickTime>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <screenEdgeWarpTime>400</screenEdgeWarpTime>
+ <!-- Time before changing desktops when the pointer touches the edge of the
+diff --git a/doc/rc-mouse-focus.xml b/doc/rc-mouse-focus.xml
+index 06c3ce5..dc7f2e9 100644
+--- a/doc/rc-mouse-focus.xml
++++ b/doc/rc-mouse-focus.xml
+@@ -226,7 +226,7 @@
+ <mouse>
+ <dragThreshold>8</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+- <doubleClickTime>200</doubleClickTime>
++ <doubleClickTime>500</doubleClickTime>
+ <!-- in milliseconds (1000 = 1 second) -->
+
+ <context name="Frame">
+diff --git a/openbox/config.c b/openbox/config.c
+index debd9fb..8e0e5ac 100644
+--- a/openbox/config.c
++++ b/openbox/config.c
+@@ -1070,7 +1070,7 @@ void config_startup(ObtXmlInst *i)
+ obt_xml_register(i, "keyboard", parse_keyboard, NULL);
+
+ config_mouse_threshold = 8;
+- config_mouse_dclicktime = 200;
++ config_mouse_dclicktime = 500;
+ config_mouse_screenedgetime = 400;
+ config_mouse_screenedgewarp = FALSE;
+
+diff --git a/openbox/mouse.c b/openbox/mouse.c
+index ddf6851..2f0c8f5 100644
+--- a/openbox/mouse.c
++++ b/openbox/mouse.c
+@@ -211,7 +211,7 @@ gboolean mouse_event(ObClient *client, XEvent *e)
+ static Time ltime;
+ static guint button = 0, state = 0, lbutton = 0;
+ static Window lwindow = None;
+- static gint px, py, pwx = -1, pwy = -1;
++ static gint px, py, pwx = -1, pwy = -1, lx = -10, ly = -10;
+ gboolean used = FALSE;
+
+ ObFrameContext context;
+@@ -290,18 +290,24 @@ gboolean mouse_event(ObClient *client, XEvent *e)
+ if (e->xbutton.x >= (signed)-b &&
+ e->xbutton.y >= (signed)-b &&
+ e->xbutton.x < (signed)(w+b) &&
+- e->xbutton.y < (signed)(h+b)) {
++ e->xbutton.y < (signed)(h+b))
++ {
+ click = TRUE;
+ /* double clicks happen if there were 2 in a row! */
+ if (lbutton == button &&
+ lwindow == e->xbutton.window &&
+ e->xbutton.time - config_mouse_dclicktime <=
+- ltime) {
++ ltime &&
++ ABS(e->xbutton.x - lx) < 8 &&
++ ABS(e->xbutton.y - ly) < 8)
++ {
+ dclick = TRUE;
+ lbutton = 0;
+ } else {
+ lbutton = button;
+ lwindow = e->xbutton.window;
++ lx = e->xbutton.x;
++ ly = e->xbutton.y;
+ }
+ } else {
+ lbutton = 0;
diff --git a/openbox.spec b/openbox.spec
index df11ccf..83641cd 100644
--- a/openbox.spec
+++ b/openbox.spec
@@ -14,6 +14,7 @@ Source4: openbox.desktop
Source5: terminals.menu
Source6: openbox.gnome-session
+Patch1: openbox-doubleclick.patch
Patch2: openbox-3.4.11.2-gnomesession.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -95,6 +96,7 @@ KDE session.
%prep
%setup -q
+%patch1 -p1 -b .doubleclick
%patch2 -p1 -b .gnome
More information about the scm-commits
mailing list