Proposal: Add a window state for "undecorated" windows

Martin Gräßlin <[email protected]> Wed, 05 Feb 2014 11:39:42 +0100
Newsgroups gmane.comp.gnome.wm-spec
Message-ID <2261322.zvk4nc5uAW@martin-desktop>
--===============0597427900931858833==
Content-Type: multipart/signed; boundary="nextPart1450638.jcNcVlN2Ym"; micalg="pgp-sha1"; protocol="application/pgp-signature"


--nextPart1450638.jcNcVlN2Ym
Content-Type: multipart/mixed; boundary="nextPart7268325.ooaBv31I1I"
Content-Transfer-Encoding: quoted-printable

This is a multi-part message in MIME format.

=2D-nextPart7268325.ooaBv31I1I
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Hi,

as it's getting more common to do client side window decorations and th=
is part=20
is not standardized at all [1], I want to suggest that we add a distinc=
t state=20
for this (_NET_WM_STATE_UNDECORATED). Please see attached patch to the =
spec.=20
And please propose any improvements to the wording.

If we get this in, I suggest to update the toolkits to use this in addi=
tion to=20
the Motif hint. I will take care of changing Qt of course (which btw. a=
lready=20
uses a KWin-specific hint). With other toolkits I'm not familiar enough=
 to try=20
to change them :-)

Looking forward to your comments.

Best Regards
Martin Gr=C3=A4=C3=9Flin

[1] Just last week we got one bug report about Motif handling being bro=
ken in=20
KWin, and one "bug report" about a toolkit abusing _NET_WM_WINDOW_TYPE_=
SPLASH=20
for undecorated windows.
=2D-nextPart7268325.ooaBv31I1I
Content-Disposition: attachment; filename="0001-Add-a-_NET_WM_STATE_UNDECORATED-to-_NET_WM_STATE.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="0001-Add-a-_NET_WM_STATE_UNDECORATED-to-_NET_WM_STATE.patch"

From=2047af6b72cf1a4b28d607ef23ccd568848ac0db1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <[email protected]>
Date: Wed, 5 Feb 2014 11:25:00 +0100
Subject: [PATCH] Add a _NET_WM_STATE_UNDECORATED to _NET_WM_STATE

This new hint is intended to tell the window manager to not decorate
the window. This hint is intended as a replacement for the Motif flag.
=2D--
 wm-spec/wm-spec.xml | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml
index 08eef15..10ff283 100644
=2D-- a/wm-spec/wm-spec.xml
+++ b/wm-spec/wm-spec.xml
@@ -1118,6 +1118,7 @@ _NET_WM_STATE_ABOVE, ATOM
 _NET_WM_STATE_BELOW, ATOM
 _NET_WM_STATE_DEMANDS_ATTENTION, ATOM
 _NET_WM_STATE_FOCUSED, ATOM
+_NET_WM_STATE_UNDECORATED, ATOM
 ]]></programlisting>
       <para>
 An implementation MAY add new atoms to this list. Implementations
@@ -1222,6 +1223,12 @@ Manager.
 	</para>
 
 	<para>
+_NET_WM_STATE_UNDECORATED indicates that the window should not get any window
+decorations by the window manager. A window manager which announces support for
+this state in _NET_SUPPORTED MUST NOT add a window decoration to this window.
+	</para>
+
+	<para>
 To change the state of a mapped window, a Client MUST send a _NET_WM_STATE
 client message to the root window:
 	</para>
@@ -2300,6 +2307,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
                 <para>Olivier Chapuis</para>
 		<para>S&oslash;ren Sandmann</para>
                 <para>Grant Patterson</para>
+		<para>Martin Graesslin</para>
 	</sect1>
   <sect1>
     <title>Change history</title>
@@ -2315,6 +2323,9 @@ Added _NET_WM_STATE_FOCUSED.
 			<listitem><para>
 Added _NET_WM_OPAQUE_REGION
 			</para></listitem>
+			<listitem><para>
+Added _NET_WM_STATE_UNDECORATED
+			</para></listitem>
 		</itemizedlist>
 	    </sect2>
  	    <sect2>
=2D- 
1.8.5.3


=2D-nextPart7268325.ooaBv31I1I--
This is a multi-part message in MIME format.

--nextPart7268325.ooaBv31I1I
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Hi,

as it's getting more common to do client side window decorations and th=
is part=20
is not standardized at all [1], I want to suggest that we add a distinc=
t state=20
for this (_NET_WM_STATE_UNDECORATED). Please see attached patch to the =
spec.=20
And please propose any improvements to the wording.

If we get this in, I suggest to update the toolkits to use this in addi=
tion to=20
the Motif hint. I will take care of changing Qt of course (which btw. a=
lready=20
uses a KWin-specific hint). With other toolkits I'm not familiar enough=
 to try=20
to change them :-)

Looking forward to your comments.

Best Regards
Martin Gr=C3=A4=C3=9Flin

[1] Just last week we got one bug report about Motif handling being bro=
ken in=20
KWin, and one "bug report" about a toolkit abusing _NET_WM_WINDOW_TYPE_=
SPLASH=20
for undecorated windows.
--nextPart7268325.ooaBv31I1I
Content-Disposition: attachment; filename="0001-Add-a-_NET_WM_STATE_UNDECORATED-to-_NET_WM_STATE.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="0001-Add-a-_NET_WM_STATE_UNDECORATED-to-_NET_WM_STATE.patch"

From 47af6b72cf1a4b28d607ef23ccd568848ac0db1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <[email protected]>
Date: Wed, 5 Feb 2014 11:25:00 +0100
Subject: [PATCH] Add a _NET_WM_STATE_UNDECORATED to _NET_WM_STATE

This new hint is intended to tell the window manager to not decorate
the window. This hint is intended as a replacement for the Motif flag.
---
 wm-spec/wm-spec.xml | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml
index 08eef15..10ff283 100644
--- a/wm-spec/wm-spec.xml
+++ b/wm-spec/wm-spec.xml
@@ -1118,6 +1118,7 @@ _NET_WM_STATE_ABOVE, ATOM
 _NET_WM_STATE_BELOW, ATOM
 _NET_WM_STATE_DEMANDS_ATTENTION, ATOM
 _NET_WM_STATE_FOCUSED, ATOM
+_NET_WM_STATE_UNDECORATED, ATOM
 ]]></programlisting>
       <para>
 An implementation MAY add new atoms to this list. Implementations
@@ -1222,6 +1223,12 @@ Manager.
 	</para>
 
 	<para>
+_NET_WM_STATE_UNDECORATED indicates that the window should not get any window
+decorations by the window manager. A window manager which announces support for
+this state in _NET_SUPPORTED MUST NOT add a window decoration to this window.
+	</para>
+
+	<para>
 To change the state of a mapped window, a Client MUST send a _NET_WM_STATE
 client message to the root window:
 	</para>
@@ -2300,6 +2307,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
                 <para>Olivier Chapuis</para>
 		<para>S&oslash;ren Sandmann</para>
                 <para>Grant Patterson</para>
+		<para>Martin Graesslin</para>
 	</sect1>
   <sect1>
     <title>Change history</title>
@@ -2315,6 +2323,9 @@ Added _NET_WM_STATE_FOCUSED.
 			<listitem><para>
 Added _NET_WM_OPAQUE_REGION
 			</para></listitem>
+			<listitem><para>
+Added _NET_WM_STATE_UNDECORATED
+			</para></listitem>
 		</itemizedlist>
 	    </sect2>
  	    <sect2>
-- 
1.8.5.3


--nextPart7268325.ooaBv31I1I--

--nextPart1450638.jcNcVlN2Ym
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iEYEABECAAYFAlLyFPUACgkQqVXwidMiVrqe9QCeIebWQzINg4Rj2Gl/EaBfUus0
zjYAnA5adCNpshTlReVue1XqkQK+snnf
=gPwK
-----END PGP SIGNATURE-----

--nextPart1450638.jcNcVlN2Ym--


--===============0597427900931858833==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
wm-spec-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/wm-spec-list

--===============0597427900931858833==--