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 310080 - metacity should support the opacity hint [PATCH]
metacity should support the opacity hint [PATCH]
Status: RESOLVED WONTFIX
Product: metacity
Classification: Other
Component: Søren's compositor
trunk
Other All
: Normal enhancement
: ---
Assigned To: Metacity compositor maintainers
Metacity compositor maintainers
Depends on: 309152
Blocks:
 
 
Reported: 2005-07-12 01:38 UTC by Duarte Henriques
Modified: 2006-04-25 18:24 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
support the opacity hint (7.39 KB, patch)
2005-07-12 01:41 UTC, Duarte Henriques
none Details | Review
also allow non-toplevel windows (8.01 KB, patch)
2005-07-13 02:27 UTC, Duarte Henriques
none Details | Review
also allow non-toplevel-windows (8.04 KB, patch)
2005-07-13 13:06 UTC, Duarte Henriques
none Details | Review
last patch, I promise ;) (8.51 KB, patch)
2005-07-13 15:18 UTC, Duarte Henriques
none Details | Review

Description Duarte Henriques 2005-07-12 01:38:25 UTC
metacity's compositor should draw windows that set the opacity property with the
right transparency level.

The patch that follows depends on first applying the "do not generate
buffer_picture all the time" patch from #309152, and the code is fast only if
the other patch from that bug is also applied. ("do not draw on idle, just on
timeout")
Comment 1 Duarte Henriques 2005-07-12 01:41:52 UTC
Created attachment 48993 [details] [review]
support the opacity hint

for some reason the frame is the receiver, so I had to add a direct call from
display.c
for some other unknown reason, an XSelectInput is necessary on MapNotify (taken
from xcompmgr.c)
Comment 2 Duarte Henriques 2005-07-13 02:27:08 UTC
Created attachment 49074 [details] [review]
also allow non-toplevel windows

The last patch didn't take into account non-toplevel windows (for which there's
a meta_compositor_window but not a meta_window). This one takes both into
account, and handles both cases of frame_was_receiver.

One problem left is that the window appears for a split second when the opacity
hint is set to 0 before the window is mapped (shouldn't appear at all). Will
try to fix that.
Comment 3 Duarte Henriques 2005-07-13 13:06:45 UTC
Created attachment 49088 [details] [review]
also allow non-toplevel-windows

This one actually compiles, sorry about that, when I test-compiled the last one
the composite support was not enabled.
Comment 4 Duarte Henriques 2005-07-13 15:18:52 UTC
Created attachment 49097 [details] [review]
last patch, I promise ;)

Fixes the problem described on comment #2 by moving the XSelectInput() call to
process_create() and forwarding the opacity property set on the inner window
(if any) to our frame, also on process_create().

this time, all compiled and tested. Honest!
Comment 5 Elijah Newren 2006-01-07 19:27:45 UTC
Reassigning to the compositor component so that Soeren can find these easier.

(Note that the version of compositor.[ch] in HEAD will likely just be blown away in favor of the work Soeren has been doing on the branch)
Comment 6 Soren Sandmann Pedersen 2006-04-25 18:24:41 UTC
The OPACITY hint is not in the EWMH, so I won't support in metacity. Also I don't think the OPACITY hint really makes sense as more than a really short-sighted fix, so I intend to fight it if it comes up on the wm-spec list.