<div class="gmail_quote">On Tue, May 26, 2009 at 3:49 AM, Danny Baumann <span dir="ltr"><<a href="mailto:dannybaumann@web.de">dannybaumann@web.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,</blockquote><div><br>Hey Danny! =:) Thanks for the reply!!<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">
> 1) When an application requests a topology change via<br>
> _NET_WM_FULLSCREEN_MONITORS, Compiz does honor the topology<br>
> change, but it<br>
> does not refresh any monitor that has changed since the<br>
> last<br>
> _NET_WM_FULLSCREEN_MONITORS topology. If the application<br>
> requests to<br>
> change from fullscreening monitor 1 to cover both monitors<br>
> 1 and 2, the<br>
> window is resized and can still be interacted with, but the<br>
> display still<br>
> shows a frozen image of what was previously on the second<br>
> monitor, for<br>
> example.<br>
<br>
</div>I can not reproduce that using your test program. I have seen a similar<br>
problem on rare occasion, though: Window contents, especially of larger<br>
windows, were stuck at that time and could be recovered only by<br>
unmapping and re-mapping (minimize, shade) them.<br>
Unfortunately I didn't find a good reproduction scenario so far, and I<br>
really don't know what should cause that.<br>
Are you using Nvidia's drivers, by any chance?<br>
</blockquote><div><br>Yes, actually, I am. <br><br>01:00.0 VGA compatible controller: nVidia Corporation NV44 [Quadro NVS 285] (rev a1)<br>05:04.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (rev a1)<br>
<br>(II) NVIDIA GLX Module 173.14.18 Mon Mar 2 12:43:12 PST 2009<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Another shot in the dark: You can try playing around with the "Force<br>
synchronization between X and GLX" option in the workarounds plugin.<br>
Perhaps it's just the sort-of-well-known redraw issue caused by race<br>
conditions in the X damage protocol.</blockquote><div><br>Hm. Okay, I tried that and it didn't help.<br><br>If I do an explicit gtk_widget_hide() and then gtk_widget_show() after I do the XSendEvent in the sample program (as attached), then compiz correctly draws the window, but that's not desirable since it causes the window to (obviously) disappear/reappear.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">
> 2) When a window has fullscreened and used<br>
> _NET_WM_FULLSCREEN_MONITORS, if<br>
> any tooltips are used in that window (as this simple<br>
> application does),<br>
> Compiz will cause the screen to flash repeatedly until the<br>
> user stops<br>
> hovering over the originating widget and the tooltip goes<br>
> away. This can<br>
> be demonstrated in this simple application by hovering over<br>
> the button in<br>
> the window. As an interesting aside, when Compiz causes the<br>
> screen to<br>
> flash, it will refresh the monitors that were previously<br>
> stale from #1<br>
> above.<br>
<br>
</div><br>You want to disable "Unredirect fullscreen windows" (in ccsm it's under<br>
General options). Ubuntu enables it by default (both settings have<br>
problems: enabling it causes the problem you're seeing, disabling it<br>
causes speed loss in fullscreen OpenGL apps, e.g. games).<br></blockquote></div><br>OOH! *ding ding ding* AWESOME, thanks Danny! Okay, so disabling that fixed not only the tooltip over a fullscreen problem, but it also fixed the first problem I was describing! If I disable "Unredirect fullscreen windows", switching topologies with _NET_WM_FULLSCREEN_MONITORS looks like it works perfectly with Compiz 0.8.2.<br>
<br>Is there anything an application can do to detect whether this setting is in effect and warn its users about it? This is going to cause a large amount of community forum posts/bug reports for VMware Workstation/Player, I think. If there's something we can do to be proactive about it, I'd like to do that, but it feels like it may just need to be documented for our Compiz users?<br>
<br>Thanks again for your help Danny! You rock! =:)<br clear="all"><br>-- <br> -[ Jason 'vanRijn' Kasper // <a href="http://movingparts.net">http://movingparts.net</a> ]-<br> -[ KDE PIM Developer // <a href="http://www.kde.org">http://www.kde.org</a> ]-<br>
-[ bash fun -> :(){ :|:&};: // Numbers 6:22-26 ]-<br>