Update to xrandr 1.2.3.

This commit is contained in:
matthieu 2008-04-19 14:40:52 +00:00
parent 73d1e76463
commit 6f491b67d8
10 changed files with 1315 additions and 74 deletions

View File

@ -1,12 +1,21 @@
This is a stub file. This package has not yet had its complete licensing
information compiled. Please see the individual source files for details on
your rights to use and modify this software.
Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
Copyright © 2002 Hewlett Packard Company, Inc.
Copyright © 2006 Intel Corporation
Please submit updated COPYING files to the Xorg bugzilla:
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation, and
that the name of the copyright holders not be used in advertising or
publicity pertaining to distribution of the software without specific,
written prior permission. The copyright holders make no representations
about the suitability of this software for any purpose. It is provided "as
is" without express or implied warranty.
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
All licensing questions regarding this software should be directed at the
Xorg mailing list:
http://lists.freedesktop.org/mailman/listinfo/xorg
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.

View File

@ -1,47 +1,890 @@
2006-04-26 Adam Jackson <ajax@freedesktop.org>
commit 4450756d2d1d86f3c0bfaef81f6265f795468f32
Author: Brice Goglin <bgoglin@debian.org>
Date: Sat Dec 15 00:59:00 2007 +0100
Clarify the ability to manipulate multiple outputs in the manpage
commit 5c2a003adab4aaa979a095e18793b01cfa694bf4
Author: Brice Goglin <bgoglin@debian.org>
Date: Sat Dec 15 00:49:35 2007 +0100
Allow the same output to be specified several times on the command line
Without this
xrandr --output FOO --mode 1024x768 --output FOO --rotate left
only changed the mode but did not apply the rotation.
Reported by Marc Haber in
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=455225
commit ab5e07fdd10f6340289b786414804a034ca98f0b
Author: Matthias Hopf <mhopf@suse.de>
Date: Fri Nov 30 16:13:51 2007 +0100
Add another test known to fail.
commit 4bc84c331f4f0f0658ad1f6c0107e3e6af2a7911
Author: Matthias Hopf <mhopf@suse.de>
Date: Thu Nov 29 19:54:34 2007 +0100
Add informational output for known issues.
commit 3fb533ff896bd642200e7242c4d35a887faeca74
Author: Matthias Hopf <mhopf@suse.de>
Date: Thu Nov 29 19:54:03 2007 +0100
Add more tests, mostly regarding crtc switching and uncloning.
commit 20c8a60950cb5b4ddef305dc9822bec1c33e938c
Author: Matthias Hopf <mhopf@suse.de>
Date: Wed Nov 21 16:48:23 2007 +0100
Oops. Fix missing space introduced by last commit.
commit 3347c849462b737a873a279c24d17c873667c821
Author: Matthias Hopf <mhopf@suse.de>
Date: Wed Nov 21 16:47:08 2007 +0100
Be more robust in test case if mode database is borked.
If modes are reported multiple times per output only bother for the last.
commit 81e8f2f5673befded3320424f4511e322d41c80b
Author: Matthias Hopf <mhopf@suse.de>
Date: Wed Nov 21 16:41:33 2007 +0100
Some minor issues in test case fixed.
'my' not being used correctly.
Some lines of xrandr --verbose output missing in failure case.
If order of outputs change in xrandr -q output they are sorted into original
order now.
commit 3a27185879e7a9288de960ccb26a48104cf592e3
Author: Matthias Hopf <mhopf@suse.de>
Date: Tue Nov 20 13:03:07 2007 +0100
More tests for ambiguous xrandr output.
commit c9bd9721e162e4d9d83dd60400c75d4cc98090bd
Author: Matthias Hopf <mhopf@suse.de>
Date: Mon Nov 19 20:06:39 2007 +0100
Use IDs for mode selection instead of hand-crafted <w>x<h>@<r> strings.
Some machines provide e.g. multiple 1024x768@60 modes with /slightly/
different timings. Often only one of them can be used on multiple outputs.
commit a05d2b6e3ffd81ecc0be98b8d2b758505fb55f3f
Author: Matthias Hopf <mhopf@suse.de>
Date: Mon Nov 19 12:24:04 2007 +0100
Improved test script.
Allow for outputs in "unknown" state.
Check xrandr return value.
Output full xrandr --verbose output if test failed.
commit e15a527b6cf1e66709eae4547c8e8bd3402362fe
Author: Matthias Hopf <mhopf@suse.de>
Date: Mon Nov 12 15:25:44 2007 +0100
Add xrandr test suite.
At the moment it only tests setting one output at a time, it should be
improved to add some multi-output setting as well. Also it only tests clone
modes at the moment, no multi-monitor setups.
commit f7aaf8947a0f216ffedc7040b0a1ef153b471425
Author: Matthias Hopf <mhopf@suse.de>
Date: Mon Nov 12 15:19:52 2007 +0100
Always reset other outputs using the best crtc.
pick_crtcs_score() didn't set up crtcs references correctly if anything but
the last output resulted in the best score.
commit 307f3686d3d517cb29b8e66d8ad2ff76a48748b7
Author: Matthias Hopf <mhopf@suse.de>
Date: Mon Nov 12 15:18:30 2007 +0100
Verify crtc against previous config.
When selecting a crtc for an output, it doesn't check for already attached
outputs in check_crtc_for_output(), and so may select an crtc that is already
in use.
E.g. when changing from a cloned mode the displays won't be split up to
different crtcs, but the same crtc will be used, changing the resolution for
the unspecified display as well.
commit 4834439ce62e41204367cf5356a7a1719870791f
Author: Matthias Hopf <mhopf@suse.de>
Date: Thu Oct 11 16:54:40 2007 +0200
Build ChangeLog from git-log automatically.
commit 2fa28afb035cf2d2efb077db58d3858c57189be4
Author: Adam Jackson <ajax@benzedrine.nwnk.net>
Date: Tue Oct 2 11:06:18 2007 -0400
Death to ChangeLog
commit 0cfaad401711092f8858cdec64e4d4f33023f398
Author: Adam Jackson <ajax@benzedrine.nwnk.net>
Date: Tue Oct 2 11:06:02 2007 -0400
Update COPYING
commit 06d7272d845033fe3c6f0625cce5a32e7be636a7
Author: Brice Goglin <bgoglin@debian.org>
Date: Thu Aug 9 19:06:37 2007 +0200
When invoked with no option, xrandr dumps existing modes
commit b9b2fbbf7a7dd156d1fdffac2e4a4046f58baabb
Author: Brice Goglin <bgoglin@debian.org>
Date: Thu Aug 9 19:04:58 2007 +0200
Add *current and +preferred to the --verbose output
commit 200491c1fad5ea1a733dfbac799a2ebea0a2f23c
Author: Keith Packard <keithp@neko.keithp.com>
Date: Wed Jul 4 20:05:03 2007 -0700
Bump to 1.2.2
commit 9db36331a2acafbf2dab05f481ce16ab094fde52
Author: Keith Packard <keithp@neko.keithp.com>
Date: Wed Jul 4 20:04:29 2007 -0700
Print out mode flags in --verbose mode
commit 49058de9b743f5196f97fb13cd9a695087b1299c
Author: Keith Packard <keithp@neko.keithp.com>
Date: Wed Jul 4 19:41:32 2007 -0700
Mark 1.1 options as inconsistent with 1.2 options
commit c58e79a9c4c3967fb31a49a610a37b5797426415
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Jun 21 15:57:37 2007 +0100
Document 1.2.1 options
commit 0499ce5ed6378bc68cbf8eafc9932ddf495ae708
Author: Keith Packard <keithp@dulcimer.keithp.com>
Date: Sat Jun 30 14:00:30 2007 -0700
When simple CRTC allocation fails, search all available configs.
When enabling an output, if there isn't an idle CRTC available, try to
reconfigure existing outputs to make things work.
commit 0f2014e67193eb0f8e12ab1c3d5cae8991ba439d
Author: Keith Packard <keithp@dulcimer.keithp.com>
Date: Sat Jun 30 13:09:45 2007 -0700
Clean up code structure a bit
commit 63d385f2c24c522d974652da138a83d78014713e
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Jun 21 09:35:53 2007 -0700
Add *~ to .gitignore to skip emacs & patch droppings
commit 4bd2f4004a6f75a7e4cb32b9e320e680f8839748
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Jun 21 09:34:53 2007 -0700
Man page formatting and typo fixes
commit b0812f8efe448c85979a9f5fab4a5a4e0c0e78d0
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Jun 21 11:37:56 2007 +0100
Update to version 1.2.1
commit 739f01957c8ebd3b7bcecfd7ad8174884561f7db
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Wed Apr 25 11:59:48 2007 -0700
Fix bugs found by compiling with -Wall.
Also fix some unused variable warnings.
commit 8e43df335679c71930465e4c58c0bd14d9add29a
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Wed Apr 25 10:52:19 2007 -0700
Fix a typo. Make mode flags case insensitive. Improve error messages.
commit 49aab1e0e4cb2226d5bcc8e4e6217309fd23ce52
Author: Keith Packard <keithp@neko.keithp.com>
Date: Fri Apr 6 03:36:27 2007 -0700
Skip relative positions for outputs without modes.
An output without a mode is turned off; do not try to position it.
commit 86d9b15cccc4d21ad5e5d34d7e7b82a50903939b
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Sun Mar 25 23:44:01 2007 -0700
Support XA_ATOM properties (like TV_FORMAT).
Atom properties have lists of valid values that are all atoms, so display
those. Also, fetch property data and use that to determine which format new
property values are supposed to be in.
commit dba14af8328eaaad716d1c27a5514df285d8d4cc
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Fri Mar 23 01:21:21 2007 -0700
Add --set option to set output properties.
Numeric values are set as XA_INTEGER format 32 values, everything else is
set as an XA_STRING format 8 value.
commit ca7a5bb5691ecd1d8da6def373c793aa7a07dbbe
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Thu Mar 15 20:57:17 2007 -0700
Bounds check -s <index> argument to be 0 <= index < nsize
Print a nice error message when the -s option is passed a number out of
bounds.
commit 0cbbc7804781c2e55899ba9271365735c4a2b544
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Thu Mar 15 20:56:15 2007 -0700
Make --q1 output RandR 1.1 query information.
--q1 required a --query option to actually output any information.
commit 7ae11b66cc26395d34070013e23813db3ca3e55f
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Thu Mar 15 20:55:30 2007 -0700
Make --auto after --output only affect the output.
--auto has two meanings; if presented before any --output flags, it requests
that connected-but-disabled outputs be enable while disconnected-but-enabled
outputs be disabled. After --output, --auto simply asks that the mode used
for the output be automatically selected. Mixing these two operations is not
a good default.
commit a53cc9b37c40dca936037a89013253f37c9a05ee
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Mon Mar 12 22:47:39 2007 -0700
Add --addmode and --delmode commands to edit list of modes per output.
--addmode <output> <mode> inserts <mode> into the list supported by
<output>, while --delmode removes a mode.
commit dca4bd66b166b64314993aba34a3080c6953ac12
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Mon Feb 19 17:12:24 2007 -0800
Add --newmode/--rmmode to create/destroy user modes.
The syntax may be a bit hard to work with, but these serve to test the
server infrastructure for custom modes.
commit 9fd6aa1445a8f1e721ba8cdcd1ac12375d6e5a26
Author: Tilman Sauerbeck <tilman@code-monkey.de>
Date: Fri Mar 9 10:12:17 2007 +0100
Fixed alignment of the clones list.
commit 3c44d68d78d8bddf69b5bd1a00f854d8cde971bb
Author: Keith Packard <keithp@neko.keithp.com>
Date: Wed Feb 21 11:24:35 2007 -0800
Add --same-as option to match output positions.
This provides another positioning option that makes two outputs appear at
the same location.
commit 8a0c3b748b0e94c97fbc2a7449c6740b8acfe394
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Feb 18 21:27:55 2007 -0800
Update version number to 1.2.0 for release.
commit 13cef2baa884039e96f5dfd9245bb949aed99448
Merge: 065f09c... a175972...
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Feb 18 21:26:50 2007 -0800
Merge branch 'origin'
commit 065f09cc304d0c70eaf3cf6f3ff21e712e41d205
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Feb 18 21:25:54 2007 -0800
Require only libXrandr 1.2.0, not 1.2.0.0.
Four digits seems excessive in a library version number.
commit a175972de6fbe5426fb5c6bee03112678f0a9548
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Thu Feb 15 23:07:34 2007 -0800
Select crtc which can be cloned to outputs which will be in use.
Correct crtc selection algorithm to choose a crtc which will be used by
outputs which can all share the same crtc.
Also, make randr 1.0 commands work even when --verbose is specified, and
terminate event loop in that case when the screen change event is seen.
commit d707822aab19a0a8fe08f03300fdd9d4e206871e
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sat Feb 10 18:27:06 2007 -0800
Selecting a crtc by index was failing to match a crtc.
--crtc <index> would fail to match because of a logic bug using & instead of
&&.
commit 89bf2c3c0e17c67adc3e2fdca54f0e8254dc8968
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sat Feb 10 16:14:58 2007 -0800
Display set of available CRTCs per output in --verbose mode.
commit 067cafb5cda0aa6e34773e888fd469ff657760c2
Merge: 7c25c24... b0a00df...
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Wed Jan 31 15:25:35 2007 -0800
Merge branch 'randr-1.2'
Merge support for RandR 1.2 changes to the xrandr program along with
documentation for the new options.
commit b0a00df69f832ada40be6bd6973835439a698440
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Wed Jan 31 15:22:02 2007 -0800
Update documentation to include all RandR 1.2 options.
Also, require libXrandr version 1.2.0.0 or better.
commit 6b9310d66eed59527d4002294be13884a7cbeacc
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Tue Jan 30 20:35:58 2007 -0800
Missing return statement from output_rotation.
output_rotation was returning garbage making the available output rotations
display incorrectly.
commit 5c3b6b1013c7565c40e82bfc0514a3dd80aec2d8
Author: Keith Packard <keithp@neko.keithp.com>
Date: Tue Jan 30 20:16:46 2007 -0800
Remove xrandr12.c app now that xrandr.c has RandR 1.2 support.
commit eaf3e459d7760bbcb3c7f7c9b23b1e386189c71e
Author: Keith Packard <keithp@neko.keithp.com>
Date: Tue Jan 30 00:10:23 2007 -0800
Add --reflect option for RandR 1.2 reflection selection.
Also, display available rotations after current rotation
commit 8ecc6c034836a6fb6df0e2ad24429f506bf82e37
Author: Eric Anholt <eric@anholt.net>
Date: Tue Jan 16 10:48:01 2007 -0800
Add display for 32-bit integer properties, such as backlight.
commit 4112d13d7b15150e33687b687604c3a72188c066
Author: Keith Packard <keithp@mandolin.keithp.com>
Date: Mon Jan 1 17:04:42 2007 -0800
Mode on CRTC may not be present for any output.
When an output gets disconnected, the current CRTC mode may no longer be
listed as valid for any output, but will still be listed for the screen.
Search for current crtc mode in the screen list rather than the per-output
list.
commit 6ef7b2deafd09ae1a4b159f3c2e6e9db64bf01dc
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Dec 31 23:02:12 2006 -0800
Using %lf to read float overwrote adjacent variable.
Just use floats everywhere and %f instead.
commit f6073333dcfb6989ff8793854fb42e08388444c5
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Dec 31 13:55:14 2006 -0800
Add rotation/reflection status to 1.2 query output.
The previous cleanup had left these values missing from any output.
Also it now reports the effective size of the mode within the screen.
commit 5d2a76b70b7b59a45655b25db79d75cb08fe671d
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Dec 31 13:38:40 2006 -0800
Clean up RandR 1.2 query output.
Make brief mode list just mode names and refresh rates.
Add --prop/--properties flag to show properties.
Add --q1 flag to force showing pre-1.2 data.
commit d9aeb4a7544ad4a33f6f54bc46bff5cdf231a986
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Dec 31 12:45:25 2006 -0800
Add --rate support to RandR 1.2 mode selection.
Search for mode closest to specified rate for each output and use that
instead of the one with the first matching name. If no rate is specified,
the first one still matches allowing the driver to place preferred rates
first in the list.
commit c04d69cbd8a8a96862356afcda6ee679d663a524
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Dec 31 11:58:11 2006 -0800
Grab server while applying changes.
Applications that respond to screen size changes by quering Xinerama
information need to be blocked so that they see the entirety of the changes
rather than just the screen size shift and not the crtc changes.
commit 8e78af971048db711163ea297153703b4f37f3c9
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sat Dec 30 21:49:40 2006 -0800
Enable global --auto flag. Allow output name for --dpi switch.
--auto at the global level checks for output status changes and
automatically configures changed outputs. --dpi with an output switch uses
the specified output as the source of the dpi information.
commit f7a3e478a6a5d59a2bbcd6dc416639f93a0520fd
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sat Dec 30 19:41:48 2006 -0800
Use Bool type. Position relative to disabled output is 0,0.
Switch uses of int that are strictly boolean to Bool.
Instead of making attempts to set position relative to a disabled output an
error, just place the output at 0,0.
commit cb017692883daf64e0cf442a39b33eaafed0e420
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sat Dec 30 17:34:46 2006 -0800
Restructure RandR 1.2 support to handle relative placement.
Ok, really, this is mostly a rewrite of the RandR 1.2 support. First,
collect commands from command line arguments. Next, fill in existing
configuration from X server. Calculate new configuration. Apply
configuration, if anything fails, revert to previous configuration.
Still left -- pure --auto, and --extend/--clone options.
commit b9dee113ce4105c1cf25e3c417c616c024aea823
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Fri Dec 29 00:55:37 2006 -0800
Make query return 1.2 information if available
commit 90e4a4c13957bd003294f64b86460813dd38a3de
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Dec 21 17:37:20 2006 -0800
Accept hex mode numbers as well as mode names.
Sometimes mode names are ambiguous; this lets the user specify modes by XID.
commit e8f7047885ec85096a3f35b9cfb20386104fdc55
Author: Keith Packard <keithp@neko.keithp.com>
Date: Tue Dec 19 16:27:46 2006 -0800
Actually respect the --fb option
commit 7b32611632ab08b6a123db5df1c2b919b3a12104
Merge: a0df3aa... 4bb1a9c...
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Tue Dec 19 15:58:38 2006 -0800
Merge branch 'randr-1.2-origin' into randr-1.2
commit a0df3aa81205b35ff8d9541c036cfd158cbd99ed
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Tue Dec 19 15:58:21 2006 -0800
Correct format for sscanf to double variable "dpi"
commit 4bb1a9cd6f9cc3ed61d7913528afa3f573092833
Merge: b6c0382... 6ef400f...
Author: Keith Packard <keithp@bouzouki.jf.intel.com>
Date: Wed Dec 13 11:36:36 2006 -0800
Merge branch 'randr-1.2-origin' into randr-1.2. Detect invalid mode.
Invalid mode test was checking wrong mode index. Also, print more
informative error message when this occurs.
commit b6c03827bae74ef5b9517c4246b0165dad8ee780
Author: Keith Packard <keithp@bouzouki.jf.intel.com>
Date: Wed Dec 13 11:27:30 2006 -0800
Name CRTCs by index or id. Use current CRTC to get current mode.
CRTCs have no intrinsic name, so let users provide either the number in the
list or the XID when referring to them explicitly.
When no mode is specified, look up the current CRTC for the output and use
that mode, instead of using the mode on the target CRTC.
When switching an output from one CRTC
commit 6ef400f35d7d8712d1ad1efd87a8a3cb8bfacd96
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Wed Dec 13 09:53:17 2006 -0800
Add --preferred and --auto support.
--preferred selects the 'best' mode for the monitor automatically, either by
looking for a preferred mode, or selecting one which is closest to the
current screen DPI.
--auto checks connected status and disables the output if disconnected,
otherwise it enables it with the preferred mode (as if --preferred).
commit c69c3080febd8617349f88557c3c04388a13a76c
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Tue Dec 12 09:54:52 2006 -0800
mark disabled crtc as changing, set rotation to 90 for disabled crtc.
--off code was not correctly finding and marking the to-be-disabled crtc,
and the disabling code was sending an uninitialized rotation value to the
server when no outputs were connected.
commit 6be56cd10d934e496004f9ffd377225fd179f4b1
Author: Keith Packard <keithp@neko.keithp.com>
Date: Mon Dec 11 00:39:48 2006 -0800
Update manual, elide unsupported options from usage, remove xrandr12 from build
commit 624c75e8c250b33a81890c8f0da741a13ad4e7d1
Author: Keith Packard <keithp@neko.keithp.com>
Date: Mon Dec 11 00:23:15 2006 -0800
Add RandR 1.2 support to plain xrandr app. primitive for now
commit 7c25c245bceb0474541fe7a2615a4f665842ac32
Author: Jeremy C. Reed <reed@glacier.reedmedia.net>
Date: Sat Dec 9 06:32:19 2006 -0600
Document -v switch.
commit 2a32fa8cf8550a3a30871d25a23af07f65646c47
Author: Keith Packard <keithp@neko.keithp.com>
Date: Tue Nov 21 01:17:38 2006 -0800
Track RandR output property changes
commit 795173d2b9b94a3468db277102b4898b4e5a1ead
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Nov 16 22:14:33 2006 -0800
properties are stored in unsigned char arrays
commit 2df4352bb43e155977f8d4c0b53771cb0085ab74
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Nov 16 11:45:51 2006 -0800
Remove RandR output options.
Output options are to be replaced with properties.
commit 643787365fd716b902b597b67b2ec228dacfc862
Author: Keith Packard <keithp@neko.keithp.com>
Date: Wed Nov 1 10:57:24 2006 -0800
Re-indent to 4 space tabs
commit 947ea6ee9d7cf72c5635c699b63ddda3be968675
Author: Keith Packard <keithp@neko.keithp.com>
Date: Wed Nov 1 10:55:21 2006 -0800
Fix copyright and license information
commit dc41095b577db571439ff1a52facc4efe9f5132f
Author: Eric Anholt <eric@anholt.net>
Date: Thu Nov 9 20:26:09 2006 -0800
Print 8-bit integer output properties as 32-char rows of hex.
This happens to produce pretty output for EDID data.
commit 67466ebb817e24bfd7f57cc82da16e194eb9c547
Author: Eric Anholt <eric@anholt.net>
Date: Thu Nov 9 17:15:56 2006 -0800
Add more .gitignore entries.
commit aafe9f7d24e96194a7ee11ba521a3c2c72dcdc95
Author: Eric Anholt <eric@anholt.net>
Date: Thu Nov 9 17:15:06 2006 -0800
Add output for output properties (assuming text) and blanking information.
commit 6ba07ae9ea5fa2829d17e8a1f3eb26e7c1a2813e
Author: Eric Anholt <eric@anholt.net>
Date: Wed Nov 8 10:23:47 2006 -0800
Add dot clock to output.
commit fba78f58029a806e4446d038b17b843d2c4026a6
Author: Keith Packard <keithp@mandolin.keithp.com>
Date: Wed Nov 1 00:32:22 2006 -0800
Track protocol moving physical size from mode to output
commit d9c45204a16e906b922ac94cae3c9f4f25b3ccdb
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Oct 26 22:58:58 2006 -0700
add physical size setting
commit bd6ac82ff7e7fc04ab589a3053dc7f13ed7a1ec4
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Oct 5 21:50:42 2006 -0700
Add crtc info. Mark preferred. Update to new SetCrtcConfig API.
commit fe04d38d01f54b93ddaf1cd48a655df7f7fe4b97
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Sep 21 08:16:45 2006 -0700
Add CRTC disable code (given crtc, output 0, mode 0)
commit 7f1b81d443b78ff572726ad7d72eeb4a87c7189d
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Wed Sep 20 20:03:22 2006 -0700
xrandr12, a horrible kludge, is now sufficient to do dynamic mergefb games.
commit eba1d3d8ab6226737c29e63fdd5433190baab06f
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Wed Sep 20 20:02:43 2006 -0700
.cvsignore -> .gitignore
commit 6c5af262350a5fa33aa37293e8e7b537e344f52a
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Wed Sep 20 20:02:09 2006 -0700
.cvsignore -> .gitignore
commit d8e86340444577dc7634d3e0db24fd809f4e4fbb
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Tue Sep 19 00:35:46 2006 -0700
Add new xrandr12 program for RandR 1.2 protocol.
Yes, xrandr12 will be merged with xrandr before release; it's just for
debugging at present.
commit f88f8e79724b27f46a836fac4956cbe28749633a
Author: Adam Jackson <ajax@nwnk.net>
Date: Wed Apr 26 23:43:34 2006 +0000
* configure.ac:
Bump to 1.0.2
2006-04-25 Alan Coopersmith <alan.coopersmith@sun.com>
commit 47c6288e63ebe7a9bb2f3225e7d5a235bd979a5f
Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
Date: Tue Apr 25 22:54:01 2006 +0000
* xrandr.c:
Don't try to fprintf a NULL string when -display wasn't passed and
connecting to $DISPLAY failed, since that segfaults on some platforms.
2006-03-20 Adam Jackson <ajax@freedesktop.org>
commit 0197bfdddca98c72bca0eeee349b90027638fc32
Author: Adam Jackson <ajax@nwnk.net>
Date: Mon Mar 20 18:56:37 2006 +0000
* xrandr.c:
Bug #5511, #5512: Print more sensible error messages when fed broken
command lines. (Bill Crawford)
2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
commit 4f785cb5db6d95c9f539500e7b202a0f5addd19f
Author: Kevin E Martin <kem@kem.org>
Date: Wed Dec 21 02:29:53 2005 +0000
* configure.ac:
Update package version for X11R7 release.
2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
commit 83491d233781c9e6a362aa8bac1ab4f2a239fdee
Author: Adam Jackson <ajax@nwnk.net>
Date: Mon Dec 19 16:22:46 2005 +0000
Stub COPYING files
commit 5d09a0b505a2c08b81879e61173459d23f4c41db
Author: Kevin E Martin <kem@kem.org>
Date: Thu Dec 15 00:24:10 2005 +0000
* configure.ac:
Update package version number for final X11R7 release candidate.
2005-12-06 Kevin E. Martin <kem-at-freedesktop-dot-org>
commit 3e0eb5b6f68ef9120153e7f01b4243ad4fa44254
Author: Kevin E Martin <kem@kem.org>
Date: Tue Dec 6 22:48:25 2005 +0000
* Makefile.am:
Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
commit d52f178dc51182e14d5d7ad9f2842f3e1d30a57f
Author: Kevin E Martin <kem@kem.org>
Date: Sat Dec 3 05:49:27 2005 +0000
* configure.ac:
Update package version number for X11R7 RC3 release.
2005-11-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
commit f3b3596d181a7ab89b90561490f822171ec77479
Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
Date: Mon Nov 28 22:01:46 2005 +0000
* configure.ac:
Update dependencies to work with separate build roots.
Change *mandir targets to use new *_MAN_DIR variables set by xorg-macros.m4
update to fix bug #5167 (Linux prefers *.1x man pages in man1 subdir)
2005-10-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
commit 28c2280644f808c89e42e379b531fbb0fdf39bc7
Author: Eric Anholt <anholt@freebsd.org>
Date: Mon Nov 21 10:35:07 2005 +0000
Another pass at .cvsignores for apps.
commit e5ab923625baf41a59e033abf3527709c8ef255b
Author: Eric Anholt <anholt@freebsd.org>
Date: Sun Nov 20 22:08:55 2005 +0000
Add/improve .cvsignore files for apps.
commit 7e1cf1fef9dd000569dd5390380fb567314644a5
Author: Kevin E Martin <kem@kem.org>
Date: Sat Nov 19 07:15:38 2005 +0000
Update pkgconfig files to separate library build-time dependencies from
application build-time dependencies, and update package deps to work
with separate build roots.
commit 89ab28833d4e2ff412a92bb2b47af2d78a109c00
Author: Kevin E Martin <kem@kem.org>
Date: Wed Oct 19 02:47:57 2005 +0000
* configure.ac:
Update package version number for RC1 release.
commit 60178bb0c8bc97055c9aee7986866ada615491e6
Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
Date: Mon Oct 17 23:56:24 2005 +0000
Use @APP_MAN_SUFFIX@ instead of $(APP_MAN_SUFFIX) in macro substitutions to
work better with BSD make
commit 958b347b1e5e427858d3e693e5487ec7ba4f5054
Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
Date: Fri Oct 14 00:25:47 2005 +0000
Use sed to fill in variables in man page
commit 35e7414c6e4505b2e71be0e54ed0c7ff74f39db1
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Thu Oct 6 10:03:08 2005 +0000
Tell the user when setting the screen configuration fails. Return nonzero
so scripts can find out too.
commit 938ff7de3f2bc4979bbf8a5f68190cde2be12696
Author: Kevin E Martin <kem@kem.org>
Date: Fri Jul 29 21:22:37 2005 +0000
Various changes preparing packages for RC0:
- Verify and update package version numbers as needed
- Implement versioning scheme
- Change bug address to point to bugzilla bug entry form
- Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
reenable it)
- Fix makedepend to use pkgconfig and pass distcheck
- Update build script to build macros first
- Update modular Xorg version
commit f241e34fd0f3bedf5aa615dc8e17352b91de8cd9
Author: Daniel Stone <daniel@fooishbar.org>
Date: Fri Jul 22 07:18:28 2005 +0000
Fix path to man pages.
commit f87ac740a20ec3e8b452959081816f5fddeaaf87
Author: Adam Jackson <ajax@nwnk.net>
Date: Wed Jul 20 19:32:03 2005 +0000
Use a unique token for PKG_CHECK_MODULES. Otherwise, if you use a global
configure cache, you cache it, and the cached value is probably wrong.
commit 5666f22654447eb381186a85a8e1630d419b0a88
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Date: Fri Jul 1 20:27:45 2005 +0000
Build systems for xrdb, xrandr, xrefresh
commit 39a8c733612722dca456c315a5ad299da1fe29d6
Author: Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>
Date: Sat Dec 4 00:43:18 2004 +0000
Encoding of numerous files changed to UTF-8
commit df8c56f1f66cce27dd018248a30cd9465d2b545c
Author: Egbert Eich <eich@suse.de>
Date: Fri Apr 23 19:55:03 2004 +0000
Merging XORG-CURRENT into trunk
commit 791685e93f32489dcd2d02a77e1a79ffb6c97c17
Author: Egbert Eich <eich@suse.de>
Date: Sun Mar 14 08:35:42 2004 +0000
Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004
commit 342e5f4d491f137e3930213e62192de3eece3155
Author: Egbert Eich <eich@suse.de>
Date: Wed Mar 3 12:13:15 2004 +0000
Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004
commit e3c0383c8fdcf38d34b3fad607949b0693184ca7
Author: Egbert Eich <eich@suse.de>
Date: Thu Feb 26 13:36:26 2004 +0000
readding XFree86's cvs IDs
commit 633350fa648d2b57b3dd94cb1d220a0b826bef55
Author: Egbert Eich <eich@suse.de>
Date: Thu Feb 26 09:24:14 2004 +0000
Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004
commit 22c66075090a14ad022ae73a080e76a5ace7c5d1
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date: Tue Nov 25 19:29:15 2003 +0000
XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks
commit 05fa20267de7cdf44fb6de556910ed0e4ce665a5
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date: Fri Nov 14 16:49:23 2003 +0000
XFree86 4.3.0.1
commit c973a27b6d07b8711041c0c22ba8568f168b447a
Author: Kaleb Keithley <kaleb@freedesktop.org>
Date: Fri Nov 14 16:49:23 2003 +0000
Initial revision

View File

@ -34,8 +34,9 @@ appmandir = $(APP_MAN_DIR)
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
EXTRA_DIST = $(appman_PRE)
EXTRA_DIST = $(appman_PRE) ChangeLog autogen.sh xrandr_test.pl
CLEANFILES = $(appman_DATA)
MAINTAINERCLEANFILES = ChangeLog
SED = sed
@ -60,3 +61,12 @@ SUFFIXES = .$(APP_MAN_SUFFIX) .man
.man.$(APP_MAN_SUFFIX):
sed $(MAN_SUBSTS) < $< > $@
.PHONY: ChangeLog
ChangeLog:
(GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || \
(touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
dist-hook: ChangeLog

View File

@ -216,8 +216,9 @@ appman_PRE = \
appmandir = $(APP_MAN_DIR)
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
EXTRA_DIST = $(appman_PRE)
EXTRA_DIST = $(appman_PRE) ChangeLog autogen.sh xrandr_test.pl
CLEANFILES = $(appman_DATA)
MAINTAINERCLEANFILES = ChangeLog
SED = sed
# Strings to replace in man pages
@ -436,6 +437,9 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
@ -565,6 +569,7 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
@ -620,8 +625,8 @@ uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS \
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-compile distclean-generic distclean-hdr \
dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
distclean distclean-compile distclean-generic distclean-hdr \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-appmanDATA install-binPROGRAMS install-data \
@ -636,6 +641,14 @@ uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS \
.man.$(APP_MAN_SUFFIX):
sed $(MAN_SUBSTS) < $< > $@
.PHONY: ChangeLog
ChangeLog:
(GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || \
(touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
dist-hook: ChangeLog
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

12
app/xrandr/aclocal.m4 vendored
View File

@ -1042,7 +1042,7 @@ AC_DEFUN([XORG_MACROS_VERSION],[
XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}])
[XORG_MACROS_version=1.1.5
[XORG_MACROS_version=1.1.6
XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
@ -1191,7 +1191,11 @@ AC_DEFUN([XORG_CHECK_LINUXDOC],[
XORG_SGML_PATH=$prefix/share/sgml
HAVE_DEFS_ENT=
AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
if test x"$cross_compiling" = x"yes" ; then
HAVE_DEFS_ENT=no
else
AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
fi
AC_PATH_PROG(LINUXDOC, linuxdoc)
AC_PATH_PROG(PS2PDF, ps2pdf)
@ -1463,14 +1467,14 @@ AC_DEFUN([XORG_RELEASE_VERSION],[
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
[`echo $PACKAGE_VERSION | cut -d . -f 1`],
[Major version of this package])
PVM=`echo $PACKAGE_VERSION | cut -d . -f 2`
PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
if test "x$PVM" = "x"; then
PVM="0"
fi
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
[$PVM],
[Minor version of this package])
PVP=`echo $PACKAGE_VERSION | cut -d . -f 3`
PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
if test "x$PVP" = "x"; then
PVP="0"
fi

24
app/xrandr/configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for xrandr 1.2.2.
# Generated by GNU Autoconf 2.59 for xrandr 1.2.3.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='xrandr'
PACKAGE_TARNAME='xrandr'
PACKAGE_VERSION='1.2.2'
PACKAGE_STRING='xrandr 1.2.2'
PACKAGE_VERSION='1.2.3'
PACKAGE_STRING='xrandr 1.2.3'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE PKG_CONFIG ac_pt_PKG_CONFIG XRANDR_CFLAGS XRANDR_LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os APP_MAN_SUFFIX LIB_MAN_SUFFIX FILE_MAN_SUFFIX MISC_MAN_SUFFIX DRIVER_MAN_SUFFIX ADMIN_MAN_SUFFIX APP_MAN_DIR LIB_MAN_DIR FILE_MAN_DIR MISC_MAN_DIR DRIVER_MAN_DIR ADMIN_MAN_DIR LIBOBJS LTLIBOBJS'
@ -750,7 +750,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures xrandr 1.2.2 to adapt to many kinds of systems.
\`configure' configures xrandr 1.2.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -816,7 +816,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of xrandr 1.2.2:";;
short | recursive ) echo "Configuration of xrandr 1.2.3:";;
esac
cat <<\_ACEOF
@ -945,7 +945,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
xrandr configure 1.2.2
xrandr configure 1.2.3
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@ -959,7 +959,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by xrandr $as_me 1.2.2, which was
It was created by xrandr $as_me 1.2.3, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@ -1557,7 +1557,7 @@ fi
# Define the identity of the package.
PACKAGE='xrandr'
VERSION='1.2.2'
VERSION='1.2.3'
cat >>confdefs.h <<_ACEOF
@ -3264,7 +3264,7 @@ cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION_MAJOR `echo $PACKAGE_VERSION | cut -d . -f 1`
_ACEOF
PVM=`echo $PACKAGE_VERSION | cut -d . -f 2`
PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
if test "x$PVM" = "x"; then
PVM="0"
fi
@ -3273,7 +3273,7 @@ cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION_MINOR $PVM
_ACEOF
PVP=`echo $PACKAGE_VERSION | cut -d . -f 3`
PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
if test "x$PVP" = "x"; then
PVP="0"
fi
@ -3668,7 +3668,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by xrandr $as_me 1.2.2, which was
This file was extended by xrandr $as_me 1.2.3, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -3731,7 +3731,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
xrandr config.status 1.2.2
xrandr config.status 1.2.3
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"

View File

@ -1,4 +1,3 @@
dnl Copyright 2005 Red Hat, Inc.
dnl
dnl Permission to use, copy, modify, distribute, and sell this software and its
@ -22,7 +21,7 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.57])
AC_INIT(xrandr,[1.2.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xrandr)
AC_INIT(xrandr,[1.2.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xrandr)
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE

View File

@ -1284,6 +1284,20 @@ check_crtc_for_output (crtc_t *crtc, output_t *output)
if (crtc->rotation != output->rotation)
return False;
}
else if (crtc->crtc_info->noutput)
{
/* make sure the state matches the already used state */
XRRModeInfo *mode = find_mode_by_xid (crtc->crtc_info->mode);
if (mode != output->mode_info)
return False;
if (crtc->crtc_info->x != output->x)
return False;
if (crtc->crtc_info->y != output->y)
return False;
if (crtc->crtc_info->rotation != output->rotation)
return False;
}
return True;
}
@ -1520,14 +1534,13 @@ pick_crtcs_score (output_t *outputs)
best_score = score;
}
}
if (output->crtc_info != best_crtc)
output->crtc_info = best_crtc;
/*
* Reset other outputs based on this one using the best crtc
*/
if (output->crtc_info != best_crtc)
{
output->crtc_info = best_crtc;
(void) pick_crtcs_score (outputs);
}
return best_score;
}
@ -1544,13 +1557,20 @@ pick_crtcs (void)
*/
for (output = outputs; output; output = output->next)
{
if (output->changes && output->mode_info && !output->crtc_info)
if (output->changes && output->mode_info)
{
if (output->crtc_info) {
if (output->crtc_info->crtc_info->noutput > 0 &&
(output->crtc_info->crtc_info->noutput > 1 ||
output != find_output_by_xid (output->crtc_info->crtc_info->outputs[0])))
break;
} else {
output->crtc_info = find_crtc_for_output (output);
if (!output->crtc_info)
break;
}
}
}
/*
* Everyone is happy
*/
@ -1712,9 +1732,12 @@ main (int argc, char **argv)
}
if (!strcmp ("--output", argv[i])) {
if (++i >= argc) usage();
output = add_output ();
output = find_output_by_name (argv[i]);
if (!output) {
output = add_output ();
set_name (&output->output, argv[i], name_string|name_xid);
}
setit_1_2 = True;
continue;
@ -2404,6 +2427,10 @@ main (int argc, char **argv)
for (f = 0; mode_flags[f].flag; f++)
if (mode->modeFlags & mode_flags[f].flag)
printf (" %s", mode_flags[f].string);
if (mode == output->mode_info)
printf (" *current");
if (j < output_info->npreferred)
printf (" +preferred");
printf ("\n");
printf (" h: width %4d start %4d end %4d total %4d skew %4d clock %6.1fKHz\n",
mode->width, mode->hSyncStart, mode->hSyncEnd,

View File

@ -70,8 +70,15 @@ xrandr \- primitive command line interface to RandR extension
.I Xrandr
is used to set the size, orientation and/or reflection of the outputs for a
screen. It can also set the screen size.
There are a few global options; the rest modify a particular output and
follow the specification of that output on the command line.
If invoked without any option, it will dump the state of the outputs,
showing the existing modes for each of them, with a '+' after the preferred
mode and a '*' after the current mode.
There are a few global options. Other options modify the last output that is
specified in earlier parameters in the command line. Multiple outputs may
be modified at the same time by passing mutiple \-\-output options followed
immediately by their corresponding modifying options.
.IP \-\-help
Print out a summary of the usage and exit.
.IP \-v

329
app/xrandr/xrandr_test.pl Normal file
View File

@ -0,0 +1,329 @@
#!/usr/bin/perl
#
# xrandr Test suite
#
# Do a set of xrandr calls and verify that the screen setup is as expected
# after each call.
#
$xrandr="xrandr";
$xrandr=$ENV{XRANDR} if defined $ENV{XRANDR};
$version="0.1";
$inbetween="";
print "\n***** xrandr test suite V$version *****\n\n";
# Known issues and their fixes
%fixes=(
s2 => "xrandr: 307f3686",
s4 => "xserver: f7dd0c72",
s11 => "xrandr: f7aaf894",
s18 => "issue known, but not fixed yet"
);
# Get output configuration
@outputs=();
%mode_name=();
%out_modes=();
%modes=();
open P, "$xrandr --verbose|" or die "$xrandr";
while (<P>) {
if (/^\S/) {
$o=""; $m=""; $x="";
}
if (/^(\S+)\s(connected|unknown connection)\s/) {
$o=$1;
push @outputs, $o if $2 eq "connected";
push @outputs_unknown, $o if $2 eq "unknown connection";
$out_modes{$o}=[];
} elsif (/^\s+(\d+x\d+)\s+\((0x[0-9a-f]+)\)/) {
my $m=$1;
my $x=$2;
while (<P>) {
if (/^\s+(\d+x\d+)\s+\((0x[0-9a-f]+)\)/) {
print "WARNING: Ignoring incomplete mode $x:$m on $o\n";
$m=$1, $x=$2;
} elsif (/^\s+v:.*?([0-9.]+)Hz\s*$/) {
if (defined $mode_name{$x} && $mode_name{$x} ne "$m\@$1") {
print "WARNING: Ignoring mode $x:$m\@$1 because $x:$mode_name{$x} already exists\n";
last;
}
if (defined $modes{"$o:$x"}) {
print "WARNING: Ignoring duplicate mode $x on $o\n";
last;
}
$mode_name{$x}="$m\@$1";
push @{$out_modes{$o}}, $x;
$modes{"$o:$x"}=$x;
$modes{"$o:$m\@$1"}=$x;
$modes{"$o:$m"}=$x;
last;
}
}
}
}
close P;
@outputs=(@outputs,@outputs_unknown) if @outputs < 2;
# preamble
if ($ARGV[0] eq "-w") {
print "Waiting for keypress after each test for manual verification.\n\n";
$inbetween='print " Press <Return> to continue...\n"; $_=<STDIN>';
} elsif ($ARGV[0] ne "") {
print "Preparing for test # $ARGV[0]\n\n";
$prepare = $ARGV[0];
}
print "Detected connected outputs and available modes:\n\n";
for $o (@outputs) {
print "$o:";
my $i=0;
for $x (@{$out_modes{$o}}) {
print "\n" if $i++ % 3 == 0;
print " $x:$mode_name{$x}";
}
print "\n";
}
print "\n";
if (@outputs < 2) {
print "Found less than two connected outputs. No tests available for that.\n";
exit 1;
}
if (@outputs > 2) {
print "Note: No tests for more than two connected outputs available yet.\n";
print "Using the first two outputs.\n\n";
}
$a=$outputs[0];
$b=$outputs[1];
# For each resolution only a single refresh rate should be used in order to
# reduce ambiguities. For that we need to find unused modes. The %used hash is
# used to track used ones. All references point to <id>.
# <output>:<id>
# <output>:<width>x<height>@<refresh>
# <output>:<width>x<height>
# <id>
# <width>x<height>@<refresh>
# <width>x<height>
%used=();
# Find biggest common mode
undef $sab;
for my $x (@{$out_modes{$a}}) {
if (defined $modes{"$b:$x"}) {
$m=$mode_name{$x};
$sab="$x:$m";
$m =~ m/(\d+x\d+)\@([0-9.]+)/;
$used{$x} = $x;
$used{$1} = $x;
$used{"$a:$x"} = $x;
$used{"$b:$x"} = $x;
$used{"$a:$m"} = $mode_name{$x};
$used{"$b:$m"} = $mode_name{$x};
$used{"$a:$1"} = $x;
$used{"$b:$1"} = $x;
last;
}
}
if (! defined $sab) {
print "Cannot find common mode between $a and $b.\n";
print "Test suite is designed to need a common mode.\n";
exit 1;
}
# Find sets of additional non-common modes
# Try to get non-overlapping resolution set, but if that fails get overlapping
# ones but with different refresh values, if that fails any with nonequal
# timings, and if that fails any one, but warn.
# Try modes unknown to other outputs first, they might need common ones
# themselves.
sub get_mode {
my $o=$_[0];
for my $pass (1, 2, 3, 4, 5, 6, 7, 8, 9) {
CONT: for my $x (@{$out_modes{$o}}) {
$m = $mode_name{$x};
$m =~ m/(\d+x\d+)\@([0-9.]+)/;
next CONT if defined $used{"$o:$x"};
next CONT if $pass < 9 && defined $used{"$o:$m"};
next CONT if $pass < 7 && defined $used{"$o:$1"};
next CONT if $pass < 6 && defined $used{$m};
next CONT if $pass < 4 && defined $used{$1};
for my $other (@outputs) {
next if $other eq $o;
next CONT if $pass < 8 && defined $used{"$o:$x"};
next CONT if $pass < 5 && $used{"$other:$1"};
next CONT if $pass < 3 && $modes{"$other:$m"};
next CONT if $pass < 2 && $modes{"$other:$1"};
}
if ($pass >= 6) {
print "Warning: No more non-common modes, using $m for $o\n";
}
$used{"$o:$x"} = $x;
$used{"$o:$m"} = $x;
$used{"$o:$1"} = $x;
$used{$x} = $x;
$used{$m} = $x;
$used{$1} = $x;
return "$x:$m";
}
}
print "Warning: Cannot find any more modes for $o.\n";
return undef;
}
sub mode_to_randr {
$_[0] =~ m/^(0x[0-9a-f]+):(\d+)x(\d+)\@([0-9.]+)/;
return "--mode $1";
}
$sa1=get_mode($a);
$sa2=get_mode($a);
$sb1=get_mode($b);
$sb2=get_mode($b);
$mab=mode_to_randr($sab);
$ma1=mode_to_randr($sa1);
$ma2=mode_to_randr($sa2);
$mb1=mode_to_randr($sb1);
$mb2=mode_to_randr($sb2);
# Shortcuts
$oa="--output $a";
$ob="--output $b";
# Print config
print "A: $a (mab,ma1,ma2)\nB: $b (mab,mb1,mb2)\n\n";
print "mab: $sab\nma1: $sa1\nma2: $sa2\nmb1: $sb1\nmb2: $sb2\n\n";
print "Initial config:\n";
system "$xrandr";
print "\n";
# Test subroutine
sub t {
my $name=$_[0];
my $expect=$_[1];
my $args=$_[2];
print "*** $name: $args\n";
print "? $expect\n" if $expect ne "";
if ($name eq $prepare) {
print "-> Prepared to run test\n\nRun test now with\n$xrandr --verbose $args\n\n";
exit 0;
}
my %r = ();
my $r = "";
my $out = "";
if (system ("$xrandr --verbose $args") == 0) {
# Determine active configuration
open P, "$xrandr --verbose|" or die "$xrandr";
my ($o, $c, $m, $x);
while (<P>) {
$out.=$_;
if (/^\S/) {
$o=""; $c=""; $m=""; $x="";
}
if (/^(\S+)\s(connected|unknown connection) (\d+x\d+)\+\d+\+\d+\s+\((0x[0-9a-f]+)\)/) {
$o=$1;
$m=$3;
$x=$4;
$o="A" if $o eq $a;
$o="B" if $o eq $b;
} elsif (/^\s*CRTC:\s*(\d)/) {
$c=$1;
} elsif (/^\s+$m\s+\($x\)/) {
while (<P>) {
$out.=$_;
if (/^\s+\d+x\d+\s/) {
$r{$o}="$x:$m\@?($c)" unless defined $r{$o};
# we don't have to reparse this - something is wrong anyway,
# and it probably is no relevant resolution as well
last;
} elsif (/^\s+v:.*?([0-9.]+)Hz\s*$/) {
$r{$o}="$x:$m\@$1($c)";
last;
}
}
}
}
for $o (sort keys %r) {
$r .= " $o: $r{$o}";
}
close P;
} else {
$expect="success" if $expect="";
$r="failed";
}
# Verify
if ($expect ne "") {
print "->$r\n";
if ($r eq " $expect") {
print "-> ok\n\n";
} else {
print "\n$out";
print "\n-> FAILED: Test # $name:\n\n";
print " $xrandr --verbose $args\n\n";
if ($fixes{$name}) {
print "\nThere are known issues with some packages regarding this test.\n";
print "Please verify that you have at least the following git versions\n";
print "before reporting a bug to xorg-devel:\n\n";
print " $fixes{$name}\n\n";
}
exit 1;
}
eval $inbetween;
} else {
print "-> ignored\n\n";
}
}
# Test cases
#
# The tests are carefully designed to test certain transitions between
# RandR states that can only be reached by certain calling sequences.
# So be careful with altering them. For additional tests, better add them
# to the end of already existing tests of one part.
# Part 1: Single output switching tests (except for trivial explicit --crtc)
t ("p", "", "$oa --off $ob --off");
t ("s1", "A: $sa1(0)", "$oa $ma1 --crtc 0");
t ("s2", "A: $sa1(0) B: $sab(1)", "$ob $mab");
# TODO: should be A: $sab(1) someday (auto re-cloning)"
#t ("s3", "A: $sab(1) B: $sab(1)", "$oa $mab");
t ("s3", "A: $sab(0) B: $sab(1)", "$oa $mab --crtc 0");
t ("p4", "A: $sab(1) B: $sab(1)", "$oa $mab --crtc 1 $ob --crtc 1");
t ("s4", "A: $sa2(0) B: $sab(1)", "$oa $ma2");
t ("s5", "A: $sa1(0) B: $sab(1)", "$oa $ma1");
t ("s6", "A: $sa1(0) B: $sb1(1)", "$ob $mb1");
t ("s7", "A: $sab(0) B: $sb1(1)", "$oa $mab");
t ("s8", "A: $sab(0) B: $sb2(1)", "$ob $mb2");
t ("s9", "A: $sab(0) B: $sb1(1)", "$ob $mb1");
# TODO: should be B: $sab(0) someday (auto re-cloning)"
#t ("s10", "A: $sab(0) B: $sab(0)", "$ob $mab");
t ("p11", "A: $sab(0) B: $sab(0)", "$oa --crtc 0 $ob $mab --crtc 0");
t ("s11", "A: $sa1(1) B: $sab(0)", "$oa $ma1");
t ("s12", "A: $sa1(1) B: $sb1(0)", "$ob $mb1");
t ("s13", "A: $sa1(1) B: $sab(0)", "$ob $mab");
t ("s14", "A: $sa2(1) B: $sab(0)", "$oa $ma2");
t ("s15", "A: $sa1(1) B: $sab(0)", "$oa $ma1");
t ("p16", "A: $sab(0) B: $sab(0)", "$oa $mab --crtc 0 $ob --crtc 0");
t ("s16", "A: $sab(1) B: $sab(0)", "$oa --pos 10x0");
t ("p17", "A: $sab(0) B: $sab(0)", "$oa --crtc 0 $ob --crtc 0");
t ("s17", "A: $sab(0) B: $sab(1)", "$ob --pos 10x0");
t ("p18", "A: $sab(0) B: $sab(0)", "$oa --crtc 0 $ob --crtc 0");
# TODO: s18-s19 are known to fail
t ("s18", "A: $sab(1) B: $sab(0)", "$oa --crtc 1");
t ("p19", "A: $sab(1) B: $sab(1)", "$oa --crtc 1 $ob --crtc 1");
t ("s19", "A: $sab(0) B: $sab(1)", "$oa --pos 10x0");
# Part 2: Complex dual output switching tests
# TODO: d1 is known to fail
t ("pd1", "A: $sab(0)", "$oa --crtc 0 $ob --off");
t ("d1", "B: $sab(0)", "$oa --off $ob $mab");
# Done
print "All tests succeeded.\n";
exit 0;