diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/qingy/.footprint | 2 | ||||
-rw-r--r-- | base/qingy/.md5sum | 1 | ||||
-rw-r--r-- | base/qingy/Pkgfile | 7 | ||||
-rwxr-xr-x | base/qingy/startx | 230 |
4 files changed, 238 insertions, 2 deletions
diff --git a/base/qingy/.footprint b/base/qingy/.footprint index 354613ddb..ecc30a1ef 100644 --- a/base/qingy/.footprint +++ b/base/qingy/.footprint @@ -8,6 +8,8 @@ drwxr-xr-x root/root etc/qingy/sessions/ -rw-r--r-- root/root etc/qingy/settings -rw-r--r-- root/root etc/qingy/welcomes drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +-rwxr-xr-x root/root usr/bin/startx.qingy drwxr-xr-x root/root usr/lib/ drwxr-xr-x root/root usr/lib/qingy/ drwxr-xr-x root/root usr/lib/qingy/screensavers/ diff --git a/base/qingy/.md5sum b/base/qingy/.md5sum index 436b51b9f..e45566a1c 100644 --- a/base/qingy/.md5sum +++ b/base/qingy/.md5sum @@ -3,4 +3,5 @@ 25bf7aa4b5b321872853692dc69fc0c1 NaviLinks 9e3d5d8a8c89d6db10c6b41ec498a566 nutyx-attapu.jpg 34f40172a71e9a6c2c77ddce11d2a63a qingy-0.9.9.tar.bz2 +24d942ccb5673f65442c3771a8522cb5 startx 832d24179d659b66abb14ae922df5146 theme diff --git a/base/qingy/Pkgfile b/base/qingy/Pkgfile index a659a0dce..9d1efe7f4 100644 --- a/base/qingy/Pkgfile +++ b/base/qingy/Pkgfile @@ -5,9 +5,9 @@ name=qingy version=0.9.9 -release=2 +release=3 source=(http://downloads.sourceforge.net/$name/$name-$version.tar.bz2\ - nutyx-attapu.jpg theme ChatIrssi NaviLinks MidnightCommander) + startx nutyx-attapu.jpg theme ChatIrssi NaviLinks MidnightCommander) build() { cd $name-$version ./configure --prefix=/usr \ @@ -35,4 +35,7 @@ build() { install -m755 ../$i \ $PKG/etc/qingy/sessions/$i done + mkdir $PKG/usr/bin + install -m755 ../startx \ + $PKG/usr/bin/startx.qingy } diff --git a/base/qingy/startx b/base/qingy/startx new file mode 100755 index 000000000..1e8dee553 --- /dev/null +++ b/base/qingy/startx @@ -0,0 +1,230 @@ +#!/bin/sh + +# +# This is just a sample implementation of a slightly less primitive +# interface than xinit. It looks for user .xinitrc and .xserverrc +# files, then system xinitrc and xserverrc files, else lets xinit choose +# its default. The system xinitrc should probably do things like check +# for .Xresources files and merge them in, startup up a window manager, +# and pop a clock and serveral xterms. +# +# Site administrators are STRONGLY urged to write nicer versions. +# + +unset DBUS_SESSION_BUS_ADDRESS +unset SESSION_MANAGER + + +# userclientrc=$HOME/.xinitrc +sysclientrc=/usr/lib/X11/xinit/xinitrc + + +userserverrc=$HOME/.xserverrc +sysserverrc=/usr/lib/X11/xinit/xserverrc +defaultclient=xterm +defaultserver=/usr/bin/X +defaultclientargs="" +defaultserverargs="" +defaultdisplay=":0" +clientargs="" +serverargs="" + +enable_xauth=1 + + + +whoseargs="client" +while [ x"$1" != x ]; do + case "$1" in + # '' required to prevent cpp from treating "/*" as a C comment. + /''*|\./''*) + if [ "$whoseargs" = "client" ]; then + if [ x"$client" = x ] && [ x"$clientargs" = x ]; then + client="$1" + else + clientargs="$clientargs $1" + fi + else + if [ x"$server" = x ] && [ x"$serverargs" = x ]; then + server="$1" + else + serverargs="$serverargs $1" + fi + fi + ;; + --) + whoseargs="server" + ;; + *) + if [ "$whoseargs" = "client" ]; then + clientargs="$clientargs $1" + else + # 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 + ;; + esac + shift +done + +# process client arguments +if [ x"$client" = x ]; then + client=$defaultclient + + # if no client arguments either, use rc file instead + if [ x"$clientargs" = x ]; then + if [ -f "$userclientrc" ]; then + client=$userclientrc + elif [ -f "$sysclientrc" ]; then + client=$sysclientrc + + + + + + + fi + + clientargs=$defaultclientargs + fi +fi + +# process server arguments +if [ x"$server" = x ]; then + server=$defaultserver + + # if no server arguments or display either, use defaults + if [ x"$serverargs" = x -a x"$display" = x ]; then + # For compatibility reasons, only use xserverrc if there were no server command line arguments + if [ -f "$userserverrc" ]; then + server=$userserverrc + elif [ -f "$sysserverrc" ]; then + server=$sysserverrc + fi + + serverargs=$defaultserverargs + display=$defaultdisplay + fi +fi + +if [ x"$enable_xauth" = x1 ] ; then + if [ x"$XAUTHORITY" = x ]; then + XAUTHORITY=$HOME/.Xauthority + export XAUTHORITY + fi + + removelist= + + # set up default Xauth info for this machine + case `uname` in + Linux*) + if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then + hostname=`hostname -f` + else + hostname=`hostname` + fi + ;; + *) + hostname=`hostname` + ;; + esac + + authdisplay=${display:-:0} + + mcookie=`/usr/bin/mcookie` + + + + + + + + if test x"$mcookie" = x; then + echo "Couldn't create cookie" + exit 1 + fi + dummy=0 + + # create a file with auth information for the server. ':0' is a dummy. + xserverauthfile=$HOME/.serverauth.$$ + trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM + xauth -q -f "$xserverauthfile" << EOF +add :$dummy . $mcookie +EOF + + + + serverargs=${serverargs}" -auth "${xserverauthfile} + + + # now add the same credentials to the client authority file + # if '$displayname' already exists do not overwrite it as another + # server man need it. Add them to the '$xserverauthfile' instead. + for displayname in $authdisplay $hostname$authdisplay; do + authcookie=`xauth list "$displayname" \ + | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null; + if [ "z${authcookie}" = "z" ] ; then + xauth -q << EOF +add $displayname . $mcookie +EOF + removelist="$displayname $removelist" + else + dummy=$(($dummy+1)); + xauth -q -f "$xserverauthfile" << EOF +add :$dummy . $authcookie +EOF + fi + done +fi + + + + + + + + + + + + +xinit "$client" $clientargs -- "$server" $display $serverargs + + + +retval=$? + +if [ x"$enable_xauth" = x1 ] ; then + if [ x"$removelist" != x ]; then + xauth remove $removelist + fi + if [ x"$xserverauthfile" != x ]; then + rm -f "$xserverauthfile" + fi +fi + + + + + + + + + + + + + + + + + + + +exit $retval + |