From 2c23b1cb343a008621e3fe642c5b8abacca48b1a Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Wed, 12 Aug 2015 03:01:26 +0200
Subject: Bug 1188: Refine Maximized on X11 / Impl. Maximized and Iconify on
 Windows

WindowImpl
  - remove updateMinMaxSize(..) - unused info
  - fix appendStateToString: show all maximized state changes if reconfig

  - add sizePosMaxInsetsChanged(..) and sendMouseEventRequestFocus(..)
    accumulating multiple callbacks from impl.

  - add: maximizedChanged(..) notification from native impl.

  - refine manual maximized mode
    used for OSX and Windows (single extent)
    - reconfigMaximizedManual(..)
    - resetMaximizedManual(..)

X11 WindowDriver:
  - Update maximized at xreconfig, read from _NET_WM_STATE
  - Use less Java callbacks from JNI

Windows WindowDriver:
  - Use native maximized, if HORZ && VERT,
    otherwise use manual maximized for single extent.

  - Invisible of top-window -> MINIMIZED/ICONIFY
    showing the app in task-bar.
---
 src/newt/native/X11Common.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

(limited to 'src/newt/native/X11Common.h')

diff --git a/src/newt/native/X11Common.h b/src/newt/native/X11Common.h
index 309e62683..cdfb65d50 100644
--- a/src/newt/native/X11Common.h
+++ b/src/newt/native/X11Common.h
@@ -71,7 +71,7 @@
 extern jclass X11NewtWindowClazz;
 extern jmethodID insetsChangedID;
 extern jmethodID visibleChangedID;
-extern jmethodID minMaxSizeChangedID;
+extern jmethodID sizePosMaxInsetsChanged;
 
 typedef struct {
     Window window;
@@ -81,13 +81,15 @@ typedef struct {
     Atom windowDeleteAtom;
     uint32_t supportedAtoms;
     uint32_t lastDesktop;
+    Bool maxHorz;
+    Bool maxVert;
 } JavaWindow;
 
 JavaWindow * getJavaWindowProperty(JNIEnv *env, Display *dpy, Window window, jlong javaObjectAtom, Bool showWarning);
 
 Status NewtWindows_getRootAndParent (Display *dpy, Window w, Window * root_return, Window * parent_return);
-Status NewtWindows_updateInsets(JNIEnv *env, Display *dpy, JavaWindow * w, int *left, int *right, int *top, int *bottom);
-void NewtWindows_updateMinMaxSize(JNIEnv *env, Display *dpy, JavaWindow * w);
+Bool NewtWindows_updateInsets(Display *dpy, JavaWindow * w, int *left, int *right, int *top, int *bottom);
+Bool NewtWindows_updateMaximized(Display *dpy, JavaWindow * w);
 
 #endif /* _X11COMMON_H_ */
 
-- 
cgit v1.2.3