Mailinglist Archive: opensuse-commit (1301 mails)

< Previous Next >
commit xorg-x11
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Thu, 05 Jul 2007 00:17:56 +0200
  • Message-id: <20070704221756.81D13678180@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package xorg-x11
checked in at Thu Jul 5 00:17:56 CEST 2007.

--------
--- xorg-x11/xorg-x11.changes   2007-06-28 20:34:47.000000000 +0200
+++ /mounts/work_src_done/STABLE/xorg-x11/xorg-x11.changes      2007-07-04 23:04:04.000000000 +0200
@@ -1,0 +2,29 @@
+Wed Jul  4 21:43:04 CEST 2007 - sndirsch@xxxxxxx
+
+- xrandr 1.2.1 (obsoletes xrandr.diff, xrandr_12_newmode.diff)
+  * Fix a typo.  Make mode flags case insensitive. Improve error 
+    messages.
+  * Fix bugs found by compiling with -Wall.
+  * Add --same-as option to match output positions.
+  * Add --newmode/--rmmode to create/destroy user modes.
+  * Add --addmode and --delmode commands to edit list of modes per output.
+  * Make --auto after --output only affect the output.
+  * Make --q1 output RandR 1.1 query information.
+  * Bounds check -s <index> argument to be 0 <= index < nsize
+  * Add --set option to set output properties.
+  * Support XA_ATOM properties (like TV_FORMAT).
+  * Skip relative positions for outputs without modes.
+  * Fixed alignment of the clones list.
+- grandr 0.1 (GTK+ based RandR UI)
+  * Intel's Open Source technology center is pleased to announce
+    the initial version of a GTK+-based tool to configure the X
+    output using the RandR 1.2 extension. grandr, written by Ming
+    Lin, provides a friendly interface to monitor configuration
+    and includes controls for video mode, rotation and monitor
+    position.
+- xbacklight 1.0
+  * xbacklight is a simple command-line utility to set the
+    backlight level using the RandR 1.2 BACKLIGHT output property.
+- xinit 1.0.4
+
+-------------------------------------------------------------------

Old:
----
  xinit-1.0.3.tar.bz2
  xrandr-1.2.0.tar.bz2
  xrandr_12_newmode.diff
  xrandr.diff

New:
----
  grandr-0.1.tar.bz2
  xbacklight-1.0.tar.bz2
  xinit-1.0.4.tar.bz2
  xrandr-1.2.1.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11.spec ++++++
--- /var/tmp/diff_new_pack.P22031/_old  2007-07-05 00:16:39.000000000 +0200
+++ /var/tmp/diff_new_pack.P22031/_new  2007-07-05 00:16:39.000000000 +0200
@@ -11,11 +11,11 @@
 # norootforbuild
 
 Name:           xorg-x11
-BuildRequires:  fontconfig-devel freetype2-devel libpng-devel pam-devel pkgconfig rsh update-desktop-files xorg-x11-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXfixes-devel xorg-x11-libXmu-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXprintUtil-devel xorg-x11-libXrender-devel xorg-x11-libXt-devel xorg-x11-libXv-devel xorg-x11-libfontenc-devel xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-xtrans-devel
+BuildRequires:  fontconfig-devel freetype2-devel gconf2-devel gtk2-devel libpng-devel pam-devel pkgconfig rsh update-desktop-files xorg-x11-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXfixes-devel xorg-x11-libXmu-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXprintUtil-devel xorg-x11-libXrender-devel xorg-x11-libXt-devel xorg-x11-libXv-devel xorg-x11-libfontenc-devel xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-xtrans-devel
 BuildRequires:  mcpp
 URL:            http://xorg.freedesktop.org/
 Version:        7.2
-Release:        89
+Release:        90
 License:        X11/MIT, xc/fonts/scaled/Type1/Copyright
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Group:          System/X11/Utilities
@@ -77,7 +77,7 @@
 Source52:       xgamma-X11R7.0-1.0.1.tar.bz2
 Source53:       xgc-X11R7.0-1.0.1.tar.bz2
 Source54:       xhost-X11R7.1-1.0.1.tar.bz2
-Source55:       xinit-1.0.3.tar.bz2
+Source55:       xinit-1.0.4.tar.bz2
 Source56:       xkbcomp-1.0.3.tar.bz2
 Source57:       xkbevd-X11R7.1-1.0.2.tar.bz2
 Source58:       xkbprint-X11R7.0-1.0.1.tar.bz2
@@ -99,7 +99,7 @@
 Source74:       xpr-1.0.2.tar.bz2
 Source75:       xprehashprinterlist-X11R7.0-1.0.1.tar.bz2
 Source76:       xprop-1.0.2.tar.bz2
-Source77:       xrandr-1.2.0.tar.bz2
+Source77:       xrandr-1.2.1.tar.bz2
 Source78:       xrdb-1.0.3.tar.bz2
 Source79:       xrefresh-X11R7.1-1.0.2.tar.bz2
 Source80:       xrx-X11R7.0-1.0.1.tar.bz2
@@ -117,6 +117,8 @@
 Source92:       xwud-X11R7.0-1.0.1.tar.bz2
 Source93:       mkcomposecache-1.2.tar.bz2
 Source94:       rendercheck-1.2.tar.bz2
+Source95:       grandr-0.1.tar.bz2
+Source96:       xbacklight-1.0.tar.bz2
 Source200:      misc.tar.bz2
 Source201:      twm.tar.bz2
 Source202:      xdm.tar.bz2
@@ -130,7 +132,6 @@
 Patch6:         xedit.diff
 Patch7:         xinit.diff
 Patch8:         xsm.diff
-Patch9:         xrandr.diff
 Patch10:        xrx.diff
 Patch11:        xconsole.diff
 Patch12:        ps_suse.diff
@@ -142,7 +143,6 @@
 Patch20:        xdm.diff
 Patch21:        xvidtune.diff
 Patch22:        beforelight.diff
-Patch23:        xrandr_12_newmode.diff
 Patch24:        xauth-1.0.2.diff
 
 %description
@@ -205,10 +205,6 @@
 pushd xsm-*
 %patch8
 popd
-pushd xrandr-*
-%patch9
-%patch23 -p1
-popd
 pushd xrx-*
 %patch10
 popd
@@ -453,6 +449,32 @@
 /var/lib/xdm/authdir/
 
 %changelog
+* Wed Jul 04 2007 - sndirsch@xxxxxxx
+- xrandr 1.2.1 (obsoletes xrandr.diff, xrandr_12_newmode.diff)
+  * Fix a typo.  Make mode flags case insensitive. Improve error
+  messages.
+  * Fix bugs found by compiling with -Wall.
+  * Add --same-as option to match output positions.
+  * Add --newmode/--rmmode to create/destroy user modes.
+  * Add --addmode and --delmode commands to edit list of modes per output.
+  * Make --auto after --output only affect the output.
+  * Make --q1 output RandR 1.1 query information.
+  * Bounds check -s <index> argument to be 0 <= index < nsize
+  * Add --set option to set output properties.
+  * Support XA_ATOM properties (like TV_FORMAT).
+  * Skip relative positions for outputs without modes.
+  * Fixed alignment of the clones list.
+- grandr 0.1 (GTK+ based RandR UI)
+  * Intel's Open Source technology center is pleased to announce
+  the initial version of a GTK+-based tool to configure the X
+  output using the RandR 1.2 extension. grandr, written by Ming
+  Lin, provides a friendly interface to monitor configuration
+  and includes controls for video mode, rotation and monitor
+  position.
+- xbacklight 1.0
+  * xbacklight is a simple command-line utility to set the
+  backlight level using the RandR 1.2 BACKLIGHT output property.
+- xinit 1.0.4
 * Thu Jun 28 2007 - dmueller@xxxxxxx
 - xauth: crash on removing non-existant entry
 * Fri Jun 22 2007 - sndirsch@xxxxxxx

++++++ ps_suse.diff ++++++
--- /var/tmp/diff_new_pack.P22031/_old  2007-07-05 00:16:40.000000000 +0200
+++ /var/tmp/diff_new_pack.P22031/_new  2007-07-05 00:16:40.000000000 +0200
@@ -18,7 +18,7 @@
  
  Color
 --- xinit-X11R7.1-1.0.2.orig/xinitrc.cpp       2006-08-19 11:02:26.000000000 +0200
-+++ xinit-1.0.3/xinitrc.cpp    2006-08-19 11:02:35.000000000 +0200
++++ xinit-1.0.4/xinitrc.cpp    2006-08-19 11:02:35.000000000 +0200
 @@ -68,8 +68,10 @@
  
  XCOMM This is the fallback case if nothing else is executed above
@@ -33,7 +33,7 @@
 -exec XTERM -geometry 80x66+0+0 -name login
 +exec TWM
 --- xinit-X11R7.1-1.0.2.orig/startx.cpp        2006-08-19 11:02:26.000000000 +0200
-+++ xinit-1.0.3/startx.cpp     2006-08-19 11:14:43.000000000 +0200
++++ xinit-1.0.4/startx.cpp     2006-08-19 11:14:43.000000000 +0200
 @@ -62,10 +62,115 @@
  sysclientrc=XINITDIR/xinitrc
  #endif

++++++ p_xauth.diff ++++++
--- /var/tmp/diff_new_pack.P22031/_old  2007-07-05 00:16:40.000000000 +0200
+++ /var/tmp/diff_new_pack.P22031/_new  2007-07-05 00:16:40.000000000 +0200
@@ -289,7 +289,7 @@
        }
        doWrite = 1;
 --- programs/xinit/startx.cpp.orig     2005-11-11 11:16:53.000000000 +0100
-+++ xinit-1.0.3/startx.cpp     2005-11-11 11:35:19.000000000 +0100
++++ xinit-1.0.4/startx.cpp     2005-11-11 11:35:19.000000000 +0100
 @@ -328,6 +328,7 @@
  . /etc/sysconfig/displaymanager
  test "$DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" != "yes" && \

++++++ xinit-1.0.3.tar.bz2 -> xinit-1.0.4.tar.bz2 ++++++
++++ 11889 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/autogen.sh new/xinit-1.0.4/autogen.sh
--- old/xinit-1.0.3/autogen.sh  1970-01-01 01:00:00.000000000 +0100
+++ new/xinit-1.0.4/autogen.sh  2006-11-06 23:45:48.000000000 +0100
@@ -0,0 +1,13 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/ChangeLog new/xinit-1.0.4/ChangeLog
--- old/xinit-1.0.3/ChangeLog   2006-10-12 00:15:55.000000000 +0200
+++ new/xinit-1.0.4/ChangeLog   2007-05-22 05:03:25.000000000 +0200
@@ -1,103 +1,417 @@
-2006-06-20  Matthieu Herrb <matthieu.herrb@xxxxxxx>
+commit e9c1d1667b58c738cb1317219cc0ac84bef2a5d6
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon May 21 20:00:38 2007 -0700
 
-       * xinit.c:
-       Check setuid() return value. Bugzilla #7116.
+    Version bump: 1.0.4
 
-2006-05-27  Jeremy C. Reed  <reed@xxxxxxxxxxxxx>
+commit 3686497f31ac9f548f6f3aa5d4418a96fe564497
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon May 21 18:42:56 2007 -0700
 
-       * startx.cpp:
-       In comments, change contractions to be spelled out to fix
-       cpp "missing terminating" errors with single quotes.
+    Remove old Imake checks now that we always build with autoconf
 
-2006-04-30  Matthieu Herrb <matthieu.herrb@xxxxxxx>
+commit d5b726c2dbc22b6fd9623604e9252aaef30c387c
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon May 21 18:18:56 2007 -0700
 
-       * configure.ac:
-       Quote MCOOKIE to allow to specify a command with args (ie
-       MCOOKIE="/usr/sbin/openssl rand -hex 16" ./configure ...)
+    Remove support for pre-POSIX-1990 platforms
 
-2006-04-01  Adam Jackson  <ajax@xxxxxxxxxxxxxxx>
+commit dfba9a82068b44429a08b307d26b91495c10c7c1
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon May 21 17:52:38 2007 -0700
 
-       * configure.ac:
-       Bump to 1.0.2.
+    Modernize list of Xservers printed when "X" is not found in $PATH
 
-2006-02-25  Jeremy C. Reed  <reed@xxxxxxxxxxxxx>
+commit a73284c7aeeab7ee0c1b6027819955ef7b08f23d
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon May 21 17:09:40 2007 -0700
 
-       * startx.cpp:
-       Bug #4449 <https://bugs.freedesktop.org/show_bug.cgi?id=4449>
-       Be more portable (for different /bin/sh shells) for
-       the arithmetic.
+    Replace static ChangeLog with dist hook to generate from git log
 
-2005-12-20  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit 8942f1fd8377c0e67e5ad493af55b7d7b3f996c7
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon May 21 16:49:18 2007 -0700
 
-       * configure.ac:
-       Update package version for X11R7 release.
+    Don't print windowpath debug messages unless built -DDEBUG
+    
+    No need to print warnings on systems without vt support
 
-2005-12-14  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit fa78528b44d4c1c50594359e17114208834a84fd
+Author: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
+Date:   Fri Aug 25 16:48:00 2006 -0800
 
-       * configure.ac:
-       Update package version number for final X11R7 release candidate.
+    X.Org Bugzilla #8013: xinit should set WINDOWPATH
+    
+    X.Org Bugzilla #8013: <https://bugs.freedesktop.org/show_bug.cgi?id=8013>
+    Patch #6701: <https://bugs.freedesktop.org/attachment.cgi?id=6701>
 
-2005-12-06  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit 64f1a94404924b1ada6b43ed33c80a560712ec36
+Author: Daniel Drake <ddrake@xxxxxxxxxxxxx>
+Date:   Mon May 21 16:33:23 2007 -0700
 
-       * Makefile.am:
-       Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
+    Fill in COPYING File (X.Org Bugzilla #11024)
 
-2005-12-03  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit 3b6dad2ba4d4507cd742d8e7ff760fe006c0aa23
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Fri May 18 23:44:06 2007 -0700
 
-       * configure.ac:
-       Add m4 magic to allow AS_HELP_STRING to work with older versions
-       of autoconf 2.57.
+    Bug #10616: Clarify syntax on xinit & startx man pages
+    
+    X.Org Bugzilla #10616: <https://bugs.freedesktop.org/show_bug.cgi?id=10616>
+    Reported upstream from
+    Debian bug #267744 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=267744>
 
-2005-12-03  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit ad23a55a581ab18c4614e2cb5d82c4376ee88722
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon Nov 6 14:56:07 2006 -0800
 
-       * configure.ac:
-       Update package version number for X11R7 RC3 release.
+    Stop hardcoding /usr/X11R6/bin in manpage examples
 
-2005-11-14  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit c50afd78af7496938a10b317c5e41b4d99d1fc60
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon Nov 6 14:47:34 2006 -0800
 
-       * Makefile.am:
-       * configure.ac:
-       Make the programs used in the xinit scripts configurable.
+    Change example X server argument from bc to -br now that bc is gone
 
-2005-11-09  Alan Coopersmith  <alan.coopersmith@xxxxxxx>
+commit 7b3e51364355716731670522b578b23d40fb356b
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon Nov 6 14:46:42 2006 -0800
 
-       * configure.ac: 
-       Add settings for SHELL_CMD & ARCHMANDEFS to match monolith
-       changes for bug #3180.
+    Add *~ to .gitignore to skip over emacs/patch droppings
 
-       AC_DEFINE(XORG,...) so it is listed as available server in xinit
-       help output.
+commit c9da362e9f3f80a91b91011c21ef85e1cd3ef48b
+Author: Alan Coopersmith <alan.coopersmith@xxxxxxx>
+Date:   Mon Nov 6 14:46:15 2006 -0800
 
-       * Makefile.am:
-       Update cpp -D flags to match monolith changes for bug #3180.
-       
-2005-11-09  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+    renamed: .cvsignore -> .gitignore
 
-       * configure.ac:
-       Update package version number for X11R7 RC2 release.
+commit de19be83afe7d0dc9a71fa529e80d91b4e26bdda
+Author: Adam Jackson <ajax@xxxxxxxxxxxxxxxxxxx>
+Date:   Fri Oct 13 17:53:12 2006 -0400
 
-2005-10-18  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+    Bump to 1.0.3
 
-       * configure.ac:
-       Update package version number for RC1 release.
+commit 4fc9d215202b494a9182913f84eb41ba2bd1e39b
+Author: Matthieu Herrb <matthieu.herrb@xxxxxxx>
+Date:   Tue Jun 20 19:25:51 2006 +0000
 
-2005-10-16  Alan Coopersmith  <alan.coopersmith@xxxxxxx>
+    Check setuid() return value. Bugzilla #7116.
 
-       * configure.ac: 
-       * Makefile.am: 
-       Use cpp to substitute variables in man pages
-       
-2005-10-10  Alan Coopersmith  <alan.coopersmith@xxxxxxx>
+commit 732e5f17cf5189854654360e978a62d6d6b82d4b
+Author: Jeremy C. Reed <reed@xxxxxxxxxxxxx>
+Date:   Sat May 27 15:28:04 2006 +0000
 
-       * configure.ac: 
-       * Makefile.am:
-       Don't define HAS_COOKIE_MAKER if mcookie wasn't found.
+    In comments, change contractions to be spelled out to fix cpp "missing
+        terminating" errors with single quotes.
 
-2005-08-29  Daniel Stone  <daniel@xxxxxxxxxxxxxxx>
+commit db74ad799da27eec04b5aed64e3564aef9156a04
+Author: Matthieu Herrb <matthieu.herrb@xxxxxxx>
+Date:   Sun Apr 30 14:19:19 2006 +0000
 
-       Version 0.99.1.
+    Quote MCOOKIE to allow to specify a command with args (ie
+        MCOOKIE="/usr/sbin/openssl rand -hex 16" ./configure ...)
 
-       * configure.ac:
-       * Makefile.am:
-       Define HAS_COOKIE_MAKER and search for mcookie so startx will generate
-       xauth tokens for the servers it starts.
+commit 797f51d176ab9a29497a9141a57a968c5a7d3792
+Author: Adam Jackson <ajax@xxxxxxxx>
+Date:   Sun Apr 2 01:06:41 2006 +0000
+
+    Bump to 1.0.2.
+
+commit bbf54921031f679c0d266a6b2ef4926f872d18f1
+Author: Jeremy C. Reed <reed@xxxxxxxxxxxxx>
+Date:   Sat Feb 25 15:20:06 2006 +0000
+
+    Bug #4449 <https://bugs.freedesktop.org/show_bug.cgi?id=4449> Be more
+        portable (for different /bin/sh shells) for the arithmetic.
+    NetBSD's /bin/sh didn't like: dummy=$((dummy+1)) and complained: startx:
+        arith: syntax error: "dummy+1"
+    This was fixed by NetBSD and also by Gentoo, see:
+        https://launchpad.net/distros/ubuntu/+source/xinit/+bug/31241
+
+commit 6690352bdd01603a5e82e177aab4804d5424b8b1
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Wed Dec 21 02:29:51 2005 +0000
+
+    Update package version for X11R7 release.
+
+commit 9ea919f305201ad9c3695a4534f08d5d373d3eb5
+Author: Adam Jackson <ajax@xxxxxxxx>
+Date:   Mon Dec 19 16:22:44 2005 +0000
+
+    Stub COPYING files
+
+commit 0a95c12d2dd1da5a2c2f7ef3a731ef40074fba23
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Thu Dec 15 00:24:07 2005 +0000
+
+    Update package version number for final X11R7 release candidate.
+
+commit 18056e663f89b0b5019f549365afbdf975a59d61
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Tue Dec 6 22:48:22 2005 +0000
+
+    Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
+
+commit cc7dfc25d5854ac08dfa7dc52c96702e60777e5c
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Sat Dec 3 17:08:50 2005 +0000
+
+    Add m4 magic to allow AS_HELP_STRING to work with older versions of
+        autoconf 2.57.
+
+commit b0081f30f7d2bdc59509e09b7d147700456d562e
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Sat Dec 3 05:49:24 2005 +0000
+
+    Update package version number for X11R7 RC3 release.
+
+commit 15470956794d19c3b1ee0d17e727e0a77436518f
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Mon Nov 28 22:01:43 2005 +0000
+
+    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)
+
+commit 66b04609fdf1910588e05f74f772441c712ed0cc
+Author: Eric Anholt <anholt@xxxxxxxxxxx>
+Date:   Mon Nov 21 10:35:01 2005 +0000
+
+    Another pass at .cvsignores for apps.
+
+commit d286ee2400f8f9c4110971545ef50a556e5c08f9
+Author: Eric Anholt <anholt@xxxxxxxxxxx>
+Date:   Sun Nov 20 22:08:53 2005 +0000
+
+    Add/improve .cvsignore files for apps.
+
+commit 0a06386696875638e9e9b6e47e95affbf542e25d
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Tue Nov 15 04:05:59 2005 +0000
+
+    Make the programs used in the xinit scripts configurable.
+
+commit 549c55ea15e60b9aca5da1ed6f18564f1e69cd26
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Tue Nov 15 04:03:10 2005 +0000
+
+    Make using full paths in the xinit scripts optional.
+
+commit 277975ec73744657e556a0c6380614d8684db7df
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Thu Nov 10 04:25:39 2005 +0000
+
+    Add settings for SHELL_CMD & ARCHMANDEFS to match monolith changes for bug
+        #3180.
+    AC_DEFINE(XORG,...) so it is listed as available server in xinit help
+        output.
+    Update cpp -D flags to match monolith changes for bug #3180.
+
+commit 6e7bcf4f2ea8bb868ed8b0459f1c0d6cc172f4ae
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Wed Nov 9 21:09:21 2005 +0000
+
+    Update package version number for X11R7 RC2 release.
+
+commit af47a9e0dd891dcaa52b12f4eda85381e0467916
+Author: Kean Johnson <kean@xxxxxxxxxx>
+Date:   Tue Nov 8 06:33:33 2005 +0000
+
+    See ChangeLog entry 2005-11-07 for details.
+
+commit 6beb2e4769b8b3708f30ee7adf8037a4e1f39f3d
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Wed Oct 19 02:47:54 2005 +0000
+
+    Update package version number for RC1 release.
+
+commit dc0b907e02d6c1ab917e30c4b262b5c9f780ef12
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Mon Oct 17 23:56:23 2005 +0000
+
+    Use @APP_MAN_SUFFIX@ instead of $(APP_MAN_SUFFIX) in macro substitutions to
+        work better with BSD make
+
+commit 0c48fdb05b2538c94c809e25c8690a7094900e07
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Sun Oct 16 22:18:22 2005 +0000
+
+    Use cpp to substitute variables in man pages
+
+commit 9c8787d2ce69e55b9ba362a92f01592d8ee0a3a3
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Tue Oct 11 01:09:43 2005 +0000
+
+    Don't define HAS_COOKIE_MAKER if mcookie wasn't found.
+
+commit e2dd25d3cf2f10c0cff0d37d05f58b81344db68b
+Author: Adam Jackson <ajax@xxxxxxxx>
+Date:   Tue Oct 4 01:27:34 2005 +0000
+
+    Bug #2027: Treat SIGTERM like SIGINT in xinit. (Andreas Luik)
+
+commit 48ea043e65943fd66e03788be9867c69b96c738c
+Author: Daniel Stone <daniel@xxxxxxxxxxxxx>
+Date:   Mon Aug 29 01:56:12 2005 +0000
+
+    Bump to 0.99.1.
+
+commit 9f74cfed8f808009b3acfa0af383218f3bf0fc00
+Author: Daniel Stone <daniel@xxxxxxxxxxxxx>
+Date:   Mon Aug 29 01:54:30 2005 +0000
+
+    Define HAS_COOKIE_MAKER and search for mcookie so startx will generate
+        xauth tokens for the servers it starts.
+
+commit 52fb36b1ec52e78916bf9cf1a5e7bdce05482b0c
+Author: Eric Anholt <anholt@xxxxxxxxxxx>
+Date:   Thu Aug 11 18:11:32 2005 +0000
+
+    Bugzilla #4045: Do a missed replacement of @@ with \ in startx.
+    Submitted by: David Schleef <ds@xxxxxxxxxxx>
+
+commit ef53714d87aa71309fe2f22862f1892a8e620336
+Author: Eric Anholt <anholt@xxxxxxxxxxx>
+Date:   Thu Aug 11 18:09:45 2005 +0000
+
+    Set CSRG_BASED for BSD systems so the build succeeds.
+
+commit 2b515c0e9940d3fc5b4151d10678f3c0b09668fc
+Author: Kevin E Martin <kem@xxxxxxx>
+Date:   Fri Jul 29 21:22:34 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 22c07dc931424a64046c489ff95b9ca14d7a5552
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Tue Jul 26 18:58:15 2005 +0000
+
+    Use AC_TYPE_SIGNAL and AC_FUNC_VFORK to replace Imake's SIGNAL_DEFINES and
+    -DHAS_VFORK
+
+commit db7faf36b93971eef4857d24efe0de155b7cdb19
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Tue Jul 26 18:55:42 2005 +0000
+
+    Add config.h includes for modularization Use RETSIGTYPE if defined by
+        autoconf in addition to Imake's SIGNALRETURNSINT. Use
+        HAVE_WORKING_VFORK if defined by autoconf in addition to Imake's
+        HAS_VFORK
+
+commit e5280bb6562129bf7617a24784b19da4cbd7abc8
+Author: Adam Jackson <ajax@xxxxxxxx>
+Date:   Mon Jul 25 23:19:06 2005 +0000
+
+    Bug #3860: Avoid a bashism. (Diego Pettenò)
+
+commit 4c76716e9eef58c7de7dab27bdeca33a2980b726
+Author: Daniel Stone <daniel@xxxxxxxxxxxxx>
+Date:   Sat Jul 23 03:02:58 2005 +0000
+
+    Move manpages to section 1.
+
+commit b5a90f98073bfa5d5615f5aa0ae73af07f625bbb
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Wed Jul 20 22:49:25 2005 +0000
+
+    Use kbd_mode -a to restore console keyboard on Solaris x86 too.
+
+commit e83a8d3f9816605106a496c89f9e9ccfae3e4f4c
+Author: Adam Jackson <ajax@xxxxxxxx>
+Date:   Wed Jul 20 19:31:57 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 d8980cb7b6df64cf92c5b660f838497296dbb0bb
+Author: Alan Coopersmith <Alan.Coopersmith@xxxxxxx>
+Date:   Sat Jul 16 23:29:38 2005 +0000
+
+    x11perf/Makefile.am: xinit/Makefile.am: xvidtune/Makefile.am:
+    - Replace $< with portable macro xinit/Makefile.am: xinit/configure.ac:
+        xvidtune/Makefile.am: xvidtune/configure.ac:
+    - Use more portable cpp invocations for pre-processing files
+        xfs/configure.ac:
+    - Add XTRANS_CONNECTION_FLAGS so xtrans transport type defines are set
+        correctly
+
+commit d731a249d0c1c7f9eb77828c0d6e79cfdaf75589
+Author: Søren Sandmann Pedersen <sandmann@xxxxxxxxxxx>
+Date:   Tue Jul 5 21:12:01 2005 +0000
+
+    Build system for xinit
+
+commit dd7fee44b126636d6c3edd9e325ce411e3ae5d78
+Author: Egbert Eich <eich@xxxxxxx>
+Date:   Wed Apr 20 17:54:12 2005 +0000
+
+    Separate server auth and client .Xautority file in startx. .Xautority might
+        have credentials from other Xservers which we might not want to enable
+        on ours Bugzilla #3078).
+
+commit 4118bc8579ac75620ea6cda2b16d3ebbe4f5b6af
+Author: Egbert Eich <eich@xxxxxxx>
+Date:   Fri Apr 23 19:54:49 2004 +0000
+
+    Merging XORG-CURRENT into trunk
+
+commit 52279458e75907cb4d004e8be0c87f1c7b714159
+Author: Egbert Eich <eich@xxxxxxx>
+Date:   Sun Mar 14 08:35:24 2004 +0000
+
+    Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004
+
+commit 59c01948e5bda5b2584e1a19f735737896a87c69
+Author: Egbert Eich <eich@xxxxxxx>
+Date:   Wed Mar 3 12:13:08 2004 +0000
+
+    Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004
+
+commit 6427c13f6e132a3d19bbb7c3a2dc0c5b8215b3d8
+Author: Egbert Eich <eich@xxxxxxx>
+Date:   Thu Feb 26 13:36:25 2004 +0000
+
+    readding XFree86's cvs IDs
+
+commit 40ac2d222287210c7724e3ac5a15af490aed50b9
+Author: Egbert Eich <eich@xxxxxxx>
+Date:   Thu Feb 26 09:24:08 2004 +0000
+
+    Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004
+
+commit fae621e34ee1eff0bc70e60c7843c0fce9f9ec1a
+Author: Egbert Eich <eich@xxxxxxx>
+Date:   Thu Jan 29 08:09:12 2004 +0000
+
+    Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004
+
+commit b1dacbed577312f5fa86d9d81aa946276c646167
+Author: Kaleb Keithley <kaleb@xxxxxxxxxxxxxxx>
+Date:   Tue Nov 25 19:29:13 2003 +0000
+
+    XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks
+
+commit c301daadb9de3348d7dd1b511cadf7d55a59bc1c
+Author: Kaleb Keithley <kaleb@xxxxxxxxxxxxxxx>
+Date:   Fri Nov 14 16:49:22 2003 +0000
+
+    XFree86 4.3.0.1
+
+commit b7d9a0b434bb0d32857fc47611926cb59ac7f3c5
+Author: Kaleb Keithley <kaleb@xxxxxxxxxxxxxxx>
+Date:   Fri Nov 14 16:49:22 2003 +0000
+
+    Initial revision
+
+commit f18e25ab379836d0885660ad9c42ed588b1152b8
+Author: Kaleb Keithley <kaleb@xxxxxxxxxxxxxxx>
+Date:   Fri Nov 14 15:54:54 2003 +0000
+
+    R6.6 is the Xorg base-line
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/config.h.in new/xinit-1.0.4/config.h.in
--- old/xinit-1.0.3/config.h.in 2006-10-13 23:53:06.000000000 +0200
+++ new/xinit-1.0.4/config.h.in 2007-05-22 05:03:15.000000000 +0200
@@ -6,6 +6,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `killpg' function. */
+#undef HAVE_KILLPG
+
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
@@ -60,6 +63,15 @@
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* Major version of this package */
+#undef PACKAGE_VERSION_MAJOR
+
+/* Minor version of this package */
+#undef PACKAGE_VERSION_MINOR
+
+/* Patch version of this package */
+#undef PACKAGE_VERSION_PATCHLEVEL
+
 /* Define as the return type of signal handlers (`int' or `void'). */
 #undef RETSIGTYPE
 
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/configure.ac new/xinit-1.0.4/configure.ac
--- old/xinit-1.0.3/configure.ac        2006-10-13 23:29:28.000000000 +0200
+++ new/xinit-1.0.4/configure.ac        2007-05-22 04:58:04.000000000 +0200
@@ -22,7 +22,7 @@
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.57])
-AC_INIT(xinit,[1.0.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xinit)
+AC_INIT(xinit,[1.0.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xinit)
 AM_INIT_AUTOMAKE([dist-bzip2])
 AM_MAINTAINER_MODE
 
@@ -37,6 +37,8 @@
 AC_TYPE_SIGNAL
 AC_FUNC_FORK
 
+AC_CHECK_FUNCS([killpg])
+
 m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
 
 # Build options
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/COPYING new/xinit-1.0.4/COPYING
--- old/xinit-1.0.3/COPYING     2006-10-12 00:15:55.000000000 +0200
+++ new/xinit-1.0.4/COPYING     2007-05-22 01:32:27.000000000 +0200
@@ -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 1986, 1988, 1993, 1998  The Open Group
 
-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.
 
-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
 
-All licensing questions regarding this software should be directed at the
-Xorg mailing list:
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-http://lists.freedesktop.org/mailman/listinfo/xorg
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/Makefile.am new/xinit-1.0.4/Makefile.am
--- old/xinit-1.0.3/Makefile.am 2006-10-12 00:15:55.000000000 +0200
+++ new/xinit-1.0.4/Makefile.am 2007-05-22 01:52:09.000000000 +0200
@@ -64,6 +64,7 @@
        -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \
        -D__XSERVERNAME__=Xorg -D__XCONFIGFILE__=xorg.conf \
        -D__xinitdir__=$(XINITDIR) \
+       -D__bindir__=$(bindir) \
        -DSHELL_CMD=$(SHELL_CMD) $(ARCHMANDEFS)
 
 SUFFIXES = .$(APP_MAN_SUFFIX) .man
@@ -98,5 +99,9 @@
 CLEANFILES = xinitrc startx $(appman_DATA)
 
 EXTRA_DIST = xinitrc.cpp startx.cpp $(appman_PRE)      \
-               startx.cmd xinitrc.cmd xinit.def
+               startx.cmd xinitrc.cmd xinit.def ChangeLog autogen.sh
 
+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
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/startx.man new/xinit-1.0.4/startx.man
--- old/xinit-1.0.3/startx.man  2006-10-12 00:15:55.000000000 +0200
+++ new/xinit-1.0.4/startx.man  2007-05-19 08:36:08.000000000 +0200
@@ -39,6 +39,8 @@
 .B \-\^\-
 [
 .I server
+] [
+.I display
 ]
 .I options
 \&.\|.\|. ]
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/xinit.c new/xinit-1.0.4/xinit.c
--- old/xinit-1.0.3/xinit.c     2006-10-12 00:15:55.000000000 +0200
+++ new/xinit-1.0.4/xinit.c     2007-05-22 03:41:26.000000000 +0200
@@ -34,8 +34,10 @@
 
 #include <X11/Xlib.h>
 #include <X11/Xos.h>
+#include <X11/Xatom.h>
 #include <stdio.h>
 #include <ctype.h>
+#include <stdint.h>
 
 #ifdef X_POSIX_C_SOURCE
 #define _POSIX_C_SOURCE X_POSIX_C_SOURCE
@@ -77,25 +79,26 @@
 #include <stdlib.h>
 extern char **environ;
 char **newenviron = NULL;
+char **newenvironlast = NULL;
 
 #ifndef SHELL
 #define SHELL "sh"
 #endif
 
-#if !defined(HAS_VFORK) /* Imake */ && !defined(HAVE_WORKING_VFORK) /* autoconf*/
-#ifndef vfork
-#define vfork() fork()
-#endif
-#else
-#if (defined(sun) && !defined(SVR4)) || defined(HAVE_VFORK_H)
-#include <vfork.h>
-#endif
+#ifndef HAVE_WORKING_VFORK
+# ifndef vfork
+#  define vfork() fork()
+# endif
+#else
+# ifdef HAVE_VFORK_H
+#  include <vfork.h>
+# endif
 #endif
 
 /* A/UX setpgid incorrectly removes the controlling terminal.
    Per Posix, only setsid should do that. */
-#if !defined(X_NOT_POSIX) && !defined(macII)
-#define setpgrp setpgid
+#ifdef macII
+#define setpgid setpgrp
 #endif
 
 #ifdef __UNIXOS2__
@@ -108,12 +111,12 @@
 #define Execvpe(path, argv, envp) execvp(path, argv)
 #endif
 
-char *bindir = BINDIR;
-char *server_names[] = {
+const char *bindir = BINDIR;
+const char * const server_names[] = {
 #if defined(ultrix) && defined(mips)
     "Xdec        Digital color display on DECstation",
 #endif
-#ifdef sun                             /* Sun */
+#if defined(sun) && !defined(XORG)     /* Sun */
     "Xsun        Sun BW2, CG2, CG3, CG4, or CG6 on Sun 2, 3, 4, or 386i",
     "Xsunmono    Sun BW2 on Sun 2, 3, 4, or 386i ",
     "Xsun24      Sun BW2, CG2, CG3, CG4, CG6, or CG8 on Sun 4",
@@ -131,14 +134,16 @@
     "XFree86     XFree86 displays",
 #endif
 #ifdef XORG
-    "Xorg  X.Org displays",
+    "Xorg        Common X server for most displays",
 #endif
 #ifdef __DARWIN__
     "XDarwin         Darwin/Mac OS X IOKit displays",
     "XDarwinQuartz   Mac OS X Quartz displays",
     "XDarwinStartup  Auto-select between XDarwin and XDarwinQuartz",
 #endif
-    
+    "Xvfb        Virtual frame buffer",
+    "Xnest       X server nested in a window on another X server",
+    "Xephyr      kdrive-based nested X server",
     NULL};
 
 #ifndef XINITRC
@@ -175,9 +180,7 @@
 #endif /* SYSV */
 int serverpid = -1;
 int clientpid = -1;
-#ifndef X_NOT_POSIX
 volatile int gotSignal = 0;
-#endif
 
 static void Execute ( char **vec, char **envp );
 static Bool waitforserver ( void );
@@ -192,43 +195,13 @@
 
 #ifdef RETSIGTYPE /* autoconf AC_TYPE_SIGNAL */
 # define SIGVAL RETSIGTYPE
-#else /* Imake */
-#ifdef SIGNALRETURNSINT
-#define SIGVAL int
-#else
-#define SIGVAL void
-#endif
 #endif /* RETSIGTYPE */
 
-#ifdef X_NOT_POSIX
-/* Can't use Error() in signal handlers */
-#ifndef STDERR_FILENO
-#define WRITES(s) write(STDERR_FILENO, (s), strlen(s))
-#else
-#define WRITES(s) write(fileno(stderr), (s), strlen(s))
-#endif
-#endif
-
 static SIGVAL 
 sigCatch(int sig)
 {
-#ifdef X_NOT_POSIX
-       char buf[1024];
-
-       signal(SIGTERM, SIG_IGN);
-       signal(SIGQUIT, SIG_IGN);
-       signal(SIGINT, SIG_IGN);
-       signal(SIGHUP, SIG_IGN);
-       signal(SIGPIPE, SIG_IGN);
-       snprintf(buf, sizeof buf, "%s: unexpected signal %d\r\n", 
-                program, sig);
-       WRITES(buf);
-       shutdown();
-       _exit(ERR_EXIT);
-#else
        /* On system with POSIX signals, just interrupt the system call */
        gotSignal = sig;
-#endif
 }
 
 static SIGVAL 
@@ -277,9 +250,7 @@
        int client_given = 0, server_given = 0;
        int client_args_given = 0, server_args_given = 0;
        int start_of_client_args, start_of_server_args;
-#ifndef X_NOT_POSIX
        struct sigaction sa;
-#endif
 
 #ifdef __UNIXOS2__
        envsave = envp; /* circumvent an EMX problem */
@@ -440,13 +411,7 @@
 #ifdef SIGCHLD
        signal(SIGCHLD, SIG_DFL);       /* Insurance */
 #endif
-#ifdef X_NOT_POSIX
-       signal(SIGTERM, sigCatch);
-       signal(SIGQUIT, sigCatch);
-       signal(SIGINT, sigCatch);
-       signal(SIGHUP, sigCatch);
-       signal(SIGPIPE, sigCatch);
-#else
+
        /* Let those signal interrupt the wait() call in the main loop */
        memset(&sa, 0, sizeof sa);
        sa.sa_handler = sigCatch;
@@ -458,16 +423,14 @@
        sigaction(SIGINT, &sa, NULL);
        sigaction(SIGHUP, &sa, NULL);
        sigaction(SIGPIPE, &sa, NULL);
-#endif
+
        signal(SIGALRM, sigAlarm);
        signal(SIGUSR1, sigUsr1);
        if (startServer(server) > 0
         && startClient(client) > 0) {
                pid = -1;
                while (pid != clientpid && pid != serverpid
-#ifndef X_NOT_POSIX
                       && gotSignal == 0
-#endif
                        )
                        pid = wait(NULL);
        }
@@ -478,12 +441,12 @@
        signal(SIGPIPE, SIG_IGN);
 
        shutdown();
-#ifndef X_NOT_POSIX
+
        if (gotSignal != 0) {
                Error("unexpected signal %d.\n", gotSignal);
                exit(ERR_EXIT);
        }
-#endif
+
        if (serverpid < 0 )
                Fatal("Server error.\n");
        if (clientpid < 0)
@@ -561,32 +524,21 @@
 static int
 startServer(char *server[])
 {
-#if !defined(X_NOT_POSIX)
        sigset_t mask, old;
-#else
-       int old;
-#endif
 #ifdef __UNIXOS2__
        sigset_t pendings;
 #endif
 
-#if !defined(X_NOT_POSIX)
        sigemptyset(&mask);
        sigaddset(&mask, SIGUSR1);
        sigprocmask(SIG_BLOCK, &mask, &old);
-#else
-       old = sigblock (sigmask (SIGUSR1));
-#endif
+
        serverpid = fork(); 
 
        switch(serverpid) {
        case 0:
                /* Unblock */
-#ifndef X_NOT_POSIX
                sigprocmask(SIG_SETMASK, &old, NULL);
-#else
-               sigsetmask (old);
-#endif
 
                /*
                 * don't hang on read/write to control tty
@@ -608,12 +560,12 @@
                 * if client is xterm -L
                 */
 #ifndef __UNIXOS2__
-               setpgrp(0,getpid());
+               setpgid(0,getpid());
 #endif
                Execute (server, environ);
                Error ("no server \"%s\" in PATH\n", server[0]);
                {
-                   char **cpp;
+                   const char * const *cpp;
 
                    fprintf (stderr,
 "\nUse the -- option, or make sure that %s is in your path and\n",
@@ -656,7 +608,6 @@
                 */
                alarm (15);
 
-#ifndef X_NOT_POSIX
 #ifdef __UNIXOS2__
                /*
                 * fg2003/05/06: work around a problem in EMX: sigsuspend()
@@ -671,11 +622,6 @@
                sigsuspend(&old);
                alarm (0);
                sigprocmask(SIG_SETMASK, &old, NULL);
-#else
-               sigpause (old);
-               alarm (0);
-               sigsetmask (old);
-#endif
 
                if (waitforserver() == 0) {
                        Error("unable to connect to X server\r\n");
@@ -688,15 +634,96 @@
        return(serverpid);
 }
 
+static void
+setWindowPath(void)
+{
+       /* setting WINDOWPATH for clients */
+       Atom prop;
+       Atom actualtype;
+       int actualformat;
+       unsigned long nitems;
+       unsigned long bytes_after;
+       unsigned char *buf;
+       const char *windowpath;
+       char *newwindowpath;
+       unsigned long num;
+       char nums[10];
+       int numn;
+       prop = XInternAtom(xd, "XFree86_VT", False);
+       if (prop == None) {
+#ifdef DEBUG
+               fprintf(stderr, "no XFree86_VT atom\n");
+#endif
+               return;
+       }
+       if (XGetWindowProperty(xd, DefaultRootWindow(xd), prop, 0, 1, 
+               False, AnyPropertyType, &actualtype, &actualformat, 
+               &nitems, &bytes_after, &buf)) {
+#ifdef DEBUG
+               fprintf(stderr, "no XFree86_VT property\n");
+#endif
+               return;
+       }
+       if (nitems != 1) {
+#ifdef DEBUG
+               fprintf(stderr, "%lu items in XFree86_VT property!\n", nitems);
+#endif
+               XFree(buf);
+               return;
+       }
+       switch (actualtype) {
+       case XA_CARDINAL:
+       case XA_INTEGER:
+       case XA_WINDOW:
+               switch (actualformat) {
+               case  8:
+                       num = (*(uint8_t  *)(void *)buf);
+                       break;
+               case 16:
+                       num = (*(uint16_t *)(void *)buf);
+                       break;
+               case 32:
+                       num = (*(uint32_t *)(void *)buf);
+                       break;
+               default:
+#ifdef DEBUG
+                       fprintf(stderr, "format %d in XFree86_VT property!\n", actualformat);
+#endif
+                       XFree(buf);
+                       return;
+               }
+               break;
+       default:
+#ifdef DEBUG       
+               fprintf(stderr, "type %lx in XFree86_VT property!\n", actualtype);
+#endif
+               XFree(buf);
+               return;
+       }
+       XFree(buf);
+       windowpath = getenv("WINDOWPATH");
+       numn = snprintf(nums, sizeof(nums), "%lu", num);
+       if (!windowpath) {
+               newwindowpath = malloc(10 + 1 + numn + 1);
+               sprintf(newwindowpath, "WINDOWPATH=%s", nums);
+       } else {
+               newwindowpath = malloc(10 + 1 + strlen(windowpath) + 1 + numn + 1);
+               sprintf(newwindowpath, "WINDOWPATH=%s:%s", windowpath, nums);
+       }
+       *newenvironlast++ = newwindowpath;
+       *newenvironlast = NULL;
+}
+
 static int
 startClient(char *client[])
 {
+       setWindowPath();
        if ((clientpid = vfork()) == 0) {
                if (setuid(getuid()) == -1) {
                        Error("cannot change uid: %s\n", strerror(errno));
                        _exit(ERR_EXIT);
                }
-               setpgrp(0, getpid());
+               setpgid(0, getpid());
                environ = newenviron;
 #ifdef __UNIXOS2__
 #undef environ
@@ -715,7 +742,7 @@
        return (clientpid);
 }
 
-#if !defined(X_NOT_POSIX) || defined(SYSV) || defined(__UNIXOS2__)
+#ifndef HAVE_KILLPG
 #define killpg(pgrp, sig) kill(-(pgrp), sig)
 #endif
 
@@ -795,11 +822,11 @@
     for (oldPtr = environ; *oldPtr; oldPtr++) ;
 
     nenvvars = (oldPtr - environ);
-    newenviron = (char **) malloc ((nenvvars + 2) * sizeof(char **));
+    newenviron = (char **) malloc ((nenvvars + 3) * sizeof(char **));
     if (!newenviron) {
        fprintf (stderr,
                 "%s:  unable to allocate %d pointers for environment\n",
-                program, nenvvars + 2);
+                program, nenvvars + 3);
        exit (1);
     }
 
@@ -811,11 +838,13 @@
 
     /* copy pointers to other variables */
     for (oldPtr = environ; *oldPtr; oldPtr++) {
-       if (strncmp (*oldPtr, "DISPLAY=", 8) != 0) {
+       if (strncmp (*oldPtr, "DISPLAY=", 8) != 0
+        && strncmp (*oldPtr, "WINDOWPATH=", 11) != 0) {
            *newPtr++ = *oldPtr;
        }
     }
     *newPtr = NULL;
+    newenvironlast=newPtr;
     return;
 }
 
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinit-1.0.3/xinit.man new/xinit-1.0.4/xinit.man
--- old/xinit-1.0.3/xinit.man   2006-10-12 00:15:55.000000000 +0200
+++ new/xinit-1.0.4/xinit.man   2007-05-19 08:41:16.000000000 +0200
@@ -34,7 +34,7 @@
 .I client
 ]
 .I options
-] [
+\&\.\|.\|. ] [
 .B \-\^\-
 [
 .I server
@@ -42,7 +42,7 @@
 .I display
 ]
 .I options
-]
+\&.\|.\|. ]
 .SH DESCRIPTION
 The \fIxinit\fP program is used to start the X Window System server and a first
 client program on systems that
@@ -112,7 +112,7 @@
 This will start up a server named \fIX\fP and run the user's \fI\.xinitrc\fP,
 if it exists, or else start an \fIxterm\fP.
 .TP 8
-.B "xinit \-\^\- /usr/X11R6/bin/Xqdss  :1"
+.B "xinit \-\^\- /usr/local/bin/Xqdss  :1"
 This is how one could start a specific type of server on an alternate display.
 .TP 8
 .B "xinit \-geometry =80x65+10+10 \-fn 8x13 \-j \-fg white \-bg navy"
@@ -164,7 +164,7 @@
 .in +8
 .nf
 \&#!/bin/sh
-xinit /usr/local/lib/site.xinitrc \-\^\- /usr/X11R6/bin/X bc
+xinit /usr/local/lib/site.xinitrc \-\^\- __bindir__/X -br
 .fi
 .in -8
 .sp

++++++ xrandr-1.2.0.tar.bz2 -> xrandr-1.2.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xrandr-1.2.0/configure new/xrandr-1.2.1/configure
--- old/xrandr-1.2.0/configure  2007-02-19 06:27:15.000000000 +0100
+++ new/xrandr-1.2.1/configure  2007-06-21 12:33:50.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xrandr 1.2.0.
+# Generated by GNU Autoconf 2.61 for xrandr 1.2.1.
 #
 # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
 #
@@ -574,8 +574,8 @@
 # Identity of this package.
 PACKAGE_NAME='xrandr'
 PACKAGE_TARNAME='xrandr'
-PACKAGE_VERSION='1.2.0'
-PACKAGE_STRING='xrandr 1.2.0'
+PACKAGE_VERSION='1.2.1'
+PACKAGE_STRING='xrandr 1.2.1'
 PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
 
 ac_subst_vars='SHELL
@@ -1194,7 +1194,7 @@
   # 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.0 to adapt to many kinds of systems.
+\`configure' configures xrandr 1.2.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1264,7 +1264,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xrandr 1.2.0:";;
+     short | recursive ) echo "Configuration of xrandr 1.2.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1359,7 +1359,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xrandr configure 1.2.0
+xrandr configure 1.2.1
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1373,7 +1373,7 @@
 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.0, which was
+It was created by xrandr $as_me 1.2.1, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2043,7 +2043,7 @@
 
 # Define the identity of the package.
  PACKAGE='xrandr'
- VERSION='1.2.0'
+ VERSION='1.2.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4244,7 +4244,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xrandr $as_me 1.2.0, which was
+This file was extended by xrandr $as_me 1.2.1, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4297,7 +4297,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-xrandr config.status 1.2.0
+xrandr config.status 1.2.1
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xrandr-1.2.0/configure.ac new/xrandr-1.2.1/configure.ac
--- old/xrandr-1.2.0/configure.ac       2007-02-19 06:27:08.000000000 +0100
+++ new/xrandr-1.2.1/configure.ac       2007-06-21 12:33:04.000000000 +0200
@@ -22,7 +22,7 @@
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.57])
-AC_INIT(xrandr,[1.2.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xrandr)
+AC_INIT(xrandr,[1.2.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xrandr)
 AM_INIT_AUTOMAKE([dist-bzip2])
 AM_MAINTAINER_MODE
 
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xrandr-1.2.0/xrandr.c new/xrandr-1.2.1/xrandr.c
--- old/xrandr-1.2.0/xrandr.c   2007-02-19 06:26:50.000000000 +0100
+++ new/xrandr-1.2.1/xrandr.c   2007-06-21 12:36:05.000000000 +0200
@@ -111,8 +111,17 @@
     fprintf(stderr, "      --right-of <output>\n");
     fprintf(stderr, "      --above <output>\n");
     fprintf(stderr, "      --below <output>\n");
+    fprintf(stderr, "      --same-as <output>\n");
+    fprintf(stderr, "      --set <property> <value>\n");
     fprintf(stderr, "      --off\n");
     fprintf(stderr, "      --crtc <crtc>\n");
+    fprintf(stderr, "  --newmode <name> <clock MHz>\n");
+    fprintf(stderr, "            <hdisp> <hsync-start> <hsync-end> <htotal>\n");
+    fprintf(stderr, "            <vdisp> <vsync-start> <vsync-end> <vtotal>\n");
+    fprintf(stderr, "            [+HSync] [-HSync] [+VSync] [-VSync]\n");
+    fprintf(stderr, "  --rmmode <name>\n");
+    fprintf(stderr, "  --addmode <output> <mode>\n");
+    fprintf(stderr, "  --delmode <output> <mode>\n");
 #endif
 
     exit(1);
@@ -159,6 +168,7 @@
     case RR_Reflect_X|RR_Reflect_Y:
        return "X and Y axis";
     }
+    return "invalid reflection";
 }
 
 #if HAS_RANDR_1_2
@@ -167,7 +177,7 @@
 } policy_t;
 
 typedef enum _relation {
-    left_of, right_of, above, below
+    left_of, right_of, above, below, same_as,
 } relation_t;
 
 typedef enum _changes {
@@ -180,6 +190,7 @@
     changes_reflection = (1 << 5),
     changes_automatic = (1 << 6),
     changes_refresh = (1 << 7),
+    changes_property = (1 << 8),
 } changes_t;
 
 typedef enum _name_kind {
@@ -199,6 +210,8 @@
 
 typedef struct _crtc crtc_t;
 typedef struct _output output_t;
+typedef struct _umode  umode_t;
+typedef struct _output_prop output_prop_t;
 
 struct _crtc {
     name_t         crtc;
@@ -213,11 +226,19 @@
     int                    noutput;
 };
 
+struct _output_prop {
+    struct _output_prop        *next;
+    char               *name;
+    char               *value;
+};
+
 struct _output {
     struct _output   *next;
     
     changes_t      changes;
     
+    output_prop_t   *props;
+
     name_t         output;
     XRROutputInfo   *output_info;
     
@@ -228,6 +249,8 @@
     float          refresh;
     XRRModeInfo            *mode_info;
     
+    name_t         addmode;
+
     relation_t     relation;
     char           *relative_to;
 
@@ -237,6 +260,20 @@
     Bool           automatic;
 };
 
+typedef enum _umode_action {
+    umode_create, umode_destroy, umode_add, umode_delete
+} umode_action_t;
+
+
+struct _umode {
+    struct _umode   *next;
+    
+    umode_action_t  action;
+    XRRModeInfo            mode;
+    name_t         output;
+    name_t         name;
+};
+
 static char *connection[3] = {
     "connected",
     "disconnected",
@@ -258,6 +295,7 @@
 static output_t        *outputs = NULL;
 static output_t        **outputs_tail = &outputs;
 static crtc_t  *crtcs;
+static umode_t *umodes;
 static int     num_crtcs;
 static XRRScreenResources  *res;
 static int     fb_width = 0, fb_height = 0;
@@ -412,7 +450,7 @@
            break;
        if ((common & name_string) && !strcmp (name->string, output->output.string))
            break;
-       if ((common & name_index) & name->index == output->output.index)
+       if ((common & name_index) && name->index == output->output.index)
            break;
     }
     return output;
@@ -516,6 +554,15 @@
     return find_mode (&mode_name, 0);
 }
 
+static XRRModeInfo *
+find_mode_by_name (char *name)
+{
+    name_t  mode_name;
+    init_name (&mode_name);
+    set_name_string (&mode_name, name);
+    return find_mode (&mode_name, 0);
+}
+
 static
 XRRModeInfo *
 find_mode_for_output (output_t *output, name_t *name)
@@ -852,8 +899,6 @@
 static Status
 crtc_disable (crtc_t *crtc)
 {
-    XRRCrtcInfo        *crtc_info = crtc->crtc_info;
-    
     if (verbose)
        printf ("crtc %d: disable\n", crtc->crtc.index);
        
@@ -919,7 +964,7 @@
 screen_revert (void)
 {
     if (verbose)
-       printf ("screen %d: revert\n");
+       printf ("screen %d: revert\n", screen);
 
     if (dryrun)
        return;
@@ -1183,7 +1228,7 @@
     for (c = 0; c < output->output_info->ncrtc; c++)
     {
        crtc_t      *crtc;
-       int         l, o;
+       int         l;
        output_t    *other;
 
        crtc = find_crtc_by_xid (output->output_info->crtcs[c]);
@@ -1242,6 +1287,8 @@
 
            if (!(output->changes & changes_relation)) continue;
            
+           if (output->mode_info == NULL) continue;
+
            init_name (&relation_name);
            set_name_string (&relation_name, output->relative_to);
            relation = find_output (&relation_name);
@@ -1282,6 +1329,9 @@
                output->x = relation->x;
                output->y = relation->y + mode_height (relation->mode_info, relation->rotation);
                break;
+           case same_as:
+               output->x = relation->x;
+               output->y = relation->y;
            }
            output->changes |= changes_position;
            any_set = True;
@@ -1397,10 +1447,11 @@
     int                ret = 0;
 #if HAS_RANDR_1_2
     output_t   *output = NULL;
-    char       *crtc;
     policy_t   policy = clone;
     Bool       setit_1_2 = False;
     Bool       query_1_2 = False;
+    Bool       modeit = False;
+    Bool       propit = False;
     Bool       query_1 = False;
     int                major, minor;
 #endif
@@ -1600,6 +1651,29 @@
            output->changes |= changes_relation;
            continue;
        }
+       if (!strcmp ("--same-as", argv[i])) {
+           if (++i>=argc) usage ();
+           if (!output) usage();
+           output->relation = same_as;
+           output->relative_to = argv[i];
+           output->changes |= changes_relation;
+           continue;
+       }
+       if (!strcmp ("--set", argv[i])) {
+           output_prop_t   *prop;
+           if (!output) usage();
+           prop = malloc (sizeof (output_prop_t));
+           prop->next = output->props;
+           output->props = prop;
+           if (++i>=argc) usage ();
+           prop->name = argv[i];
+           if (++i>=argc) usage ();
+           prop->value = argv[i];
+           propit = True;
+           output->changes |= changes_property;
+           setit_1_2 = True;
+           continue;
+       }
        if (!strcmp ("--off", argv[i])) {
            if (!output) usage();
            set_name_xid (&output->mode, None);
@@ -1649,7 +1723,8 @@
                output->automatic = True;
                output->changes |= changes_automatic;
            }
-           automatic = True;
+           else
+               automatic = True;
            setit_1_2 = True;
            continue;
        }
@@ -1663,6 +1738,102 @@
            query_1 = True;
            continue;
        }
+       if (!strcmp ("--newmode", argv[i]))
+       {
+           umode_t  *m = malloc (sizeof (umode_t));
+           float   clock;
+           
+           ++i;
+           if (i + 9 >= argc) usage ();
+           m->mode.name = argv[i];
+           m->mode.nameLength = strlen (argv[i]);
+           i++;
+           if (sscanf (argv[i++], "%f", &clock) != 1)
+               usage ();
+           m->mode.dotClock = clock * 1e6;
+
+           if (sscanf (argv[i++], "%d", &m->mode.width) != 1) usage();
+           if (sscanf (argv[i++], "%d", &m->mode.hSyncStart) != 1) usage();
+           if (sscanf (argv[i++], "%d", &m->mode.hSyncEnd) != 1) usage();
+           if (sscanf (argv[i++], "%d", &m->mode.hTotal) != 1) usage();
+           if (sscanf (argv[i++], "%d", &m->mode.height) != 1) usage();
+           if (sscanf (argv[i++], "%d", &m->mode.vSyncStart) != 1) usage();
+           if (sscanf (argv[i++], "%d", &m->mode.vSyncEnd) != 1) usage();
+           if (sscanf (argv[i++], "%d", &m->mode.vTotal) != 1) usage();
+           m->mode.modeFlags = 0;
+           while (i < argc) {
+               static const struct {
+                   char            *string;
+                   unsigned long   flag;
+               } mode_flags[] = {
+                   { "+HSync", RR_HSyncPositive },
+                   { "-HSync", RR_HSyncNegative },
+                   { "+VSync", RR_VSyncPositive },
+                   { "-VSync", RR_VSyncNegative },
+                   { "Interlace", RR_Interlace },
+                   { "DoubleScan", RR_DoubleScan },
+                   { "CSync",            RR_CSync },
+                   { "+CSync",           RR_CSyncPositive },
+                   { "-CSync",           RR_CSyncNegative },
+                   { NULL,         0 }
+               };
+               int f;
+               
+               for (f = 0; mode_flags[f].string; f++)
+                   if (!strcasecmp (mode_flags[f].string, argv[i]))
+                       break;
+               
+               if (!mode_flags[f].string)
+                   break;
+               m->mode.modeFlags |= mode_flags[f].flag;
+               i++;
+           }
+           m->next = umodes;
+           m->action = umode_create;
+           umodes = m;
+           modeit = True;
+           continue;
+       }
+       if (!strcmp ("--rmmode", argv[i]))
+       {
+           umode_t  *m = malloc (sizeof (umode_t));
+
+           if (++i>=argc) usage ();
+           set_name (&m->name, argv[i], name_string|name_xid);
+           m->action = umode_destroy;
+           m->next = umodes;
+           umodes = m;
+           modeit = True;
+           continue;
+       }
+       if (!strcmp ("--addmode", argv[i]))
+       {
+           umode_t  *m = malloc (sizeof (umode_t));
+
+           if (++i>=argc) usage ();
+           set_name (&m->output, argv[i], name_string|name_xid);
+           if (++i>=argc) usage();
+           set_name (&m->name, argv[i], name_string|name_xid);
+           m->action = umode_add;
+           m->next = umodes;
+           umodes = m;
+           modeit = True;
+           continue;
+       }
+       if (!strcmp ("--delmode", argv[i]))
+       {
+           umode_t  *m = malloc (sizeof (umode_t));
+
+           if (++i>=argc) usage ();
+           set_name (&m->output, argv[i], name_string|name_xid);
+           if (++i>=argc) usage();
+           set_name (&m->name, argv[i], name_string|name_xid);
+           m->action = umode_delete;
+           m->next = umodes;
+           umodes = m;
+           modeit = True;
+           continue;
+       }
 #endif
        usage();
     }
@@ -1698,17 +1869,134 @@
     if (major > 1 || (major == 1 && minor >= 2))
        has_1_2 = True;
        
-    if (setit_1_2)
+    if (has_1_2 && modeit)
     {
-       XRROutputInfo       *output_info;
-       XRRCrtcInfo         *crtc_info;
-       XRRCrtcInfo         *crtc_cur;
-       XRRModeInfo         *mode_info;
-       RROutput            *crtc_outputs;
-       int                 n_crtc_output;
-       int                 c, o, m;
-       int                 om, sm;
+       umode_t *m;
 
+        get_screen ();
+       get_crtcs();
+       get_outputs();
+       
+       for (m = umodes; m; m = m->next)
+       {
+           XRRModeInfo *e;
+           output_t    *o;
+           
+           switch (m->action) {
+           case umode_create:
+               XRRCreateMode (dpy, root, &m->mode);
+               break;
+           case umode_destroy:
+               e = find_mode (&m->name, 0);
+               if (!e)
+                   fatal ("cannot find mode \"%s\"\n", m->name.string);
+               XRRDestroyMode (dpy, e->id);
+               break;
+           case umode_add:
+               o = find_output (&m->output);
+               if (!o)
+                   fatal ("cannot find output \"%s\"\n", m->output.string);
+               e = find_mode (&m->name, 0);
+               if (!e)
+                   fatal ("cannot find mode \"%s\"\n", m->name.string);
+               XRRAddOutputMode (dpy, o->output.xid, e->id);
+               break;
+           case umode_delete:
+               o = find_output (&m->output);
+               if (!o)
+                   fatal ("cannot find output \"%s\"\n", m->output.string);
+               e = find_mode (&m->name, 0);
+               if (!e)
+                   fatal ("cannot find mode \"%s\"\n", m->name.string);
+               XRRDeleteOutputMode (dpy, o->output.xid, e->id);
+               break;
+           }
+       }
+       if (!setit_1_2)
+       {
+           XSync (dpy, False);
+           exit (0);
+       }
+    }
+    if (has_1_2 && propit)
+    {
+       
+        get_screen ();
+       get_crtcs();
+       get_outputs();
+       
+       for (output = outputs; output; output = output->next)
+       {
+           output_prop_t   *prop;
+
+           for (prop = output->props; prop; prop = prop->next)
+           {
+               Atom            name = XInternAtom (dpy, prop->name, False);
+               Atom            type;
+               int             format;
+               unsigned char   *data;
+               int             nelements;
+               int             int_value;
+               unsigned long   ulong_value;
+               unsigned char   *prop_data;
+               int             actual_format;
+               unsigned long   nitems, bytes_after;
+               Atom            actual_type;
+               XRRPropertyInfo *propinfo;
+
+               type = AnyPropertyType;
+               format=0;
+               
+               if (XRRGetOutputProperty (dpy, output->output.xid, name,
+                                         0, 100, False, False,
+                                         AnyPropertyType,
+                                         &actual_type, &actual_format,
+                                         &nitems, &bytes_after, &prop_data) == Success &&
+
+                   (propinfo = XRRQueryOutputProperty(dpy, output->output.xid,
+                                                     name)))
+               {
+                   type = actual_type;
+                   format = actual_format;
+               }
+               
+               if ((type == XA_INTEGER || type == AnyPropertyType) &&
+                   (sscanf (prop->value, "%d", &int_value) == 1 ||
+                    sscanf (prop->value, "0x%x", &int_value) == 1))
+               {
+                   type = XA_INTEGER;
+                   ulong_value = int_value;
+                   data = (unsigned char *) &ulong_value;
+                   nelements = 1;
+                   format = 32;
+               }
+               else if ((type == XA_ATOM))
+               {
+                   ulong_value = XInternAtom (dpy, prop->value, False);
+                   data = (unsigned char *) &ulong_value;
+                   nelements = 1;
+                   format = 32;
+               }
+               else if ((type == XA_STRING || type == AnyPropertyType))
+               {
+                   type = XA_STRING;
+                   data = (unsigned char *) prop->value;
+                   nelements = strlen (prop->value);
+                   format = 8;
+               }
+               XRRChangeOutputProperty (dpy, output->output.xid,
+                                        name, type, format, PropModeReplace,
+                                        data, nelements);
+           }
+       }
+       if (!setit_1_2)
+       {
+           XSync (dpy, False);
+           exit (0);
+       }
+    }
+    if (setit_1_2)
+    {
        get_screen ();
        get_crtcs ();
        get_outputs ();
@@ -1801,6 +2089,9 @@
     if (query_1_2 || (query && has_1_2 && !query_1))
     {
        output_t    *output;
+       int         m;
+       
+#define ModeShown   0x80000000
        
        get_screen ();
        get_crtcs ();
@@ -1871,7 +2162,7 @@
                printf ("\tIdentifier: 0x%x\n", output->output.xid);
                printf ("\tTimestamp:  %d\n", output_info->timestamp);
                printf ("\tSubpixel:   %s\n", order[output_info->subpixel_order]);
-               printf ("\tClones:     ");
+               printf ("\tClones:    ");
                for (j = 0; j < output_info->nclone; j++)
                {
                    output_t    *clone = find_output_by_xid (output_info->clones[j]);
@@ -1926,7 +2217,7 @@
                    {
                        printf("\t%s: %d (0x%08x)",
                               XGetAtomName (dpy, props[j]),
-                              *(INT32 *)prop);
+                              *(INT32 *)prop, *(INT32 *)prop);
 
                        if (propinfo->range && propinfo->num_values > 0) {
                            printf(" range%s: ",
@@ -1938,6 +2229,26 @@
                        }
 
                        printf("\n");
+                   } else if (actual_type == XA_ATOM &&
+                              actual_format == 32)
+                   {
+                       printf("\t%s: %s",
+                              XGetAtomName (dpy, props[j]),
+                              XGetAtomName (dpy, *(Atom *)prop));
+
+                       if (!propinfo->range && propinfo->num_values > 0) {
+                           printf("\n\t\tsupported:");
+
+                           for (k = 0; k < propinfo->num_values; k++)
+                           {
+                               printf(" %-12.12s", XGetAtomName (dpy,
+                                                           propinfo->values[k]));
+                               if (k % 4 == 3 && k < propinfo->num_values - 1)
+                                   printf ("\n\t\t          ");
+                           }
+                       }
+                       printf("\n");
+                       
                    } else if (actual_format == 8) {
                        printf ("\t\t%s: %s%s\n", XGetAtomName (dpy, props[j]),
                                prop, bytes_after ? "..." : "");
@@ -1964,6 +2275,7 @@
                    printf ("        v: height %4d start %4d end %4d total %4d           clock %6.1fHz\n",
                            mode->height, mode->vSyncStart, mode->vSyncEnd, mode->vTotal,
                            mode_refresh (mode));
+                   mode->modeFlags |= ModeShown;
                }
            }
            else
@@ -1985,6 +2297,7 @@
                        kmode = find_mode_by_xid (output_info->modes[k]);
                        if (strcmp (jmode->name, kmode->name) != 0) continue;
                        mode_shown[k] = True;
+                       kmode->modeFlags |= ModeShown;
                        printf (" %6.1f", mode_refresh (kmode));
                        if (kmode == output->mode_info)
                            printf ("*");
@@ -2000,6 +2313,23 @@
                free (mode_shown);
            }
        }
+       for (m = 0; m < res->nmode; m++)
+       {
+           XRRModeInfo *mode = &res->modes[m];
+
+           if (!(mode->modeFlags & ModeShown))
+           {
+               printf ("  %s (0x%x) %6.1fMHz\n",
+                       mode->name, mode->id,
+                       (float)mode->dotClock / 1000000.0);
+               printf ("        h: width  %4d start %4d end %4d total %4d skew %4d clock %6.1fKHz\n",
+                       mode->width, mode->hSyncStart, mode->hSyncEnd,
+                       mode->hTotal, mode->hSkew, mode_hsync (mode) / 1000);
+               printf ("        v: height %4d start %4d end %4d total %4d           clock %6.1fHz\n",
+                       mode->height, mode->vSyncStart, mode->vSyncEnd, mode->vTotal,
+                       mode_refresh (mode));
+           }
+       }
        exit (0);
     }
 #endif
@@ -2027,6 +2357,12 @@
     }
     else if (size < 0)
        size = current_size;
+    else if (size >= nsize) {
+       fprintf (stderr,
+                "Size index %d is too large, there are only %d sizes\n",
+                size, nsize);
+       exit (1);
+    }
 
     if (rot < 0)
     {
@@ -2051,7 +2387,7 @@
            if (rate == rates[i])
                break;
        if (i == nrate) {
-           fprintf (stderr, "Rate %d not available for this size\n", rate);
+           fprintf (stderr, "Rate %.1f Hz not available for this size\n", rate);
            exit (1);
        }
     }
@@ -2063,7 +2399,7 @@
               major_version, minor_version);
     }
 
-    if (query) {
+    if (query || query_1) {
        printf(" SZ:    Pixels          Physical       Refresh\n");
        for (i = 0; i < nsize; i++) {
            printf ("%c%-2d %5d x %-5d  (%4dmm x%4dmm )",


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >