blob: e2f73172127e655847c96fb6b0ff56e118be4721 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
diff --git a/startkde.cmake b/startkde.cmake
index ea2f4f2..7be9831 100755
--- a/startkde.cmake
+++ b/startkde.cmake
@@ -2,11 +2,45 @@
#
# DEFAULT KDE STARTUP SCRIPT ( @KDE_VERSION_STRING@ )
#
+# vim: set filetype=sh :
# When the X server dies we get a HUP signal from xinit. We must ignore it
# because we still need to do some cleanup.
trap 'echo GOT SIGHUP' HUP
+# Gentoo: setup environment, filter other slotted KDE installs from PATH
+export KDEDIR=@REPLACE_PREFIX@
+export KDEDIRS=/usr:/usr/local:${KDEDIR}
+export PATH=${KDEDIR}/bin:$(echo ${PATH} | sed 's#/usr/kde/[^/]*/s\?bin:##g')
+export ROOTPATH=${KDEDIR}/sbin:${KDEDIR}/bin:$(echo ${PATH} | sed 's#/usr/kde/[^/]*/s\?bin:##g')
+export LDPATH=@REPLACE_LIBS@:${LDPATH}
+
+# Gentoo: Handle the ~/.kde symlink to ~/.kde$(version)
+# This is needed to sanely mix multiple slotted KDE versions,
+# without hosing settings of an older KDE version.
+[ -e "$HOME/.kde$(basename $KDEDIR)" ] || mkdir "$HOME/.kde$(basename $KDEDIR)"
+if [ -z "$HOME" ]; then
+ xmessage "HOME is unset. Your user config seems to be broken. Aborting."
+ exit 1
+elif [ ! -d "$HOME/.kde$(basename $KDEDIR)" ]; then
+ xmessage "$HOME/.kde$(basename $KDEDIR) exists but is not a dir. Aborting."
+ exit 1
+elif [ -n "$KDEHOME" ]; then
+ xmessage "You've set $KDEHOME manually. This script currently does not support a non-standard location for $KDEHOME. Please unset it and use the standard." > /dev/null 2>/dev/null
+ exit 1
+elif [ -L "$HOME/.kde" ]; then
+ rm "$HOME/.kde"
+ ln -sf ".kde$(basename $KDEDIR)" "$HOME/.kde"
+elif [ ! -e "$HOME/.kde" ]; then
+ ln -s ".kde$(basename $KDEDIR)" "$HOME/.kde"
+elif [ -d "$HOME/.kde" ]; then
+ xmessage "~/.kde is not a symlink. Please move ~/.kde to ~/.kde3.5 (if appropriate) and symlink ~/.kde to it." > /dev/null 2>/dev/null
+ exit 1
+else
+ xmessage "~/.kde is not a symlink or a dir. Make it a symlink to .kde$(basename $KDEDIR) or remove it." > /dev/null 2>/dev/null
+ exit 1
+fi
+
# Check if a KDE session already is running
if kcheckrunning >/dev/null 2>&1; then
echo "KDE seems to be already running on this display."
|