On Wed, 19 May 2021 10:23:01 GMT, Maxim Kartashev <github.com+28651297+mkartas...@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. This fix most likely will require a CSR test/jdk/java/awt/Window/WindowTitleVisibleTest/WindowTitleVisibleTestLinuxGnome.java line 111: > 109: private void captureTitleBarNotVisible() { > 110: runSwing( () -> { > 111: titleBarImageNotVisible = > robot.createScreenCapture(titleBarBounds); `createScreenCapture` does not require to be called on EDT. ------------- PR: https://git.openjdk.java.net/jdk/pull/4113