xpra icon
Bug tracker and wiki

Opened 2 weeks ago

Closed 2 weeks ago

Last modified 10 days ago

#1567 closed defect (fixed)

fix fullscreen handling

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 2.1
Component: client Version: trunk
Keywords: Cc:

Description

Fullscreen sort of works, as long as the server-side screen size matches the client's.
When it doesn't, the window backing is painted with an offset:

  • if the server-side screen size is bigger, it overflows the screen
  • it it is smaller, it only covers part of the client's screen area

This is made worse by the fact that the opengl client paints from the bottom of the screen (inverted Y coordinates), so the pointer location reported doesn't match what is on-screen...

Change History (2)

comment:1 Changed 2 weeks ago by Antoine Martin

Resolution: fixed
Status: newclosed

r16209 added a Shift+F11 client-side fullscreen switch so we can make any window fullscreen, even an xterm - useful for testing.
r16218 also makes it easier to test: XPRA_FORCE_SCREEN_MISMATCH=1 will ensure that the server-side resolution used by desktop servers never matches the client's.
ie:

FORCE_SCREEN_MISMATCH=1 xpra start-desktop --start=xterm -d screen,geometry
xpra attach -d geometry

Then hit Shift+F11 and the xterm is shown in one place, but actually responds to mouse events at an offset..


Should be fixed in r16219.

Related tickets:

comment:2 Changed 10 days ago by Antoine Martin

Note on resolutions: if we cannot find a match for the client's screen size in the server's list of pre-defined resolutions, then the fullscreened window will be displayed with black borders around it.

The steps in the list of resolutions are 64 pixels below 4k, and 128 pixels for resolutions above 4k.
So the worst case scenario (which should be rare) is that you will get about 30 black pixels around the window when showing fullscreen. (and double that for resolutions higher than 4k)
The most common resolutions are already pre-defined and will work without borders (ie: 1080p, 1440p, 1600x1200, etc..)

Note: See TracTickets for help on using tickets.