After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 152030 - Locations where Metacity violates spec
Locations where Metacity violates spec
Status: RESOLVED FIXED
Product: metacity
Classification: Other
Component: EWMH specification
2.8.x
Other Linux
: Normal normal
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
Depends on:
Blocks:
 
 
Reported: 2004-09-07 02:03 UTC by Elijah Newren
Modified: 2005-01-25 17:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Elijah Newren 2004-09-07 02:03:15 UTC
There are a couple locations where Metacity violates the spec.  The solution may
be to change Metacity, or it might be that we need to change the spec.  I'm
going to guess the latter so that I know where to file this (I wasn't sure
whether it would go under the general component or the EWMH specification component)

1) The code in window.c ignores the TIMESTAMP if the _NET_WM_USER_TIME is set. 
This violates startup-notification/doc/startup-notification.txt, which says
"[TIMESTAMP is used] for windows that have matching _NET_STARTUP_ID property if
they don't have any _NET_WM_USER_TIME property set or if it's older."  However,
Rob's explanation of how things should work in comment 20 of bug 115650 (which
matches what we have implemented) seems to make sense.  I guess it's kind of
hard to tell which one really is right, because I can't imagine a single case
where it matters (the spec just about assumes that both won't be set and I can't
think of a non-buggy case when they both would be).

2) We don't want to launch metacity-dialog with full startup-notification
because it wouldn't make sense to show a busy cursor.  So instead we have
manually set the _NET_WM_USER_TIME of its window when it launches to what we
would want the TIMESTAMP to be.  This violates the EWMH where it states that
"Clients should start setting the [_NET_WM_USER_TIME] property only after
receiving the first event from user interaction, they shouldn't set it before
receiving first input event."  But this really does seem to make sense in this case.
Comment 1 Elijah Newren 2005-01-25 17:01:24 UTC
1) TIMESTAMP is obsolete, and no one said that the timestamp embedded in
_NET_STARTUP_ID has identical semantics to TIMESTAMP (even if implied).  And as
I said above, I don't think it matters anyway...

2) The spec has changed now--see
http://mail.gnome.org/archives/wm-spec-list/2005-January/msg00001.html.

Good enough for me, I'm marking as FIXED.  :)