Added install-sh so cvs checkout will get a working file set

This commit is contained in:
Bill Spitzak
2001-04-22 16:09:04 +00:00
parent 9bf56e5cbc
commit 9cbc566a07
5 changed files with 262 additions and 19 deletions

View File

@ -1,7 +1,7 @@
SHELL=/bin/sh SHELL=/bin/sh
PROGRAM = flwm PROGRAM = flwm
VERSION = 0.25 VERSION = 1.00
CXXFILES = main.C Frame.C Rotated.C Menu.C FrameWindow.C Desktop.C Hotkeys.C CXXFILES = main.C Frame.C Rotated.C Menu.C FrameWindow.C Desktop.C Hotkeys.C

18
README
View File

@ -5,7 +5,7 @@ How to compile flwm:
---------------------------------------------------------------- ----------------------------------------------------------------
You need fltk. If you do not have it yet, download it from You need fltk. If you do not have it yet, download it from
http://fltk.easysw.com, and compile and install it. http://www.fltk.org, and compile and install it.
To customize flwm (for instance to turn on click-to-type), edit the To customize flwm (for instance to turn on click-to-type), edit the
config.h file. config.h file.
@ -22,21 +22,21 @@ If you wish to edit the code, type "make depend"
How to run flwm: How to run flwm:
---------------------------------------------------------------- ----------------------------------------------------------------
Flwm should be run by X when it logs you in. This is done by putting To run flwm as your login script, you need to create or replace
a call to flwm into the file ~/.xinitrc. With any luck you already ~/.xinitrc or ~/.xsession (or both). Newer Linux systems with a login
have this file. If not try copying /usr/X11/lib/X11/xinit/xinitrc. panel use .xsession, older systems where X was started after login
Edit the file and try to remove any call to another window manager use .xinitrc. You may also have to pick "default" from the "type of
(these are usually near the end). session" popup in your login window.
Recommended contents of ~/.xinitrc: The .xinitrc or .xsession file should look like this:
#!/bin/sh #!/bin/sh
xsetroot -solid \#006060 xsetroot -solid \#006060
xrdb .Xresources xrdb .Xresources
# <xset, xmodmap, other configuration programs> # xset, xmodmap, other configuration programs
flwm & flwm &
WindowManager=$! WindowManager=$!
# <xterm, other automatically-launched programs> # xterm, other automatically-launched programs
wait $WindowManager wait $WindowManager
ALLOWING THE WINDOW MANAGER TO EXIT W/O LOGOUT: ALLOWING THE WINDOW MANAGER TO EXIT W/O LOGOUT:

19
flwm.1
View File

@ -12,24 +12,27 @@ is a very small and fast X window manager, featuring
.I no .I no
icons and "sideways" title bars. icons and "sideways" title bars.
.SH .xinitrc .SH .xinitrc / .xsession
Recommened contents of your ~/.xinitrc file: To run flwm as your login script, you need to create or replace
~/.xinitrc or ~/.xsession (or both). Newer Linux systems with a login
panel use .xsession, older systems where X was started after login
use .xinitrc. You may also have to pick "default" from the "type of
session" popup in your login window.
The .xinitrc or .xsession file should look like this:
.nf .nf
#!/bin/sh #!/bin/sh
xsetroot -solid \#006060 xsetroot -solid \\#006060
xrdb .Xresources xrdb .Xresources
# <xset, xmodmap, other configuration programs> # xset, xmodmap, other configuration programs
flwm & flwm &
WindowManager=$! WindowManager=$!
# <xterm, other automatically-launched programs> # xterm, other automatically-launched programs
wait $WindowManager wait $WindowManager
.fi .fi
You may instead use the standard of running the window manager last with
an "exec flwm" statement at the end of .xinitrc.
.SH SWITCHES .SH SWITCHES
.B -d[isplay] host:#.# .B -d[isplay] host:#.#

View File

@ -16,7 +16,9 @@ proc read_wmfile {fname} {
set name "" set name ""
set exec "" set exec ""
while {[gets $f list]>=0} { while {[gets $f list]>=0} {
if [llength $list]<3 continue set n 0
catch {set n [llength $list]}
if $n<3 continue
set tag [lindex $list 1] set tag [lindex $list 1]
set value [lrange $list 2 1000] set value [lrange $list 2 1000]
if [llength $value]==1 {set value [lindex $value 0]} if [llength $value]==1 {set value [lindex $value 0]}

238
install-sh Executable file
View File

@ -0,0 +1,238 @@
#! /bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
tranformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0