Xpra: Ticket #47: keep hidden/minimized windows' pixels around so we don't need a roundtrip to the server to show them

The latency for xpra windows is much higher than for local windows; so, when switching the desktop, I can see the screen, and after some time (~0.3 secs for single SSH connection) the xpra windows refreshes.

Perhaps there might be an option to request auto-refresh - from every 1 second to every hour, or something like that.

Thu, 24 Nov 2011 11:36:15 GMT - Antoine Martin:

See --auto-refresh-delay=DELAY in

man xpra

Is this what you are after?

I don't understand why you would want to use it, how does this help with latency? Also I don't understand what this means in this context: "when switching the desktop, I can see the screen"

Thu, 24 Nov 2011 11:49:45 GMT - pmarek:

Yes, --auto-refresh-delay=DELAY looks exactly right - but can this be configured in winswitch? Per host, or perhaps even per application?

And I meant that on CTRL-F1 I can see the new desktop immediately (with all open windows), but only after a fraction of a second the xpra-relayed window gets its updated content.

Sorry if I'm not clear enough.

Thu, 24 Nov 2011 18:18:56 GMT - Antoine Martin:

This cannot be configured at present in winswitch, it is automatically set based on the connection speed defined for this server, look for get_auto_refresh_delay in xpra_client_base.py : from 5 seconds for "modem" speed to 0.5 for "lan" and "0.2" for local.

What does CTRL-F1 do? Is this a desktop overview thing? Is it tied to compiz or something else? What do I need to see this? Why do the windows refresh at all? Does this happen without ssh in the last hop? How is this different from normal use? Or does this also happen during normal use?

Fri, 25 Nov 2011 07:36:28 GMT - pmarek:

Well, there's some misunderstanding then. IIUC for LAN the window should get refreshes automatically every half second?

Either this is disabled, or it just doesn't work.

CTRL-F1 switches to the first virtual desktop (of which I have four); on each desktop I've got certain applications running (by my own convention), and the xchat is on desktop 1. So CTRL-F1 switches to this first desktop; this switching is instantaneous, but about ⅓ to ½ a second later the xchat window gets refreshed (tabs at the bottom get colored red, for channels with unread messages - when I leave the desktop, the tabs are normally black, because I've looked at them).

No, there's no compiz involved (AFAIK); the desktop effects are all disabled. You need at least 2 virtual desktops; having the window get changes (eg. an 'while sleep 1 ; do date ; done' in an xterm) should be enough.

Well, this is "normal" use; I'd just like to get the window refreshed every, say, 1 minute, so when I finally switch to this desktop all the tabs are _already_ colored red, instead of switching half a second later.

Fri, 25 Nov 2011 09:12:44 GMT - Antoine Martin: owner, status changed

Replying to pmarek:

Well, there's some misunderstanding then. IIUC for LAN the window should get refreshes automatically every half second?

Only if 2 conditions are satisfied:

CTRL-F1 switches to the first virtual desktop

OK, this is the bit I was missing: CTRL-F1 does nothing here, now that you mention that you are switching virtual desktops this makes more sense. The window is being hidden by the local window manager so Xpra ignores all redraws until the window is shown again, hence the delay.

Changing this behaviour may be difficult, but I'll see what I can do.

Could be dealt with as part of #41: "unmapped" windows could have their window-source tuned to only send updates at most 1 time per N second to those clients that do not show the window, then we would need a new window state: "unmapped but not in task-list yet gets updated"... (no paint or events, just backing updates)

Mon, 20 Feb 2012 19:14:19 GMT - Antoine Martin: milestone set

Mon, 23 Jul 2012 17:27:51 GMT - Antoine Martin: summary changed

Sat, 23 Jan 2021 04:44:06 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/47