Re: New AS feature?
Guylhem Aznar (ciguylhem@barberouge.linux.lmm.com)
Thu, 6 Aug 1998 09:05:20 +0200
On Wed, Aug 05, 1998 at 07:27:33PM -0500, J. Neil Doane wrote:
> Well, in light of the heated discourse over the last couple of days
> regarding AS1.0 vs AS1.!0 I do have a suggestion, I guess for Guylhem more
> than anyone, but it'd be interesting to hear opinions from other folks
> about it: why not set up a nice pre-compile-time configuration script
> that lets you pick and choose what features you want in your AS. Like if
In 1.5pre6, ./configure already does this : each options is carefully
explained, and you can also jump to next section.
> you think looks and feels just aren't neccessary, you could disable it
> before you compiled AS and in "your" AS you wouldn't have to have the
> added bloat of that feature? You could, say, select initially what type
> of configuration you want..if you felt GNUStep-compliance wasn't something
> you care, you just disable it in the configuration script and presto, your
> binary of AS doesn't support it. I mean, this is a feature we love from
> our kernel, being able to streamline it to our specifications and use only
> the features that are useful to us...why not have the same thing in our
> window manager? And what's more, if you find that someday GNUStep
> compliance (for instance) is something you need, just as in kernel
> recompilation you can just return to the source, make the changes in the
> configuration utility, and recompile/reinstall. I can certainly see where
> people with low-end machines, people who don't want the extra spice of a
> certain option, or people who just want the very fastest performance from
> their window manager might like this option (which could let them take
> advantage of any good code rewrites in later AS versions that come along
> but allow them the ability not to use stuff they aren't interested in.)
> Again, it's just an idea...but I'd be interested in seeing what people
> think of it.
It is already done, I included here current configure.in (devels run
autoconf to create ./configure from a configure.in)
Tell me which options would you like to add.
1.0 users could *especially* say what else whould they like, or they can
also join coders team.
> Neil Doane
--
"Always pass on good advice. It is never any use to oneself" -- Oscar Wilde
Enlever rrremovethis / Remove rrremovethis
Salut / Best regards, Guylhem AZNAR <guylhem@rrremovethis.oeil.qc.ca>
dnl# -*- sh -*-
dnl# Process this file with autoconf to produce a configure script.
dnl#
dnl#Copyright (c) 1998 Juergen Sawinski <Juergen.Sawinski@urz.uni-heidelberg.de>
dnl#Copyright (c) 1997 1998 Guylhem AZNAR <guylhem@oeil.qc.ca>
AC_INIT(src/afterstep/afterstep.c)
AC_CONFIG_AUX_DIR(autoconf)
AC_CONFIG_HEADER(config.h:autoconf/config.h.in)
dnl# Check for headers
AC_HEADER_DIRENT
AC_HEADER_TIME
AC_CHECK_HEADERS(sys/wait.h sys/time.h sys/statvfs.h sys/vfs.h sys/mount.h)
AC_CHECK_HEADERS(ustat.h machine/soundcard.h linux/soundcard.h linux/radio.h)
dnl# Checks for programs
AC_PROG_LEX
AC_PROG_YACC
AC_CHECK_PROG(sgmltools, sgmltools, HAVE_SGMLTOOLS, NO_SGMLTOOLS)
dnl# Checks for functions
AC_FUNC_WAIT3
AC_CHECK_FUNCS(uname gethostname statvfs)
VT_FIND_LIBXPM
dnl# Variable strings declaration
AC_SUBST(XPM_LIBS)
AC_SUBST(version)
AC_SUBST(bin_dir)
AC_SUBST(mod_dir)
AC_SUBST(man_dir)
AC_SUBST(share_dir)
AC_SUBST(gnustep)
AC_SUBST(gnusteplib)
AC_SUBST(after_dir)
AC_SUBST(xpm_dir)
AC_SUBST(bpm_dir)
AC_SUBST(sgmltools)
AC_SUBST(ximageloader)
AC_SUBST(helpcommand)
AC_SUBST(defaultstartmenusort)
AC_SUBST(usedesktops)
AC_SUBST(deskgeometry)
AC_SUBST(anim_step)
AC_SUBST(anim_step_main)
AC_SUBST(anim_delay)
AC_SUBST(differentlooknfeelforeachdesktop)
AC_SUBST(no_newlook)
AC_SUBST(no_icon_background)
AC_SUBST(no_i18n)
AC_SUBST(no_warppointertomenu)
AC_SUBST(no_savewindows)
AC_SUBST(no_makemenusonboot)
AC_SUBST(no_makestartmenu)
AC_SUBST(no_texture)
AC_SUBST(no_shade)
AC_SUBST(no_virtual)
AC_SUBST(no_saveunders)
AC_SUBST(no_windowlist)
AC_SUBST(no_shape)
dnl# Ask some compile-time options
version="1.5.0 (beta)"
bin_dir="/usr/local/bin"
mod_dir="/usr/local/bin"
man_dir="/usr/local/man/man1"
share_dir="/usr/local/share/afterstep"
gnustep="~/GNUstep/"
gnusteplib="~/GNUstep/Library"
after_dir="~/GNUstep/Library/AfterStep"
xpm_dir="/usr/X11R6/include/X11/pixmaps"
bpm_dir="/usr/X11R6/include/X11/bitmaps"
ximageloader="xli -onroot -quiet -colors 20"
helpcommand="xiterm -e man"
defaultstartmenusort="SORTBYALPHA"
anim_step=5
anim_step_main=5
anim_delay=5
differentlooknfeelforeachdesktop=0
usedesktops=3
deskgeometry="2x2"
no_newlook=1
no_icon_background=1
no_i18n=1
no_warppointertomenu=0
no_savewindows=0
no_makemenusonboot=0
no_makestartmenu=0
no_texture=0
no_shade=0
no_virtual=0
no_saveunders=0
no_windowlist=0
no_shape=0
echo
echo "There are some things to configure that depend on your personal taste."
echo
echo "DON'T RESPOND if you don't understand the question : default choice is kept"
echo
echo
echo -n "#1. Do you want to change install path (n): "
read retval
if test "${retval}" = "y" || test "${retval}" = "yes" ; then
echo
echo "Installation:"
echo "--------------------------------------------------------------------"
echo
echo -n "* Install afterstep binaries in (${bin_dir}): "
read retval
if ! test "${retval}" = "" ; then
bin_dir=${retval}
fi
echo -n "* Install afterstep modules in (${mod_dir}): "
read retval
if ! test "${retval}" = "" ; then
mod_dir=${retval}
fi
echo -n "* Install afterstep manual pages in (${man_dir}): "
read retval
if ! test "${retval}" = "" ; then
man_dir=${retval}
fi
fi
echo
echo -n "#2. Do you want to change configuration path (n): "
read retval
if test "${retval}" = "y" || test "${retval}" = "yes" ; then
echo
echo "Configuration paths:"
echo "--------------------------------------------------------------------"
echo
echo -n "* System-wide path (${share_dir}): "
read retval
if ! test "${retval}" = "" ; then
share_dir=${retval}
fi
echo -n "* Users GNUstep path (${gnustep}): "
read retval
if ! test "${retval}" = "" ; then
gnustep=${retval}
fi
echo -n "* Users GNUstep Library path (${gnusteplib}): "
read retval
if ! test "${retval}" = "" ; then
gnusteplib=${retval}
fi
echo -n "* Users AfterStep path (${after_dir}): "
read retval
if ! test "${retval}" = "" ; then
after_dir=${retval}
fi
echo -n "* Minimum XPM pixmaps path (${xpm_dir}): "
read retval
if ! test "${retval}" = "" ; then
xpm_dir=${retval}
fi
echo -n "* Minimum BPM bitmaps path (${bpm_dir}): "
read retval
if ! test "${retval}" = "" ; then
bpm_dir=${retval}
fi
fi
echo
echo -n "#3. Do you want to change helpers applications (n): "
read retval
if test "${retval}" = "y" || test "${retval}" = "yes" ; then
echo
echo "Helpers applications:"
echo "--------------------------------------------------------------------"
echo
echo "External program used by afterstep to display non XPM files like JPEG"
echo "in root window background."
echo "xli is faster, but some people will prefer xv (use xv -root -quit)"
echo
echo -n "* Use (${ximageloader}): "
read retval
if ! test "${retval}" = "" ; then
ximageloader=${retval}
fi
echo
echo "When you click with mouse button #2 on title button #1, manpage of the"
echo "current program is displayed by an external program (xman can't be used)"
echo
echo -n "* Help command (${helpcommand}):"
read retval
if ! test "${retval}" = "" ; then
helpcommand=${retval}
fi
fi
echo
echo -n "#4. Do you want to change look options (n): "
read retval
if test "${retval}" = "y" || test "${retval}" = "yes" ; then
echo
echo "Look:"
echo "--------------------------------------------------------------------"
echo
echo "There are 3 ways of sorting options in start menu by default : only"
echo "SORTBYALPHA, SORTBYDATE & SORTBYPUREALPHA are available for now"
echo
echo -n "* Default Start-menu sort mode (${defaultstartmenusort}):"
read retval
if ! test "${retval}" = "" ; then
defaultstartmenusort=${retval}
fi
echo
echo "Wharf animation speed : greater is smoother and slower, but must be >=1"
echo "You may want to raise the following default values if your machine is"
echo "fast or lower if it is slow, but you'd better edit wharf config. file"
echo
echo -n "* Animation steps for wharf folders (${anim_step}):"
read retval
if ! test "${retval}" = "" ; then
anim_step=${retval}
fi
echo -n "* Animation steps for wharf main window (${anim_step_main}):"
read retval
if ! test "${retval}" = "" ; then
anim_step_main=${retval}
fi
echo -n "* Animation delay in ms (${anim_delay}):"
read retval
if ! test "${retval}" = "" ; then
anim_delay=${retval}
fi
echo
echo "Restarting automagically with a different look & feel each time you"
echo "change desktop with Pager (not by circulating windows !) is CPU hungry."
echo "Not recommended on slow/loaded machines : barely usable on P2 or Alphas"
echo
if test ${differentlooknfeelforeachdesktop} = 0 ; then
echo -n "* Use different look&feel for each desktop (no): "
else
echo -n "* Use different look&feel for each desktop (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
differentlooknfeelforeachdesktop=1
;;
no|n)
differentlooknfeelforeachdesktop=0
esac
fi
echo
echo "AfterStep now uses 4 pages on each of 4 the desktop by default"
echo "Most of people like having these 15 extra screens, some don't."
echo
echo -n "* How many desks do you want to use ? (${usedesktops}+1): "
read retval
if ! test "${retval}" = "" ; then
usedesktops=${retval}-1
fi
echo
echo "Pages geometry for all desktop can be changed : by default it is a"
echo "2x2 square, but you can make it become a 2x3 rectangle [tall] or a"
echo "3x2 rectangle [wide] : this geometry applyies to each desktop"
echo "Format is: (width)x(hight), for example : 2x2"
echo
echo -n "* Set desk geometry to (${deskgeometry}): "
read retval
if ! test "${retval}" = "" ; then
deskgeometry=${retval}
fi
fi
echo
echo -n "#5. Do you want to change compile-time options (n): "
read retval
if test "${retval}" = "y" || test "${retval}" = "yes" ; then
echo
echo "Compile-time options:"
echo "--------------------------------------------------------------------"
echo
echo "Would you like to use old look files and .steprc ?"
echo "New inheritable looks should support old (look files and .steprc)"
echo "but this option prevents compatibility problems with these old files"
echo
if test ${no_newlook} = 0 ; then
echo -n "* Replace new look code by old look code (no): "
else
echo -n "* Replace new look code by old look code (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_newlook=1
;;
no|n)
no_newlook=0
esac
fi
echo
echo "Don't want background behind iconifyied windows & allow big icon ?"
echo "Very nice looking, but not very nextish ! NOT FINISHED YET !!!"
echo
if test ${no_icon_background} = 0 ; then
echo -n "* Disable old icon code -new is still experimental- (no): "
else
echo -n "* Disable old icon code -new is still experimental- (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_icon_background=1
;;
no|n)
no_icon_background=0
esac
fi
echo
echo "If you want to use I18N feature, just enable it, then you can use"
echo "non-english fonts in window title, Icon, and Menu. but you have to set"
echo "the locale appropriately before you start the window manager."
echo
if test ${no_i18n} = 0 ; then
echo -n "* Disable i18n feature (no): "
else
echo -n "* Disable i18n feature (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_i18n=1
;;
no|n)
no_i18n=0
esac
fi
echo
echo "Do you want your mouse pointer to be automatically put in the center"
echo "of a menu title when you open it ? This can be annoying for big menus"
echo
if test ${no_warppointertomenu} = 0 ; then
echo -n "* Disable automatic pointer warps (no): "
else
echo -n "* Disable automatic pointer warps (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_warppointertomenu=1
;;
no|n)
no_warppointertomenu=0
esac
fi
echo
echo "If you don't want windows still opened when you close your session to"
echo "be automatically reopened next time you start (seesions saving)"
echo
if test ${no_savewindows} = 0 ; then
echo -n "* Disable windows saving on exit (no): "
else
echo -n "* Disable windows saving on exit (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_savewindows=1
;;
no|n)
no_savewindows=0
esac
fi
echo
echo "This will make AfterStep startup faster, but it will not update menus"
echo "on each boot : you will have to click on Quit/Update Start Menu"
echo "However, no one really needs to update menus on each boot"
echo
if test ${no_makemenusonboot} = 0 ; then
echo -n "* Disable start menu updating on startup (no): "
else
echo -n "* Disable start menu updating on startup (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_makemenusonboot=1
;;
no|n)
no_makemenusonboot=0
esac
fi
echo
echo "If you don't want start menu to be rebuilt every time you start"
echo "AfterStep but rather edit startmenu file by hand. Not recommended."
echo
if test ${no_makestartmenu} = 0 ; then
echo -n "* Disable all start menu tree -use non-configurable/tmp/startmenu- (no): "
else
echo -n "* Disable all start menu tree -use non-configurable/tmp/startmenu- (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_makestartmenu=1
;;
no|n)
no_makestartmenu=0
esac
fi
echo
echo "Use this if you don't like gradients, for example on titlebars"
echo "To disable icons background gradients, you must use new icon code too"
echo
if test ${no_texture} = 0 ; then
echo -n "* Disable textures (no): "
else
echo -n "* Disable textures (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_texture=1
;;
no|n)
no_texture=0
esac
fi
echo
echo "Windows can be swallowed under their titlebar to save some place on the"
echo "desktop : this is called shading"
echo "If you do not want shade to be animated use this option"
echo
if test ${no_shade} = 0 ; then
echo -n "* Disable shade (no): "
else
echo -n "* Disable shade (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_shade=1
;;
no|n)
no_shade=0
esac
fi
echo
echo "Omitting the virtual desktop breaks Pager module"
echo "There should be no real need to define this"
echo
if test ${no_virtual} = 0 ; then
echo -n "* Disable virtual desktop (no): "
else
echo -n "* Disable virtual desktop (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_virtual=1
;;
no|n)
no_virtual=0
esac
fi
echo
echo "Tells AfterStep not to request save unders for pop-up menus"
echo "A quick test using monochrome X11 shows that save unders cost about 4K"
echo "RAM, but saves a lot of window redraws if you have windows that take a"
echo "while to refresh. For xcolor, I assume the cost is more like :"
echo "4Kbytesx8 = 32Kbytes (256 color)."
echo
if test ${no_saveunders} = 0 ; then
echo -n "* Disable saveunders (no): "
else
echo -n "* Disable saveunders (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_saveunders=1
;;
no|n)
no_saveunders=0
esac
fi
echo
echo "Causes built-in window-list (started on right clicking root window) to"
echo "be omitted."
echo "The window-list module WinList which can be used instead is slower !"
echo
if test ${no_windowlist} = 0 ; then
echo -n "* Disable internal faster window list (no): "
else
echo -n "* Disable internal faster window list (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_windowlist=1
;;
no|n)
no_windowlist=0
esac
fi
echo
echo "If you don't want the Shaped window extensions, use this option."
echo "Shaped window extensions seem to increase the window managers RSS by 60k"
echo "They provide for leaving a title-bar on the window without a border"
echo "If you dont use shaped window extension, you can either make your shaped"
echo "windows undecorated, or live with a border and backdrop around all"
echo "your shaped windows (oclock, xeyes)"
echo "If you normally use a shaped window (xeyes or oclock), you might as"
echo "well compile this extension in, since the memory cost is minimal in"
echo "this case (The shaped window shared libs will be loaded anyway ; if you"
echo "don't normally use a shaped window, you have to decide for yourself"
echo
if test ${no_shape} = 0 ; then
echo -n "* Disable shape transparency extensions (no): "
else
echo -n "* Disable shape transparency extensions (yes): "
fi
read retval
if ! test "${retval}" = "" ; then
case ${retval} in
yes|y)
no_shape=1
;;
no|n)
no_shape=0
esac
fi
fi
echo
dnl# Write results
AC_CONFIG_HEADER(config.h)
AC_OUTPUT(afterstep/autoexec afterstep/asmail afterstep/base.8bpp
afterstep/base.16bpp afterstep/base.24bpp afterstep/base.32bpp
afterstep/audio afterstep/compatibility afterstep/pager
doc/afterdoc/afterstepdoc src/aspostit/xpostit.h src/aspostit/app_defaults.h
include/configure.h compilation.h)
cd src/asclock
./configure
cd ../..
echo "
AfterStep $version is now hopefully configured:
Just run : xmkmf ; make Makefiles ; make
"
--
WWW: http://www.afterstep.org/
FTP: ftp://ftp.afterstep.org/
MAIL: http://www.caldera.com/linuxcenter/forums/afterstep.html