<AWT Dev> RFR: 8267307: Introduce new client property for XAWT: xawt.mwm_decor_title

Maxim Kartashev github.com+28651297+mkartashev at openjdk.java.net
Wed May 19 16:01:59 UTC 2021


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


More information about the awt-dev mailing list