1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-22 22:28:02 +01:00
Files
wmaker/util/wmaker.inst.in
dan 0261c32636 Code update for Window Maker version 0.50.0
Read changes in ChangeLog and NEWS
1999-01-06 15:22:33 +00:00

272 lines
6.3 KiB
Bash

#!/bin/sh
#
# Install Window Maker for the current user
#
# directory where system wide configuration is stored
GLOBALDIR="#pkgdatadir#"
USERDIR=$HOME
VERSION="#version#"
BINDIR="#bindir#"
make_dir() {
mkdir $1
chmod +rw $1
}
make_script() {
ISCRIPT=$1
cat << EOF >> $ISCRIPT
# Window Maker default X session startup script
PATH="\$PATH:$BINDIR"
# If you login from xdm, uncomment this to make error messages appear
# in the console window.
#
# tail -f $HOME/.xsession-errors > /dev/console
exec wmaker
EOF
chmod +rx $ISCRIPT
}
#
# Copy files considering special cases
#
copy() {
source=$1
target=$2
file=`basename $source`
rm -f $target
if [ "$file" = "WMRootMenu" ]; then
echo \"$GSDIR/Library/WindowMaker/menu\" > \
$target
elif [ "$file" = "WindowMaker" ]; then
sed -e "s|~/GNUstep|$GSDIR|g" $source > $target
else
if test "x$GNUSTEP_USER_ROOT" = "x"; then
cp $source $target
else
sed -e "s|~/GNUstep|$GSDIR|g" $source > $target
fi
fi
}
echo "Installing WindowMaker $VERSION for current user..."
if [ ! -d $GLOBALDIR ]; then
echo "Could not find global configurations files"
echo "Make sure you've installed Window Maker correctly"
exit 1
fi
if [ ! -d "$USERDIR" ]; then
echo "Could not find user directory $USERDIR"
exit 1
fi
if test "x$GNUSTEP_USER_ROOT" = "x"; then
cd $USERDIR
GSDIR=$USERDIR/GNUstep
if [ ! -d $GSDIR ]; then
echo "Creating $GSDIR user directory"
make_dir $GSDIR
fi
else
GSDIR=$GNUSTEP_USER_ROOT
if [ ! -d $GSDIR ]; then
echo "Directory specified in GNUSTEP_USER_ROOT environment variable does not exist"
exit 1
fi
cd $GSDIR
cd ..
fi
if [ ! -d "$GSDIR/.AppInfo" ]; then
make_dir $GSDIR/.AppInfo
fi
if [ ! -d "$GSDIR/Defaults" ]; then
make_dir $GSDIR/Defaults
fi
echo "Copying defaults database..."
FILES=`(cd $GLOBALDIR/Defaults;ls *)`
all=""
for i in $FILES; do
if [ -f $GSDIR/Defaults/$i ]; then
echo "The configuration file \"$i\" already exists in your defaults database."
echo "Do you wish to replace it? <y/n/a> [n] $all"
if [ "$all" != "a" ]; then
read foo
if [ "$foo" = "a" -o "$foo" = "A" ]; then
all="a"
fi
fi
if [ "$foo" = "y" -o "$foo" = "Y" -o "$all" = "a" ]; then
copy $GLOBALDIR/Defaults/$i $GSDIR/Defaults/$i
fi
else
copy $GLOBALDIR/Defaults/$i $GSDIR/Defaults/$i
fi
done
if [ ! -d "$GSDIR/Library/Icons/" ]; then
echo "Creating icon library directory $GSDIR/Library/Icons"
if [ ! -d $GSDIR/Library ]; then
make_dir $GSDIR/Library
fi
make_dir $GSDIR/Library/Icons
fi
if [ ! -d "$GSDIR/Library/WindowMaker/" ]; then
echo "Creating WindowMaker data library directory $GSDIR/Library/WindowMaker"
if [ ! -d $GSDIR/Library ]; then
make_dir $GSDIR/Library
fi
make_dir $GSDIR/Library/WindowMaker
fi
if [ ! -d "$GSDIR/Library/WindowMaker/Styles" ]; then
echo "Creating style library $GSDIR/Library/WindowMaker/Styles"
make_dir $GSDIR/Library/WindowMaker/Styles
fi
if [ ! -d "$GSDIR/Library/WindowMaker/Themes" ]; then
echo "Creating theme library $GSDIR/Library/WindowMaker/Themes"
make_dir $GSDIR/Library/WindowMaker/Themes
fi
if [ ! -d "$GSDIR/Library/WindowMaker/Backgrounds" ]; then
echo "Creating bg image library $GSDIR/Library/WindowMaker/Backgrounds"
make_dir $GSDIR/Library/WindowMaker/Backgrounds
else
echo "Default Backgrounds directory already exists. Skipping..."
fi
if [ ! -d "$GSDIR/Library/WindowMaker/IconSets" ]; then
echo "Creating icon setup library $GSDIR/Library/WindowMaker/IconSets"
make_dir $GSDIR/Library/WindowMaker/IconSets
else
echo "Default IconSets directory already exists. Skipping..."
fi
if [ ! -d "$GSDIR/Library/WindowMaker/Pixmaps" ]; then
echo "Creating pixmap library $GSDIR/Library/WindowMaker/Pixmaps"
make_dir $GSDIR/Library/WindowMaker/Pixmaps
else
echo "Default Pixmaps directory already exists. Skipping..."
fi
if [ ! -d "$GSDIR/Library/WindowMaker/Sounds" ]; then
echo "Creating sound library $GSDIR/Library/WindowMaker/Sounds"
make_dir $GSDIR/Library/WindowMaker/Sounds
else
echo "Default Sounds directory already exists. Skipping..."
fi
if [ ! -d "$GSDIR/Library/WindowMaker/SoundSets" ]; then
echo "Creating sound set library $GSDIR/Library/WindowMaker/SoundSets"
make_dir $GSDIR/Library/WindowMaker/SoundSets
else
echo "Default SoundSets directory already exists. Skipping..."
fi
if test -z #LITE# ; then
for i in $FILES; do
if [ -f "$GSDIR/Library/WindowMaker/$i" ]; then
echo "The file \"$i\" already exists in $GSDIR/Library/WindowMaker"
echo "Do you wish to replace it? <y/n/a> [n] $all"
if [ "$all" != "a" ]; then
read foo
if [ "$foo" = "a" -o "$foo" = "A" ]; then
all="a"
fi
fi
if [ "$foo" = "y" -o "$foo" = "Y" -o "$foo" = "a" ]; then
copy $GLOBALDIR/$i $GSDIR/Library/WindowMaker/$i
fi
else
copy $GLOBALDIR/$i $GSDIR/Library/WindowMaker/$i
fi
done
fi
cp $GLOBALDIR/README $GSDIR/Library/WindowMaker
cp -i $GLOBALDIR/autostart.sh $GSDIR/Library/WindowMaker/autostart
chmod +rx $GSDIR/Library/WindowMaker/autostart
#
#######################
DATE=`date +%m%d%H%M`
show_end_message() {
echo
echo "Installation Finished"
echo
if test -z #LITE# ; then
echo "There are menus in 2 different file formats. The plain text format and"
echo "the property list format. The plain text format is more flexible, but"
echo "the menu in the property list format can be edited graphically. The"
echo "menu that will be used by default is the plain text. Read"
echo "$GSDIR/Library/WindowMaker/README for information on how to change it."
else
echo "Your copy of Window Maker is configured especially for KDE."
echo "Window Maker application menus are not available."
fi
}
if test -z `grep wmaker ~/.xinitrc`; then
show_end_message
exit 0
fi
trap "show_end_message;exit" 2
echo
echo "Now the .xinitrc, .Xclients or .xsession script must be updated so that"
echo "it calls wmaker when you start an X session."
echo "Type the name of the file that must be changed (normally .xinitrc)."
echo "If the file already exists, it will be backed up with a .old.$DATE extension"
echo "If you want to edit it by hand, hit <Control>-C now."
read file
if test "x$file" = "x"; then
echo "Using .xinitrc as a default value"
file=.xinitrc
fi
if [ -f $USERDIR/$file ]; then
mv $USERDIR/$file $USERDIR/$file.old.$DATE
fi
make_script $USERDIR/$file
show_end_message