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

Sergey Bylokhov serb at openjdk.java.net
Wed Jun 9 19:03:17 UTC 2021


On Mon, 7 Jun 2021 10:30:33 GMT, Maxim Kartashev <github.com+28651297+mkartashev at openjdk.org> wrote:

>> 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 XDecoratedPeer target being javax.swing.RootPaneContainer in
>   order to avoid unnecessary class loading if it isn't.

Marked as reviewed by serb (Reviewer).

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

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


More information about the awt-dev mailing list