XLibre Xserver
Go to file
Olivier Fourdan 058809c43e xwayland: Apply output rotation for screen size
Previously, we would swap the width/height of the Xwayland output based
on the output rotation, so that the overall screen size would match the
actual rotation of each output.

Problem is the RandR's ConstrainCursorHarder() handler will also apply
the output rotation, meaning that when the output is rotated, the
pointer will be constrained within the wrong dimension.

Moreover, XRandR assumes the original output width/height are unchanged
when the output is rotated, so by changing the Xwayland output width and
height based on rotation, Xwayland causes XRandr to report the wrong
output sizes (an output of size 1024x768 rotated left or right should
remain 1024x768, not 768x1024).

So to avoid this issue and keep things consistent between Wayland and
Xwayland outputs, leave the actual width/height unchanged but apply the
rotation when computing the screen size. This fixes both the output size
being wrong in "xrandr -q" and the pointer being constrained in the
wrong dimension with rotated with weston.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99663
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2017-02-08 13:22:19 -05:00
Xext xace: Don't censor window borders 2016-09-28 15:25:07 -04:00
Xi Xi: when creating a new master device, update barries for all clients 2016-11-30 12:05:34 +10:00
composite composite: Export compIsAlternateVisual 2017-01-25 11:27:06 -05:00
config ddx: add new call to purge input devices that weren't added 2016-10-26 15:35:07 +10:00
damageext dix: Remove pointless client-state callbacks 2016-05-11 11:21:08 -04:00
dbe Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
dix prime: Sync shared pixmap from root window instead of screen pixmap 2017-02-08 12:08:51 -05:00
doc Remove readmask from screen block/wakeup handler 2016-07-18 15:27:51 -04:00
dri3 dri3: Don't do return client->noClientException 2016-09-02 13:41:24 -04:00
exa Remove readmask from screen block/wakeup handler 2016-07-18 15:27:51 -04:00
fb fb: XYPixmap format PutImage includes all planes in depth 2016-10-04 12:15:55 -04:00
glamor glamor: Two pass won't work on memory pixmaps 2017-01-24 11:27:33 -08:00
glx glx: Move Composite's synthetic visuals to a different select group 2017-01-25 11:27:33 -05:00
hw xwayland: Apply output rotation for screen size 2017-02-08 13:22:19 -05:00
include kdrive: Remove non-evdev input drivers 2017-01-19 18:07:03 -05:00
m4 Add ax_pthread.m4 to m4/ 2016-05-29 19:20:51 -07:00
man Xserver.man: document more transports for -nolisten & -listen options 2015-10-28 14:16:28 -04:00
mi XQuartz: Adopt input_lock() and input_unlock() 2016-09-22 14:55:02 -07:00
miext damage: Validate source pictures bound to windows before unwrapping 2017-02-08 12:54:47 -05:00
os AttendClient of grab-pervious client must queue to saved_ready_clients [v2] 2017-01-11 14:31:43 -05:00
present present: Allow flipping with PRIME slave outputs 2017-02-08 12:08:56 -05:00
pseudoramiX Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
randr randr: fix xserver crash when xrandr setprovideroutputsource 2017-01-11 11:13:45 +10:00
record record: don't call RecordDeleteContext when AddResource fails 2016-03-08 10:20:04 -05:00
render exa: only draw valid trapezoids 2016-06-17 11:21:30 +02:00
test tests: shuffle around the linking order to please GNU ld 2017-01-25 14:47:10 -05:00
xfixes dix: Remove pointless client-state callbacks 2016-05-11 11:21:08 -04:00
xkb xkb: Match key releases with an overlaid press 2017-01-04 13:23:31 +10:00
.dir-locals.el Add .dir-locals.el 2013-08-17 12:17:36 +02:00
.gitignore .gitignore: Add new autotools file 'test-driver' 2014-04-21 13:41:42 -07:00
COPYING modesetting: Merge modesetting's COPYING into the xserver's. 2014-09-15 12:46:02 -07:00
Makefile.am DIST_SUBDIRS needs to include glamor, even if it isn't built 2014-02-13 15:25:56 -08:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
autogen.sh autogen: Set a default subject prefix for patches 2016-02-08 17:41:38 -05:00
configure.ac damage: Validate source pictures bound to windows before unwrapping 2017-02-08 12:54:47 -05:00
devbook.am doc: Create a script to filter xmlto output 2015-01-05 14:24:06 -08:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-09-21 14:07:49 -07:00
fix-miregion Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-miregion-private Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-patch-whitespace Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fix-region Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
manpages.am Xorg: Add a suid root wrapper 2014-03-12 08:50:05 +01:00
xorg-server.m4 macros: clarify documentation 2012-11-05 13:24:57 -06:00
xorg-server.pc.in xfree86: link modules against Xorg symbols on Cygwin 2012-04-05 21:57:07 -05:00
xserver.ent.in doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage