This commit introduces a new client property xawt.mwm_decor_title implementing 
JDK-8267307. The property can be set prior to showing a window or after the 
window has been displayed, in which case the window will have to be 
hidden/shown (re-mapped) for the property to take effect.

The general idea is to provide control over the "decorations" part of the X11 
window property called _MOTIF_WM_HINTS. Those "decoration" bits are set to 1 
(XWindowAttributesData.AWT_DECOR_ALL) to show all the decorations or 0 
(XWindowAttributesData.AWT_DECOR_NONE) to ask the window manager (WM) not to 
decorate with anything, even borders or resize handles. With 
xawt.mwm_decor_title property set to "true", this commit adds the ability to 
set the bits to 2 (XWindowAttributesData.AWT_DECOR_BORDER), which some WMs take 
as "decorate with only a border", thus effectively removing the window's title 
bar, but still leaving the resize capability.

This feature was tested and works correctly on "vanilla" Ubuntu 20.04 with the 
"GNOME Shell" window manager. It was also tested with Xfwm4 and KDE, where it 
did not have any effect; these two WMs have limited respected for the 
"decorations" bits of the _MOTIF_WM_HINTS window property.

-------------

Commit messages:
 - 8267307: Introduce new client property for XAWT: xawt.mwm_decor_title

Changes: https://git.openjdk.java.net/jdk/pull/4113/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4113&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8267307
  Stats: 271 lines in 3 files changed: 265 ins; 4 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4113.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4113/head:pull/4113

PR: https://git.openjdk.java.net/jdk/pull/4113

Reply via email to