> Bug from year 2007, not followup, no patch.

Jari, if you send a mail to n...@bugs.debian.org, the bug
submitter does not see it. That happened in this case. Also,
people sometimes miss mails; closing a bug report without
even trying to contact the submitter a second time is not good.

Patch attached.

-- 
see shy jo
From 4a0fde45f07e42565a82b86ff5fb55b0e2b41111 Mon Sep 17 00:00:00 2001
From: Joey Hess <jo...@debian.org>
Date: Tue, 12 Oct 2010 15:16:15 -0400
Subject: [PATCH] increase size of close box target area

This is a patch from Robert Whaley of EuroTech that increases the size of
the window close target area as much as possible, to make it easier to hit
on a touchscreen.
---
 disp.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/disp.c b/disp.c
index 67f2f71..dbf6a71 100644
--- a/disp.c
+++ b/disp.c
@@ -140,6 +140,11 @@ expose(XEvent * ev) {
 	}
 }
 
+/* #define in_closing_box(e, quarter)  (e->x > (quarter + 2) && e->x < (3 + 3*quarter) && e->y > quarter && e->y <= 3*quarter) */ /* original */
+/* #define in_closing_box(e, quarter)  (e->x > (quarter + 1) && e->x < (4 + 3*quarter) && e->y > quarter - 1 && e->y <= 3*quarter + 1) */ /* 2 pixels wider in each dir */
+#define in_closing_box(e, quarter)  (e->x > (quarter + 0) && e->x < (5 + 3*quarter) && e->y > quarter - 2 && e->y <= 3*quarter + 2)  /* 4 pixels wider in each dir */
+
+
 static void
 buttonpress(XEvent *ev) {
 	Client *c;
@@ -178,7 +183,7 @@ buttonpress(XEvent *ev) {
 
 		/* The ``box''. */
 		quarter = (border + titleHeight()) / 4;
-		if (e->x > (quarter + 2) && e->x < (3 + 3*quarter) && e->y > quarter && e->y <= 3*quarter) {
+		if (in_closing_box(e, quarter)) {
 			/*Client_Close(c);*/
 			pending = c;
 			mode = wm_closing_window;
@@ -249,10 +254,8 @@ buttonrelease(XEvent *ev) {
 		/* was the button released within the window's box?*/
 		quarter = (border + titleHeight()) / 4;
 		if (pending != NULL &&
-			(e->window == pending->parent) &&
-			(e->x > (quarter + 2) &&
-				e->x < (3 + 3*quarter) &&
-				e->y > quarter && e->y <= 3*quarter))
+		    (e->window == pending->parent) &&
+		    in_closing_box(e, quarter))
 					Client_Close(pending);
 		pending = NULL;
 	} else if (mode == wm_hiding_window) {
@@ -744,9 +747,7 @@ motionnotify(XEvent *ev) {
 			(e->subwindow != c->window) &&
 			mode == wm_idle) {
 			/* mouse moved in a frame we manage - check cursor */
-			if (e->x > (quarter + 2)
-				&& e->x < (3 + 3*quarter)
-				&& e->y > quarter && e->y <= 3*quarter) {
+			if (in_closing_box(e, quarter)) {
 				edge = E_LAST;
 			} else if (e->x <= border && e->y <= border) {
 				edge = ETopLeft;
-- 
1.7.1

Attachment: signature.asc
Description: Digital signature

Reply via email to