CHANGELOG 2005-08-17
[hdw-linux/hdw-linux.git] / packages / hackbard / xdirectfb / startdfbx
1 #!/bin/sh
2
3 # $Xorg: startx.cpp,v 1.3 2000/08/17 19:54:29 cpqbld Exp $
4 #
5 # This is just a sample implementation of a slightly less primitive
6 # interface than xinit.  It looks for user .xinitrc and .xserverrc
7 # files, then system xinitrc and xserverrc files, else lets xinit choose
8 # its default.  The system xinitrc should probably do things like check
9 # for .Xresources files and merge them in, startup up a window manager,
10 # and pop a clock and serveral xterms.
11 #
12 # Site administrators are STRONGLY urged to write nicer versions.
13 #
14 # $XFree86: xc/programs/xinit/startx.cpp,v 3.16tsi Exp $
15
16
17 userclientrc=$HOME/.xdfbinitrc
18 userserverrc=$HOME/.xdfbserverrc
19 sysclientrc=/opt/xdirectfb/lib/X11/xinit/xinitrc
20 sysserverrc=/opt/xdirectfb/lib/X11/xinit/xserverrc
21 defaultclient=/opt/xdirectfb/bin/xterm
22 defaultserver=/opt/xdirectfb/bin/X
23 defaultclientargs=""
24 defaultserverargs=""
25 clientargs=""
26 serverargs=""
27
28
29
30
31
32
33 if [ -f $userclientrc ]; then
34     defaultclientargs=$userclientrc
35 elif [ -f $sysclientrc ]; then
36     defaultclientargs=$sysclientrc
37 fi
38
39
40
41
42 if [ -f $userserverrc ]; then
43     defaultserverargs=$userserverrc
44 elif [ -f $sysserverrc ]; then
45     defaultserverargs=$sysserverrc
46 fi
47
48 whoseargs="client"
49 while [ x"$1" != x ]; do
50     case "$1" in
51     # '' required to prevent cpp from treating "/*" as a C comment.
52     /''*|\./''*)
53         if [ "$whoseargs" = "client" ]; then
54             if [ x"$clientargs" = x ]; then
55                 client="$1"
56             else
57                 clientargs="$clientargs $1"
58             fi
59         else
60             if [ x"$serverargs" = x ]; then
61                 server="$1"
62             else
63                 serverargs="$serverargs $1"
64             fi
65         fi
66         ;;
67     --)
68         whoseargs="server"
69         ;;
70     *)
71         if [ "$whoseargs" = "client" ]; then
72             clientargs="$clientargs $1"
73         else
74             # display must be the FIRST server argument
75             if [ x"$serverargs" = x ] && \
76                  expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
77                 display="$1"
78             else
79                 serverargs="$serverargs $1"
80             fi
81         fi
82         ;;
83     esac
84     shift
85 done
86
87 # process client arguments
88 if [ x"$client" = x ]; then
89     # if no client arguments either, use rc file instead
90     if [ x"$clientargs" = x ]; then
91         client="$defaultclientargs"
92     else
93         client=$defaultclient
94     fi
95 fi
96
97 # process server arguments
98 if [ x"$server" = x ]; then
99     # if no server arguments or display either, use rc file instead
100     if [ x"$serverargs" = x -a x"$display" = x ]; then
101         server="$defaultserverargs"
102     else
103         server=$defaultserver
104     fi
105 fi
106
107 if [ x"$XAUTHORITY" = x ]; then
108     XAUTHORITY=$HOME/.Xauthority
109     export XAUTHORITY
110 fi
111
112 removelist=
113
114
115 # set up default Xauth info for this machine
116 case `uname` in
117 Linux*)
118         if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then
119                 hostname=`hostname -f`
120         else
121                 hostname=`hostname`
122         fi
123         ;;
124 *)
125         hostname=`hostname`
126         ;;
127 esac
128
129 authdisplay=${display:-:0}
130 mcookie=`mcookie`
131 for displayname in $authdisplay $hostname$authdisplay; do
132     if ! xauth list "$displayname" | grep "$displayname " >/dev/null 2>&1; then
133         xauth -q << EOF 
134 add $displayname . $mcookie
135 EOF
136         removelist="$displayname $removelist"
137     fi
138 done
139
140
141 xinit $client $clientargs -- $server $display $serverargs
142
143 if [ x"$removelist" != x ]; then
144     xauth remove $removelist
145 fi
146
147
148
149
150
151 if command -v deallocvt > /dev/null 2>&1; then
152     deallocvt
153 fi
154
155
156
157
158
159
160