Hi,
this is the thing to apply. ☻
Thanks,
//mirabilos
--
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-314
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Boris Esser, Sebastian Mancke
diff -Nru icewm-1.3.7/debian/changelog icewm-1.3.7/debian/changelog
--- icewm-1.3.7/debian/changelog 2013-06-29 18:00:56.000000000 +0200
+++ icewm-1.3.7/debian/changelog 2013-09-20 13:30:07.000000000 +0200
@@ -1,3 +1,11 @@
+icewm (1.3.7-5.0) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Add hack to fix JDK7 focus on input/text fields, from zstegi via
+ http://sourceforge.net/p/icewm/bugs/892/ (Closes: #723844)
+
+ -- Thorsten Glaser <t...@mirbsd.de> Fri, 20 Sep 2013 13:29:20 +0200
+
icewm (1.3.7-5) unstable; urgency=low
* Fixing linking arguments (libm also for Gnome parts, closes: #713632)
diff -Nru icewm-1.3.7/debian/patches/java7focus-1
icewm-1.3.7/debian/patches/java7focus-1
--- icewm-1.3.7/debian/patches/java7focus-1 1970-01-01 01:00:00.000000000
+0100
+++ icewm-1.3.7/debian/patches/java7focus-1 2013-09-20 13:28:57.000000000
+0200
@@ -0,0 +1,63 @@
+From 9d2382ce230cbe03f8ad472cc8d5cb7dab0173d4 Mon Sep 17 00:00:00 2001
+From: Stefan Giermair <zst...@gmail.com>
+Date: Mon, 1 Apr 2013 03:47:57 +0200
+Subject: [PATCH 1/2] Hack for java7 focus issue; deactivatable with parameter
+ ActivateJava7FocusHack=0
+
+Signed-off-by: Thorsten Glaser <t.gla...@tarent.de>
+---
+ src/default.h | 2 ++
+ src/wmmgr.cc | 24 +++++++++++++++++++++++-
+ 2 files changed, 25 insertions(+), 1 deletion(-)
+
+--- a/src/default.h
++++ b/src/default.h
+@@ -129,6 +129,7 @@ XIV(bool, confirmLogout,
+ #ifdef CONFIG_SHAPED_DECORATION
+ XIV(bool, protectClientWindow, true)
+ #endif
++XIV(bool, activateJava7FocusHack, true)
+ XIV(int, MenuMaximalWidth, 0)
+ XIV(int, EdgeResistance, 32)
+ XIV(int, snapDistance, 8)
+@@ -331,6 +332,7 @@ cfoption icewm_preferences[] = {
+ #endif
+ OBV("DoubleBuffer", &doubleBuffer,
"Use double buffering when redrawing the display"),
+ OBV("XRRDisable", &xrrDisable,
"Disable use of new XRANDR API for dual head (nvidia workaround)"),
++ OBV("ActivateJava7FocusHack", &activateJava7FocusHack,
"Activate workaround for Java7 Swing/AWT focus issue"),
+ OIV("DelayFuzziness", &DelayFuzziness, 0, 100,
"Delay fuzziness, to allow merging of multiple timer timeouts into one
(notebook power saving)"),
+ OIV("ClickMotionDistance", &ClickMotionDistance, 0, 32,
"Pointer motion distance before click gets interpreted as drag"),
+ OIV("ClickMotionDelay", &ClickMotionDelay, 0, 2000,
"Delay before click gets interpreted as drag"),
+--- a/src/wmmgr.cc
++++ b/src/wmmgr.cc
+@@ -869,7 +869,29 @@ void YWindowManager::setFocus(YFrameWind
+ #endif
+
+ if (w != None) {// input || w == desktop->handle()) {
+- XSetInputFocus(xapp->display(), w, RevertToNone,
xapp->getEventTime("setFocus"));
++ /* UGLY HACK for JAVA7! */
++ bool focusproxyfound = false;
++ if (activateJava7FocusHack) {
++ Window rr, pr, *cr(NULL);
++ unsigned int nc;
++ XQueryTree(xapp->display(), w, &rr, &pr, &cr, &nc);
++ if (cr) {
++ unsigned int i;
++ for (i = 0; i < nc && !focusproxyfound; i++) {
++ char* str;
++ XFetchName(xapp->display(), cr[i], &str);
++ if (str && strcmp("FocusProxy", str)) {
++ MSG(("HACK: Java(7) window found. Suppress
XSetInputFocus."));
++ focusproxyfound = true;
++ XFree(str);
++ }
++ }
++ XFree(cr);
++ }
++ }
++ if (!focusproxyfound) {
++ XSetInputFocus(xapp->display(), w, None,
xapp->getEventTime("setFocus"));
++ }
+ } else {
+ XSetInputFocus(xapp->display(), fTopWin->handle(), RevertToNone,
xapp->getEventTime("setFocus"));
+ }
diff -Nru icewm-1.3.7/debian/patches/java7focus-2
icewm-1.3.7/debian/patches/java7focus-2
--- icewm-1.3.7/debian/patches/java7focus-2 1970-01-01 01:00:00.000000000
+0100
+++ icewm-1.3.7/debian/patches/java7focus-2 2013-09-20 13:29:01.000000000
+0200
@@ -0,0 +1,28 @@
+From 197367a92a9cc4d7f2357ddc2b6a97eeadbed591 Mon Sep 17 00:00:00 2001
+From: Stefan Giermair <zst...@gmail.com>
+Date: Tue, 2 Apr 2013 18:44:23 +0200
+Subject: [PATCH 2/2] java7 focus hack: xfree str even if the title is not
+ focusproxy
+
+Signed-off-by: Thorsten Glaser <t.gla...@tarent.de>
+---
+ src/wmmgr.cc | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/src/wmmgr.cc
++++ b/src/wmmgr.cc
+@@ -880,9 +880,11 @@ void YWindowManager::setFocus(YFrameWind
+ for (i = 0; i < nc && !focusproxyfound; i++) {
+ char* str;
+ XFetchName(xapp->display(), cr[i], &str);
+- if (str && strcmp("FocusProxy", str)) {
+- MSG(("HACK: Java(7) window found. Suppress
XSetInputFocus."));
+- focusproxyfound = true;
++ if (str) {
++ if (strcmp("FocusProxy", str)) {
++ MSG(("HACK: Java(7) window found. Suppress
XSetInputFocus."));
++ focusproxyfound = true;
++ }
+ XFree(str);
+ }
+ }
diff -Nru icewm-1.3.7/debian/patches/series icewm-1.3.7/debian/patches/series
--- icewm-1.3.7/debian/patches/series 2013-06-29 16:52:57.000000000 +0200
+++ icewm-1.3.7/debian/patches/series 2013-09-20 13:28:23.000000000 +0200
@@ -15,3 +15,5 @@
ftbfs-gcc-4.7.diff
icon_property_fix
safe_get_argument
+java7focus-1
+java7focus-2