summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-apps/xinit/files/gentoo-startx-customization-0.99.4.patch')
-rw-r--r--x11-apps/xinit/files/gentoo-startx-customization-0.99.4.patch154
1 files changed, 154 insertions, 0 deletions
diff --git a/x11-apps/xinit/files/gentoo-startx-customization-0.99.4.patch b/x11-apps/xinit/files/gentoo-startx-customization-0.99.4.patch
new file mode 100644
index 000000000000..2544fb0f4414
--- /dev/null
+++ b/x11-apps/xinit/files/gentoo-startx-customization-0.99.4.patch
@@ -0,0 +1,154 @@
+--- startx.cpp.old 2005-11-11 12:29:49.244146352 -0700
++++ startx.cpp 2005-11-11 12:34:11.169327672 -0700
+@@ -64,8 +64,6 @@
+
+ userserverrc=$HOME/.xserverrc
+ sysserverrc=XINITDIR/xserverrc
+-defaultclient=XTERM
+-defaultserver=XSERVER
+ defaultclientargs=""
+ defaultserverargs="-nolisten tcp -br"
+ clientargs=""
+@@ -107,60 +105,41 @@
+ whoseargs="client"
+ while [ x"$1" != x ]; do
+ case "$1" in
+- XCOMM '' required to prevent cpp from treating "/*" as a C comment.
+- /''*|\./''*)
+- if [ "$whoseargs" = "client" ]; then
+- if [ x"$clientargs" = x ]; then
+- client="$1"
+- else
+- clientargs="$clientargs $1"
+- fi
+- else
+- if [ x"$serverargs" = x ]; then
+- server="$1"
+- else
+- serverargs="$serverargs $1"
+- fi
+- fi
+- ;;
+- --)
+- whoseargs="server"
+- ;;
+- *)
+- if [ "$whoseargs" = "client" ]; then
+- clientargs="$clientargs $1"
+- else
+- XCOMM display must be the FIRST server argument
+- if [ x"$serverargs" = x ] && @@
+- expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
+- display="$1"
+- else
+- serverargs="$serverargs $1"
+- fi
+- fi
+- ;;
++ /''*|\.*) if [ "$whoseargs" = "client" ]; then
++ if [ "x$clientargs" = x ]; then
++ clientargs="$1"
++ else
++ clientargs="$clientargs $1"
++ fi
++ else
++ if [ "x$serverargs" = x ]; then
++ serverargs="$1"
++ else
++ serverargs="$serverargs $1"
++ fi
++ fi ;;
++ --) whoseargs="server" ;;
++ *) if [ "$whoseargs" = "client" ]; then
++ if [ "x$clientargs" = x ]; then
++ clientargs="$defaultclientargs $1"
++ else
++ clientargs="$clientargs $1"
++ fi
++ else
++ case "$1" in
++ :[0-9]*) display="$1"; serverargs="$serverargs $1";;
++ *) serverargs="$serverargs $1" ;;
++ esac
++ fi ;;
+ esac
+ shift
+ done
+
+-XCOMM process client arguments
+-if [ x"$client" = x ]; then
+- XCOMM if no client arguments either, use rc file instead
+- if [ x"$clientargs" = x ]; then
+- client="$defaultclientargs"
+- else
+- client=$defaultclient
+- fi
++if [ x"$clientargs" = x ]; then
++ clientargs="$defaultclientargs"
+ fi
+-
+-XCOMM process server arguments
+-if [ x"$server" = x ]; then
+- XCOMM if no server arguments or display either, use rc file instead
+- if [ x"$serverargs" = x -a x"$display" = x ]; then
+- server="$defaultserverargs"
+- else
+- server=$defaultserver
+- fi
++if [ x"$serverargs" = x ]; then
++ serverargs="$defaultserverargs"
+ fi
+
+ if [ x"$XAUTHORITY" = x ]; then
+@@ -217,15 +196,8 @@
+
+ #endif
+
+-#if defined(__SCO__) || defined(__UNIXWARE__)
+-if [ "$REMOTE_SERVER" = "TRUE" ]; then
+- exec SHELL_CMD ${client}
+-else
+- XINIT $client $clientargs -- $server $display $serverargs
+-fi
+-#else
+-XINIT $client $clientargs -- $server $display $serverargs
+-#endif
++cleanup() {
++ [ -n "$PID" ] && kill $PID > /dev/null 2>&1
+
+ if [ x"$removelist" != x ]; then
+ BINDIR/xauth remove $removelist
+@@ -251,3 +223,15 @@
+ #if defined(sun)
+ kbd_mode -a
+ #endif
++}
++
++
++trap cleanup 0
++
++xinit $clientargs -- $serverargs -deferglyphs 16 &
++
++PID=$!
++
++wait $PID
++
++unset PID
+--- xinit.c.old 2005-11-11 12:30:19.199592432 -0700
++++ xinit.c 2005-11-11 12:30:47.983216656 -0700
+@@ -446,6 +446,7 @@
+ signal(SIGINT, sigCatch);
+ signal(SIGHUP, sigCatch);
+ signal(SIGPIPE, sigCatch);
++ signal(SIGTERM, sigCatch);
+ #else
+ /* Let those signal interrupt the wait() call in the main loop */
+ memset(&sa, 0, sizeof sa);
+@@ -458,6 +459,7 @@
+ sigaction(SIGINT, &sa, NULL);
+ sigaction(SIGHUP, &sa, NULL);
+ sigaction(SIGPIPE, &sa, NULL);
++ sigaction(SIGTERM, &sa, NULL);
+ #endif
+ signal(SIGALRM, sigAlarm);
+ signal(SIGUSR1, sigUsr1);