3 # Install Window Maker for the current user
7 if test "x$1" = "x--batch" ; then
14 # name of menu file we install (menu, plmenu)
18 if [ -z "$LOCALE" ]; then
22 # directory where system wide configuration is stored
23 GLOBALDIR
="#pkgdatadir#"
24 GLOBALDEFDIR
="#sysconfdir#"
40 cat << EOF >> $ISCRIPT
41 # Window Maker default X session startup script
45 # If you login from xdm, uncomment this to make error messages appear
46 # in the console window.
48 # tail -f $HOME/.xsession-errors > /dev/console &
58 # Copy files considering special cases
63 file=`basename $source`
65 if [ "$file" = "WindowMaker" ]; then
66 sed -e "s|~/GNUstep|$GSDIR|g" $source > $target
67 elif [ "$file" = "WMRootMenu" ]; then
68 if [ "$LOCALE" ]; then
69 if [ -f $GLOBALDIR/plmenu.
$LOCALE ]; then
70 source=$GLOBALDIR/plmenu.
$LOCALE
71 elif [ -f $GLOBALDIR/plmenu.
${LOCALE%.*} ]; then
72 source=$GLOBALDIR/plmenu.
${LOCALE%.*}
73 elif [ -f $GLOBALDIR/plmenu.
${LOCALE%_*} ]; then
74 source=$GLOBALDIR/plmenu.
${LOCALE%_*}
75 elif [ -f $GLOBALDIR/menu.
${LOCALE%_*} ]; then
76 source=$GLOBALDIR/menu.
${LOCALE%_*}
78 source=$GLOBALDIR/plmenu
81 source=$GLOBALDIR/plmenu
83 sed -e "s:#wmdatadir#:$GLOBALDIR:g" \
84 $source > $GSDIR/Defaults
/WMRootMenu
86 if test "x$GNUSTEP_USER_ROOT" = "x"; then
87 sed -e "s:#wmdatadir#:$GLOBALDIR:g" \
90 sed -e "s|\$HOME/GNUstep|$GSDIR|g" \
91 -e "s:#wmdatadir#:$GLOBALDIR:g" \
99 echo "Installing WindowMaker $VERSION for current user..."
102 if [ ! -d $GLOBALDIR ]; then
103 echo "Could not find global data files"
104 echo "Make sure you have installed Window Maker correctly"
108 if [ ! -d $GLOBALDEFDIR ]; then
109 echo "Could not find global configurations files"
110 echo "Make sure you have installed Window Maker correctly"
114 if [ ! -d "$USERDIR" ]; then
115 echo "Could not find user directory $USERDIR"
120 if test "x$GNUSTEP_USER_ROOT" = "x"; then
122 GSDIR
=$USERDIR/GNUstep
123 if [ ! -d $GSDIR ]; then
124 echo "Creating $GSDIR user directory"
128 GSDIR
=$GNUSTEP_USER_ROOT
129 if [ ! -d $GSDIR ]; then
130 echo "Directory specified in GNUSTEP_USER_ROOT environment variable does not exist"
138 if [ ! -d "$GSDIR/Defaults" ]; then
139 make_dir
$GSDIR/Defaults
142 echo "Copying defaults database..."
144 FILES
=`(cd $GLOBALDEFDIR;ls -d *)`
147 if [ ! -d $GLOBALDEFDIR/$i ]; then
148 if [ -f $GSDIR/Defaults
/$i -a -z "$BATCH" ]; then
149 echo "The configuration file \"$i\" already exists in your defaults database."
150 echo "Do you wish to replace it? <y/n/a> [n] $all"
151 if [ "$all" != "a" ]; then
153 if [ "$foo" = "a" -o "$foo" = "A" ]; then
157 if [ "$foo" = "y" -o "$foo" = "Y" -o "$all" = "a" ]; then
158 copy
$GLOBALDEFDIR/$i $GSDIR/Defaults
/$i
161 copy
$GLOBALDEFDIR/$i $GSDIR/Defaults
/$i
167 if [ ! -d "$GSDIR/Library/Icons/" ]; then
168 echo "Creating icon library directory $GSDIR/Library/Icons"
169 if [ ! -d $GSDIR/Library
]; then
170 make_dir
$GSDIR/Library
172 make_dir
$GSDIR/Library
/Icons
176 if [ ! -d "$GSDIR/Library/WindowMaker/" ]; then
177 echo "Creating WindowMaker data library directory $GSDIR/Library/WindowMaker"
178 if [ ! -d $GSDIR/Library
]; then
179 make_dir
$GSDIR/Library
181 make_dir
$GSDIR/Library
/WindowMaker
184 if [ ! -d "$GSDIR/Library/WindowMaker/Styles" ]; then
185 echo "Creating style library $GSDIR/Library/WindowMaker/Styles"
186 make_dir
$GSDIR/Library
/WindowMaker
/Styles
190 if [ ! -d "$GSDIR/Library/WindowMaker/Themes" ]; then
191 echo "Creating theme library $GSDIR/Library/WindowMaker/Themes"
192 make_dir
$GSDIR/Library
/WindowMaker
/Themes
196 if [ ! -d "$GSDIR/Library/WindowMaker/Backgrounds" ]; then
197 echo "Creating bg image library $GSDIR/Library/WindowMaker/Backgrounds"
198 make_dir
$GSDIR/Library
/WindowMaker
/Backgrounds
200 echo "Default Backgrounds directory already exists. Skipping..."
204 if [ ! -d "$GSDIR/Library/WindowMaker/IconSets" ]; then
205 echo "Creating icon setup library $GSDIR/Library/WindowMaker/IconSets"
206 make_dir
$GSDIR/Library
/WindowMaker
/IconSets
208 echo "Default IconSets directory already exists. Skipping..."
212 if [ ! -d "$GSDIR/Library/WindowMaker/Pixmaps" ]; then
213 echo "Creating pixmap library $GSDIR/Library/WindowMaker/Pixmaps"
214 make_dir
$GSDIR/Library
/WindowMaker
/Pixmaps
216 echo "Default Pixmaps directory already exists. Skipping..."
220 if [ ! -d "$GSDIR/Library/WindowMaker/Sounds" ]; then
221 echo "Creating sound library $GSDIR/Library/WindowMaker/Sounds"
222 make_dir
$GSDIR/Library
/WindowMaker
/Sounds
224 echo "Default Sounds directory already exists. Skipping..."
228 if [ ! -d "$GSDIR/Library/WindowMaker/SoundSets" ]; then
229 echo "Creating sound set library $GSDIR/Library/WindowMaker/SoundSets"
230 make_dir
$GSDIR/Library
/WindowMaker
/SoundSets
232 echo "Default SoundSets directory already exists. Skipping..."
236 if [ ! -d "$GSDIR/Library/WindowMaker/CachedPixmaps" ]; then
237 make_dir
$GSDIR/Library
/WindowMaker
/CachedPixmaps
240 if [ ! -d "$GSDIR/Library/WindowMaker/WPrefs" ]; then
241 make_dir
$GSDIR/Library
/WindowMaker
/WPrefs
244 if test -z "#LITE#" ; then
245 FILES
=`(cd $GLOBALDIR; ls menu menu.* plmenu plmenu.?? wmmacros)`
248 if [ -f "$GSDIR/Library/WindowMaker/$i" -a -z "$BATCH" ]; then
250 echo "The file \"$i\" already exists in $GSDIR/Library/WindowMaker"
251 echo "Do you wish to replace it? <y/n/a> [n] $all"
252 if [ "$all" != "a" ]; then
254 if [ "$foo" = "a" -o "$foo" = "A" ]; then
258 if [ "$foo" = "y" -o "$foo" = "Y" -o "$foo" = "a" ]; then
259 copy
$GLOBALDIR/$i $GSDIR/Library
/WindowMaker
/$i
262 copy
$GLOBALDIR/$i $GSDIR/Library
/WindowMaker
/$i
267 cp $GLOBALDIR/README.themes
$GSDIR/Library
/WindowMaker
268 cp $GLOBALDIR/README
$GSDIR/Library
/WindowMaker
270 test -f ~
$GSDIR/Library
/WindowMaker
/autostart || \
271 cp $GLOBALDIR/autostart.sh
$GSDIR/Library
/WindowMaker
/autostart
272 chmod +rx
$GSDIR/Library
/WindowMaker
/autostart
274 test -f ~
$GSDIR/Library
/WindowMaker
/exitscript || \
275 cp $GLOBALDIR/exitscript.sh
$GSDIR/Library
/WindowMaker
/exitscript
276 chmod +rx
$GSDIR/Library
/WindowMaker
/exitscript
279 if test -n "$BATCH" ; then
280 echo "Installation Finished"
287 #######################
294 echo "Installation Finished"
296 if test -z "#LITE#" ; then
297 echo "There are menus in 2 different file formats. The plain text format and"
298 echo "the property list format. The plain text format is more flexible, but"
299 echo "the menu in the property list format can be edited graphically. The"
300 echo "menu that will be used by default is the property list one. Read"
301 echo " $GSDIR/Library/WindowMaker/README"
302 echo "for information on how to change it."
303 if [ "${inst_menu%.*}" = "menu" ]; then
304 echo "However, since you have locale set to $LOCALE and plmenu for such locale"
305 echo "was not found, your WMRootMenu contains path to text formated menu:"
306 echo " $GSDIR/Library/WindowMaker/$inst_menu"
309 echo "Your copy of Window Maker is configured especially for KDE."
310 echo "Window Maker application menus are not available."
315 for xinit
in .xinitrc .Xclients .xsession
; do
316 test ! -f "$HOME/$xinit" && continue
317 res
="`grep wmaker $HOME/$xinit`"
318 if test "x$res" != x
; then
323 if test $wmaker_found = 1; then
324 echo "Found Window Maker to already be your default window manager."
330 trap "show_end_message;exit" 2
333 echo "Now the .xinitrc, .Xclients or .xsession script must be updated so that"
334 echo "it calls wmaker when you start an X session."
335 echo "Type the name of the file that must be changed (normally .xinitrc)."
336 echo "If the file already exists, it will be backed up with a .old.$DATE "
338 echo "If you want to edit it by hand, hit <Control>-C now."
341 if test "x$file" = "x"; then
342 echo "Using .xinitrc as a default value"
346 if [ -f $USERDIR/$file ]; then
347 mv $USERDIR/$file $USERDIR/$file.old.
$DATE
350 make_script
$USERDIR/$file