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.