[Help]: Question about compositing with xfwm4

View: New views
5 Messages — Rating Filter:   Alert me  

[Help]: Question about compositing with xfwm4

by andy wang-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,
I have one question about 'compositing' with xfwm4.  

In one shell, I start a new x server with Xephyr on 1.0 display:
Xephyr -ac :1.0

In another shell, 
export DISPLAY=:1.0
I start xfwm4 and enable 'Enable display compositing' with xfwm4-tweaks-settings.
then set background image with xli:
xli -onroot /usr/share/pixmaps/xx.png

Then drag any window , however, the background is coverd, looks like the background was not re-painted yet(grey).

But if I use xfdesktop or disable compositing option, there is no problem.

I don't know why? and how to solve this problem with xli.

Thanks!
Black.Wang


_______________________________________________
Xfce4-dev mailing list
Xfce4-dev@...
http://foo-projects.org/mailman/listinfo/xfce4-dev

Re: [Help]: Question about compositing with xfwm4

by Olivier Fourdan-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Oct 22, 2009 at 5:22 PM, andy wang <wandy817@...> wrote:

> Hi all,
> I have one question about 'compositing' with xfwm4.
> In one shell, I start a new x server with Xephyr on 1.0 display:
> Xephyr -ac :1.0
> In another shell,
> export DISPLAY=:1.0
> I start xfwm4 and enable 'Enable display compositing' with
> xfwm4-tweaks-settings.
> then set background image with xli:
> xli -onroot /usr/share/pixmaps/xx.png
> Then drag any window , however, the background is coverd, looks like the
> background was not re-painted yet(grey).
> But if I use xfdesktop or disable compositing option, there is no problem.
> I don't know why? and how to solve this problem with xli.
> Thanks!

Simply because a compositor draws on the root win, so if another
application draws on the root win you end up with problems.

If "xli" sets the root pixmap property XROOTPMAP, xfwm4 can be built
to "listen" to the XROOTPMAP property and repaint the background
accordingly, you just need to built xfwm4 from sources with
MONITOR_ROOT_PIXMAP defined.

But as this is not needed in the default configuration (ie you have
xfdesktop or another desktop that uses a separate window on top of the
root win), that define is not set in the default build (read, you're
on your own).

Cheers,
Olivier.
_______________________________________________
Xfce4-dev mailing list
Xfce4-dev@...
http://foo-projects.org/mailman/listinfo/xfce4-dev

Parent Message unknown Re: [Help]: Question about compositing with xfwm4

by andy wang-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



2009/10/23 <xfce4-dev-request@...>
Send Xfce4-dev mailing list submissions to
       xfce4-dev@...

To subscribe or unsubscribe via the World Wide Web, visit
       http://foo-projects.org/mailman/listinfo/xfce4-dev
or, via email, send a message with subject or body 'help' to
       xfce4-dev-request@...

You can reach the person managing the list at
       xfce4-dev-owner@...

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Xfce4-dev digest..."

------------------------------

Message: 7
Date: Thu, 22 Oct 2009 19:32:43 +0200
From: Olivier Fourdan <fourdan@...>
Subject: Re: [Help]: Question about compositing with xfwm4
To: XFCE4 development list <xfce4-dev@...>
Message-ID:
       <60f2b0dc0910221032r5268c48fh6e8d6df3a5ff7d6c@...>
Content-Type: text/plain; charset=ISO-8859-1

On Thu, Oct 22, 2009 at 5:22 PM, andy wang <wandy817@...> wrote:
> Hi all,
> I have one question about 'compositing' with xfwm4.
> In one shell, I start a new x server with Xephyr on 1.0 display:
> Xephyr -ac :1.0
> In another shell,
> export DISPLAY=:1.0
> I start xfwm4 and enable 'Enable display compositing' with
> xfwm4-tweaks-settings.
> then set background image with xli:
> xli -onroot /usr/share/pixmaps/xx.png
> Then drag any window , however, the background is coverd, looks like the
> background was not re-painted yet(grey).
> But if I use xfdesktop or disable compositing option, there is no problem.
> I don't know why? and how to solve this problem with xli.
> Thanks!

Simply because a compositor draws on the root win, so if another
application draws on the root win you end up with problems.

If "xli" sets the root pixmap property XROOTPMAP, xfwm4 can be built
to "listen" to the XROOTPMAP property and repaint the background
accordingly, you just need to built xfwm4 from sources with
MONITOR_ROOT_PIXMAP defined.

But as this is not needed in the default configuration (ie you have
xfdesktop or another desktop that uses a separate window on top of the
root win), that define is not set in the default build (read, you're
on your own).

Cheers,
Olivier.

Hi Olivier,
So if I want to make xli works properly with compositor extension, I need to
1 .change XROOTPMAP property with the root pixmap in xli, 
2. build xfwm4 with XROOTPMAP
3. need a gtk event loop to receive expose event, and repaint the background in expose callback function

If there no loop to repaint background,  it will fail, am i right? so i should to add a event loop to xli source code if i want to
make xli works properly with compositor feature.

Thanks
Black.
------------------------------

_______________________________________________
Xfce4-dev mailing list
Xfce4-dev@...
http://foo-projects.org/mailman/listinfo/xfce4-dev

End of Xfce4-dev Digest, Vol 71, Issue 16
*****************************************


_______________________________________________
Xfce4-dev mailing list
Xfce4-dev@...
http://foo-projects.org/mailman/listinfo/xfce4-dev

Re: [Help]: Question about compositing with xfwm4

by Olivier Fourdan-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On 10/23/09, andy wang <wandy817@...> wrote:

>> If "xli" sets the root pixmap property XROOTPMAP, xfwm4 can be built
>> to "listen" to the XROOTPMAP property and repaint the background
>> accordingly, you just need to built xfwm4 from sources with
>> MONITOR_ROOT_PIXMAP defined.
>>
>> [....]
> So if I want to make xli works properly with compositor extension, I need to
>
> 1 .change XROOTPMAP property with the root pixmap in xli,
> 2. build xfwm4 with XROOTPMAP
> 3. need a gtk event loop to receive expose event, and repaint the background
> in expose callback function
>
> If there no loop to repaint background,  it will fail, am i right? so i
> should to add a event loop to xli source code if i want to
> make xli works properly with compositor feature.

Humm, nope, there is no need tor an event loop at all.

Check this: http://www.eterm.org/docs/view.php?doc=ref#trans

For the XPixmap to be retqined fter xli hqs exited, you need to call
XSetCloseDownMode(display, RetainPermanent) before exiting so that the
resources are not discarded when the connection with the display
closes.

Cheers,
Olivier:
_______________________________________________
Xfce4-dev mailing list
Xfce4-dev@...
http://foo-projects.org/mailman/listinfo/xfce4-dev

Parent Message unknown Re: [Help]: Question about compositing with xfwm4

by Olivier Fourdan-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Oct 27, 2009 at 2:53 PM, andy wang <wandy817@...> wrote:

>    Hi, Olivier
>    I change the xli source code like Esetroot, and startup xli before xfwm4,
>    it looks like that the xli could work with xfwm4( with compositor on),
>    however, if i startup xli after xfwm4 , the desktop background didn't
> repaint yet.
>    The background cann't display out.  The xli source code like:
>    1. set_pixmap_property, set "_XROOTPMAP_ID" and  "ESETROOT_PMAP_ID"
> property,
>        and XSetCloseDownMode(display, RetainPermanent)
>    2.  XSetWindowBackgroundPixmap to root window
>
>    3. XClearWindow to clear root window and make xserver to repaint the root
> window
>
>       if i startup xli after xfwm4, it looks like the last step didn't work
> yet. whether the xserver will send any
>      messages to xfwm4 when any client clear the root window?

But did you rebuild xfwm4 with XROOTPMAP?

Cheers,
Olivier.
_______________________________________________
Xfce4-dev mailing list
Xfce4-dev@...
http://foo-projects.org/mailman/listinfo/xfce4-dev