By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release. View | Details | Raw Unified | Return to bug 675
Collapse All | Expand All

(-)kdebase/startkde (-292 / +324 lines)
Lines 1-40 Link Here
1
#!/bin/sh
1
#!/bin/sh
2
#
2
#
3
#  DEFAULT TRINITY STARTUP SCRIPT ( KDE-3.5.12 )
3
#  DEFAULT TRINITY STARTUP SCRIPT
4
#
4
#
5
5
6
echo "[startkde] Starting startkde." 1>&2
6
# Is this a good idea? Looks good for command line logins but
7
# graphical login managers likely source these files already?
8
# Multiple sourcing is not a problem when the files are only
9
# containers for environment variables and such.
10
if [ -r /etc/xprofile ]; then
11
  source /etc/xprofile
12
fi
13
if [ -r $HOME/.xprofile ]; then
14
  source $HOME/.xprofile
15
fi
16
17
echo "[starttde] Starting starttde." 1>&2
18
echo "[starttde] This script is $0" 1>&2
19
20
# Avoid any possible conflict with KDE4. Therefore within this script
21
# use full path names to all binaries used.
22
23
# The binaries for TDE are located in the same place as this script.
24
# To determine that location use the following method rather than presuming
25
# the existence of $TDEDIR. That environment variable might not be
26
# defined or defined to point to KDE4 binaries.
27
BIN_DIR="`dirname $0`"
28
# Do not use kde-config to determine the version. That command creates a
29
# profile directory in the root of the file system. Refer to Bug Report 293.
30
if [ -x $BIN_DIR/konqueror ]; then
31
  TDE_VERSION="`$BIN_DIR/konqueror --version | grep TDE | awk '{print $2}'`"
32
  echo "TDE version is $TDE_VERSION" 1>&2
33
  TDEDIR=`echo $BIN_DIR | sed 's|/bin||'`
34
  echo "TDE base directory is $TDEDIR" 1>&2
35
  echo
36
else
37
  echo "Unable to determine TDE base directory."
38
  echo "This script should be installed in the same directory."
39
  echo "Exiting."
40
  exit 1
41
fi
42
unset BIN_DIR
7
43
8
# When the X server dies we get a HUP signal from xinit. We must ignore it
44
# When the X server dies we get a HUP signal from xinit. We must ignore it
9
# because we still need to do some cleanup.
45
# because we still need to do some cleanup.
10
trap '[startkde] echo GOT SIGHUP' HUP
46
trap '[starttde] echo GOT SIGHUP' HUP
11
47
12
# Check if a KDE session is already running.
48
# Check if a TDE session is already running.
13
if kcheckrunning >/dev/null 2>&1; then
49
if kcheckrunning >/dev/null 2>&1; then
14
	echo "[startkde] KDE seems to be already running on this display."
50
  echo "[starttde] TDE seems to be already running on this display."
15
	xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null
51
  xmessage -center -geometry 500x100 "TDE seems to be already running on this display." > /dev/null 2>/dev/null
16
	exit 1
52
  exit 1
17
fi
53
fi
18
54
19
# Set the background color.
55
# Set the background color.
20
# The standard X background is nasty, causing moire effects and exploding
56
# The standard X background is nasty, causing moire effects and exploding
21
# people's heads. We use colours from the standard KDE palette for those with
57
# people's heads. We use colours from the standard TDE palette for those with
22
# palettised displays.
58
# palettised displays.
23
if test -z "$XDM_MANAGED" || echo "$XDM_MANAGED" | grep ",auto" > /dev/null; then
59
if test -z "$XDM_MANAGED" || echo "$XDM_MANAGED" | grep ",auto" > /dev/null; then
24
  xsetroot -solid "#618DCC" # sky blue
60
  xsetroot -solid "#618DCC" # sky blue
25
fi
61
fi
26
62
27
# Unset this for Darwin since it will screw up KDE's dynamic-loading
63
# Unset this for Darwin since it will screw up TDE's dynamic-loading
28
unset DYLD_FORCE_FLAT_NAMESPACE
64
unset DYLD_FORCE_FLAT_NAMESPACE
29
65
30
# Check whether prelinking is enabled. If so, exporting KDE_IS_PRELINKED improves
66
# Check whether prelinking is enabled. If so, exporting TDE_IS_PRELINKED improves
31
# loading KDE. The $KDE_IS_PRELINKED variable might already be set on some systems
67
# loading TDE. The $TDE_IS_PRELINKED variable might already be set on some systems
32
# through /etc/profile.d, so first check whether the variable exists.
68
# through /etc/profile.d, so first check whether the variable exists.
33
if [ -z $KDE_IS_PRELINKED ]; then
69
if [ -z $TDE_IS_PRELINKED ]; then
34
  if [ -r /etc/default/prelink ]; then
70
  if [ -r /etc/default/prelink ]; then
35
    . /etc/default/prelink
71
    . /etc/default/prelink
36
    if [ "$PRELINKING" == "yes" ]; then
72
    if [ "$PRELINKING" == "yes" ]; then
37
      export KDE_IS_PRELINKED=1
73
      export TDE_IS_PRELINKED=1
38
    fi
74
    fi
39
  fi
75
  fi
40
fi
76
fi
Lines 50-179 Link Here
50
86
51
# Boot sequence:
87
# Boot sequence:
52
#
88
#
53
# kdeinit is used to fork off processes which improves memory usage
89
# tdeinit is used to fork off processes which improves memory usage
54
# and startup time.
90
# and startup time.
55
#
91
#
56
# * kdeinit starts the dcopserver and klauncher first.
92
# * tdeinit starts the dcopserver and klauncher first.
57
# * Then kded is started. kded is responsible for keeping the sycoca
93
# * Then kded is started. kded is responsible for keeping the sycoca
58
#   database up to date. When an up to date database is present it goes
94
#   database up to date. When an up to date database is present it goes
59
#   into the background and the startup continues.
95
#   into the background and the startup continues.
60
# * Then kdeinit starts kcminit. kcminit performs initialisation of
96
# * Then tdeinit starts kcminit. kcminit performs initialisation of
61
#   certain devices according to the user's settings
97
#   certain devices according to the user's settings
62
#
98
#
63
# * Then ksmserver is started which takes control of the rest of the startup sequence
99
# * Then ksmserver is started which takes control of the rest of the startup sequence
64
100
65
# The user's personal KDE directory usually is $HOME/.kde or $HOME/.trinity.
101
# The user's personal TDE directory usually is $HOME/.trinity.
66
# This setting may be overridden by setting $KDEHOME.
102
# This setting may be overridden by setting $TDEHOME. When migrating profiles
67
# Must be careful here because $HOME/.kde was used commonly in the pre-KDE4
103
# must be careful here because $HOME/.kde was used commonly in the pre-KDE4
68
# days for the user's KDE3 profile, but now with KDE4 common on systems,
104
# days for the user's TDE profile, but now with KDE4 common on systems,
69
# $HOME/.kde might point to KDE4 profile settings. Further, the existence
105
# $HOME/.kde might point to KDE4 profile settings. The existence of KDE4
70
# of KDE4 does not mean all people have KDE4 installed and might want to keep
106
# does not mean all people are using KDE4.
71
# $HOME/.kde as their preferred profile location for Trinity KDE.
107
72
108
if [ -n "$TDEHOME" ]; then
73
if [ -n "$KDEHOME" ]; then
109
  echo "[starttde] TDEHOME is preset to $TDEHOME." 1>&2
74
  echo "[startkde] KDEHOME is preset to $KDEHOME." 1>&2
110
  export TDEHOME=$TDEHOME
75
  export KDEHOME=$KDEHOME
76
else
111
else
77
  # $KDEHOME is NOT already preset in the environment. Try to help.
112
  # $TDEHOME is NOT already preset in the environment. Try to help.
78
  # This might be overkill but does provide flexibility.
113
  # This might be overkill but does provide flexibility.
79
  echo "[startkde] KDEHOME is not set." 1>&2
114
  # This script and kstandardirs.h and kstandardirs.cpp must match.
115
  # The latter two must be edited/patched before compiling.
116
  echo "[starttde] TDEHOME is not set." 1>&2
80
  if [ -d $HOME/.trinity ]; then
117
  if [ -d $HOME/.trinity ]; then
81
    # OK, this one is obvious.
118
    # OK, this one is obvious.
82
    export KDEHOME=$HOME/.trinity
119
    export TDEHOME=$HOME/.trinity
83
  elif [ -d $HOME/.trinity ]; then
84
    # Looks like the user had an old version of Trinity installed at last login
85
    echo "[startkde] Migrating old ~/.trinity directory to new ~/.trinity name." 1>&2
86
    mv $HOME/.trinity $HOME/.trinity
87
    export KDEHOME=$HOME/.trinity
88
  elif [ -f /usr/bin/kde4-config ]; then
120
  elif [ -f /usr/bin/kde4-config ]; then
89
    # Looks like KDE4 is installed.
121
    # Looks like KDE4 is installed.
90
    if [ -d $HOME/.kde ] && [ ! -d $HOME/.trinity ]; then
122
    if [ -d $HOME/.kde ] && [ ! -d $HOME/.trinity ]; then
91
      # Presume $HOME/.kde is being used for KDE4 as it already exists.
123
      # Presume $HOME/.kde is being used for KDE4 as it already exists.
92
      export KDEHOME=$HOME/.trinity
124
      export TDEHOME=$HOME/.trinity
93
    else
125
    else
94
      # Presume $HOME/.kde is being used for KDE4 to be on the safe side.
126
      # Presume $HOME/.kde is being used for KDE4 to be on the safe side.
95
      export KDEHOME=$HOME/.trinity
127
      export TDEHOME=$HOME/.trinity
96
    fi
128
    fi
97
  elif [ -f /opt/trinity/bin/kde-config ]; then
129
  elif [ -f /opt/trinity/bin/kde-config ]; then
98
    # Looks like KDE3 or Trinity is installed and playing second fiddle to KDE4.
130
    # Looks like Trinity is installed.
99
    export KDEHOME=$HOME/.trinity
131
    export TDEHOME=$HOME/.trinity
100
  elif [ -f /opt/trinity/bin/kde-config ]; then
101
    # Looks like KDE3 or Trinity is installed and playing second fiddle to KDE4.
102
    export KDEHOME=$HOME/.trinity
103
  elif [ -f /usr/bin/kde-config ] && [ -d $HOME/.kde ]; then
132
  elif [ -f /usr/bin/kde-config ] && [ -d $HOME/.kde ]; then
104
    # Looks like KDE3 or Trinity is installed and not playing second fiddle to KDE4.
133
    # Looks like Trinity is installed and not playing second fiddle to KDE4.
105
    export KDEHOME=$HOME/.kde
134
    export TDEHOME=$HOME/.kde
106
  else
135
  else
107
    # Resort to this and hope for the best!
136
    # Resort to this and hope for the best!
108
    export KDEHOME=$HOME/.trinity
137
    export TDEHOME=$HOME/.trinity
109
  fi
138
  fi
110
  echo "[startkde] Set KDEHOME to $KDEHOME." 1>&2
139
  echo "[starttde] Set TDEHOME to $TDEHOME." 1>&2
111
fi
140
fi
112
141
113
# Run a quick test for root.
142
# Do we want to run this script from here in such an automated manner?
114
if [ -z "$KDEROOTHOME" ] && [ "$UID" = "0" ]; then
143
# Or leave the script to be run only at the user's discretion?
115
  echo "[startkde] User ID is $UID. Setting KDEROOTHOME to $KDEHOME."
144
# The migratekde3 script as written (in draft) requires user intervention,
116
  export KDEROOTHOME=$KDEHOME
145
# which to succeed in TDE needs something like KDialog. Refer to the
146
# commentary in migratekde3 for more details.
147
# if [ -x $TDEDIR/migratekde3 ]; then
148
#   sh $TDEDIR/migratekde3
149
# fi
150
151
# kdesu needs something to find root's TDE profile. Set the TDEROOTHOME variable
152
# here as last resort. /root/.trinity is a safe presumption. If an admin wants
153
# a different location then set the TDEROOTHOME variable elsewhere.
154
if [ -z "$TDEROOTHOME" ]; then
155
  export TDEROOTHOME=/root/.trinity
156
  echo "[starttde] Setting TDEROOTHOME to $TDEROOTHOME."
117
fi
157
fi
118
158
119
# Modify the following environment variables only as necessary.
159
# Modify the following environment variables only as necessary.
120
if [ -d /opt/trinity/games ]; then
160
if [ -d $TDEDIR/games ]; then
121
  export PATH=/opt/trinity/games:$PATH
161
  if [ -z "`echo $PATH | grep \"$TDEDIR/games\"`" ]; then
122
fi
162
    export PATH=$TDEDIR/games:$PATH
123
if [ -d /opt/trinity/bin ]; then
163
  fi
124
  export PATH=/opt/trinity/bin:$PATH
125
fi
126
if [ -d /opt/trinity/games ]; then
127
  export PATH=/opt/trinity/games:$PATH
128
fi
129
if [ -d /opt/trinity/bin ]; then
130
  export PATH=/opt/trinity/bin:$PATH
131
fi
132
if [ -d /opt/trinity/share ]; then
133
  export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/
134
fi
135
if [ -d /opt/trinity/share ]; then
136
  export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/
137
fi
138
if [ -d /opt/trinity/etc/xdg ]; then
139
  export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/
140
fi
141
if [ -d /opt/trinity/etc/xdg ]; then
142
  export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/
143
fi
164
fi
144
if [ -d /opt/trinity/share/man ]; then
165
if [ -d $TDEDIR/bin ]; then
145
  export MANPATH=/opt/trinity/share/man:$MANPATH
166
  if [ -z "`echo $PATH | grep \"$TDEDIR/bin\"`" ]; then
167
    export PATH=$TDEDIR/bin:$PATH
168
  fi
146
fi
169
fi
147
if [ -d /opt/trinity/share/man ]; then
170
if [ -d $TDEDIR/share ]; then
148
  export MANPATH=/opt/trinity/share/man:$MANPATH
171
  if [ -z "`echo $XDG_DATA_DIRS | grep \"$TDEDIR/share\"`" ]; then
172
    if [ "$XDG_DATA_DIRS" = "" ]; then
173
      XDG_DATA_DIRS=$TDEDIR/share
174
    else
175
      XDG_DATA_DIRS=$XDG_DATA_DIRS:$TDEDIR/share
176
    fi
177
    export XDG_DATA_DIRS
178
  fi
149
fi
179
fi
150
if [ -d /opt/trinity ]; then
180
if [ -d $TDEDIR/etc/xdg ]; then
151
  if [ -n "$KDEDIRS" ]; then
181
  if [ -z "`echo $XDG_CONFIG_DIRS | grep \"$TDEDIR/etc/xdg\"`" ]; then
152
    export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/
182
    if [ "$XDG_CONFIG_DIRS" = "" ]; then
153
  else
183
      XDG_CONFIG_DIRS=$TDEDIR/etc/xdg
154
    export KDEDIRS=/opt/trinity/:/usr/
184
    else
185
      XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:$TDEDIR/etc/xdg
186
    fi
187
    export XDG_CONFIG_DIRS
155
  fi
188
  fi
156
fi
189
fi
157
if [ -d /opt/trinity ]; then
190
if [ -d $TDEDIR/share/man ]; then
158
  if [ -n "$KDEDIRS" ]; then
191
  if [ -z "`echo $MANPATH | grep \"$TDEDIR/share/man\"`" ]; then
159
    export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/
192
    export MANPATH=$TDEDIR/share/man:$MANPATH
160
  else
161
    export KDEDIRS=/opt/trinity/:/usr/
162
  fi
193
  fi
163
fi
194
fi
164
195
165
test -n "$KDEHOME" && kdehome=`echo "$KDEHOME" | sed "s,^~/,$HOME/,"`
196
test -n "$TDEHOME" && tdehome=`echo "$TDEHOME" | sed "s,^~/,$HOME/,"`
166
echo "[startkde] kdehome: $kdehome" 1>&2
167
197
168
# Allow interested applications, such as the Plasma control wrapper,
198
# Allow interested applications, such as the Plasma control wrapper,
169
# to know that this is a Trinity desktop and not a KDE one.
199
# to know that this is a Trinity desktop and not a TDE one.
170
export DESKTOP_SESSION=trinity
200
export DESKTOP_SESSION=trinity
171
201
172
# Please see kstartupconfig source for usage.
202
# Please see kstartupconfig source for usage.
173
mkdir -m 700 -p $kdehome
203
if [ ! -d "$HOME/.trinity" ]; then
174
mkdir -m 700 -p $kdehome/share
204
  echo "[starttde] Creating $HOME/.trinity." 1>&2
175
mkdir -m 700 -p $kdehome/share/config
205
fi
176
cat >$kdehome/share/config/startupconfigkeys <<EOF
206
mkdir -m 700 -p $tdehome
207
mkdir -m 700 -p $tdehome/share
208
mkdir -m 700 -p $tdehome/share/config
209
cat >$tdehome/share/config/startupconfigkeys <<EOF
177
kcminputrc Mouse cursorTheme ''
210
kcminputrc Mouse cursorTheme ''
178
kcminputrc Mouse cursorSize ''
211
kcminputrc Mouse cursorSize ''
179
kpersonalizerrc General FirstLogin true
212
kpersonalizerrc General FirstLogin true
Lines 185-204 Link Here
185
kcmrandrrc [Screen3]
218
kcmrandrrc [Screen3]
186
kcmfonts General forceFontDPI 0
219
kcmfonts General forceFontDPI 0
187
EOF
220
EOF
188
kstartupconfig
221
$TDEDIR/bin/kstartupconfig
189
if test $? -ne 0; then
222
if test $? -ne 0; then
190
  xmessage -geometry 500x100 "Could not start kstartupconfig. Check your installation."
223
  xmessage -center -geometry 500x100 "Could not start kstartupconfig. Check your installation."
191
fi
224
fi
192
# $kdehome/share/config/startupconfig should exist but avoid script failure if not.
225
# $tdehome/share/config/startupconfig should exist but avoid script failure if not.
193
if [ -r $kdehome/share/config/startupconfig ]; then
226
if [ -r $tdehome/share/config/startupconfig ]; then
194
  . $kdehome/share/config/startupconfig
227
  . $tdehome/share/config/startupconfig
195
fi
228
fi
196
229
197
# Make sure a default wallpaper is set.
230
# Make sure a default wallpaper is set.
198
if [ ! -e $kdehome/share/config/kdesktoprc ]; then
231
if [ ! -e $tdehome/share/config/kdesktoprc ]; then
199
 # With Trinity KDE this file should exist, but test first.
232
 # With Trinity this file should exist, but test first.
200
  if [ -r /usr/share/wallpapers/isadora.png.desktop ]; then
233
  if [ -r /usr/share/wallpapers/isadora.png.desktop ]; then
201
cat >$kdehome/share/config/kdesktoprc <<EOF
234
cat >$tdehome/share/config/kdesktoprc <<EOF
202
[Desktop0]
235
[Desktop0]
203
Wallpaper=isadora.png
236
Wallpaper=isadora.png
204
WallpaperMode=Scaled
237
WallpaperMode=Scaled
Lines 208-330 Link Here
208
241
209
# XCursor mouse theme needs to be applied here to work even for kded or ksmserver.
242
# XCursor mouse theme needs to be applied here to work even for kded or ksmserver.
210
if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
243
if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
211
    kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
244
  kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
212
    if test $? -eq 10; then
245
  if test $? -eq 10; then
213
        export XCURSOR_THEME=default
246
    export XCURSOR_THEME=default
214
    elif test -n "$kcminputrc_mouse_cursortheme"; then
247
  elif test -n "$kcminputrc_mouse_cursortheme"; then
215
        export XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
248
    export XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
216
    fi
249
  fi
217
    if test -n "$kcminputrc_mouse_cursorsize"; then
250
  if test -n "$kcminputrc_mouse_cursorsize"; then
218
        export XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
251
    export XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
219
    fi
252
  fi
220
fi
253
fi
221
254
222
if test "$kcmrandrrc_display_applyonstartup" = "true"; then
255
if test "$kcmrandrrc_display_applyonstartup" = "true"; then
223
    # 4 screens is hopefully enough
256
  # 4 screens is hopefully enough
224
    for scrn in 0 1 2 3; do
257
  for scrn in 0 1 2 3; do
225
        args=
258
    args=
226
        width="\$kcmrandrrc_screen${scrn}_width" ; eval "width=$width"
259
    width="\$kcmrandrrc_screen${scrn}_width" ; eval "width=$width"
227
        height="\$kcmrandrrc_screen${scrn}_height" ; eval "height=$height"
260
    height="\$kcmrandrrc_screen${scrn}_height" ; eval "height=$height"
228
        if test -n "${width}" -a -n "${height}"; then
261
    if test -n "${width}" -a -n "${height}"; then
229
            args="$args -s ${width}x${height}"
262
      args="$args -s ${width}x${height}"
230
        fi
263
    fi
231
        refresh="\$kcmrandrrc_screen${scrn}_refresh" ; eval "refresh=$refresh"
264
    refresh="\$kcmrandrrc_screen${scrn}_refresh" ; eval "refresh=$refresh"
232
        if test -n "${refresh}"; then
265
    if test -n "${refresh}"; then
233
            args="$args -r ${refresh}"
266
      args="$args -r ${refresh}"
234
        fi
267
    fi
235
        rotation="\$kcmrandrrc_screen${scrn}_rotation" ; eval "rotation=$rotation"
268
    rotation="\$kcmrandrrc_screen${scrn}_rotation" ; eval "rotation=$rotation"
236
        if test -n "${rotation}"; then
269
    if test -n "${rotation}"; then
237
            case "${rotation}" in
270
      case "${rotation}" in
238
                0)
271
        0)
239
                    args="$args -o 0"
272
          args="$args -o 0"
240
                    ;;
273
          ;;
241
                90)
274
        90)
242
                    args="$args -o 1"
275
          args="$args -o 1"
243
                    ;;
276
          ;;
244
                180)
277
        180)
245
                    args="$args -o 2"
278
          args="$args -o 2"
246
                    ;;
279
          ;;
247
                270)
280
        270)
248
                    args="$args -o 3"
281
          args="$args -o 3"
249
                    ;;
282
          ;;
250
            esac
283
      esac
251
        fi
284
    fi
252
        reflectx="\$kcmrandrrc_screen${scrn}_reflectx" ; eval "reflectx=$reflectx"
285
    reflectx="\$kcmrandrrc_screen${scrn}_reflectx" ; eval "reflectx=$reflectx"
253
        if test "${refrectx}" = "true"; then
286
    if test "${refrectx}" = "true"; then
254
            args="$args -x"
287
      args="$args -x"
255
        fi
288
    fi
256
        reflecty="\$kcmrandrrc_screen${scrn}_reflecty" ; eval "reflecty=$reflecty"
289
    reflecty="\$kcmrandrrc_screen${scrn}_reflecty" ; eval "reflecty=$reflecty"
257
        if test "${refrecty}" = "true"; then
290
    if test "${refrecty}" = "true"; then
258
            args="$args -y"
291
      args="$args -y"
259
        fi
292
    fi
260
        if test -n "$args"; then
293
    if test -n "$args"; then
261
            xrandr $args
294
      xrandr $args
262
        fi
295
    fi
263
    done
296
  done
264
fi
297
fi
265
298
266
dl=$DESKTOP_LOCKED
299
dl=$DESKTOP_LOCKED
267
unset DESKTOP_LOCKED # Don't want it in the environment
300
unset DESKTOP_LOCKED # Don't want it in the environment
268
301
269
# Launch splash that doesn't need any KDE libraries here, before
302
# Launch splash that doesn't need any TDE libraries here, before
270
# KDE libraries are loaded into memory (which may take some time
303
# TDE libraries are loaded into memory (which may take some time
271
# with cold caches). Makes the splash appear sooner.
304
# with cold caches). Makes the splash appear sooner.
272
# If kpersonalizer needs to be run splash will be started only later.
305
# If kpersonalizer needs to be run splash will be started only later.
273
if test -z "$dl" && test "$kpersonalizerrc_general_firstlogin" != "true"; then
306
if test -z "$dl" && test "$kpersonalizerrc_general_firstlogin" != "true"; then
274
    case "$ksplashrc_ksplash_theme" in
307
  case "$ksplashrc_ksplash_theme" in
275
      Simple)
308
    Simple)
276
         ksplashsimple
309
      ksplashsimple
277
         ;;
310
      ;;
278
      *)
311
    *)
279
         ;;
312
      ;;
280
    esac
313
  esac
281
fi
314
fi
282
315
283
if test "$kcmfonts_general_forcefontdpi" -eq 120; then
316
if test "$kcmfonts_general_forcefontdpi" -eq 120; then
284
    xrdb -quiet -merge -nocpp <<EOF
317
  xrdb -quiet -merge -nocpp <<EOF
285
Xft.dpi: 120
318
Xft.dpi: 120
286
EOF
319
EOF
287
elif test "$kcmfonts_general_forcefontdpi" -eq 96; then
320
elif test "$kcmfonts_general_forcefontdpi" -eq 96; then
288
    xrdb -quiet -merge -nocpp <<EOF
321
  xrdb -quiet -merge -nocpp <<EOF
289
Xft.dpi: 96
322
Xft.dpi: 96
290
EOF
323
EOF
291
fi
324
fi
292
325
293
# Configuration of the gtk_qt_engine if not already set.
326
# Configuration of the gtk_qt_engine if not already set.
294
327
295
if test -n "$KDEDIRS"; then
328
if test -n "$TDEDIRS"; then
296
  kdedirs_first=`echo "$KDEDIRS" | sed -e 's/:.*//'`
329
  tdedirs_first=`echo "$TDEDIRS" | sed -e 's/:.*//'`
297
  KGTK_RC_ENGINE=$kdedirs_first/share/kgtk/gtk-qt-engine.rc.sh
330
  TGTK_RC_ENGINE=$tdedirs_first/share/kgtk/gtk-qt-engine.rc.sh
298
  KGTK_RC_KDE1=$kdedirs_first/share/kgtk/.gtkrc-2.0-kde4
331
  TGTK_RC_TDE1=$tdedirs_first/share/kgtk/.gtkrc-2.0-kde4
299
  KGTK_RC_KDE2=$kdedirs_first/share/kgtk/.gtkrc-2.0-kde-kde4
332
  TGTK_RC_TDE2=$tdedirs_first/share/kgtk/.gtkrc-2.0-kde-kde4
300
else
333
else
301
  KGTK_RC_ENGINE=$KDEDIR/share/kgtk/gtk-qt-engine.rc.sh
334
  TGTK_RC_ENGINE=$TDEDIR/share/kgtk/gtk-qt-engine.rc.sh
302
  KGTK_RC_KDE1=$KDEDIR/share/kgtk/.gtkrc-2.0-kde4
335
  TGTK_RC_TDE1=$TDEDIR/share/kgtk/.gtkrc-2.0-kde4
303
  KGTK_RC_KDE2=$KDEDIR/share/kgtk/.gtkrc-2.0-kde-kde4
336
  TGTK_RC_TDE2=$TDEDIR/share/kgtk/.gtkrc-2.0-kde-kde4
304
fi
337
fi
305
338
306
if [ ! -e $kdehome/env/gtk-qt-engine.rc.sh ] && [ -e $KGTK_RC_ENGINE ]
339
if [ ! -e $tdehome/env/gtk-qt-engine.rc.sh ] && [ -e $TGTK_RC_ENGINE ]
307
then
340
then
308
 mkdir -p $kdehome/env
341
 mkdir -p $tdehome/env
309
 cp -f $KGTK_RC_ENGINE $kdehome/env
342
 cp -f $TGTK_RC_ENGINE $tdehome/env
310
 chmod 755 $kdehome/env/gtk-qt-engine.rc.sh
343
 chmod 755 $tdehome/env/gtk-qt-engine.rc.sh
311
fi
344
fi
312
345
313
if [ ! -e $HOME/.gtkrc-2.0-kde4 ] && [ -e $KGTK_RC_KDE1 ]
346
if [ ! -e $HOME/.gtkrc-2.0-kde4 ] && [ -e $TGTK_RC_TDE1 ]
314
then
347
then
315
 cp -f $KGTK_RC_KDE1 $HOME
348
 cp -f $TGTK_RC_TDE1 $HOME
316
fi
349
fi
317
350
318
if [ ! -e $HOME/.gtkrc-2.0-kde-kde4 ] && [ -e $KGTK_RC_KDE2 ]
351
if [ ! -e $HOME/.gtkrc-2.0-kde-kde4 ] && [ -e $TGTK_RC_TDE2 ]
319
then
352
then
320
 cp -f $KGTK_RC_KDE2 $HOME
353
 cp -f $TGTK_RC_TDE2 $HOME
321
fi
354
fi
322
355
323
# Source scripts found in <localprefix>/env/*.sh and <prefixes>/env/*.sh
356
# Source scripts found in <localprefix>/env/*.sh and <prefixes>/env/*.sh
324
# (where <localprefix> is $KDEHOME or ~/.trinity, and <prefixes> is where KDE is installed)
357
# (where <localprefix> is $TDEHOME or ~/.trinity, and <prefixes> is where TDE is installed)
325
#
358
#
326
# This is where you can define environment variables that will be available to
359
# This is where you can define environment variables that will be available to
327
# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
360
# all TDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
328
# or eval `gpg-agent --daemon`.
361
# or eval `gpg-agent --daemon`.
329
# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
362
# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
330
#
363
#
Lines 340-348 Link Here
340
  done
373
  done
341
done
374
done
342
375
343
# Activate the kde font directories.
376
# Activate the TDE font directories.
344
#
377
#
345
# There are 4 directories that may be used for supplying fonts for KDE.
378
# There are 4 directories that may be used for supplying fonts for TDE.
346
#
379
#
347
# There are two system directories. These belong to the administrator.
380
# There are two system directories. These belong to the administrator.
348
# There are two user directories, where the user may add her own fonts.
381
# There are two user directories, where the user may add her own fonts.
Lines 361-422 Link Here
361
usr_fdir=$HOME/.fonts
394
usr_fdir=$HOME/.fonts
362
395
363
# Add any user-installed font directories to the X font path
396
# Add any user-installed font directories to the X font path
364
kde_fontpaths=$usr_fdir/fontpaths
397
tde_fontpaths=$usr_fdir/fontpaths
365
do_usr_fdir=1
398
do_usr_fdir=1
366
do_usr_odir=1
399
do_usr_odir=1
367
if test -r "$kde_fontpaths" ; then
400
if test -r "$tde_fontpaths" ; then
368
    savifs=$IFS
401
  savifs=$IFS
369
    IFS="
402
  IFS="
370
"
403
"
371
    for fpath in `grep -v '^[ 	]*#' < "$kde_fontpaths"` ; do
404
  for fpath in `grep -v '^[   ]*#' < "$tde_fontpaths"` ; do
372
        rfpath=`echo $fpath | sed "s:^~:$HOME:g"`
405
    rfpath=`echo $fpath | sed "s:^~:$HOME:g"`
373
        if test -s "$rfpath"/fonts.dir; then
406
    if test -s "$rfpath"/fonts.dir; then
374
            xset fp+ "$rfpath"
407
      xset fp+ "$rfpath"
375
            if test "$rfpath" = "$usr_fdir"; then
408
      if test "$rfpath" = "$usr_fdir"; then
376
                do_usr_fdir=0
409
        do_usr_fdir=0
377
            fi
410
      fi
378
            if test "$rfpath" = "$usr_odir"; then
411
      if test "$rfpath" = "$usr_odir"; then
379
                do_usr_odir=0
412
        do_usr_odir=0
380
            fi
413
      fi
381
        fi
414
    fi
382
    done
415
  done
383
    IFS=$savifs
416
  IFS=$savifs
384
fi
417
fi
385
418
386
if [ ! -n "$KDEDIR" ]; then
419
if [ ! -n "$TDEDIR" ]; then
387
  export KDEDIR=`echo "$KDEDIRS" | sed -e 's/:.*//'`
420
  export TDEDIR=`echo "$TDEDIRS" | sed -e 's/:.*//'`
388
fi
421
fi
389
422
390
echo "[startkde] KDEDIR: $KDEDIR" 1>&2
423
echo "[starttde] TDEDIR: $TDEDIR" 1>&2
391
echo "[startkde] KDEDIRS: $KDEDIRS" 1>&2
424
echo "[starttde] TDEDIRS: $TDEDIRS" 1>&2
392
425
393
if test -n "$KDEDIRS"; then
426
if test -n "$TDEDIRS"; then
394
  kdedirs_first=`echo "$KDEDIRS" | sed -e 's/:.*//'`
427
  tdedirs_first=`echo "$TDEDIRS" | sed -e 's/:.*//'`
395
  sys_odir=$kdedirs_first/share/fonts/override
428
  sys_odir=$tdedirs_first/share/fonts/override
396
  sys_fdir=$kdedirs_first/share/fonts
429
  sys_fdir=$tdedirs_first/share/fonts
397
else
430
else
398
  sys_odir=$KDEDIR/share/fonts/override
431
  sys_odir=$TDEDIR/share/fonts/override
399
  sys_fdir=$KDEDIR/share/fonts
432
  sys_fdir=$TDEDIR/share/fonts
400
fi
433
fi
401
434
402
if test -n "$KDEDIRS"; then
435
if test -n "$TDEDIRS"; then
403
  kdedirs_first=`echo "$KDEDIRS" | sed -e 's/:.*//'`
436
  tdedirs_first=`echo "$TDEDIRS" | sed -e 's/:.*//'`
404
  echo "[startkde] kdedirs_first: $kdedirs_first"
437
  echo "[starttde] tdedirs_first: $tdedirs_first"
405
  if [ -r $kdedirs_first/share/kgtk/preload ]; then
438
  if [ -r $tdedirs_first/share/kgtk/preload ]; then
406
    echo "[startkde] Reading from $kdedirs_first/share/kgtk/preload"
439
    echo "[starttde] Reading from $tdedirs_first/share/kgtk/preload"
407
    read -r KGTK_PRELOAD < $kdedirs_first/share/kgtk/preload
440
    read -r TGTK_PRELOAD < $tdedirs_first/share/kgtk/preload
408
  fi
441
  fi
409
else
442
else
410
  if [ -r $KDEDIR/share/kgtk/preload ]; then
443
  if [ -r $TDEDIR/share/kgtk/preload ]; then
411
    read -r KGTK_PRELOAD < $KDEDIR/share/kgtk/preload
444
    read -r TGTK_PRELOAD < $TDEDIR/share/kgtk/preload
412
  fi
445
  fi
413
fi
446
fi
414
447
415
if [ -n $KGTK_PRELOAD ]; then
448
if [ -n $TGTK_PRELOAD ]; then
416
  if [ -e /usr/lib/libnspr4.so ]; then
449
  if [ -e /usr/lib/libnspr4.so ]; then
417
    KGTK_NSPR_PRELOAD="/usr/lib/libnspr4.so:"
450
    KGTK_NSPR_PRELOAD="/usr/lib/libnspr4.so:"
418
  fi
451
  fi
419
  export LD_PRELOAD=$KGTK_PRELOAD:$KGTK_NSPR_PRELOAD$LD_PRELOAD
452
  export LD_PRELOAD=$TGTK_PRELOAD:$KGTK_NSPR_PRELOAD$LD_PRELOAD
420
fi
453
fi
421
454
422
# We run mkfontdir on the user's font dirs (if we have permission) to pick
455
# We run mkfontdir on the user's font dirs (if we have permission) to pick
Lines 438-444 Link Here
438
471
439
# Set a left cursor instead of the standard X11 "X" cursor, since I've heard
472
# Set a left cursor instead of the standard X11 "X" cursor, since I've heard
440
# from some users that they're confused and don't know what to do. This is
473
# from some users that they're confused and don't know what to do. This is
441
# especially necessary on slow machines, where starting KDE takes one or two
474
# especially necessary on slow machines, where starting TDE takes one or two
442
# minutes until anything appears on the screen.
475
# minutes until anything appears on the screen.
443
#
476
#
444
# If the user has overwritten fonts, the cursor font may be different now
477
# If the user has overwritten fonts, the cursor font may be different now
Lines 446-452 Link Here
446
#
479
#
447
xsetroot -cursor_name left_ptr
480
xsetroot -cursor_name left_ptr
448
481
449
# Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
482
# Get Ghostscript to look into user's TDE fonts dir for additional Fontmap
450
if test -n "$GS_LIB" ; then
483
if test -n "$GS_LIB" ; then
451
  GS_LIB=$usr_fdir:$GS_LIB
484
  GS_LIB=$usr_fdir:$GS_LIB
452
  export GS_LIB
485
  export GS_LIB
Lines 455-506 Link Here
455
  export GS_LIB
488
  export GS_LIB
456
fi
489
fi
457
490
458
# Link "tmp" "socket" and "cache" resources to directory in /tmp
491
# Link "tmp" "socket" and "cache" resources to directory in $TMP
459
# Creates:
492
# Creates:
460
# - a directory /tmp/kde-$USER and links $KDEHOME/tmp-$HOSTNAME to it.
493
# - a directory $TMP/tde-$USER and links $TDEHOME/tmp-$HOSTNAME to it.
461
# - a directory /tmp/ksocket-$USER and links $KDEHOME/socket-$HOSTNAME to it.
494
# - a directory $TMP/ksocket-$USER and links $TDEHOME/socket-$HOSTNAME to it.
462
# - a directory /var/tmp/kdecache-$USER and links $KDEHOME/cache-$HOSTNAME to it.
495
# - a directory /var/tmp/tdecache-$USER and links $TDEHOME/cache-$HOSTNAME to it.
463
# Note: temporary locations can be overriden through the KDETMP and KDEVARTMP
496
# Note: temporary locations can be overriden through the TDETMP and TDEVARTMP
464
# environment variables.
497
# environment variables.
465
for resource in tmp cache socket; do
498
for resource in tmp cache socket; do
466
  if ! lnusertemp $resource >/dev/null; then
499
  if ! lnusertemp $resource >/dev/null; then
467
    echo "[startkde] Call to lnusertemp failed (temporary directories full?). Check your installation." 1>&2
500
    echo "[starttde] Call to lnusertemp failed (temporary directories full?). Check your installation." 1>&2
468
    xmessage -geometry 600x100 "Call to lnusertemp failed (temporary directories full?). Check your installation."
501
    xmessage -center -geometry 600x100 "Call to lnusertemp failed (temporary directories full?). Check your installation."
469
    exit 1
502
    exit 1
470
  fi
503
  fi
471
done
504
done
472
505
473
# In case of dcop sockets left by a previous session, cleanup.
506
# In case of dcop sockets left by a previous session, cleanup.
474
dcopserver_shutdown
507
$TDEDIR/bin/dcopserver_shutdown
475
508
476
echo '[startkde] Starting Trinity...'  1>&2
509
echo '[starttde] Starting Trinity...'  1>&2
477
510
478
# Detect any running Xorg composition managers
511
# Detect any running Xorg composition managers
479
$KDEDIR/bin/kdetcompmgr
512
$TDEDIR/bin/kdetcompmgr
480
513
481
# Run KPersonalizer before the session if this is the first login.
514
# Run KPersonalizer before the session if this is the first login.
482
if test "$kpersonalizerrc_general_firstlogin" = "true"; then
515
if test "$kpersonalizerrc_general_firstlogin" = "true"; then
483
  if [ ! -x $KDEDIR/bin/kpersonalizer ]; then
516
  if [ ! -x $TDEDIR/bin/kpersonalizer ]; then
484
    echo "[startkde] kpersonalizer not found! Please install it in order to properly configure your user profile." 1>&2
517
    echo "[starttde] kpersonalizer not found! Please install in order to properly configure your user profile." 1>&2
485
  else
518
  else
486
    # start only dcopserver, don't start whole kdeinit (takes too long)
519
    # start only dcopserver, don't start whole tdeinit (takes too long)
487
    echo "[startkde] Running kpersonalizer..." 1>&2
520
    echo "[starttde] Running kpersonalizer..." 1>&2
488
    dcopserver
521
    $TDEDIR/bin/dcopserver
489
    kwin --lock &
522
    $TDEDIR/bin/twin --lock &
490
    kpersonalizer --before-session
523
    $TDEDIR/bin/kpersonalizer --before-session
491
    # handle kpersonalizer restarts (language change)
524
    # handle kpersonalizer restarts (language change)
492
    while test $? -eq 1; do
525
    while test $? -eq 1; do
493
        kpersonalizer --r --before-session
526
      $TDEDIR/bin/kpersonalizer --r --before-session
494
    done
527
    done
495
    dcopquit kwin
528
    $TDEDIR/bin/dcopquit twin
496
    dcopserver_shutdown --wait
529
    $TDEDIR/bin/dcopserver_shutdown --wait
497
  fi
530
  fi
498
fi
531
fi
499
532
500
# Remove moodin cache if we have a new wallpaper installed, jriddell. Distro-specific.
533
# Remove moodin cache if we have a new wallpaper installed, jriddell. Distro-specific.
501
if [ -d $kdehome/share/apps/ksplash/cache/Moodin/kubuntu ]; then
534
if [ -d $tdehome/share/apps/ksplash/cache/Moodin/kubuntu ]; then
502
  if [ /usr/share/wallpapers/kubuntu-wallpaper.png -nt $kdehome/share/apps/ksplash/cache/Moodin/kubuntu/ ]; then
535
  if [ /usr/share/wallpapers/kubuntu-wallpaper.png -nt $tdehome/share/apps/ksplash/cache/Moodin/kubuntu/ ]; then
503
    rm -rf $kdehome/share/apps/ksplash/cache/Moodin/kubuntu/
536
    rm -rf $tdehome/share/apps/ksplash/cache/Moodin/kubuntu/
504
  fi
537
  fi
505
fi
538
fi
506
539
Lines 508-532 Link Here
508
  # the splashscreen and progress indicator
541
  # the splashscreen and progress indicator
509
  case "$ksplashrc_ksplash_theme" in
542
  case "$ksplashrc_ksplash_theme" in
510
    None)
543
    None)
511
       ;; # nothing
544
      ;; # nothing
512
    Simple)
545
    Simple)
513
       if test "$kpersonalizerrc_general_firstlogin" = "true"; then
546
      if test "$kpersonalizerrc_general_firstlogin" = "true"; then
514
           ksplashsimple
547
        $TDEDIR/bin/ksplashsimple
515
       fi # otherwise started earlier
548
      fi # otherwise started earlier
516
       ;;
549
      ;;
517
    *)
550
    *)
518
       ksplash --nodcop
551
      $TDEDIR/bin/ksplash --nodcop
519
       ;;
552
      ;;
520
  esac
553
  esac
521
fi
554
fi
522
555
523
# Mark that full KDE session is running (e.g. Konqueror preloading works only
556
# Mark that full TDE session is running (e.g. Konqueror preloading works only
524
# with full KDE running). The TDE_FULL_SESSION property can be detected by
557
# with full TDE running). The TDE_FULL_SESSION property can be detected by
525
# any X client connected to the same X session, even if not launched
558
# any X client connected to the same X session, even if not launched
526
# directly from the KDE session but e.g. using "ssh -X", kdesu. $TDE_FULL_SESSION
559
# directly from the TDE session but e.g. using "ssh -X", kdesu. $TDE_FULL_SESSION
527
# however guarantees that the application is launched in the same environment
560
# however guarantees that the application is launched in the same environment
528
# like the KDE session and that e.g. KDE utilities/libraries are available.
561
# like the TDE session and that e.g. TDE utilities/libraries are available.
529
# TDE_FULL_SESSION property is also only available since KDE 3.5.5.
530
# The matching tests are:
562
# The matching tests are:
531
#   For $TDE_FULL_SESSION:
563
#   For $TDE_FULL_SESSION:
532
#     if test -n "$TDE_FULL_SESSION"; then ... whatever
564
#     if test -n "$TDE_FULL_SESSION"; then ... whatever
Lines 534-611 Link Here
534
#     xprop -root | grep "^TDE_FULL_SESSION" >/dev/null 2>/dev/null
566
#     xprop -root | grep "^TDE_FULL_SESSION" >/dev/null 2>/dev/null
535
#     if test $? -eq 0; then ... whatever
567
#     if test $? -eq 0; then ... whatever
536
#
568
#
537
# Additionally there is (since KDE 3.5.7) $KDE_SESSION_UID with the uid
569
# Additionally there is $TDE_SESSION_UID with the uid of the user
538
# of the user running the KDE session. It should be rarely needed (e.g.
570
# running the TDE session. It should be rarely needed (for example,
539
# after sudo to prevent desktop-wide functionality in the new user's kded).
571
# after sudo to prevent desktop-wide functionality in the new user's kded).
540
#
572
#
541
TDE_FULL_SESSION=true
573
TDE_FULL_SESSION=true
542
export TDE_FULL_SESSION
574
export TDE_FULL_SESSION
543
xprop -root -f TDE_FULL_SESSION 8t -set TDE_FULL_SESSION true
575
xprop -root -f TDE_FULL_SESSION 8t -set TDE_FULL_SESSION true
544
echo "[startkde] TDE_FULL_SESSION: $TDE_FULL_SESSION" 1>&2
576
echo "[starttde] TDE_FULL_SESSION: $TDE_FULL_SESSION" 1>&2
545
KDE_SESSION_UID=$UID
577
TDE_SESSION_UID=$UID
546
export KDE_SESSION_UID
578
export TDE_SESSION_UID
547
echo "[startkde] KDE_SESSION_UID: $KDE_SESSION_UID" 1>&2
579
echo "[starttde] TDE_SESSION_UID: $TDE_SESSION_UID" 1>&2
548
580
549
# We set LD_BIND_NOW to increase the efficiency of kdeinit.
581
# We set LD_BIND_NOW to increase the efficiency of tdeinit.
550
# kdeinit unsets this variable before loading applications.
582
# tdeinit unsets this variable before loading applications.
551
LD_BIND_NOW=true start_kdeinit_wrapper --new-startup +kcminit_startup
583
LD_BIND_NOW=true $TDEDIR/bin/start_tdeinit_wrapper --new-startup +kcminit_startup
552
if test $? -ne 0; then
584
if test $? -ne 0; then
553
  # Startup error
585
  # Startup error
554
  echo '[startkde] Could not start kdeinit. Check your installation.' 1>&2
586
  echo '[starttde] Could not start tdeinit. Check your installation.' 1>&2
555
  xmessage -geometry 500x100 "Could not start kdeinit. Check your installation."
587
  xmessage -center -geometry 500x100 "Could not start tdeinit. Check your installation."
556
fi
588
fi
557
echo "[startkde] kdeinit started successfully." 1>&2
589
echo "[starttde] tdeinit started successfully." 1>&2
558
590
559
# If the session should be locked from the start (locked autologin),
591
# If the session should be locked from the start (locked autologin),
560
# lock now and do the rest of the KDE startup underneath the locker.
592
# lock now and do the rest of the TDE startup underneath the locker.
561
if test -n "$dl"; then
593
if test -n "$dl"; then
562
  kwrapper kdesktop_lock --forcelock &
594
  $TDEDIR/bin/kwrapper kdesktop_lock --forcelock &
563
  # Give it some time for starting up. This is somewhat unclean; some
595
  # Give it some time for starting up. This is somewhat unclean; some
564
  # notification would be better.
596
  # notification would be better.
565
  sleep 1
597
  sleep 1
566
fi
598
fi
567
599
568
# Finally, give the session control to the session manager.
600
# Finally, give the session control to the session manager.
569
# See kdebase/ksmserver for the description of the rest of the startup sequence.
601
# See tdebase/ksmserver for the description of the rest of the startup sequence.
570
# If the KDEWM environment variable has been set, then it will be used as Trinity's
602
# If the TDEWM environment variable has been set, then it will be used as Trinity's
571
# window manager instead of kwin.
603
# window manager instead of twin.
572
# If KDEWM is not set, ksmserver will ensure kwin is started.
604
# If TDEWM is not set, ksmserver will ensure twin is started.
573
# kwrapper is used to reduce startup time and memory usage
605
# kwrapper is used to reduce startup time and memory usage
574
# kwrapper does not return usefull error codes such as the exit code of ksmserver.
606
# kwrapper does not return usefull error codes such as the exit code of ksmserver.
575
# We only check for 255 which means that the ksmserver process could not be
607
# We only check for 255 which means that the ksmserver process could not be
576
# started, any problems thereafter, e.g. ksmserver failing to initialize,
608
# started, any problems thereafter, e.g. ksmserver failing to initialize,
577
# will remain undetected.
609
# will remain undetected.
578
test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM"
610
test -n "$TDEWM" && TDEWM="--windowmanager $TDEWM"
579
kwrapper ksmserver $KDEWM
611
$TDEDIR/bin/kwrapper ksmserver $TDEWM
580
if test $? -eq 255; then
612
if test $? -eq 255; then
581
  # Startup error
613
  # Startup error
582
  echo '[startkde] Could not start ksmserver. Check your installation.' 1>&2
614
  echo '[starttde] Could not start ksmserver. Check your installation.' 1>&2
583
  xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
615
  xmessage -center -geometry 500x100 "Could not start ksmserver. Check your installation."
584
fi
616
fi
585
617
586
# wait if there's any crashhandler shown
618
# wait if there's any crashhandler shown
587
while dcop | grep -q ^drkonqi- ; do
619
while $TDEDIR/bin/dcop | grep -q ^drkonqi- ; do
588
    sleep 5
620
  sleep 5
589
done
621
done
590
622
591
echo '[startkde] Shutting down Trinity...'  1>&2
623
echo '[starttde] Shutting down Trinity...'  1>&2
592
624
593
# Clean up
625
# Clean up
594
kdeinit_shutdown
626
$TDEDIR/bin/tdeinit_shutdown
595
dcopserver_shutdown --wait
627
$TDEDIR/bin/dcopserver_shutdown --wait
596
artsshell -q terminate
628
$TDEDIR/bin/artsshell -q terminate
597
# KDE4 support
629
# KDE4 support
598
if [ -f /usr/bin/kdeinit4_shutdown ]; then
630
if [ -f /usr/bin/kdeinit4_shutdown ]; then
599
  kde4 kdeinit4_shutdown 2>/dev/null
631
  /usr/bin/kde4 kdeinit4_shutdown 2>/dev/null
600
fi
632
fi
601
633
602
echo '[startkde] Running Trinity shutdown scripts...'  1>&2
634
echo '[starttde] Running Trinity shutdown scripts...'  1>&2
603
635
604
# Run scripts found in $KDEDIRS/shutdown
636
# Run scripts found in $TDEDIRS/shutdown
605
for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/shutdown/,p'`; do
637
for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/shutdown/,p'`; do
606
  for file in `ls "$prefix" 2> /dev/null | egrep -v '(~|\.bak)$'`; do
638
  for file in `ls "$prefix" 2> /dev/null | egrep -v '(~|\.bak)$'`; do
607
    if [ -x "${prefix}${file}" ]; then
639
    if [ -x "${prefix}${file}" ]; then
608
      echo "[startkde] Running ${prefix}${file}." 1>&2
640
      echo "[starttde] Running ${prefix}${file}." 1>&2
609
      sh ${prefix}${file}
641
      sh ${prefix}${file}
610
    fi
642
    fi
611
  done
643
  done
Lines 613-619 Link Here
613
645
614
unset TDE_FULL_SESSION
646
unset TDE_FULL_SESSION
615
xprop -root -remove TDE_FULL_SESSION
647
xprop -root -remove TDE_FULL_SESSION
616
unset KDE_SESSION_UID
648
unset TDE_SESSION_UID
617
649
618
# Initialize_Status_Header
650
# Initialize_Status_Header
619
echo "[startkde] Trinity shutdown complete." 1>&2
651
echo "[starttde] Trinity shutdown complete." 1>&2

Return to bug 675