On Fri, May 21, 2021 at 12:33 AM Sergey Bylokhov <s...@openjdk.java.net> wrote:
> 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. > > Hello, thank you for your contribution, One initial question: what the > name "mwm_" of this property actually means? > The name's historical: it's from the _MOTIF_WM_HINTS property of X11 that has "decorations" bits in it (the 3rd word of the structure). For instance, this is from a Firefox window in GNOME that does not have a title bar: $ xprop -id 0x2600003 | grep -i MOTIF_WM_HINTS _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x2, 0x0, 0x0 Despite the name ("motif"), this property has apparently become a de-facto standard way to communicate client wishes about its window decoration to any window manager currently in charge. > > ------------- > > PR: https://git.openjdk.java.net/jdk/pull/4113 >