This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository enlightenment.

View the commit online.

commit 8986231c3c3b39f9f6516f6b6bf91be3f2082364
Author: Alastair Poole <[email protected]>
AuthorDate: Sat Apr 25 17:38:18 2026 +0100

    e_hints: advertise Java non-reparenting WM support
    
    Sets _JAVA_AWT_WM_NONREPARENTING=1 on the X11 root window during hints initialization.
    This makes Java AWT/Swing correctly detect Enlightenment as a non-reparenting WM without
    requiring user env vars. With correct detection, Java uses the right event/paint path for
    window state transitions, fixing stale or missing repaints after minimize/maximize.
---
 src/bin/e_hints.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c
index 3b3371bd4..abe8490d3 100644
--- a/src/bin/e_hints.c
+++ b/src/bin/e_hints.c
@@ -3,6 +3,7 @@
 #ifndef HAVE_WAYLAND_ONLY
 static void e_hints_e16_comms_pretend(Ecore_X_Window root, Ecore_X_Window propwin);
 static void e_hints_openoffice_gnome_fake(Ecore_Window root);
+static void e_hints_java_nonreparenting_fake(Ecore_Window root);
 //static void e_hints_openoffice_kde_fake(Ecore_Window root);
 
 E_API Ecore_X_Atom ATM__QTOPIA_SOFT_MENU = 0;
@@ -216,6 +217,8 @@ e_hints_init(Ecore_Window root, Ecore_Window propwin)
    ecore_x_netwm_wm_identify(root, propwin, "Enlightenment");
 /* this makes openoffice.org read gtk settings so it doesn't look like shit */
    e_hints_openoffice_gnome_fake(root);
+/* this makes java detect non-reparenting without relying on env vars */
+   e_hints_java_nonreparenting_fake(root);
 
    ecore_x_netwm_supported_set(root, supported, supported_num);
 
@@ -229,6 +232,17 @@ e_hints_init(Ecore_Window root, Ecore_Window propwin)
 }
 
 #ifndef HAVE_WAYLAND_ONLY
+static void
+e_hints_java_nonreparenting_fake(Ecore_Window root)
+{
+   Ecore_X_Atom atm_java_nonreparenting;
+   const char *string = "1";
+
+   atm_java_nonreparenting = ecore_x_atom_get("_JAVA_AWT_WM_NONREPARENTING");
+   ecore_x_window_prop_property_set(root, atm_java_nonreparenting, ECORE_X_ATOM_STRING,
+                                    8, (void *)string, strlen(string));
+}
+
 /*
  * This is here so we don't have to pretend to be Kwin anymore - we pretend
  * to do old e16 style ipc. in fact we just ignore it... but set up the

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to