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

Maxim Kartashev github.com+28651297+mkartashev at openjdk.java.net
Fri Jun 4 08:44:22 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.

Maxim Kartashev has updated the pull request incrementally with one additional commit since the last revision:

  Changed the check for the XFramePeer target being javax.swing.RootPaneContainer in
  order to avoid unnecessary class loading if it isn't.
  
  Also updated the test such that robot.createScreenCapture() is not
  executed on EDT.

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4113/files
  - new: https://git.openjdk.java.net/jdk/pull/4113/files/d2586618..da9fbfd8

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4113&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4113&range=00-01

  Stats: 8 lines in 2 files changed: 1 ins; 4 del; 3 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