From fd61bea39cbd329ee48bbc4a180da7e2f178d358 Mon Sep 17 00:00:00 2001 From: Mike Small Date: Sat, 16 Dec 2017 21:42:55 -0500 Subject: [PATCH] Remove the iconmgr feature. With this twmruined reads .twmruinedrc instead of .twmrc. Some more details from the Changelog: * src/twm.h and several other files: remove iconmgr functionality. Also drop the sample configuration file directory. These referenced iconmgr settings which I've removed. As more settings go these files would get further and further from their authors' intentions if I were to maintain them. * aclocal.m4: regenerated using aclocal (automake) 1.15.1 on OpenBSD 6.2. export AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.15.1 ACLOCAL=/usr/local/bin/aclocal-1.15 /usr/local/bin/aclocal-1.15 -I /usr/X11R6/share/aclocal * configure: regenerated using autoconf 2.69 on OpenBSD 6.2. --- ChangeLog | 14 + Makefile.in | 22 +- README | 8 +- aclocal.m4 | 2520 +++++++++++----------- configure | 167 +- man/Makefile.in | 12 +- man/twmruined.man | 165 +- sample-twmrc/jim.twmrc | 250 --- sample-twmrc/keith.twmrc | 223 -- sample-twmrc/lemke.twmrc | 255 --- src/Makefile.am | 2 - src/Makefile.in | 24 +- src/add_window.c | 34 +- src/add_window.h | 4 +- src/deftwmrc.c | 8 - src/events.c | 128 +- src/gram.c | 4413 ++++++++++++++------------------------ src/gram.h | 277 +-- src/gram.y | 51 +- src/iconmgr.c | 691 ------ src/iconmgr.h | 89 - src/menus.c | 125 +- src/parse.c | 102 +- src/parse.h | 10 - src/resize.c | 19 +- src/screen.h | 18 +- src/system.twmruinedrc | 8 - src/twm.c | 57 - src/twm.h | 14 +- 29 files changed, 3044 insertions(+), 6666 deletions(-) delete mode 100644 sample-twmrc/jim.twmrc delete mode 100644 sample-twmrc/keith.twmrc delete mode 100644 sample-twmrc/lemke.twmrc delete mode 100644 src/iconmgr.c delete mode 100644 src/iconmgr.h diff --git a/ChangeLog b/ChangeLog index b261738..6e90fc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2017-12-03 Mike Small + + * src/twm.h and several other files: remove iconmgr functionality. + Also drop the sample configuration file directory. These referenced + iconmgr settings which I've removed. As more settings go these + files would get further and further from their authors' intentions + if I were to maintain them. + + * aclocal.m4: regenerated using aclocal (automake) 1.15.1 on OpenBSD 6.2. + export AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.15.1 ACLOCAL=/usr/local/bin/aclocal-1.15 + /usr/local/bin/aclocal-1.15 -I /usr/X11R6/share/aclocal + + * configure: regenerated using autoconf 2.69 on OpenBSD 6.2. + 2017-09-30 Michael Small * src/Makefile.am (AM_CFLAGS): warnings as errors. diff --git a/Makefile.in b/Makefile.in index fff3b9b..d8fa85f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -270,6 +270,7 @@ LIBS = @LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MAN_SUBSTS = @MAN_SUBSTS@ MISC_MAN_DIR = @MISC_MAN_DIR@ @@ -341,7 +342,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -359,7 +359,7 @@ all: config.h .SUFFIXES: am--refresh: Makefile @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -385,9 +385,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): @@ -398,7 +398,7 @@ config.h: stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -580,7 +580,7 @@ distdir: $(DISTFILES) ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 @@ -605,7 +605,7 @@ dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -623,7 +623,7 @@ dist dist-all: distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -633,7 +633,7 @@ distcheck: dist *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac diff --git a/README b/README index 7e3a2cb..a157a72 100644 --- a/README +++ b/README @@ -1,4 +1,10 @@ -twm fork to suit my preferences. +A twm fork to suit my preferences. + +Features removed... + +1. iconmgr feature. + + The master development code repository can be found at: diff --git a/aclocal.m4 b/aclocal.m4 index e7a4ba8..fa0b1a7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.15.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,63 +20,32 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -dnl serial 11 (pkg-config-0.29) -dnl -dnl Copyright © 2004 Scott James Remnant . -dnl Copyright © 2012-2015 Dan Nicholson -dnl -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -dnl 02111-1307, USA. -dnl -dnl As a special exception to the GNU General Public License, if you -dnl distribute this file as part of a program that contains a -dnl configuration script generated by Autoconf, you may include it under -dnl the same distribution terms that you use for the rest of that -dnl program. +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. -dnl PKG_PREREQ(MIN-VERSION) -dnl ----------------------- -dnl Since: 0.29 -dnl -dnl Verify that the version of the pkg-config macros are at least -dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's -dnl installed version of pkg-config, this checks the developer's version -dnl of pkg.m4 when generating configure. -dnl -dnl To ensure that this macro is defined, also add: -dnl m4_ifndef([PKG_PREREQ], -dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) -dnl -dnl See the "Since" comment for each macro you use to see what version -dnl of the macros you require. -m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29]) -m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, - [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) -])dnl PKG_PREREQ - -dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) -dnl ---------------------------------- -dnl Since: 0.16 -dnl -dnl Search for the pkg-config tool and set the PKG_CONFIG variable to -dnl first found in the path. Checks that the version of pkg-config found -dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is -dnl used since that's the first version where most current features of -dnl pkg-config existed. +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) @@ -98,19 +67,18 @@ if test -n "$PKG_CONFIG"; then PKG_CONFIG="" fi fi[]dnl -])dnl PKG_PROG_PKG_CONFIG +])# PKG_PROG_PKG_CONFIG -dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -dnl ------------------------------------------------------------------- -dnl Since: 0.18 -dnl -dnl Check to see whether a particular set of modules exists. Similar to -dnl PKG_CHECK_MODULES(), but does not set variables or print errors. -dnl -dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurence in configure.ac, so if the first place -dnl it's called might be skipped (such as if it is within an "if", you -dnl have to call PKG_CHECK_EXISTS manually +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ @@ -120,10 +88,8 @@ m4_ifvaln([$3], [else $3])dnl fi]) -dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -dnl --------------------------------------------- -dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting -dnl pkg_failed based on the result. +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" @@ -135,11 +101,10 @@ m4_define([_PKG_CONFIG], else pkg_failed=untried fi[]dnl -])dnl _PKG_CONFIG +])# _PKG_CONFIG -dnl _PKG_SHORT_ERRORS_SUPPORTED -dnl --------------------------- -dnl Internal check to see if pkg-config supports short errors. +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -147,17 +112,19 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then else _pkg_short_errors_supported=no fi[]dnl -])dnl _PKG_SHORT_ERRORS_SUPPORTED +])# _PKG_SHORT_ERRORS_SUPPORTED -dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -dnl [ACTION-IF-NOT-FOUND]) -dnl -------------------------------------------------------------- -dnl Since: 0.4.0 -dnl -dnl Note that if there is a possibility the first call to -dnl PKG_CHECK_MODULES might not happen, you should be sure to include an -dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl @@ -211,40 +178,16 @@ else AC_MSG_RESULT([yes]) $3 fi[]dnl -])dnl PKG_CHECK_MODULES +])# PKG_CHECK_MODULES -dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -dnl [ACTION-IF-NOT-FOUND]) -dnl --------------------------------------------------------------------- -dnl Since: 0.29 -dnl -dnl Checks for existence of MODULES and gathers its build flags with -dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags -dnl and VARIABLE-PREFIX_LIBS from --libs. -dnl -dnl Note that if there is a possibility the first call to -dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to -dnl include an explicit call to PKG_PROG_PKG_CONFIG in your -dnl configure.ac. -AC_DEFUN([PKG_CHECK_MODULES_STATIC], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -_save_PKG_CONFIG=$PKG_CONFIG -PKG_CONFIG="$PKG_CONFIG --static" -PKG_CHECK_MODULES($@) -PKG_CONFIG=$_save_PKG_CONFIG[]dnl -])dnl PKG_CHECK_MODULES_STATIC - - -dnl PKG_INSTALLDIR([DIRECTORY]) -dnl ------------------------- -dnl Since: 0.27 -dnl -dnl Substitutes the variable pkgconfigdir as the location where a module -dnl should install pkg-config .pc files. By default the directory is -dnl $libdir/pkgconfig, but the default can be changed by passing -dnl DIRECTORY. The user can override through the --with-pkgconfigdir -dnl parameter. +# PKG_INSTALLDIR(DIRECTORY) +# ------------------------- +# Substitutes the variable pkgconfigdir as the location where a module +# should install pkg-config .pc files. By default the directory is +# $libdir/pkgconfig, but the default can be changed by passing +# DIRECTORY. The user can override through the --with-pkgconfigdir +# parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -255,18 +198,16 @@ AC_ARG_WITH([pkgconfigdir], AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -])dnl PKG_INSTALLDIR +]) dnl PKG_INSTALLDIR -dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) -dnl -------------------------------- -dnl Since: 0.27 -dnl -dnl Substitutes the variable noarch_pkgconfigdir as the location where a -dnl module should install arch-independent pkg-config .pc files. By -dnl default the directory is $datadir/pkgconfig, but the default can be -dnl changed by passing DIRECTORY. The user can override through the -dnl --with-noarch-pkgconfigdir parameter. +# PKG_NOARCH_INSTALLDIR(DIRECTORY) +# ------------------------- +# Substitutes the variable noarch_pkgconfigdir as the location where a +# module should install arch-independent pkg-config .pc files. By +# default the directory is $datadir/pkgconfig, but the default can be +# changed by passing DIRECTORY. The user can override through the +# --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -277,24 +218,1173 @@ AC_ARG_WITH([noarch-pkgconfigdir], AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -])dnl PKG_NOARCH_INSTALLDIR +]) dnl PKG_NOARCH_INSTALLDIR + +# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.15' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.15.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.15.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -dnl ------------------------------------------- -dnl Since: 0.28 +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each '.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAINTAINER_MODE([DEFAULT-MODE]) +# ---------------------------------- +# Control maintainer-specific portions of Makefiles. +# Default is to disable them, unless 'enable' is passed literally. +# For symmetry, 'disable' may be passed as well. Anyway, the user +# can override the default with the --enable/--disable switch. +AC_DEFUN([AM_MAINTAINER_MODE], +[m4_case(m4_default([$1], [disable]), + [enable], [m4_define([am_maintainer_other], [disable])], + [disable], [m4_define([am_maintainer_other], [enable])], + [m4_define([am_maintainer_other], [enable]) + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode's default is 'disable' unless 'enable' is passed + AC_ARG_ENABLE([maintainer-mode], + [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], + am_maintainer_other[ make rules and dependencies not useful + (and sometimes confusing) to the casual installer])], + [USE_MAINTAINER_MODE=$enableval], + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST([MAINT])dnl +] +) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac dnl -dnl Retrieves the value of the pkg-config variable for the given module. -AC_DEFUN([PKG_CHECK_VAR], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) -_PKG_CONFIG([$1], [variable="][$3]["], [$2]) -AS_VAR_COPY([$1], [pkg_cv_][$1]) +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -AS_VAR_IF([$1], [""], [$5], [$4])dnl -])dnl PKG_CHECK_VAR +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. dnl @@ -345,6 +1435,7 @@ m4_if(m4_version_compare(vers_have, [$1]), -1, m4_undefine([vers_have]) m4_undefine([maj_have]) m4_undefine([maj_needed]) +AM_MAINTAINER_MODE ]) # XORG_MACROS_VERSION # XORG_PROG_RAWCPP() @@ -720,24 +1811,13 @@ m4_ifval([$1], fi]) # Test for the ability of xmlto to generate a text target -# -# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the -# following test for empty XML docbook files. -# For compatibility reasons use the following empty XML docbook file and if -# it fails try it again with a non-empty XML file. have_xmlto_text=no cat > conftest.xml << "EOF" EOF AS_IF([test "$have_xmlto" = yes], [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], [have_xmlto_text=yes], - [# Try it again with a non-empty XML file. - cat > conftest.xml << "EOF" - -EOF - AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], - [have_xmlto_text=yes], - [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])]) + [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])]) rm -f conftest.xml AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) @@ -1983,7 +3063,7 @@ XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute]) -XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls]) +# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op]) # These are currently disabled because they are noisy. They will be enabled @@ -2202,1133 +3282,3 @@ echo 'git directory not found: installing possibly empty changelog.' >&2)" AC_SUBST([CHANGELOG_CMD]) ]) # XORG_CHANGELOG -# Copyright (C) 2002-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.15' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - diff --git a/configure b/configure index d8120ce..029aa5b 100755 --- a/configure +++ b/configure @@ -665,6 +665,9 @@ CHANGELOG_CMD STRICT_CFLAGS CWARNFLAGS BASE_CFLAGS +MAINT +MAINTAINER_MODE_FALSE +MAINTAINER_MODE_TRUE AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V @@ -731,7 +734,6 @@ infodir docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir @@ -756,6 +758,7 @@ ac_user_opts=' enable_option_checking enable_dependency_tracking enable_silent_rules +enable_maintainer_mode enable_selective_werror enable_strict_compilation ' @@ -813,7 +816,6 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1066,15 +1068,6 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1212,7 +1205,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir + libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1365,7 +1358,6 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1410,6 +1402,9 @@ Optional Features: speeds up one-time build --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") + --enable-maintainer-mode + enable make rules and dependencies not useful (and + sometimes confusing) to the casual installer --disable-selective-werror Turn off selective compiler errors. (default: enabled) @@ -4393,6 +4388,29 @@ fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } if ${ac_cv_prog_cc_c99+:} false; then : @@ -6754,124 +6772,7 @@ $as_echo "$supported" >&6; } fi - - - - - - - - - - - - - -xorg_testset_save_CFLAGS="$CFLAGS" - -if test "x$xorg_testset_cc_unknown_warning_option" = "x" ; then - CFLAGS="$CFLAGS -Werror=unknown-warning-option" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unknown-warning-option" >&5 -$as_echo_n "checking if $CC supports -Werror=unknown-warning-option... " >&6; } -if ${xorg_cv_cc_flag_unknown_warning_option+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - xorg_cv_cc_flag_unknown_warning_option=yes -else - xorg_cv_cc_flag_unknown_warning_option=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unknown_warning_option" >&5 -$as_echo "$xorg_cv_cc_flag_unknown_warning_option" >&6; } - xorg_testset_cc_unknown_warning_option=$xorg_cv_cc_flag_unknown_warning_option - CFLAGS="$xorg_testset_save_CFLAGS" -fi - -if test "x$xorg_testset_cc_unused_command_line_argument" = "x" ; then - if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then - CFLAGS="$CFLAGS -Werror=unknown-warning-option" - fi - CFLAGS="$CFLAGS -Werror=unused-command-line-argument" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unused-command-line-argument" >&5 -$as_echo_n "checking if $CC supports -Werror=unused-command-line-argument... " >&6; } -if ${xorg_cv_cc_flag_unused_command_line_argument+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - xorg_cv_cc_flag_unused_command_line_argument=yes -else - xorg_cv_cc_flag_unused_command_line_argument=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unused_command_line_argument" >&5 -$as_echo "$xorg_cv_cc_flag_unused_command_line_argument" >&6; } - xorg_testset_cc_unused_command_line_argument=$xorg_cv_cc_flag_unused_command_line_argument - CFLAGS="$xorg_testset_save_CFLAGS" -fi - -found="no" - - if test $found = "no" ; then - if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then - CFLAGS="$CFLAGS -Werror=unknown-warning-option" - fi - - if test "x$xorg_testset_cc_unused_command_line_argument" = "xyes" ; then - CFLAGS="$CFLAGS -Werror=unused-command-line-argument" - fi - - CFLAGS="$CFLAGS -Wredundant-decls" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wredundant-decls" >&5 -$as_echo_n "checking if $CC supports -Wredundant-decls... " >&6; } - cacheid=xorg_cv_cc_flag__Wredundant_decls - if eval \${$cacheid+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval $cacheid=yes -else - eval $cacheid=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi - - - CFLAGS="$xorg_testset_save_CFLAGS" - - eval supported=\$$cacheid - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supported" >&5 -$as_echo "$supported" >&6; } - if test "$supported" = "yes" ; then - BASE_CFLAGS="$BASE_CFLAGS -Wredundant-decls" - found="yes" - fi - fi - - +# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls]) @@ -11328,6 +11229,10 @@ else am__EXEEXT_FALSE= fi +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 diff --git a/man/Makefile.in b/man/Makefile.in index 0271d2d..34a74cf 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -219,6 +219,7 @@ LIBS = @LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MAN_SUBSTS = @MAN_SUBSTS@ -e 's|__datadir__|$(datadir)|g' MISC_MAN_DIR = @MISC_MAN_DIR@ @@ -290,7 +291,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -309,7 +309,7 @@ all: all-am .SUFFIXES: .SUFFIXES: .$(APP_MAN_SUFFIX) .man -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -333,9 +333,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-appmanDATA: $(appman_DATA) diff --git a/man/twmruined.man b/man/twmruined.man index 3ecc3ed..309fc79 100644 --- a/man/twmruined.man +++ b/man/twmruined.man @@ -68,9 +68,7 @@ titlebutton will invoke the function associated with the button. In the default interface, windows are iconified by clicking (pressing and then immediately releasing) the left titlebutton (which looks like a Dot). Conversely, windows are deiconified by clicking in the -associated icon or entry in the icon manager -(see description of the variable -\fBShowIconManager\fP and of the function \fBf.showiconmgr\fP). +associated icon. .PP Windows are resized by pressing the right titlebutton (which resembles a group of nested squares), dragging the pointer over edge that is to be @@ -148,7 +146,7 @@ Widgets\fP manual and \fIxrdb(__appmansuffix__)\fP). specifications: \fIVariables\fP, \fIBindings\fP, \fIMenus\fP. The \fIVariables\fP section must come first and is used to describe the fonts, colors, cursors, border widths, icon and window placement, highlighting, -autoraising, layout of titles, warping, use of the icon manager. +autoraising, layout of titles, and warping. The \fIBindings\fP section usually comes second and is used to specify the functions that should be to be invoked when keyboard and pointer buttons are pressed in @@ -258,8 +256,8 @@ per-window colors to be specified. The default is "black". .IP "\fBBorderWidth\fP \fIpixels\fP" 8 This variable specifies the width in pixels of the border surrounding all client window frames if \fBClientBorderWidth\fP has not been specified. -This value is also used to set the border size of windows created by \fItwmruined\fP -(such as the icon manager). The default is 2. +This value is also used to set the border size of windows created by \fItwmruined\fP. The +default is 2. .IP "\fBButtonIndent\fP \fIpixels\fP" 8 This variable specifies the amount by which titlebuttons should be indented on all sides. Positive values cause the buttons to be smaller than @@ -288,16 +286,13 @@ The following color variables may also be given a list of window and color name pairs to allow per-window colors to be specified (see \fBBorderColor\fP for details): \fBBorderColor\fP, -\fBIconManagerHighlight\fP, \fBBorderTitleBackground\fP, \fBBorderTitleForeground\fP, \fBTitleBackground\fP, \fBTitleForeground\fP, \fBIconBackground\fP, \fBIconForeground\fP, -\fBIconBorderColor\fP, -\fBIconManagerBackground\fP, and -\fBIconManagerForeground\fP. +\fBIconBorderColor\fP. For example: .EX 0 \fBColor\fP @@ -369,8 +364,7 @@ information windows. The default is "black". .IP "\fBDontIconifyByUnmapping\fP { \fIwin-list\fP }" 8 This variable specifies a list of windows that should not be iconified by simply unmapping the window (as would be the case if \fBIconifyByUnmapping\fP -had been set). This is frequently used to force some windows to be treated -as icons while other windows are handled by the icon manager. +had been set). .IP "\fBDontMoveOff\fP" 8 This variable indicates that windows should not be allowed to be moved off the screen. It can be overridden by the \fBf.forcemove\fP function. @@ -423,78 +417,12 @@ The default is "black". .IP "\fBIconifyByUnmapping [{ \fIwin-list\fP }]\fP" 8 This variable indicates that windows should be iconified by being unmapped without trying to map any icons. This assumes that the user will -remap the window through the icon manager, the \fBf.warpto\fP function, or +remap the window through the \fBf.warpto\fP function, or the \fITwmWindows\fP menu. If the optional \fIwin-list\fP is provided, only those windows will be -iconified by simply unmapping. Windows that have both this and the -\fBIconManagerDontShow\fP options set may not be accessible if no binding +iconified by simply unmapping. Windows that have this +option set may not be accessible if no binding to the \fITwmWindows\fP menu is set in the user's startup file. -.IP "\fBIconManagerBackground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 -This variable specifies the background color to use for icon manager entries, -and may only be specified inside of a -\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list. -The optional \fIwin-list\fP is a list of window names and colors so that -per-window colors may be specified. See the \fBBorderColor\fP -variable for a complete description of the \fIwin-list\fP. -The default is "white". -.IP "\fBIconManagerDontShow\fP [{ \fIwin-list\fP }]" 8 -This variable indicates that the icon manager should not display any -windows. If the optional \fIwin-list\fP is given, only those windows will -not be displayed. This variable is used to prevent windows that are rarely -iconified (such as \fIxclock\fP or \fIxload\fP) from taking up space in -the icon manager. -.IP "\fBIconManagerFont\fP \fIstring\fP" 8 -This variable specifies the font to be used when displaying icon manager -entries. The default is "variable". -.IP "\fBIconManagerForeground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 -This variable specifies the foreground color to be used when displaying -icon manager entries, and may only be specified inside of a -\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list. -The optional \fIwin-list\fP is a list of window names and colors so that -per-window colors may be specified. See the \fBBorderColor\fP -variable for a complete description of the \fIwin-list\fP. -The default is "black". -.IP "\fBIconManagerGeometry\fP \fIstring\fP [ \fIcolumns\fP ]" 8 -This variable specifies the geometry of the icon manager window. The -\fIstring\fP argument is standard geometry specification that indicates -the initial full size of the icon manager. The icon manager window is -then broken into \fIcolumns\fP pieces and scaled according to the number -of entries in the icon manager. Extra entries are wrapped to form -additional rows. The default number of columns is 1. -.IP "\fBIconManagerHighlight\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 -This variable specifies the border color to be used when highlighting -the icon manager entry that currently has the focus, -and can only be specified inside of a -\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list. -The optional \fIwin-list\fP is a list of window names and colors so that -per-window colors may be specified. See the \fBBorderColor\fP -variable for a complete description of the \fIwin-list\fP. -The default is "black". -.IP "\fBIconManagers\fP { \fIiconmgr-list\fP }" 8 -This variable specifies a list of icon managers to create. Each item in the -\fIiconmgr-list\fP has the following format: -.EX 0 - "\fIwinname\fP" ["\fIiconname\fP"] "\fIgeometry\fP" \fIcolumns\fP -.EE -where \fIwinname\fP is the name of the windows that should be put into this -icon manager, \fIiconname\fP is the name of that icon manager window's icon, -\fIgeometry\fP is a standard geometry specification, and \fIcolumns\fP is -the number of columns in this icon manager as described in -\fBIconManagerGeometry\fP. For example: -.EX 0 -\fBIconManagers\fP -{ - "XTerm" "=300x5+800+5" 5 - "myhost" "=400x5+100+5" 2 -} -.EE -Clients whose name or class is ``XTerm'' will have an entry created -in the ``XTerm'' icon manager. Clients whose name was ``myhost'' would -be put into the ``myhost'' icon manager. -.IP "\fBIconManagerShow\fP { \fIwin-list\fP }" 8 -This variable specifies a list of windows that should appear in the icon -manager. When used in conjunction with the \fBIconManagerDontShow\fP -variable, only the windows in this list will be shown in the icon manager. .IP "\fBIconRegion\fP \fIgeomstring\fP \fIvgrav hgrav gridwidth gridheight\fP" This variable specifies an area on the root window in which icons are placed if no specific icon location is provided by the client. The \fIgeomstring\fP @@ -594,10 +522,6 @@ see the \fBf.deltastop\fP function. The default is zero pixels. This variable indicates that \fItwmruined\fP's menus should not request backing store to minimize repainting of menus. This is typically used with servers that can repaint faster than they can handle backing store. -.IP "\fBNoCaseSensitive\fP" 8 -This variable indicates that case should be ignored when sorting icon names -in an icon manager. This option is typically used with applications that -capitalize the first letter of their icon name. .IP "\fBNoDefaults\fP" 8 This variable indicates that \fItwm\fP should not supply the default titlebuttons and bindings. This option should only be used if the startup @@ -613,8 +537,6 @@ When the border is highlighted, it will be drawn in the current \fBBorderColor\fP. When the border is not highlighted, it will be stippled with a gray pattern using the current \fBBorderTileForeground\fP and \fBBorderTileBackground\fP colors. -.IP "\fBNoIconManagers\fP" 8 -This variable indicates that no icon manager should be created. .IP "\fBNoMenuShadows\fP" 8 This variable indicates that menus should not have drop shadows drawn behind them. This is typically used with slower servers since it speeds up menu @@ -651,10 +573,9 @@ on specific windows. .IP "\fBNoTitleFocus\fP" 8 This variable indicates that \fItwmruined\fP should not set keyboard input focus to each window as it is entered. Normally, \fItwmruined\fP sets the focus -so that focus and key events from the titlebar and -icon managers are delivered to the application. If the pointer is moved -quickly and \fItwmruined\fP is slow to respond, input can be directed to the old -window instead of the new. This option is typically +so that focus and key events from the titlebar are delivered to the application. If +the pointer is moved quickly and \fItwmruined\fP is slow to respond, input can be +directed to the old window instead of the new. This option is typically used to prevent this ``input lag'' and to work around bugs in older applications that have problems with focus events. .IP "\fBNoTitleHighlight\fP [{ \fIwin-list\fP }]" 8 @@ -720,14 +641,6 @@ For example: .EE This would place on the root window 3 pixel values for borders and titlebars, as well as the three color strings, all taken from the default colormap. -.IP "\fBShowIconManager\fP" 8 -This variable indicates that the icon manager window should be displayed when -\fItwmruined\fP is started. It can always be brought up using the -\fBf.showiconmgr\fP function. -.IP "\fBSortIconManager\fP" 8 -This variable indicates that entries in the icon manager should be -sorted alphabetically rather than by simply appending new windows to -the end. .IP "\fBSqueezeTitle\fP [{ \fIsqueeze-list\fP }] " 8 This variable indicates that \fItwmruined\fP should attempt to use the SHAPE extension to make titlebars occupy only as much screen space as they need, @@ -954,9 +867,6 @@ This is an abbreviation for \fBf.exec\fP \fIstring\fP. .IP "\fBf.autoraise\fP" 8 This function toggles whether or not the selected window is raised whenever entered by the pointer. See the description of the variable \fBAutoRaise\fP. -.IP "\fBf.backiconmgr\fI" 8 -This function warps the pointer to the previous column in the -current icon manager, wrapping back to the previous row if necessary. .IP "\fBf.beep\fP" 8 This function sounds the keyboard bell. .IP "\fBf.bottomzoom\fP" 8 @@ -1022,9 +932,6 @@ If the selected window already was focused, this function executes an .IP "\fBf.forcemove\fP" 8 This function is like \fBf.move\fP except that it ignores the \fBDontMoveOff\fP variable. -.IP "\fBf.forwiconmgr\fI" 8 -This function warps the pointer to the next column in the current icon -manager, wrapping to the beginning of the next row if necessary. .IP "\fBf.fullzoom\fP" 8 This function resizes the selected window to the full size of the display or else restores the original size if the window was already zoomed. @@ -1033,8 +940,6 @@ This function executes the user-defined function whose name is specified by the argument \fIstring\fP. .IP "\fBf.hbzoom\fP" 8 This function is a synonym for \fBf.bottomzoom\fP. -.IP "\fBf.hideiconmgr\fP" 8 -This function unmaps the current icon manager. .IP "\fBf.horizoom\fP" 8 This variable is similar to the \fBf.zoom\fP function except that the selected window is resized to the full width of the display. @@ -1072,15 +977,9 @@ constrains the move to be either horizontal or vertical depending on which grid line is crossed. To abort a move, press another button before releasing the first button. -.IP "\fBf.nexticonmgr\fI" 8 -This function warps the pointer to the next icon manager containing any windows -on the current or any succeeding screen. .IP "\fBf.nop\fP" 8 This function does nothing and is typically used with the \fBDefaultFunction\fP or \fBWindowFunction\fP variables or to introduce blank lines in menus. -.IP "\fBf.previconmgr\fI" 8 -This function warps the pointer to the previous icon manager containing any -windows on the current or preceding screens. .IP "\fBf.priority\fP \fIstring\fP" 8 This function sets the priority of the client owning the selected window to the numeric value of the argument \fIstring\fP, which should be a signed @@ -1120,11 +1019,6 @@ accept this message are supposed to checkpoint all state associated with the window and update the WM_COMMAND property as specified in the ICCCM. If the selected window has not selected for this message, the keyboard bell will be rung. -.IP "\fBf.showiconmgr\fP" 8 -This function maps the current icon manager. -.IP "\fBf.sorticonmgr\fP" 8 -This function sorts the entries in the current icon manager alphabetically. -See the variable \fBSortIconManager\fP. .\".IP "\fBf.source\fP \fIstring\fP" 8 .\"This function assumes \fIstring\fP is a file name. The file is read .\"and parsed as a \fItwmruined\fP startup file. @@ -1144,9 +1038,6 @@ the selected window is only resized to the top half of the display. .IP "\fBf.unfocus\fP" 8 This function resets the focus back to pointer-driven. This should be used when a focused window is no longer desired. -.IP "\fBf.upiconmgr\fI" 8 -This function warps the pointer to the previous row in the current icon -manager, wrapping to the last row in the same column if necessary. .\".IP "\fBf.version\fI" 8 .\"This function causes the \fItwmruined\fP version window to be displayed. This .\"window will be displayed until a pointer button is pressed or the @@ -1163,11 +1054,6 @@ specified in the \fBWindowRing\fP variable. This function warps the pointer to the window which has a name or class that matches \fIstring\fP. If the window is iconified, it will be deiconified if the variable \fBWarpUnmapped\fP is set or else ignored. -.IP "\fBf.warptoiconmgr\fP \fIstring\fP" 8 -This function warps the pointer to the icon manager entry -associated with the window containing the pointer in the icon manager -specified by the argument \fIstring\fP. If \fIstring\fP is empty (i.e. ""), -the current icon manager is chosen. .IP "\fBf.warptoscreen\fP \fIstring\fP" 8 This function warps the pointer to the screen specified by the argument \fIstring\fP. \fIString\fP may be a number (e.g. \fB"0"\fP or @@ -1225,26 +1111,8 @@ hasn't been set, the window will be deiconified and raised. .SH ICONS \fITwm\fP supports several different ways of manipulating iconified windows. The common pixmap-and-text style may be laid out by hand or automatically -arranged as described by the \fBIconRegion\fP variable. In addition, a -terse grid of icon names, called an icon manager, provides a more efficient -use of screen space as well as the ability to navigate among windows from -the keyboard. +arranged as described by the \fBIconRegion\fP variable. .PP -An icon manager is a window that contains names of selected or all -windows currently on the display. In addition to the window name, -a small button using the default iconify symbol will be displayed to the -left of the name when the window is iconified. By default, clicking on an -entry in the icon manager performs \fBf.iconify\fP. -To change the actions taken in the icon manager, use the -the \fBiconmgr\fP context when specifying button and keyboard bindings. -.PP -Moving the pointer into the icon manager also directs keyboard focus to -the indicated window (setting the focus explicitly or else sending synthetic -events \fBNoTitleFocus\fP is set). -Using the \fBf.upiconmgr\fP, \fBf.downiconmgr\fP -\fBf.lefticonmgr\fP, and -\fBf.righticonmgr\fP functions, -the input focus can be changed between windows directly from the keyboard. .SH BUGS The resource manager should have been used instead of all of the window lists. @@ -1254,10 +1122,9 @@ The \fBIconRegion\fP variable should take a list. Double clicking very fast to get the constrained move function will sometimes cause the window to move, even though the pointer is not moved. .PP -If \fBIconifyByUnmapping\fP is on and windows are listed in -\fBIconManagerDontShow\fP but not in \fBDontIconifyByUnmapping\fP, -they may be lost if they are iconified and no bindings to -\fBf.menu "TwmWindows"\fP or \fBf.warpto\fP are setup. +If \fBIconifyByUnmapping\fP is on and windows are not listed in +\fBDontIconifyByUnmapping\fP, they may be lost if they are iconified and +no bindings to \fBf.menu "TwmWindows"\fP or \fBf.warpto\fP are setup. .SH FILES .PP .nf diff --git a/sample-twmrc/jim.twmrc b/sample-twmrc/jim.twmrc deleted file mode 100644 index 210d118..0000000 --- a/sample-twmrc/jim.twmrc +++ /dev/null @@ -1,250 +0,0 @@ -#********************************************************************** -# -# .twmrc -# -#********************************************************************** - -#IconDirectory "/users/jim/icons" # use *bitmapFilePath instead. - -# -# Use the SHAPE extension to make titles use as little space as possible. The -# location of the titles is specified as a fraction of the distance from the -# left (numerator positive) or right edge (numerator negative). A denominator -# of 0 indicates that the numerator is measured in pixels. The title is then -# justified over the indicated spot (note special cases are made for center on -# 0/0 and right on 0/0 to indicate the center and right edge of the titlebar). -# -SqueezeTitle # also sets default to Squeeze all Titles -{ -# name justify num denom - "oclock" center 0 0 # centered over middle of title - "XTerm" left 0 0 # left edge of title - "xlogo" right 0 0 # for kicks - "emacs" right 0 0 # left side emacs with center tab - "xmh" center 0 0 -} -DontSqueezeTitle -{ - "XLogout" # make it stand out when mapped -} -NoDefaults # turn off iconify and resize button -LeftTitleButton "menu12" = f.menu "windowmenu" # add a menu to each window -TitleButtonBorderWidth 0 # don't want to see box around button -ButtonIndent 0 # button doesn't have to be smaller - -UsePPosition "on" # use program-specified size hints accepted -NoHighlight # do not flash borders on enter events -OpaqueMove # actually move window instead of outline -AutoRelativeResize # don't require resize to cross border to start -RestartPreviousState # reiconify iconified things on startup -ClientBorderWidth # use the application border width on frame -BorderWidth 2 # width of top level windows created by twm -NoGrabServer # don't grab server during menus, etc. -NoRaiseOnMove # allow moving under other windows -NoRaiseOnResize # allow resizing under other windows -NoTitleFocus # avoid keystrokes in wrong window cause of lag -DecorateTransients # put titlebars on transients -TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" -MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" -IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*" -IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*" -ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*" -NoSaveUnders # faster to just repaint then save -XORvalue 1 # tend to use visually distinct adjacent colors -ConstrainedMoveTime 0 # turn off horizontal/vertical only moving -NoCaseSensitive # turn off case-sensitivity in sorting icons -WarpUnmapped # allow warping to unmapped windows - -############################################################################### -# # -# Declare some nice colors # -# # -############################################################################### - -Pixmaps -{ -# TitleHighlight "solid4x4" # make it stand out -} - -Color -{ - DefaultBackground "maroon" - DefaultForeground "gray85" - BorderColor "gray70" - TitleBackground "maroon" - TitleForeground "gray85" - MenuBackground "maroon" - MenuForeground "gray85" - MenuTitleBackground "gray70" - MenuTitleForeground "maroon" - IconBackground "maroon" - IconForeground "gray85" - IconBorderColor "gray85" - IconManagerBackground "maroon" - IconManagerForeground "gray85" -} - -Monochrome -{ - IconManagerHighlight "white" - BorderColor "black" -} - - -############################################################################### -# # -# Define key bindings # -# # -############################################################################### - -MoveDelta 3 # need to move this much before takes effect -Function "move-or-raise" # simulate uwm action -{ - f.move - f.deltastop - f.raise -} - -DefaultFunction f.nop # ignore extraneous events - -Button1 = : root : f.menu "twmops" -Button2 = : root : f.menu "windowops" -Button3 = : root : f.menu "TwmWindows" -Button1 = : title : f.function "move-or-raise" -Button1 = : icon : f.iconify -Button1 = : iconmgr : f.iconify -Button1 = m : window|icon|frame|title : f.lower -Button2 = m : window : f.resize -Button3 = m : window|icon|frame|title : f.function "move-or-raise" -Button1 = c|m|s : all : f.menu "twmops" -#Button1 = c|m|s : root : f.refresh -#"F20" = : all : f.warptoscreen "next" - -"F21" = : all : f.warpring "next" -"F22" = : all : f.warptoiconmgr "" -"F23" = : all : f.raiselower -"Num_Lock" = : all : f.iconify -"F24" = : all : f.warpto "xmh" -"F25" = : all : f.warpto "[expo]" -"F26" = : all : f.warpto "emacs" -"KP_Subtract" = mod5 : all : f.colormap "prev" -"KP_Add" = mod5 : all : f.colormap "next" -"KP_Enter" = mod5 : all : f.colormap "default" -"Left" = m : all : f.backiconmgr -"Right" = m : all : f.forwiconmgr -"Up" = m : all : f.upiconmgr -"Down" = m : all : f.downiconmgr -"Left" = mod5 : all : f.warpring "prev" -"Right" = mod5 : all : f.warpring "next" - -############################################################################### -# # -# Display an icon manager across the top of the screen. Don't manage # -# the windows for which you don't show a title. # -# # -############################################################################### - -SortIconManager # keep them in alphabetic order -ShowIconManager # start with iconmgr up -IconManagerGeometry "700x50+246+2" 14 # strip across top -IconRegion "200x300+950+2" North East 50 50 -IconifyByUnmapping # just use icon manager -IconManagerDontShow # but ignore these windows -{ - "xclock" - "xbiff" - "xload" - "oclock" - "xcutsel" - "XLogout" -} -DontIconifyByUnmapping # don't lose them (still in TwmWindows menu) -{ - "xclock" - "xbiff" - "xload" - "oclock" - "xcutsel" - "Untitled" -} -NoTitle # little programs that look like icons -{ - "xclock" - "xbiff" - "xload" - "TWM Icon Manager" - "xcutsel" -} - -NoStackMode # prevent hostile clients from hosing display -{ - "saber" -} - -WindowRing # f.warpring acts along these windows -{ - "XTerm" - "emacs" - "Xmh" -} - - -############################################################################### -# # -# Define some useful menus. # -# # -############################################################################### - -menu "twmops" -{ -"System" f.title -"Restart Twm" f.restart -"Exit Twm" f.quit -"" f.nop -"xterm" !"xterm &" -"xterm -e /bin/sh" !"xterm -e /bin/sh &" -"xhost +" !"xhost + >/dev/null" -"xhost -" !"xhost - >/dev/null" -"" f.nop -"Kill" f.menu "kill" -"" f.nop -"Logout" f.warpto "xlogout" -} - -menu "windowops" -{ -"Windows" f.title -"Kill" f.menu "kill" -"Save" f.saveyourself -"Refresh" f.refresh -"" f.nop -"Iconify" f.iconify -"Resize" f.resize -"Move" f.move -"Raise" f.raise -"Lower" f.lower -"Info" f.identify -"Focus" f.focus -"Unfocus" f.unfocus -"" f.nop -"Show Iconmgr" f.showiconmgr -"Hide Iconmgr" f.hideiconmgr -"Prev Iconmgr" f.previconmgr -"Next Iconmgr" f.nexticonmgr -} - -menu "windowmenu" -{ -"Iconify" f.iconify -"RaiseLower" f.raiselower -"Refresh" f.winrefresh -"Focus" f.focus -"" f.nop -"Kill" f.menu "kill" -} - -menu "kill" -{ - "Send Delete" f.delete - "Kill Window" f.destroy -} diff --git a/sample-twmrc/keith.twmrc b/sample-twmrc/keith.twmrc deleted file mode 100644 index b85340b..0000000 --- a/sample-twmrc/keith.twmrc +++ /dev/null @@ -1,223 +0,0 @@ -#********************************************************************** -# -# .twmrc -# -#********************************************************************** - -IconDirectory "/users/keith/misc/bitmaps" - -#NoDefaults -NoVersion -NoGrabServer -NoRaiseOnMove -NoRaiseOnResize -#NoMenuShadows -NoTitleHighlight -NoHighlight -NoTitleFocus -NoSaveUnders -SqueezeTitle -ConstrainedMoveTime 0 -DecorateTransients -#TitleButtonBorderWidth 0 -#ButtonIndent 0 -#LeftTitleButton "iconify.bm" = f.iconify -#RightTitleButton "resize.bm" = f.resize -OpaqueMove -#ClientBorderWidth -BorderWidth 1 -RandomPlacement -#IconRegion "1024x250+0+600" NORTH WEST 1024 25 -IconRegion "600x200-200+0" NORTH EAST 75 25 -#IconRegion "200x100-0+200" WEST NORTH 25 50 -TitleFont "-*-helvetica-bold-o-normal--*-140-*-*-*-*-iso8859-1" -MenuFont "-*-helvetica-bold-r-normal--*-140-*-*-*-*-iso8859-1" -IconFont "-*-helvetica-bold-r-normal--*-140-*-*-*-*-iso8859-1" -ResizeFont "-*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1" -IconManagerFont "-*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1" -#ShowIconManager -SortIconManager -IconManagerGeometry "=100x100-200+0" - -# nice colors: background of wheat, foreground of #d36 - -Cursors -{ - Button "left_ptr" - Menu "left_ptr" - Title "left_ptr" - Frame "left_ptr" - Icon "left_ptr" -} - -Color -{ - BorderColor "black" - TitleBackground "CadetBlue" - TitleForeground "#fffff0" - MenuBackground "#fffff0" - MenuForeground "black" - MenuTitleBackground "CadetBlue" - MenuTitleForeground "#fffff0" - IconBackground "#fffff0" - IconForeground "black" - IconBorderColor "black" -} - -Monochrome -{ - IconManagerHighlight "white" -} - -# define key bindings - -MoveDelta 3 - -Function "move-or-raise" -{ - f.move - f.deltastop - f.raise -} - -Function "move-or-raiselower" -{ - f.move - f.deltastop - f.raiselower -} - -Function "move-or-iconify" -{ - f.move - f.deltastop - f.iconify -} - -Function "next-window" -{ -} - -Function "previous-window" -{ -} - -DefaultFunction f.nop - -Button1 = : title : f.function "move-or-raiselower" -Button2 = : title : f.menu "Title Menu" -Button3 = : title : f.resize -Button1 = m : window|icon : f.iconify -Button2 = m : window|icon : f.function "move-or-raiselower" -Button3 = m : window|icon : f.resize -Button3 = c m : title : f.destroy -Button1 = : root : f.menu "Hosts" -Button2 = : root : f.menu "Toys" -Button3 = : root : f.menu "System" -Button1 = : icon : f.function "move-or-iconify" - -#ForceIcons - -Icons -{ - "Xmh" "mail-up.bm" # from IconDirectory - "XTerm" "xterm.bm" # from IconDirectory -} - -#UnknownIcon "icon" - -NoTitle -{ - "clock" - "oclock" - "xclock" - "xbiff" - "xeyes" - "xload" -} - -IconManagerDontShow { - "clock" - "oclock" - "xclock" - "xbiff" - "xeyes" - "xload" -} - -menu "Hosts" -{ -"Hosts" f.title -"xenon" !"xenon &" -"expo" !"expo &" -"kanga" !"kanga &" -"exile" !"exile &" -"expire" !"expire &" -"excalibur" !"excalibur &" -"hpx" !"hpx &" -"expo bugs" !"expo -l bugs &" -"extort" !"extort &" -"apx" !"apx &" -"mfb" !"mfb &" -"sushi" !"sushi &" -"tempura" !"tempora &" -} - -menu "Toys" -{ -"Toys" f.title -"Jove" !"xjove &" -"Mail" !"xmh &" -"Manual" !"xman &" -"Troff Viewer" !"xditview &" -"Calculator" !"xcalc &" -"Mille Bornes" !"xmille `path -n .mille` &" -"Notepad" !"xclipboard &" -"Eyes" !"xeyes &" -"Lens" !"xmag &" -"expo jove" !"expo xjove&" -"expo mail" !"expo xmh &" -} - -menu "System" -{ - "System" f.title - "Window ops" f.menu "Window Ops" - "Windows" f.menu "TwmWindows" - "" f.nop - "Refresh" f.refresh - "Unfocus" f.unfocus - "Show Icon Box" f.showiconmgr - "Hide Icon Box" f.hideiconmgr - "Version" f.version - "" f.nop - "Restart" f.restart - "Logout" f.quit -} - -menu "Window Ops" -{ - "Window Ops" f.title - "Lower" f.lower - "Raise" f.raise - "Resize" f.resize - "Move" f.move - "Deiconify" f.deiconify - "Iconify" f.iconify - "Identify" f.identify - "Focus" f.focus - "Kill" f.destroy -} - -menu "Title Menu" -{ - "Lower" f.lower - "Raise" f.raise - "Resize" f.resize - "Move" f.move - "Iconify" f.iconify - "Identify" f.identify - "Focus" f.focus - "Kill" f.destroy - "Dismiss" f.delete -} diff --git a/sample-twmrc/lemke.twmrc b/sample-twmrc/lemke.twmrc deleted file mode 100644 index f0a12af..0000000 --- a/sample-twmrc/lemke.twmrc +++ /dev/null @@ -1,255 +0,0 @@ -# -# Dave Lemke's .twmrc -# - -IconDirectory "/u/lemke/lib/icons" - -#AutoRelativeResize -BorderWidth 3 -ButtonIndent 0 -ClientBorderWidth -#DefaultFunction f.nop -#DontMoveOff -IconifyByUnmapping -IconFont "-adobe-helvetica-bold-r-normal--14-100-100-100-p-82-iso8859-1" -IconManagerFont "-adobe-helvetica-bold-r-normal--14-100-100-100-p-82-iso8859-1" -IconManagerGeometry "=98x5-2+50" -#LeftTitleButton "menu12.xbm" = f.menu "window-ops" -MenuFont "-adobe-helvetica-bold-r-normal--14-100-100-100-p-82-iso8859-1" -MoveDelta 5 -#NoBackingStore -NoDefaults -NoGrabServer -NoMenuShadows -#NoRaiseOnDeiconify -NoRaiseOnMove -#NoRaiseOnResize -#NoSaveUnder -#NoTitleFocus -#NoVersion -#OpaqueMove -ResizeFont "10x20" -RestartPreviousState -#ReverseVideo -ShowIconManager -SortIconManager - -SqueezeTitle -{ - "XTerm" center 0 0 - "Xsol" center 0 0 - "Spider" center 0 0 -} - -TitleFont "-adobe-helvetica-bold-r-normal--14-100-100-100-p-82-iso8859-1" -TitleButtonBorderWidth 1 -UnknownIcon "ncdlogo64.xbm" -#WarpCursor -XORValue 1 -#Zoom - -DefaultFunction f.nop - -Function "move-or-raise" -{ - f.move - f.deltastop - f.raise -} - -AutoRaise -{ - "xtrek" - "TWM Icon Manager" - "xclock" - "xbiff" - "xeyes" -} - -Cursors -{ - Menu "right_ptr" -} - -DontIconifyByUnmapping -{ - "xclock" - "xbiff" - "twmOutput" - "xload" - "oclock" - "xeyes" -} - -IconManagerDontShow -{ - "xclock" - "xbiff" - "twmOutput" - "xload" - "oclock" - "xeyes" -} - -Monochrome -{ - DefaultForeground "black" - DefaultBackground "white" - BorderColor "black" - TitleForeground "black" - TitleBackground "white" - MenuForeground "black" - MenuBackground "white" -} - -NoTitle -{ - "xclock" - "xbiff" - "xload" - "TWM Icon Manager" - "FrameMaker" - "FrameWriter" - "oclock" - "twmOutput" - "xeyes" -} - -# -# buttons -# - -Button1 = : root : f.menu "button1" -Button2 = : root : f.menu "Util_menu" -Button3 = : root : f.menu "Hosts_menu" -Button1 = : m : f.iconify -Button2 = : m : f.lower -Button1 = : t : f.function "move-or-raise" -Button2 = : t : f.lower -Button3 = : t : f.menu "window-ops" -Button1 = : i : f.iconify -Button2 = : i : f.function "move-or-raise" - -"F1" = : w|t|i : f.iconify -"F2" = : all : f.refresh -"F3" = : w|t|i : f.raise -"F4" = : w|t|i : f.lower - -"F5" = : w|t|i : f.zoom - - - -menu "button1" -{ -"Applications" f.title -#"FrameWriter" !"rsh indian -n /usr/local/xframewriter $DISPLAY& " -#"Q Calc " !"rsh indian -n /usr/bin/X11/xterm -display $DISPLAY -T Qcalc -e /pmax/u/demo/qsp/bin/qcalc &" -#"Notepad" !"/usr/bin/dxnotepad -display $DISPLAY&" -#"Calculator" !"xcalc -display $DISPLAY&" -"Mail Box" !"/usr/bin/X11/xbiff -display $DISPLAY&" -"Clock" !"oclock -display $DISPLAY &" -"Xterm" !"/usr/bin/X11/xterm -ls -display $DISPLAY &" -"Big Xterm" !"/usr/bin/X11/xterm -ls -fn 9x15 -display $DISPLAY &" -"xsol" !"$HOME/games/bin/`arch`/xsol &" -"Spider" !"$HOME/games/bin/`arch`/spider &" -"Utility" f.title -#"Focus" f.focus -#"UnFocus" f.unfocus -#"More.." f.title -"..Hosts" f.menu "Hosts_menu" -"..Applications" f.menu "Apps_menu" -"..Utility" f.menu "Util_menu" -"" f.title -"Exit" f.quit -} - -menu "Hosts_menu" -{ -"Host Connections" f.title -"Almanor" !"rsh -n almanor exec /usr/bin/X11/xterm -ls -display $DISPLAY -T Almanor&" -"Hamilton" !"rsh -n hamilton exec /usr/bin/X11/xterm -ls -display $DISPLAY -T Hamilton&" -"Homer" !"rsh -n Homer exec /usr/bin/X11/xterm -ls -display $DISPLAY -T Homer&" -"Lupine" !"TERM=xterms xterm -fn 10x20 -T lupine -e rlogin lupine&" -"Ramona" !"rsh -n ramona exec /usr/bin/X11/xterm -ls -display $DISPLAY -T Ramona&" -"Pagemill" !"rsh pagemill -n /usr/bin/X11/xterm -display $DISPLAY -T Pagemill -e /bin/ksh&" -"Sheridan" !"rsh -n sheridan exec /usr/bin/X11/xterm -ls -display $DISPLAY -T Sheridan&" -} - -menu "Apps_menu" -{ -"Applications" f.title -"Man Pages" !"/usr/bin/X11/xman -display $DISPLAY&" -#"Notepad" !"/usr/bin/dxnotepad -display $DISPLAY&" -#"FrameMaker" !"rsh indian -n /usr/local/xframemaker $DISPLAY& " -#"Calendar" !"/usr/bin/dxcalendar -display $DISPLAY &" -"Clock" !"/usr/bin/X11/xclock -display $DISPLAY &" -#"Rolodex" !"/usr/bin/dxcardfiler -display $DISPLAY &" -#"Paint" !"/usr/bin/dxpaint -display $DISPLAY &" -"Lock Screen" !"/usr/bin/X11/xlock & " -"Preferences" !"/usr/bin/X11/xpref -display $DISPLAY&" -"Xterm" !"/usr/bin/X11/xterm -ls -display $DISPLAY &" -} - -menu "Util_menu" -{ -"Utilities" f.title -"Refresh" f.refresh -"twm Version" f.version -"Source .twmrc" f.twmrc -"Restart twm" f.restart -#"Hide IconManager" f.hideiconmgr -#"Show IconManager" f.showiconmgr -#"Destroy All Window" !"xkill -a&" -"Preferences" f.menu "Pref_menu" -"TwmWindows" f.menu "TwmWindows" -"Exit twm" f.quit -"Window Ops" f.title -"Refresh Window" f.winrefresh -"Move Window" f.move -"Resize Window" f.resize -"Lower Window" f.lower -"Raise Window" f.raise -"Iconify" f.iconify -"Window Info" f.identify -"Destroy Window" f.destroy -"Focus on Window" f.focus -"Focus on Root" f.unfocus -} - -menu "Pref_menu" -{ -"Preferences" f.title -"Bell Loud" !"xset b 75&" -"Bell Normal" !"xset b 50&" -"Bell Quiet" !"xset b 25&" -"Bell Off" !"xset b off&" -"Mouse Fast" !"xset m 5 1&" -"Mouse Normal" !"xset m 3 1&" -"Mouse Slow" !"xset m 1 1&" -"Screen Saver" f.menu "SSaver" -} - - -menu "SSaver" -{ -"Screen Saver" f.title -"Blank" !"/usr/bin/X11/xset s blank -display $DISPLAY &" -"No Blank" !"/usr/bin/X11/xset s noblank -display $DISPLAY &" -"Saver 2 Sec." !"/usr/bin/X11/xset s 2 2 -display $DISPLAY &" -"Saver 2 Min." !"/usr/bin/X11/xset s 120 120 -display $DISPLAY &" -"Saver 10 Min." !"/usr/bin/X11/xset s 600 600 -display $DISPLAY &" -} - -menu "window-ops" -{ -"Window Ops" f.title -"Iconify" f.iconify -"Refresh Window" f.winrefresh -"Move Window" f.move -"Resize Window" f.resize -"Hide Window" f.lower -"Expose Window" f.raise -"Destroy Window" f.destroy -"Delete Window" f.delete -"Save" f.saveyourself -} diff --git a/src/Makefile.am b/src/Makefile.am index 949e997..f1e4a78 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -44,8 +44,6 @@ twmruined_SOURCES = \ events.h \ gc.c \ gc.h \ - iconmgr.c \ - iconmgr.h \ icons.c \ icons.h \ list.c \ diff --git a/src/Makefile.in b/src/Makefile.in index 19aa3f8..4b7cd65 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -126,10 +126,9 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(rcdir)" PROGRAMS = $(bin_PROGRAMS) am_twmruined_OBJECTS = add_window.$(OBJEXT) cursor.$(OBJEXT) \ deftwmrc.$(OBJEXT) events.$(OBJEXT) gc.$(OBJEXT) \ - iconmgr.$(OBJEXT) icons.$(OBJEXT) list.$(OBJEXT) \ - menus.$(OBJEXT) parse.$(OBJEXT) resize.$(OBJEXT) \ - session.$(OBJEXT) twm.$(OBJEXT) util.$(OBJEXT) \ - version.$(OBJEXT) gram.$(OBJEXT) lex.$(OBJEXT) + icons.$(OBJEXT) list.$(OBJEXT) menus.$(OBJEXT) parse.$(OBJEXT) \ + resize.$(OBJEXT) session.$(OBJEXT) twm.$(OBJEXT) \ + util.$(OBJEXT) version.$(OBJEXT) gram.$(OBJEXT) lex.$(OBJEXT) twmruined_OBJECTS = $(am_twmruined_OBJECTS) am__DEPENDENCIES_1 = twmruined_DEPENDENCIES = $(am__DEPENDENCIES_1) @@ -161,12 +160,14 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = +@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ || LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) AM_V_LEX = $(am__v_LEX_@AM_V@) am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) am__v_LEX_0 = @echo " LEX " $@; am__v_LEX_1 = YLWRAP = $(top_srcdir)/ylwrap +@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ || am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \ -e s/c++$$/h++/ -e s/c$$/h/ YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) @@ -278,6 +279,7 @@ LIBS = @LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MAN_SUBSTS = @MAN_SUBSTS@ MISC_MAN_DIR = @MISC_MAN_DIR@ @@ -349,7 +351,6 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ -runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -377,8 +378,6 @@ twmruined_SOURCES = \ events.h \ gc.c \ gc.h \ - iconmgr.c \ - iconmgr.h \ icons.c \ icons.h \ list.c \ @@ -408,7 +407,7 @@ all: $(BUILT_SOURCES) .SUFFIXES: .SUFFIXES: .c .l .o .obj .y -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -432,9 +431,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @@ -499,7 +498,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/events.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gram.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconmgr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icons.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ diff --git a/src/add_window.c b/src/add_window.c index 99481b0..f8119b6 100644 --- a/src/add_window.c +++ b/src/add_window.c @@ -69,7 +69,6 @@ in this Software without prior written authorization from The Open Group. #include "events.h" #include "menus.h" #include "screen.h" -#include "iconmgr.h" #include "session.h" #include "add_window.h" @@ -140,11 +139,9 @@ GetGravityOffsets (TwmWindow *tmp, int *xp, int *yp) * \return pointer to the TwmWindow structure * * \param w the window id of the window to add - * \param iconm flag to tell if this is an icon manager window - * \param iconp pointer to icon manager struct */ TwmWindow * -AddWindow(Window w, int iconm, IconMgr *iconp) +AddWindow(Window w) { TwmWindow *tmp_win; /* new twm window structure */ int stat; @@ -179,8 +176,6 @@ AddWindow(Window w, int iconm, IconMgr *iconp) } tmp_win->w = w; tmp_win->zoomed = ZOOM_NONE; - tmp_win->iconmgr = iconm; - tmp_win->iconmgrp = iconp; tmp_win->cmaps.number_cwins = 0; XSelectInput(dpy, tmp_win->w, PropertyChangeMask); @@ -296,7 +291,7 @@ AddWindow(Window w, int iconm, IconMgr *iconp) tmp_win->iconify_by_unmapping = Scr->IconifyByUnmapping; if (Scr->IconifyByUnmapping) { - tmp_win->iconify_by_unmapping = iconm ? FALSE : + tmp_win->iconify_by_unmapping = !(short)(long) LookInList(Scr->DontIconify, tmp_win->full_name, &tmp_win->class); } @@ -885,9 +880,6 @@ AddWindow(Window w, int iconm, IconMgr *iconp) tmp_win->wShaped = boundingShaped; } - if (!tmp_win->iconmgr) - XAddToSaveSet(dpy, tmp_win->w); - XReparentWindow(dpy, tmp_win->w, tmp_win->frame, 0, tmp_win->title_height); /* * Reparenting generates an UnmapNotify event, followed by a MapNotify. @@ -905,13 +897,8 @@ AddWindow(Window w, int iconm, IconMgr *iconp) */ tmp_win->icon_w = (Window) 0; - if (!tmp_win->iconmgr) - { - GrabButtons(tmp_win); - GrabKeys(tmp_win); - } - - (void) AddIconManager(tmp_win); + GrabButtons(tmp_win); + GrabKeys(tmp_win); XSaveContext(dpy, tmp_win->w, TwmContext, (caddr_t) tmp_win); XSaveContext(dpy, tmp_win->w, ScreenContext, (caddr_t) Scr); @@ -992,11 +979,9 @@ AddDefaultBindings (void) do_add_binding (Button1, C_TITLE, NoModifierMask, F_MOVE); do_add_binding (Button1, C_ICON, NoModifierMask, F_ICONIFY); - do_add_binding (Button1, C_ICONMGR, NoModifierMask, F_ICONIFY); do_add_binding (Button2, C_TITLE, NoModifierMask, F_RAISELOWER); do_add_binding (Button2, C_ICON, NoModifierMask, F_ICONIFY); - do_add_binding (Button2, C_ICONMGR, NoModifierMask, F_ICONIFY); #undef NoModifierMask } @@ -1041,7 +1026,6 @@ void GrabKeys(TwmWindow *tmp_win) { FuncKey *tmp; - IconMgr *p; for (tmp = Scr->FuncKeyRoot.next; tmp != NULL; tmp = tmp->next) { @@ -1081,16 +1065,6 @@ GrabKeys(TwmWindow *tmp_win) */ } } - for (tmp = Scr->FuncKeyRoot.next; tmp != NULL; tmp = tmp->next) - { - if (tmp->cont == C_ICONMGR && !Scr->NoIconManagers) - { - for (p = &Scr->iconmgr; p != NULL; p = p->next) - { - XUngrabKey(dpy, tmp->keycode, tmp->mods, p->twm_win->w); - } - } - } } static Window CreateHighlightWindow (TwmWindow *tmp_win) diff --git a/src/add_window.h b/src/add_window.h index aba9874..bb46d0e 100644 --- a/src/add_window.h +++ b/src/add_window.h @@ -61,12 +61,10 @@ in this Software without prior written authorization from The Open Group. #ifndef _ADD_WINDOW_ #define _ADD_WINDOW_ -#include "iconmgr.h" - extern char NoName[]; extern void AddDefaultBindings ( void ); -extern TwmWindow * AddWindow ( Window w, int iconm, IconMgr *iconp ); +extern TwmWindow * AddWindow ( Window w ); extern ColormapWindow * CreateColormapWindow ( Window w, Bool creating_parent, Bool property_window ); extern TwmColormap * CreateTwmColormap ( Colormap c ); extern void FetchWmColormapWindows ( TwmWindow *tmp ); diff --git a/src/deftwmrc.c b/src/deftwmrc.c index 3fced76..d70588e 100644 --- a/src/deftwmrc.c +++ b/src/deftwmrc.c @@ -12,7 +12,6 @@ unsigned char *defTwmrc[] = { (unsigned char *) "ResizeFont \"-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*\"", (unsigned char *) "MenuFont \"-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*\"", (unsigned char *) "IconFont \"-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*\"", - (unsigned char *) "IconManagerFont \"-adobe-helvetica-bold-r-normal--*-100-*-*-*\"", (unsigned char *) "", (unsigned char *) "Color", (unsigned char *) "{", @@ -29,8 +28,6 @@ unsigned char *defTwmrc[] = { (unsigned char *) " IconBackground \"rgb:2/a/9\"", (unsigned char *) " IconForeground \"gray85\"", (unsigned char *) " IconBorderColor \"gray85\"", - (unsigned char *) " IconManagerBackground \"rgb:2/a/9\"", - (unsigned char *) " IconManagerForeground \"gray85\"", (unsigned char *) "}", (unsigned char *) "", (unsigned char *) "MoveDelta 3", @@ -50,9 +47,6 @@ unsigned char *defTwmrc[] = { (unsigned char *) "Button1 = : icon : f.function \"move-or-iconify\"", (unsigned char *) "Button2 = : icon : f.iconify", (unsigned char *) "", - (unsigned char *) "Button1 = : iconmgr : f.iconify", - (unsigned char *) "Button2 = : iconmgr : f.iconify", - (unsigned char *) "", (unsigned char *) "menu \"defops\"", (unsigned char *) "{", (unsigned char *) "\"Twm\" f.title", @@ -64,8 +58,6 @@ unsigned char *defTwmrc[] = { (unsigned char *) "\"\" f.nop", (unsigned char *) "\"Focus\" f.focus", (unsigned char *) "\"Unfocus\" f.unfocus", - (unsigned char *) "\"Show Iconmgr\" f.showiconmgr", - (unsigned char *) "\"Hide Iconmgr\" f.hideiconmgr", (unsigned char *) "\"\" f.nop", (unsigned char *) "\"Xterm\" f.exec \"exec xterm &\"", (unsigned char *) "\"\" f.nop", diff --git a/src/events.c b/src/events.c index ac26d88..45fc80f 100644 --- a/src/events.c +++ b/src/events.c @@ -61,7 +61,6 @@ in this Software without prior written authorization from The Open Group. #include #include "twm.h" #include -#include "iconmgr.h" #include "add_window.h" #include "menus.h" #include "events.h" @@ -584,10 +583,6 @@ HandleKeyPress(void) Context = C_ICON; if (Event.xany.window == Tmp_win->frame) Context = C_FRAME; - if (Tmp_win->list && Event.xany.window == Tmp_win->list->w) - Context = C_ICONMGR; - if (Tmp_win->list && Event.xany.window == Tmp_win->list->icon) - Context = C_ICONMGR; } modifier = (Event.xkey.state & mods_used); @@ -672,8 +667,7 @@ HandleKeyPress(void) { if (Event.xany.window == Tmp_win->icon_w || Event.xany.window == Tmp_win->frame || - Event.xany.window == Tmp_win->title_w || - (Tmp_win->list && (Event.xany.window == Tmp_win->list->w))) + Event.xany.window == Tmp_win->title_w) { Event.xkey.window = Tmp_win->w; XSendEvent(dpy, Tmp_win->w, False, KeyPressMask, &Event); @@ -948,15 +942,6 @@ RedoIconName(void) { int x, y; - if (Tmp_win->list) - { - /* let the expose event cause the repaint */ - XClearArea(dpy, Tmp_win->list->w, 0,0,0,0, True); - - if (Scr->SortIconMgr) - SortIconManager(Tmp_win->list->iconmgr); - } - if (Tmp_win->icon_w == (Window) 0) return; @@ -1108,29 +1093,6 @@ HandleExpose(void) } } } - if (Tmp_win->list) { - if (Event.xany.window == Tmp_win->list->w) - { - MyFont_ChangeGC(Tmp_win->list->fore, Tmp_win->list->back, - &Scr->IconManagerFont); - MyFont_DrawString (dpy, Event.xany.window, - &Scr->IconManagerFont, Scr->NormalGC, - iconmgr_textx, Scr->IconManagerFont.y+4, - Tmp_win->icon_name, strlen(Tmp_win->icon_name)); - DrawIconManagerBorder(Tmp_win->list); - flush_expose (Event.xany.window); - return; - } - if (Event.xany.window == Tmp_win->list->icon) - { - FB(Tmp_win->list->fore, Tmp_win->list->back); - XCopyPlane(dpy, Scr->siconifyPm, Tmp_win->list->icon, - Scr->NormalGC, - 0,0, iconifybox_width, iconifybox_height, 0, 0, 1); - flush_expose (Event.xany.window); - return; - } - } } } @@ -1223,8 +1185,8 @@ HandleDestroyNotify(void) * 4. wmhints * 5. class.res_name * 6. class.res_class - * 7. list - * 8. iconmgrp + * + * * 9. cwins * 10. titlebuttons * 11. window ring @@ -1236,7 +1198,6 @@ HandleDestroyNotify(void) XDestroyWindow(dpy, Tmp_win->icon_w); IconDown (Tmp_win); } - RemoveIconManager(Tmp_win); /* 7 */ Tmp_win->prev->next = Tmp_win->next; if (Tmp_win->next != NULL) Tmp_win->next->prev = Tmp_win->prev; @@ -1294,19 +1255,10 @@ HandleMapRequest(void) if (Tmp_win == NULL) { /* Add decorations. */ - Tmp_win = AddWindow(Event.xany.window, FALSE, (IconMgr *) NULL); + Tmp_win = AddWindow(Event.xany.window); if (Tmp_win == NULL) return; } - else - { - /* - * If the window has been unmapped by the client, it won't be listed - * in the icon manager. Add it again, if requested. - */ - if (Tmp_win->list == NULL) - (void) AddIconManager (Tmp_win); - } /* If it's not merely iconified, and we have hints, use them. */ if ((! Tmp_win->icon) && @@ -1658,12 +1610,6 @@ HandleButtonRelease(void) EventHandler[EnterNotify] = HandleEnterNotify; EventHandler[LeaveNotify] = HandleLeaveNotify; ButtonPressed = -1; - if (DownIconManager) - { - DownIconManager->down = FALSE; - if (Scr->Highlight) DrawIconManagerBorder(DownIconManager); - DownIconManager = NULL; - } Cancel = FALSE; } } @@ -1795,21 +1741,7 @@ HandleButtonPress(void) Context = C_ROOT; if (Tmp_win) { - if (Tmp_win->list && RootFunction != 0 && - (Event.xany.window == Tmp_win->list->w || - Event.xany.window == Tmp_win->list->icon)) - { - Tmp_win = Tmp_win->list->iconmgr->twm_win; - XTranslateCoordinates(dpy, Event.xany.window, Tmp_win->w, - Event.xbutton.x, Event.xbutton.y, - &JunkX, &JunkY, &JunkChild); - - Event.xbutton.x = JunkX; - Event.xbutton.y = JunkY - Tmp_win->title_height; - Event.xany.window = Tmp_win->w; - Context = C_WINDOW; - } - else if (Event.xany.window == Tmp_win->title_w) + if (Event.xany.window == Tmp_win->title_w) { Context = C_TITLE; } @@ -1841,15 +1773,6 @@ HandleButtonPress(void) } else Context = C_FRAME; } - else if (Tmp_win->list && - (Event.xany.window == Tmp_win->list->w || - Event.xany.window == Tmp_win->list->icon)) - { - Tmp_win->list->down = TRUE; - if (Scr->Highlight) DrawIconManagerBorder(Tmp_win->list); - DownIconManager = Tmp_win->list; - Context = C_ICONMGR; - } } /* this section of code checks to see if we were in the middle of @@ -1998,8 +1921,6 @@ HandleEnterNotify(void) */ if (UnHighLight_win && ewp->window != UnHighLight_win->w) { SetBorder (UnHighLight_win, False); /* application window */ - if (UnHighLight_win->list) /* in the icon box */ - NotActiveIconManager(UnHighLight_win->list); } if (ewp->window == Scr->Root) UnHighLight_win = NULL; @@ -2044,7 +1965,6 @@ HandleEnterNotify(void) * focus on this window */ if (Scr->FocusRoot && (!scanArgs.leaves || scanArgs.inferior)) { - if (Tmp_win->list) ActiveIconManager(Tmp_win->list); if (Tmp_win->mapped) { /* * unhighlight old focus window @@ -2054,18 +1974,15 @@ HandleEnterNotify(void) XUnmapWindow(dpy, Scr->Focus->hilite_w); /* - * If entering the frame or the icon manager, then do - * "window activation things": + * If entering the frame, then do "window activation things": * * 1. turn on highlight window (if any) * 2. install frame colormap * 3. set frame and highlight window (if any) border * 4. focus on client window to forward typing - * 4a. same as 4 but for icon mgr w/with NoTitlebar on. * 5. send WM_TAKE_FOCUS if requested */ - if (ewp->window == Tmp_win->frame || - (Tmp_win->list && ewp->window == Tmp_win->list->w)) { + if (ewp->window == Tmp_win->frame) { if (Tmp_win->hilite_w) /* 1 */ XMapWindow (dpy, Tmp_win->hilite_w); if (!scanArgs.leaves && !scanArgs.enters) @@ -2075,9 +1992,6 @@ HandleEnterNotify(void) if (Tmp_win->title_w && Scr->TitleFocus && /* 4 */ Tmp_win->wmhints && Tmp_win->wmhints->input) SetFocus (Tmp_win, ewp->time); - if (Scr->NoTitlebar && Scr->TitleFocus && /*4a */ - Tmp_win->wmhints && Tmp_win->wmhints->input) - SetFocus (Tmp_win, ewp->time); if (Tmp_win->protocols & DoesWmTakeFocus) /* 5 */ SendTakeFocusMessage (Tmp_win, ewp->time); Scr->Focus = Tmp_win; @@ -2179,8 +2093,6 @@ HandleLeaveNotify(void) if (Tmp_win != NULL) { - Bool inicon; - /* * We're not interested in pseudo Enter/Leave events generated * from grab initiations and terminations. @@ -2188,22 +2100,17 @@ HandleLeaveNotify(void) if (Event.xcrossing.mode != NotifyNormal) return; - inicon = (Tmp_win->list && - Tmp_win->list->w == Event.xcrossing.window); - if (Scr->RingLeader && Scr->RingLeader == Tmp_win && (Event.xcrossing.detail != NotifyInferior && Event.xcrossing.window != Tmp_win->w)) { - if (!inicon) { - if (Tmp_win->mapped) { - Tmp_win->ring.cursor_valid = False; - } else { - Tmp_win->ring.cursor_valid = True; - Tmp_win->ring.curs_x = (Event.xcrossing.x_root - - Tmp_win->frame_x); - Tmp_win->ring.curs_y = (Event.xcrossing.y_root - - Tmp_win->frame_y); - } + if (Tmp_win->mapped) { + Tmp_win->ring.cursor_valid = False; + } else { + Tmp_win->ring.cursor_valid = True; + Tmp_win->ring.curs_x = (Event.xcrossing.x_root - + Tmp_win->frame_x); + Tmp_win->ring.curs_y = (Event.xcrossing.y_root - + Tmp_win->frame_y); } Scr->RingLeader = (TwmWindow *) NULL; } @@ -2220,9 +2127,8 @@ HandleLeaveNotify(void) (void) XCheckIfEvent(dpy, &dummy, HLNQueueScanner, (char *) &scanArgs); - if ((Event.xcrossing.window == Tmp_win->frame && - !scanArgs.matches) || inicon) { - if (Tmp_win->list) NotActiveIconManager(Tmp_win->list); + if (Event.xcrossing.window == Tmp_win->frame && + !scanArgs.matches) { if (Tmp_win->hilite_w) XUnmapWindow (dpy, Tmp_win->hilite_w); SetBorder (Tmp_win, False); diff --git a/src/gram.c b/src/gram.c index 03593c1..301815f 100644 --- a/src/gram.c +++ b/src/gram.c @@ -1,225 +1,15 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton implementation for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* C LALR(1) parser skeleton written by Richard Stallman, by - simplifying the original so-called "semantic" parser. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output. */ -#define YYBISON 1 - -/* Bison version. */ -#define YYBISON_VERSION "2.3" - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Using locations. */ -#define YYLSP_NEEDED 0 - - - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - LB = 258, - RB = 259, - LP = 260, - RP = 261, - MENUS = 262, - MENU = 263, - BUTTON = 264, - DEFAULT_FUNCTION = 265, - PLUS = 266, - MINUS = 267, - ALL = 268, - OR = 269, - CURSORS = 270, - PIXMAPS = 271, - ICONS = 272, - COLOR = 273, - SAVECOLOR = 274, - MONOCHROME = 275, - FUNCTION = 276, - ICONMGR_SHOW = 277, - ICONMGR = 278, - WINDOW_FUNCTION = 279, - ZOOM = 280, - ICONMGRS = 281, - ICONMGR_GEOMETRY = 282, - ICONMGR_NOSHOW = 283, - MAKE_TITLE = 284, - GRAYSCALE = 285, - ICONIFY_BY_UNMAPPING = 286, - DONT_ICONIFY_BY_UNMAPPING = 287, - NO_TITLE = 288, - AUTO_RAISE = 289, - NO_HILITE = 290, - ICON_REGION = 291, - META = 292, - SHIFT = 293, - LOCK = 294, - CONTROL = 295, - WINDOW = 296, - TITLE = 297, - ICON = 298, - ROOT = 299, - FRAME = 300, - COLON = 301, - EQUALS = 302, - SQUEEZE_TITLE = 303, - DONT_SQUEEZE_TITLE = 304, - START_ICONIFIED = 305, - NO_TITLE_HILITE = 306, - TITLE_HILITE = 307, - MOVE = 308, - RESIZE = 309, - WAIT = 310, - SELECT = 311, - KILL = 312, - LEFT_TITLEBUTTON = 313, - RIGHT_TITLEBUTTON = 314, - NUMBER = 315, - KEYWORD = 316, - NKEYWORD = 317, - CKEYWORD = 318, - CLKEYWORD = 319, - FKEYWORD = 320, - FSKEYWORD = 321, - SKEYWORD = 322, - DKEYWORD = 323, - JKEYWORD = 324, - WINDOW_RING = 325, - WARP_CURSOR = 326, - ERRORTOKEN = 327, - NO_STACKMODE = 328, - STRING = 329 - }; -#endif -/* Tokens. */ -#define LB 258 -#define RB 259 -#define LP 260 -#define RP 261 -#define MENUS 262 -#define MENU 263 -#define BUTTON 264 -#define DEFAULT_FUNCTION 265 -#define PLUS 266 -#define MINUS 267 -#define ALL 268 -#define OR 269 -#define CURSORS 270 -#define PIXMAPS 271 -#define ICONS 272 -#define COLOR 273 -#define SAVECOLOR 274 -#define MONOCHROME 275 -#define FUNCTION 276 -#define ICONMGR_SHOW 277 -#define ICONMGR 278 -#define WINDOW_FUNCTION 279 -#define ZOOM 280 -#define ICONMGRS 281 -#define ICONMGR_GEOMETRY 282 -#define ICONMGR_NOSHOW 283 -#define MAKE_TITLE 284 -#define GRAYSCALE 285 -#define ICONIFY_BY_UNMAPPING 286 -#define DONT_ICONIFY_BY_UNMAPPING 287 -#define NO_TITLE 288 -#define AUTO_RAISE 289 -#define NO_HILITE 290 -#define ICON_REGION 291 -#define META 292 -#define SHIFT 293 -#define LOCK 294 -#define CONTROL 295 -#define WINDOW 296 -#define TITLE 297 -#define ICON 298 -#define ROOT 299 -#define FRAME 300 -#define COLON 301 -#define EQUALS 302 -#define SQUEEZE_TITLE 303 -#define DONT_SQUEEZE_TITLE 304 -#define START_ICONIFIED 305 -#define NO_TITLE_HILITE 306 -#define TITLE_HILITE 307 -#define MOVE 308 -#define RESIZE 309 -#define WAIT 310 -#define SELECT 311 -#define KILL 312 -#define LEFT_TITLEBUTTON 313 -#define RIGHT_TITLEBUTTON 314 -#define NUMBER 315 -#define KEYWORD 316 -#define NKEYWORD 317 -#define CKEYWORD 318 -#define CLKEYWORD 319 -#define FKEYWORD 320 -#define FSKEYWORD 321 -#define SKEYWORD 322 -#define DKEYWORD 323 -#define JKEYWORD 324 -#define WINDOW_RING 325 -#define WARP_CURSOR 326 -#define ERRORTOKEN 327 -#define NO_STACKMODE 328 -#define STRING 329 - - - - -/* Copy the first part of user declarations. */ -#line 67 "gram.y" - +#include +#include +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 +#define YYLEX yylex() +#define YYEMPTY -1 +#define yyclearin (yychar=(YYEMPTY)) +#define yyerrok (yyerrflag=0) +#define YYRECOVERING() (yyerrflag!=0) +#define YYPREFIX "yy" +#line 68 "gram.y" #include #include #include "twm.h" @@ -256,2622 +46,683 @@ unsigned int mods_used = (ShiftMask | ControlMask | Mod1Mask); extern int yylineno; static void yyerror ( const char *s ); - - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 107 "gram.y" +#line 106 "gram.y" +#ifndef YYSTYPE_DEFINED +#define YYSTYPE_DEFINED +typedef union { int num; char *ptr; -} -/* Line 187 of yacc.c. */ -#line 288 "gram.c" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - - - -/* Copy the second part of user declarations. */ - - -/* Line 216 of yacc.c. */ -#line 301 "gram.c" - -#ifdef short -# undef short -#endif - -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; -#endif - -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; -#else -typedef short int yytype_int8; -#endif - -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; -#else -typedef unsigned short int yytype_uint16; -#endif - -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; -#else -typedef short int yytype_int16; -#endif - -#ifndef YYSIZE_T -# ifdef __SIZE_TYPE__ -# define YYSIZE_T __SIZE_TYPE__ -# elif defined size_t -# define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# else -# define YYSIZE_T unsigned int -# endif -#endif - -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - -#ifndef YY_ -# if YYENABLE_NLS -# if ENABLE_NLS -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) -#else -# define YYUSE(e) /* empty */ -#endif - -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int i) -#else -static int -YYID (i) - int i; -#endif -{ - return i; -} -#endif - -#if ! defined yyoverflow || YYERROR_VERBOSE - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# elif defined __BUILTIN_VA_ARG_INCR -# include /* INFRINGES ON USER NAME SPACE */ -# elif defined _AIX -# define YYSTACK_ALLOC __alloca -# elif defined _MSC_VER -# include /* INFRINGES ON USER NAME SPACE */ -# define alloca _alloca -# else -# define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ -# endif -# else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM -# endif -# if (defined __cplusplus && ! defined _STDLIB_H \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - - -#if (! defined yyoverflow \ - && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - yytype_int16 yyss; - YYSTYPE yyvs; - }; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) - -#endif - -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 3 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 339 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 75 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 76 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 193 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 285 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 329 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const yytype_uint8 yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 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, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 +} YYSTYPE; +#endif /* YYSTYPE_DEFINED */ +#line 59 "gram.c" +#define LB 257 +#define RB 258 +#define LP 259 +#define RP 260 +#define MENUS 261 +#define MENU 262 +#define BUTTON 263 +#define DEFAULT_FUNCTION 264 +#define PLUS 265 +#define MINUS 266 +#define ALL 267 +#define OR 268 +#define CURSORS 269 +#define PIXMAPS 270 +#define ICONS 271 +#define COLOR 272 +#define SAVECOLOR 273 +#define MONOCHROME 274 +#define FUNCTION 275 +#define WINDOW_FUNCTION 276 +#define ZOOM 277 +#define MAKE_TITLE 278 +#define GRAYSCALE 279 +#define ICONIFY_BY_UNMAPPING 280 +#define DONT_ICONIFY_BY_UNMAPPING 281 +#define NO_TITLE 282 +#define AUTO_RAISE 283 +#define NO_HILITE 284 +#define ICON_REGION 285 +#define META 286 +#define SHIFT 287 +#define LOCK 288 +#define CONTROL 289 +#define WINDOW 290 +#define TITLE 291 +#define ICON 292 +#define ROOT 293 +#define FRAME 294 +#define COLON 295 +#define EQUALS 296 +#define SQUEEZE_TITLE 297 +#define DONT_SQUEEZE_TITLE 298 +#define START_ICONIFIED 299 +#define NO_TITLE_HILITE 300 +#define TITLE_HILITE 301 +#define MOVE 302 +#define RESIZE 303 +#define WAIT 304 +#define SELECT 305 +#define KILL 306 +#define LEFT_TITLEBUTTON 307 +#define RIGHT_TITLEBUTTON 308 +#define NUMBER 309 +#define KEYWORD 310 +#define NKEYWORD 311 +#define CKEYWORD 312 +#define CLKEYWORD 313 +#define FKEYWORD 314 +#define FSKEYWORD 315 +#define SKEYWORD 316 +#define DKEYWORD 317 +#define JKEYWORD 318 +#define WINDOW_RING 319 +#define WARP_CURSOR 320 +#define ERRORTOKEN 321 +#define NO_STACKMODE 322 +#define STRING 323 +#define YYERRCODE 256 +const short yylhs[] = + { -1, + 0, 22, 22, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 23, 6, 6, 6, 6, 6, 6, + 6, 6, 24, 6, 25, 6, 6, 26, 6, 6, + 27, 6, 6, 28, 6, 6, 29, 6, 30, 6, + 31, 6, 32, 6, 33, 6, 34, 6, 36, 6, + 37, 6, 38, 6, 6, 39, 6, 6, 6, 40, + 6, 6, 41, 6, 11, 12, 13, 20, 21, 42, + 42, 45, 45, 45, 45, 45, 45, 43, 43, 46, + 46, 46, 46, 46, 46, 46, 44, 44, 47, 47, + 47, 47, 47, 47, 47, 47, 2, 48, 48, 49, + 3, 50, 50, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 4, 52, 52, 15, 53, 15, 15, + 5, 54, 54, 55, 55, 7, 56, 56, 57, 14, + 58, 14, 14, 60, 14, 59, 59, 8, 61, 61, + 62, 35, 63, 63, 64, 9, 65, 65, 66, 10, + 67, 67, 68, 68, 16, 16, 19, 19, 19, 17, + 1, 18, }; - +const short yylen[] = + { 2, + 1, 0, 2, 1, 1, 1, 1, 1, 6, 2, + 1, 2, 2, 0, 3, 1, 4, 4, 2, 2, + 2, 2, 0, 3, 0, 3, 1, 0, 3, 1, + 0, 3, 1, 0, 3, 1, 0, 3, 0, 3, + 0, 3, 0, 9, 0, 4, 0, 4, 0, 3, + 0, 3, 0, 3, 2, 0, 3, 2, 2, 0, + 3, 1, 0, 3, 1, 2, 2, 6, 6, 0, + 2, 1, 1, 1, 1, 2, 1, 0, 2, 1, + 1, 1, 1, 1, 1, 1, 0, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 0, 2, 2, + 3, 0, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 0, 2, 2, 0, 4, 2, + 3, 0, 2, 1, 1, 3, 0, 2, 2, 1, + 0, 5, 1, 0, 3, 0, 5, 3, 0, 2, + 1, 3, 0, 2, 2, 3, 0, 2, 1, 3, + 0, 2, 2, 7, 1, 2, 1, 2, 2, 2, + 1, 1, +}; +const short yydefred[] = + { 2, + 0, 0, 4, 0, 0, 0, 0, 0, 49, 51, + 0, 56, 0, 0, 0, 37, 53, 0, 23, 0, + 41, 0, 0, 0, 0, 39, 0, 0, 0, 65, + 0, 0, 63, 0, 0, 171, 0, 3, 5, 6, + 7, 8, 0, 0, 172, 170, 165, 0, 58, 102, + 13, 98, 12, 0, 0, 132, 55, 0, 47, 59, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 67, 66, 0, 0, 0, + 70, 21, 70, 19, 20, 22, 0, 0, 166, 0, + 0, 153, 50, 125, 52, 0, 57, 0, 149, 38, + 54, 15, 24, 35, 42, 29, 0, 146, 145, 40, + 26, 0, 0, 64, 61, 32, 0, 0, 0, 161, + 46, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 103, 97, 0, 99, 0, 0, 131, 135, + 134, 133, 157, 48, 0, 0, 0, 17, 18, 77, + 0, 73, 74, 75, 87, 71, 78, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, + 152, 0, 154, 124, 0, 0, 126, 0, 148, 151, + 150, 0, 142, 0, 76, 0, 0, 0, 160, 0, + 162, 118, 110, 106, 108, 104, 112, 114, 116, 120, + 122, 155, 130, 0, 156, 159, 158, 9, 0, 94, + 95, 89, 90, 91, 92, 93, 0, 96, 88, 85, + 86, 80, 81, 82, 83, 84, 0, 79, 43, 0, + 163, 0, 0, 0, 167, 0, 69, 68, 0, 0, + 137, 129, 168, 169, 147, 44, 0, 0, 0, 136, + 0, 138, 0, 139, 164, +}; +const short yydgoto[] = + { 1, + 37, 53, 51, 95, 57, 38, 242, 100, 144, 121, + 39, 40, 41, 42, 177, 49, 43, 46, 236, 86, + 82, 2, 64, 65, 73, 68, 80, 66, 62, 72, + 67, 239, 88, 98, 93, 54, 55, 63, 58, 79, + 78, 117, 187, 186, 156, 228, 219, 91, 136, 90, + 133, 138, 232, 96, 142, 248, 252, 70, 147, 71, + 145, 181, 137, 173, 178, 207, 159, 191, +}; +const short yysindex[] = + { 0, + 0, 615, 0, -309, -291, -278, -237, -224, 0, 0, + -219, 0, -309, -278, -291, 0, 0, 0, 0, 0, + 0, 0, -309, 0, 0, 0, 0, -309, -309, 0, + -291, -309, 0, 0, 0, 0, -255, 0, 0, 0, + 0, 0, -280, -217, 0, 0, 0, -309, 0, 0, + 0, 0, 0, -205, -204, 0, 0, -204, 0, 0, + 0, -203, -204, -203, -203, -203, -203, -203, -277, -198, + -203, -203, -203, -234, -233, 0, 0, -203, -203, -203, + 0, 0, 0, 0, 0, 0, -309, -193, 0, -207, + -243, 0, 0, 0, 0, -256, 0, -189, 0, 0, + 0, 0, 0, 0, 0, 0, -227, 0, 0, 0, + 0, -278, -278, 0, 0, 0, -87, -76, -216, 0, + 0, 0, -309, -309, -309, -309, -309, -309, -309, -309, + -309, -309, 0, 0, -309, 0, -253, -247, 0, 0, + 0, 0, 0, 0, -252, -291, -251, 0, 0, 0, + -291, 0, 0, 0, 0, 0, 0, -309, -250, -309, + -309, -309, -309, -309, -309, -309, -309, -309, -309, 0, + 0, -309, 0, 0, -309, -309, 0, -254, 0, 0, + 0, -291, 0, -232, 0, -245, -179, -180, 0, -238, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, + 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -278, 0, 0, -309, + 0, -166, -291, -291, 0, -291, 0, 0, -193, -202, + 0, 0, 0, 0, 0, 0, -309, -248, -160, 0, + -309, 0, -278, 0, 0,}; +const short yyrindex[] = + { 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 0, 0, 1, 0, 69, + 0, 137, 0, 205, 287, 0, 355, 0, 0, 0, + 0, 0, 0, 423, 491, 0, 0, 0, 0, 0, + 0, 0, 0, -154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -35, 0, 0, 0, 0, 0, 0, 0, 0, -116, + -67, 648, 666, 683, 701, 718, 736, 753, 771, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -231, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0,}; +const short yygindex[] = + { 0, + -4, 0, 0, -46, 0, 0, 0, 224, 0, -135, + 0, 0, 0, 0, 0, -11, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, +}; +#define YYTABLESIZE 1077 +const short yytable[] = + { 44, + 16, 139, 60, 205, 171, 179, 183, 189, 59, 250, + 174, 97, 61, 36, 134, 83, 101, 45, 69, 50, + 230, 210, 211, 74, 75, 128, 127, 77, 76, 233, + 234, 85, 52, 47, 48, 47, 48, 56, 84, 107, + 81, 87, 36, 89, 212, 213, 214, 215, 216, 217, + 122, 92, 94, 99, 123, 124, 140, 135, 108, 47, + 48, 112, 113, 120, 175, 176, 36, 143, 36, 36, + 36, 36, 36, 45, 36, 47, 48, 36, 158, 229, + 127, 127, 119, 125, 126, 209, 127, 220, 221, 146, + 241, 141, 247, 1, 128, 129, 130, 131, 132, 253, + 148, 149, 45, 246, 118, 0, 0, 0, 0, 0, + 222, 223, 224, 225, 226, 227, 0, 0, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 0, 0, + 170, 0, 172, 0, 0, 0, 30, 0, 0, 0, + 180, 119, 184, 182, 0, 119, 119, 0, 185, 0, + 0, 0, 0, 188, 190, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 0, 206, 202, 0, 0, + 203, 204, 0, 0, 119, 119, 0, 119, 231, 208, + 150, 218, 0, 0, 0, 119, 119, 119, 119, 119, + 111, 150, 0, 0, 111, 111, 0, 0, 151, 152, + 153, 154, 0, 0, 140, 237, 235, 155, 0, 151, + 152, 153, 154, 0, 0, 238, 0, 0, 157, 0, + 0, 0, 0, 111, 111, 240, 111, 0, 0, 0, + 243, 244, 72, 245, 111, 111, 111, 111, 111, 0, + 0, 255, 249, 251, 0, 0, 254, 0, 0, 0, + 72, 72, 72, 72, 0, 0, 16, 14, 0, 72, + 0, 0, 16, 16, 16, 0, 0, 0, 0, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 143, 102, 103, 104, + 105, 106, 0, 0, 109, 110, 111, 16, 16, 16, + 16, 114, 115, 116, 0, 0, 0, 16, 16, 0, + 16, 16, 0, 0, 0, 0, 16, 0, 0, 16, + 16, 0, 16, 16, 36, 34, 0, 0, 0, 0, + 36, 36, 36, 0, 0, 0, 0, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 27, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 36, 36, 36, 36, 0, + 0, 0, 0, 0, 0, 36, 36, 0, 36, 36, + 0, 0, 0, 0, 36, 0, 0, 36, 36, 0, + 36, 36, 30, 28, 0, 0, 0, 0, 30, 30, + 30, 0, 0, 0, 0, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 30, 30, 30, 30, 0, 0, 0, + 0, 0, 0, 30, 30, 0, 30, 30, 0, 0, + 0, 0, 30, 0, 0, 30, 30, 0, 30, 30, + 140, 141, 0, 0, 0, 0, 140, 140, 140, 0, + 0, 0, 0, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 140, 140, 140, 140, 0, 0, 0, 0, 0, + 0, 140, 140, 0, 140, 140, 0, 0, 0, 0, + 140, 0, 0, 140, 140, 0, 140, 140, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 143, 144, 0, 0, 0, 0, 143, 143, + 143, 0, 11, 0, 0, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 143, 143, 143, 143, 0, 0, 0, + 0, 0, 0, 143, 143, 0, 143, 143, 0, 0, + 0, 0, 143, 0, 0, 143, 143, 0, 143, 143, + 27, 25, 0, 0, 0, 0, 27, 27, 27, 0, + 0, 0, 0, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 27, 27, 27, 27, 0, 0, 0, 0, 0, + 0, 27, 27, 0, 27, 27, 0, 0, 0, 0, + 27, 0, 0, 27, 27, 0, 27, 27, 62, 60, + 0, 0, 0, 0, 62, 62, 62, 0, 0, 0, + 0, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, + 62, 62, 62, 0, 0, 0, 0, 0, 0, 62, + 62, 0, 62, 62, 0, 0, 0, 0, 62, 0, + 0, 62, 62, 0, 62, 62, 33, 31, 0, 0, + 0, 0, 33, 33, 33, 0, 0, 0, 0, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 33, 33, 33, + 33, 0, 0, 0, 0, 0, 0, 33, 33, 0, + 33, 33, 0, 0, 0, 0, 33, 0, 11, 33, + 33, 0, 33, 33, 11, 11, 11, 0, 0, 0, + 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, + 11, 11, 11, 0, 0, 0, 0, 0, 0, 11, + 11, 0, 11, 11, 0, 0, 0, 0, 11, 0, + 3, 11, 11, 0, 11, 11, 4, 5, 6, 0, + 0, 0, 0, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 0, 0, 0, 0, 0, 107, 0, 0, 0, 107, + 107, 24, 25, 26, 27, 0, 0, 0, 0, 0, + 0, 28, 29, 109, 30, 31, 0, 109, 109, 0, + 32, 0, 0, 33, 34, 0, 35, 36, 107, 107, + 105, 107, 0, 0, 105, 105, 0, 0, 0, 107, + 107, 107, 107, 107, 0, 0, 109, 109, 113, 109, + 0, 0, 113, 113, 0, 0, 0, 109, 109, 109, + 109, 109, 0, 105, 105, 115, 105, 0, 0, 115, + 115, 0, 0, 0, 105, 105, 105, 105, 105, 0, + 0, 113, 113, 117, 113, 0, 0, 117, 117, 0, + 0, 0, 113, 113, 113, 113, 113, 0, 115, 115, + 121, 115, 0, 0, 121, 121, 0, 0, 0, 115, + 115, 115, 115, 115, 0, 0, 117, 117, 123, 117, + 0, 0, 123, 123, 0, 0, 0, 117, 117, 117, + 117, 117, 0, 121, 121, 0, 121, 0, 0, 0, + 0, 0, 0, 0, 121, 121, 121, 121, 121, 0, + 0, 123, 123, 0, 123, 0, 0, 0, 0, 0, + 0, 0, 123, 123, 123, 123, 123, +}; +const short yycheck[] = + { 4, + 0, 258, 14, 258, 258, 258, 258, 258, 13, 258, + 258, 58, 15, 323, 258, 296, 63, 309, 23, 257, + 259, 267, 268, 28, 29, 257, 258, 32, 31, 265, + 266, 43, 257, 314, 315, 314, 315, 257, 43, 317, + 296, 259, 323, 48, 290, 291, 292, 293, 294, 295, + 258, 257, 257, 257, 262, 263, 313, 301, 257, 314, + 315, 296, 296, 257, 312, 313, 323, 257, 0, 323, + 323, 323, 323, 309, 323, 314, 315, 323, 295, 260, + 312, 313, 87, 291, 292, 318, 294, 267, 268, 317, + 257, 96, 295, 0, 302, 303, 304, 305, 306, 260, + 112, 113, 257, 239, 83, -1, -1, -1, -1, -1, + 290, 291, 292, 293, 294, 295, -1, -1, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, + 135, -1, 137, -1, -1, -1, 0, -1, -1, -1, + 145, 258, 147, 146, -1, 262, 263, -1, 151, -1, + -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, -1, 178, 172, -1, -1, + 175, 176, -1, -1, 291, 292, -1, 294, 190, 182, + 268, 186, -1, -1, -1, 302, 303, 304, 305, 306, + 258, 268, -1, -1, 262, 263, -1, -1, 286, 287, + 288, 289, -1, -1, 0, 217, 209, 295, -1, 286, + 287, 288, 289, -1, -1, 227, -1, -1, 295, -1, + -1, -1, -1, 291, 292, 230, 294, -1, -1, -1, + 233, 234, 268, 236, 302, 303, 304, 305, 306, -1, + -1, 253, 247, 248, -1, -1, 251, -1, -1, -1, + 286, 287, 288, 289, -1, -1, 256, 257, -1, 295, + -1, -1, 262, 263, 264, -1, -1, -1, -1, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 0, 64, 65, 66, + 67, 68, -1, -1, 71, 72, 73, 297, 298, 299, + 300, 78, 79, 80, -1, -1, -1, 307, 308, -1, + 310, 311, -1, -1, -1, -1, 316, -1, -1, 319, + 320, -1, 322, 323, 256, 257, -1, -1, -1, -1, + 262, 263, 264, -1, -1, -1, -1, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 0, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 297, 298, 299, 300, -1, + -1, -1, -1, -1, -1, 307, 308, -1, 310, 311, + -1, -1, -1, -1, 316, -1, -1, 319, 320, -1, + 322, 323, 256, 257, -1, -1, -1, -1, 262, 263, + 264, -1, -1, -1, -1, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 0, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 297, 298, 299, 300, -1, -1, -1, + -1, -1, -1, 307, 308, -1, 310, 311, -1, -1, + -1, -1, 316, -1, -1, 319, 320, -1, 322, 323, + 256, 257, -1, -1, -1, -1, 262, 263, 264, -1, + -1, -1, -1, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 297, 298, 299, 300, -1, -1, -1, -1, -1, + -1, 307, 308, -1, 310, 311, -1, -1, -1, -1, + 316, -1, -1, 319, 320, -1, 322, 323, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 256, 257, -1, -1, -1, -1, 262, 263, + 264, -1, 0, -1, -1, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 297, 298, 299, 300, -1, -1, -1, + -1, -1, -1, 307, 308, -1, 310, 311, -1, -1, + -1, -1, 316, -1, -1, 319, 320, -1, 322, 323, + 256, 257, -1, -1, -1, -1, 262, 263, 264, -1, + -1, -1, -1, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 297, 298, 299, 300, -1, -1, -1, -1, -1, + -1, 307, 308, -1, 310, 311, -1, -1, -1, -1, + 316, -1, -1, 319, 320, -1, 322, 323, 256, 257, + -1, -1, -1, -1, 262, 263, 264, -1, -1, -1, + -1, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 297, + 298, 299, 300, -1, -1, -1, -1, -1, -1, 307, + 308, -1, 310, 311, -1, -1, -1, -1, 316, -1, + -1, 319, 320, -1, 322, 323, 256, 257, -1, -1, + -1, -1, 262, 263, 264, -1, -1, -1, -1, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 297, 298, 299, + 300, -1, -1, -1, -1, -1, -1, 307, 308, -1, + 310, 311, -1, -1, -1, -1, 316, -1, 256, 319, + 320, -1, 322, 323, 262, 263, 264, -1, -1, -1, + -1, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 297, + 298, 299, 300, -1, -1, -1, -1, -1, -1, 307, + 308, -1, 310, 311, -1, -1, -1, -1, 316, -1, + 256, 319, 320, -1, 322, 323, 262, 263, 264, -1, + -1, -1, -1, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + -1, -1, -1, -1, -1, 258, -1, -1, -1, 262, + 263, 297, 298, 299, 300, -1, -1, -1, -1, -1, + -1, 307, 308, 258, 310, 311, -1, 262, 263, -1, + 316, -1, -1, 319, 320, -1, 322, 323, 291, 292, + 258, 294, -1, -1, 262, 263, -1, -1, -1, 302, + 303, 304, 305, 306, -1, -1, 291, 292, 258, 294, + -1, -1, 262, 263, -1, -1, -1, 302, 303, 304, + 305, 306, -1, 291, 292, 258, 294, -1, -1, 262, + 263, -1, -1, -1, 302, 303, 304, 305, 306, -1, + -1, 291, 292, 258, 294, -1, -1, 262, 263, -1, + -1, -1, 302, 303, 304, 305, 306, -1, 291, 292, + 258, 294, -1, -1, 262, 263, -1, -1, -1, 302, + 303, 304, 305, 306, -1, -1, 291, 292, 258, 294, + -1, -1, 262, 263, -1, -1, -1, 302, 303, 304, + 305, 306, -1, 291, 292, -1, 294, -1, -1, -1, + -1, -1, -1, -1, 302, 303, 304, 305, 306, -1, + -1, 291, 292, -1, 294, -1, -1, -1, -1, -1, + -1, -1, 302, 303, 304, 305, 306, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 323 #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint16 yyprhs[] = -{ - 0, 0, 3, 5, 6, 9, 11, 13, 15, 17, - 19, 26, 30, 33, 36, 38, 41, 44, 45, 49, - 51, 56, 61, 64, 67, 70, 73, 74, 78, 79, - 83, 85, 86, 90, 91, 95, 96, 100, 102, 103, - 107, 109, 110, 114, 116, 117, 121, 123, 124, 128, - 129, 133, 134, 138, 139, 149, 150, 155, 156, 161, - 162, 166, 167, 171, 172, 176, 179, 180, 184, 187, - 190, 191, 195, 197, 198, 202, 204, 207, 210, 217, - 224, 225, 228, 230, 232, 234, 236, 239, 241, 242, - 245, 247, 249, 251, 253, 255, 257, 259, 261, 263, - 264, 267, 269, 271, 273, 275, 277, 279, 281, 283, - 285, 287, 291, 292, 295, 298, 302, 303, 306, 310, - 313, 317, 320, 324, 327, 331, 334, 338, 341, 345, - 348, 352, 355, 359, 362, 366, 369, 373, 376, 380, - 383, 387, 388, 391, 394, 395, 400, 403, 407, 408, - 411, 413, 415, 419, 420, 423, 426, 428, 429, 435, - 437, 438, 442, 443, 449, 453, 454, 457, 461, 466, - 470, 471, 474, 476, 480, 481, 484, 487, 491, 492, - 495, 497, 501, 502, 505, 508, 516, 518, 521, 523, - 526, 529, 532, 534 +const char * const yyname[] = + { +"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"LB","RB","LP","RP","MENUS", +"MENU","BUTTON","DEFAULT_FUNCTION","PLUS","MINUS","ALL","OR","CURSORS", +"PIXMAPS","ICONS","COLOR","SAVECOLOR","MONOCHROME","FUNCTION","WINDOW_FUNCTION", +"ZOOM","MAKE_TITLE","GRAYSCALE","ICONIFY_BY_UNMAPPING", +"DONT_ICONIFY_BY_UNMAPPING","NO_TITLE","AUTO_RAISE","NO_HILITE","ICON_REGION", +"META","SHIFT","LOCK","CONTROL","WINDOW","TITLE","ICON","ROOT","FRAME","COLON", +"EQUALS","SQUEEZE_TITLE","DONT_SQUEEZE_TITLE","START_ICONIFIED", +"NO_TITLE_HILITE","TITLE_HILITE","MOVE","RESIZE","WAIT","SELECT","KILL", +"LEFT_TITLEBUTTON","RIGHT_TITLEBUTTON","NUMBER","KEYWORD","NKEYWORD","CKEYWORD", +"CLKEYWORD","FKEYWORD","FSKEYWORD","SKEYWORD","DKEYWORD","JKEYWORD", +"WINDOW_RING","WARP_CURSOR","ERRORTOKEN","NO_STACKMODE","STRING", }; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int16 yyrhs[] = -{ - 76, 0, -1, 77, -1, -1, 77, 78, -1, 1, - -1, 100, -1, 101, -1, 102, -1, 127, -1, 36, - 149, 68, 68, 150, 150, -1, 27, 149, 150, -1, - 27, 149, -1, 25, 150, -1, 25, -1, 16, 111, - -1, 15, 114, -1, -1, 31, 79, 134, -1, 31, - -1, 58, 149, 47, 146, -1, 59, 149, 47, 146, - -1, 148, 149, -1, 148, 146, -1, 149, 104, -1, - 148, 103, -1, -1, 32, 80, 134, -1, -1, 28, - 81, 134, -1, 28, -1, -1, 26, 82, 131, -1, - -1, 22, 83, 134, -1, -1, 51, 84, 134, -1, - 51, -1, -1, 35, 85, 134, -1, 35, -1, -1, - 73, 86, 134, -1, 73, -1, -1, 33, 87, 134, - -1, 33, -1, -1, 29, 88, 134, -1, -1, 50, - 89, 134, -1, -1, 34, 90, 134, -1, -1, 8, - 149, 5, 149, 46, 149, 6, 91, 143, -1, -1, - 8, 149, 92, 143, -1, -1, 21, 149, 93, 140, - -1, -1, 17, 94, 137, -1, -1, 18, 95, 117, - -1, -1, 30, 96, 117, -1, 19, 121, -1, -1, - 20, 97, 117, -1, 10, 146, -1, 24, 146, -1, - -1, 71, 98, 134, -1, 71, -1, -1, 70, 99, - 134, -1, 61, -1, 67, 149, -1, 62, 150, -1, - 47, 105, 46, 107, 46, 146, -1, 47, 105, 46, - 109, 46, 146, -1, -1, 105, 106, -1, 37, -1, - 38, -1, 39, -1, 40, -1, 37, 150, -1, 14, - -1, -1, 107, 108, -1, 41, -1, 42, -1, 43, - -1, 44, -1, 45, -1, 23, -1, 37, -1, 13, - -1, 14, -1, -1, 109, 110, -1, 41, -1, 42, - -1, 43, -1, 44, -1, 45, -1, 23, -1, 37, - -1, 13, -1, 14, -1, 149, -1, 3, 112, 4, - -1, -1, 112, 113, -1, 52, 149, -1, 3, 115, - 4, -1, -1, 115, 116, -1, 45, 149, 149, -1, - 45, 149, -1, 42, 149, 149, -1, 42, 149, -1, - 43, 149, 149, -1, 43, 149, -1, 23, 149, 149, - -1, 23, 149, -1, 9, 149, 149, -1, 9, 149, - -1, 53, 149, 149, -1, 53, 149, -1, 54, 149, - 149, -1, 54, 149, -1, 55, 149, 149, -1, 55, - 149, -1, 8, 149, 149, -1, 8, 149, -1, 56, - 149, 149, -1, 56, 149, -1, 57, 149, 149, -1, - 57, 149, -1, 3, 118, 4, -1, -1, 118, 119, - -1, 64, 149, -1, -1, 64, 149, 120, 124, -1, - 63, 149, -1, 3, 122, 4, -1, -1, 122, 123, - -1, 149, -1, 64, -1, 3, 125, 4, -1, -1, - 125, 126, -1, 149, 149, -1, 48, -1, -1, 48, - 128, 3, 130, 4, -1, 49, -1, -1, 49, 129, - 134, -1, -1, 130, 149, 69, 147, 150, -1, 3, - 132, 4, -1, -1, 132, 133, -1, 149, 149, 150, - -1, 149, 149, 149, 150, -1, 3, 135, 4, -1, - -1, 135, 136, -1, 149, -1, 3, 138, 4, -1, - -1, 138, 139, -1, 149, 149, -1, 3, 141, 4, - -1, -1, 141, 142, -1, 146, -1, 3, 144, 4, - -1, -1, 144, 145, -1, 149, 146, -1, 149, 5, - 149, 46, 149, 6, 146, -1, 65, -1, 66, 149, - -1, 150, -1, 11, 150, -1, 12, 150, -1, 9, - 150, -1, 74, -1, 60, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const yytype_uint16 yyrline[] = -{ - 0, 136, 136, 139, 140, 143, 144, 145, 146, 147, - 148, 150, 156, 159, 165, 167, 168, 169, 169, 171, - 173, 176, 179, 183, 199, 200, 201, 201, 203, 203, - 205, 206, 206, 208, 208, 210, 210, 212, 214, 214, - 216, 218, 218, 220, 222, 222, 224, 226, 226, 228, - 228, 230, 230, 232, 232, 235, 235, 237, 237, 239, - 239, 241, 241, 243, 243, 245, 247, 247, 249, 265, - 273, 273, 275, 277, 277, 282, 292, 302, 314, 317, - 320, 321, 324, 325, 326, 327, 328, 338, 341, 342, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 356, - 357, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 373, 376, 377, 380, 384, 387, 388, 391, 393, - 395, 397, 399, 401, 403, 405, 407, 409, 411, 413, - 415, 417, 419, 421, 423, 425, 427, 429, 431, 433, - 437, 441, 442, 445, 454, 454, 465, 476, 479, 480, - 483, 484, 487, 490, 491, 494, 499, 502, 502, 507, - 508, 508, 512, 513, 521, 524, 525, 528, 533, 541, - 544, 545, 548, 553, 556, 557, 560, 563, 566, 567, - 570, 576, 579, 580, 583, 588, 596, 597, 638, 639, - 640, 643, 655, 660 +const char * const yyrule[] = + {"$accept : twmrc", +"twmrc : stmts", +"stmts :", +"stmts : stmts stmt", +"stmt : error", +"stmt : noarg", +"stmt : sarg", +"stmt : narg", +"stmt : squeeze", +"stmt : ICON_REGION string DKEYWORD DKEYWORD number number", +"stmt : ZOOM number", +"stmt : ZOOM", +"stmt : PIXMAPS pixmap_list", +"stmt : CURSORS cursor_list", +"$$1 :", +"stmt : ICONIFY_BY_UNMAPPING $$1 win_list", +"stmt : ICONIFY_BY_UNMAPPING", +"stmt : LEFT_TITLEBUTTON string EQUALS action", +"stmt : RIGHT_TITLEBUTTON string EQUALS action", +"stmt : button string", +"stmt : button action", +"stmt : string fullkey", +"stmt : button full", +"$$2 :", +"stmt : DONT_ICONIFY_BY_UNMAPPING $$2 win_list", +"$$3 :", +"stmt : NO_TITLE_HILITE $$3 win_list", +"stmt : NO_TITLE_HILITE", +"$$4 :", +"stmt : NO_HILITE $$4 win_list", +"stmt : NO_HILITE", +"$$5 :", +"stmt : NO_STACKMODE $$5 win_list", +"stmt : NO_STACKMODE", +"$$6 :", +"stmt : NO_TITLE $$6 win_list", +"stmt : NO_TITLE", +"$$7 :", +"stmt : MAKE_TITLE $$7 win_list", +"$$8 :", +"stmt : START_ICONIFIED $$8 win_list", +"$$9 :", +"stmt : AUTO_RAISE $$9 win_list", +"$$10 :", +"stmt : MENU string LP string COLON string RP $$10 menu", +"$$11 :", +"stmt : MENU string $$11 menu", +"$$12 :", +"stmt : FUNCTION string $$12 function", +"$$13 :", +"stmt : ICONS $$13 icon_list", +"$$14 :", +"stmt : COLOR $$14 color_list", +"$$15 :", +"stmt : GRAYSCALE $$15 color_list", +"stmt : SAVECOLOR save_color_list", +"$$16 :", +"stmt : MONOCHROME $$16 color_list", +"stmt : DEFAULT_FUNCTION action", +"stmt : WINDOW_FUNCTION action", +"$$17 :", +"stmt : WARP_CURSOR $$17 win_list", +"stmt : WARP_CURSOR", +"$$18 :", +"stmt : WINDOW_RING $$18 win_list", +"noarg : KEYWORD", +"sarg : SKEYWORD string", +"narg : NKEYWORD number", +"full : EQUALS keys COLON contexts COLON action", +"fullkey : EQUALS keys COLON contextkeys COLON action", +"keys :", +"keys : keys key", +"key : META", +"key : SHIFT", +"key : LOCK", +"key : CONTROL", +"key : META number", +"key : OR", +"contexts :", +"contexts : contexts context", +"context : WINDOW", +"context : TITLE", +"context : ICON", +"context : ROOT", +"context : FRAME", +"context : ALL", +"context : OR", +"contextkeys :", +"contextkeys : contextkeys contextkey", +"contextkey : WINDOW", +"contextkey : TITLE", +"contextkey : ICON", +"contextkey : ROOT", +"contextkey : FRAME", +"contextkey : ALL", +"contextkey : OR", +"contextkey : string", +"pixmap_list : LB pixmap_entries RB", +"pixmap_entries :", +"pixmap_entries : pixmap_entries pixmap_entry", +"pixmap_entry : TITLE_HILITE string", +"cursor_list : LB cursor_entries RB", +"cursor_entries :", +"cursor_entries : cursor_entries cursor_entry", +"cursor_entry : FRAME string string", +"cursor_entry : FRAME string", +"cursor_entry : TITLE string string", +"cursor_entry : TITLE string", +"cursor_entry : ICON string string", +"cursor_entry : ICON string", +"cursor_entry : BUTTON string string", +"cursor_entry : BUTTON string", +"cursor_entry : MOVE string string", +"cursor_entry : MOVE string", +"cursor_entry : RESIZE string string", +"cursor_entry : RESIZE string", +"cursor_entry : WAIT string string", +"cursor_entry : WAIT string", +"cursor_entry : MENU string string", +"cursor_entry : MENU string", +"cursor_entry : SELECT string string", +"cursor_entry : SELECT string", +"cursor_entry : KILL string string", +"cursor_entry : KILL string", +"color_list : LB color_entries RB", +"color_entries :", +"color_entries : color_entries color_entry", +"color_entry : CLKEYWORD string", +"$$19 :", +"color_entry : CLKEYWORD string $$19 win_color_list", +"color_entry : CKEYWORD string", +"save_color_list : LB s_color_entries RB", +"s_color_entries :", +"s_color_entries : s_color_entries s_color_entry", +"s_color_entry : string", +"s_color_entry : CLKEYWORD", +"win_color_list : LB win_color_entries RB", +"win_color_entries :", +"win_color_entries : win_color_entries win_color_entry", +"win_color_entry : string string", +"squeeze : SQUEEZE_TITLE", +"$$20 :", +"squeeze : SQUEEZE_TITLE $$20 LB win_sqz_entries RB", +"squeeze : DONT_SQUEEZE_TITLE", +"$$21 :", +"squeeze : DONT_SQUEEZE_TITLE $$21 win_list", +"win_sqz_entries :", +"win_sqz_entries : win_sqz_entries string JKEYWORD signed_number number", +"win_list : LB win_entries RB", +"win_entries :", +"win_entries : win_entries win_entry", +"win_entry : string", +"icon_list : LB icon_entries RB", +"icon_entries :", +"icon_entries : icon_entries icon_entry", +"icon_entry : string string", +"function : LB function_entries RB", +"function_entries :", +"function_entries : function_entries function_entry", +"function_entry : action", +"menu : LB menu_entries RB", +"menu_entries :", +"menu_entries : menu_entries menu_entry", +"menu_entry : string action", +"menu_entry : string LP string COLON string RP action", +"action : FKEYWORD", +"action : FSKEYWORD string", +"signed_number : number", +"signed_number : PLUS number", +"signed_number : MINUS number", +"button : BUTTON number", +"string : STRING", +"number : NUMBER", }; #endif - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE -/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "LB", "RB", "LP", "RP", "MENUS", "MENU", - "BUTTON", "DEFAULT_FUNCTION", "PLUS", "MINUS", "ALL", "OR", "CURSORS", - "PIXMAPS", "ICONS", "COLOR", "SAVECOLOR", "MONOCHROME", "FUNCTION", - "ICONMGR_SHOW", "ICONMGR", "WINDOW_FUNCTION", "ZOOM", "ICONMGRS", - "ICONMGR_GEOMETRY", "ICONMGR_NOSHOW", "MAKE_TITLE", "GRAYSCALE", - "ICONIFY_BY_UNMAPPING", "DONT_ICONIFY_BY_UNMAPPING", "NO_TITLE", - "AUTO_RAISE", "NO_HILITE", "ICON_REGION", "META", "SHIFT", "LOCK", - "CONTROL", "WINDOW", "TITLE", "ICON", "ROOT", "FRAME", "COLON", "EQUALS", - "SQUEEZE_TITLE", "DONT_SQUEEZE_TITLE", "START_ICONIFIED", - "NO_TITLE_HILITE", "TITLE_HILITE", "MOVE", "RESIZE", "WAIT", "SELECT", - "KILL", "LEFT_TITLEBUTTON", "RIGHT_TITLEBUTTON", "NUMBER", "KEYWORD", - "NKEYWORD", "CKEYWORD", "CLKEYWORD", "FKEYWORD", "FSKEYWORD", "SKEYWORD", - "DKEYWORD", "JKEYWORD", "WINDOW_RING", "WARP_CURSOR", "ERRORTOKEN", - "NO_STACKMODE", "STRING", "$accept", "twmrc", "stmts", "stmt", "@1", - "@2", "@3", "@4", "@5", "@6", "@7", "@8", "@9", "@10", "@11", "@12", - "@13", "@14", "@15", "@16", "@17", "@18", "@19", "@20", "@21", "noarg", - "sarg", "narg", "full", "fullkey", "keys", "key", "contexts", "context", - "contextkeys", "contextkey", "pixmap_list", "pixmap_entries", - "pixmap_entry", "cursor_list", "cursor_entries", "cursor_entry", - "color_list", "color_entries", "color_entry", "@22", "save_color_list", - "s_color_entries", "s_color_entry", "win_color_list", - "win_color_entries", "win_color_entry", "squeeze", "@23", "@24", - "win_sqz_entries", "iconm_list", "iconm_entries", "iconm_entry", - "win_list", "win_entries", "win_entry", "icon_list", "icon_entries", - "icon_entry", "function", "function_entries", "function_entry", "menu", - "menu_entries", "menu_entry", "action", "signed_number", "button", - "string", "number", 0 -}; -#endif - -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const yytype_uint16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329 -}; -# endif - -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = -{ - 0, 75, 76, 77, 77, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 79, 78, 78, - 78, 78, 78, 78, 78, 78, 80, 78, 81, 78, - 78, 82, 78, 83, 78, 84, 78, 78, 85, 78, - 78, 86, 78, 78, 87, 78, 78, 88, 78, 89, - 78, 90, 78, 91, 78, 92, 78, 93, 78, 94, - 78, 95, 78, 96, 78, 78, 97, 78, 78, 78, - 98, 78, 78, 99, 78, 100, 101, 102, 103, 104, - 105, 105, 106, 106, 106, 106, 106, 106, 107, 107, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 109, - 109, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 111, 112, 112, 113, 114, 115, 115, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 117, 118, 118, 119, 120, 119, 119, 121, 122, 122, - 123, 123, 124, 125, 125, 126, 127, 128, 127, 127, - 129, 127, 130, 130, 131, 132, 132, 133, 133, 134, - 135, 135, 136, 137, 138, 138, 139, 140, 141, 141, - 142, 143, 144, 144, 145, 145, 146, 146, 147, 147, - 147, 148, 149, 150 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 1, 0, 2, 1, 1, 1, 1, 1, - 6, 3, 2, 2, 1, 2, 2, 0, 3, 1, - 4, 4, 2, 2, 2, 2, 0, 3, 0, 3, - 1, 0, 3, 0, 3, 0, 3, 1, 0, 3, - 1, 0, 3, 1, 0, 3, 1, 0, 3, 0, - 3, 0, 3, 0, 9, 0, 4, 0, 4, 0, - 3, 0, 3, 0, 3, 2, 0, 3, 2, 2, - 0, 3, 1, 0, 3, 1, 2, 2, 6, 6, - 0, 2, 1, 1, 1, 1, 2, 1, 0, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 0, 2, 2, 3, 0, 2, 3, 2, - 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, - 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, - 3, 0, 2, 2, 0, 4, 2, 3, 0, 2, - 1, 1, 3, 0, 2, 2, 1, 0, 5, 1, - 0, 3, 0, 5, 3, 0, 2, 3, 4, 3, - 0, 2, 1, 3, 0, 2, 2, 3, 0, 2, - 1, 3, 0, 2, 2, 7, 1, 2, 1, 2, - 2, 2, 1, 1 -}; - -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const yytype_uint8 yydefact[] = -{ - 3, 0, 0, 1, 5, 0, 0, 0, 0, 0, - 59, 61, 0, 66, 0, 33, 0, 14, 31, 0, - 30, 47, 63, 19, 26, 46, 51, 40, 0, 156, - 159, 49, 37, 0, 0, 75, 0, 0, 73, 72, - 43, 192, 4, 6, 7, 8, 9, 0, 0, 55, - 193, 191, 186, 0, 68, 116, 16, 112, 15, 0, - 0, 148, 65, 0, 57, 0, 69, 13, 0, 12, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 77, 76, 0, 0, 0, - 80, 25, 23, 22, 80, 24, 0, 0, 187, 0, - 0, 174, 60, 141, 62, 0, 67, 0, 170, 34, - 165, 32, 11, 29, 48, 64, 18, 27, 45, 52, - 39, 0, 162, 161, 50, 36, 0, 0, 74, 71, - 42, 0, 0, 0, 182, 56, 115, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 117, 111, - 0, 113, 0, 0, 147, 151, 149, 150, 178, 58, - 0, 0, 0, 0, 20, 21, 87, 82, 83, 84, - 85, 88, 81, 99, 0, 0, 135, 127, 125, 121, - 123, 119, 129, 131, 133, 137, 139, 114, 173, 175, - 0, 140, 0, 0, 142, 0, 169, 171, 172, 164, - 166, 0, 0, 158, 0, 86, 0, 0, 0, 181, - 183, 0, 134, 126, 124, 120, 122, 118, 128, 130, - 132, 136, 138, 176, 146, 143, 177, 179, 180, 0, - 10, 0, 97, 98, 95, 96, 90, 91, 92, 93, - 94, 0, 89, 108, 109, 106, 107, 101, 102, 103, - 104, 105, 0, 100, 110, 53, 0, 184, 0, 0, - 167, 0, 0, 0, 188, 78, 79, 0, 0, 153, - 145, 168, 189, 190, 163, 54, 0, 0, 0, 152, - 154, 0, 0, 155, 185 -}; - -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int16 yydefgoto[] = -{ - -1, 1, 2, 42, 73, 74, 70, 68, 65, 82, - 77, 89, 75, 71, 81, 76, 267, 97, 107, 59, - 60, 72, 63, 88, 87, 43, 44, 45, 91, 95, - 131, 172, 206, 242, 207, 253, 58, 100, 151, 56, - 99, 148, 104, 153, 194, 258, 62, 105, 156, 270, - 277, 280, 46, 79, 80, 163, 111, 161, 200, 109, - 160, 197, 102, 152, 189, 159, 195, 227, 135, 175, - 210, 54, 263, 47, 48, 51 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -159 -static const yytype_int16 yypact[] = -{ - -159, 15, 265, -159, -159, -56, -30, -25, 28, 30, - -159, -159, 32, -159, -56, -159, -25, -30, -159, -56, - 40, -159, -159, 41, -159, 42, -159, 44, -56, 46, - 48, -159, 49, -56, -56, -159, -30, -56, -159, 58, - 60, -159, -159, -159, -159, -159, -159, -28, 20, 61, - -159, -159, -159, -56, -159, -159, -159, -159, -159, 65, - 66, -159, -159, 66, -159, 76, -159, -159, 78, -30, - 76, 76, 66, 76, 76, 76, 76, 76, -4, 83, - 76, 76, 76, 43, 45, -159, -159, 76, 76, 76, - -159, -159, -159, -159, -159, -159, -56, 85, -159, 107, - 8, -159, -159, -159, -159, -2, -159, 86, -159, -159, - -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, 27, -159, -159, -159, -159, -25, -25, -159, -159, - -159, 59, 153, 55, -159, -159, -159, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -159, -159, - -56, -159, 0, 7, -159, -159, -159, -159, -159, -159, - 1, 2, -30, 3, -159, -159, -159, -30, -159, -159, - -159, -159, -159, -159, -56, 4, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -159, -159, -159, - -56, -159, -56, -56, -159, 17, -159, -159, -159, -159, - -159, -56, -30, -159, 33, -159, 80, 13, 98, -159, - -159, 19, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, 103, -159, -159, -159, -35, - -159, 5, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -25, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -25, -159, -159, -159, -56, -159, 104, -30, - -159, -30, -30, -30, -159, -159, -159, 85, 62, -159, - -159, -159, -159, -159, -159, -159, -56, 6, 106, -159, - -159, -56, -25, -159, -159 -}; - -/* YYPGOTO[NTERM-NUM]. */ -static const yytype_int16 yypgoto[] = -{ - -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, - 16, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -50, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, -159, -159, -159, -159, 130, - -159, -159, -159, -159, -159, -159, -159, -159, -158, -159, - -159, -13, -159, -159, -5, -16 -}; - -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -161 -static const yytype_int16 yytable[] = -{ - 49, 67, 154, 66, 188, 196, 199, 203, 209, 64, - 279, 191, 149, 106, 69, 3, 261, 262, 41, 90, - 85, 226, 115, 78, 256, 50, 243, 244, 83, 84, - 50, 55, 86, 57, 92, 61, 245, 52, 53, 41, - 52, 53, 93, -28, -17, -44, 41, -38, 98, -157, - 246, -160, -35, 112, 247, 248, 249, 250, 251, 252, - 150, -70, 155, -41, 121, 50, 96, 94, 101, 103, - 192, 193, 41, 166, 41, 41, 41, 41, 41, 108, - 41, 110, 52, 53, 52, 53, 122, 41, 134, 158, - 126, 133, 127, 232, 233, 162, 167, 168, 169, 170, - 157, 174, 231, 234, 255, 171, -144, 269, 276, 275, - 132, 136, 282, 164, 165, 137, 138, 235, 0, 0, - 0, 236, 237, 238, 239, 240, 241, 0, 0, 0, - 139, 0, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 0, 0, 187, 202, 190, 0, 140, - 141, 205, 142, 0, 0, 198, 201, 0, 204, 0, - 143, 144, 145, 146, 147, 0, 0, 166, 0, 208, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 228, 0, 0, 223, 230, 224, 225, 0, - 167, 168, 169, 170, 0, 0, 229, 0, 257, 173, - 113, 114, 254, 116, 117, 118, 119, 120, 0, 0, - 123, 124, 125, 260, 0, 264, 0, 128, 129, 130, - 0, 0, 0, 0, 259, 0, 0, 0, 265, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, - 0, 0, 0, 271, 0, 272, 273, 274, 0, 0, - 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -2, 4, 0, 0, 284, - 0, 278, 281, 5, 6, 7, 283, 0, 0, 0, - 8, 9, 10, 11, 12, 13, 14, 15, 0, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 33, 34, 0, 35, 36, 0, 0, - 0, 0, 37, 0, 0, 38, 39, 0, 40, 41 -}; - -static const yytype_int16 yycheck[] = -{ - 5, 17, 4, 16, 4, 4, 4, 4, 4, 14, - 4, 4, 4, 63, 19, 0, 11, 12, 74, 47, - 36, 4, 72, 28, 5, 60, 13, 14, 33, 34, - 60, 3, 37, 3, 47, 3, 23, 65, 66, 74, - 65, 66, 47, 3, 3, 3, 74, 3, 53, 3, - 37, 3, 3, 69, 41, 42, 43, 44, 45, 46, - 52, 3, 64, 3, 68, 60, 5, 47, 3, 3, - 63, 64, 74, 14, 74, 74, 74, 74, 74, 3, - 74, 3, 65, 66, 65, 66, 3, 74, 3, 3, - 47, 96, 47, 13, 14, 68, 37, 38, 39, 40, - 105, 46, 69, 23, 6, 46, 3, 3, 46, 267, - 94, 4, 6, 126, 127, 8, 9, 37, -1, -1, - -1, 41, 42, 43, 44, 45, 46, -1, -1, -1, - 23, -1, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, -1, -1, 150, 162, 152, -1, 42, - 43, 167, 45, -1, -1, 160, 161, -1, 163, -1, - 53, 54, 55, 56, 57, -1, -1, 14, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 195, -1, -1, 190, 202, 192, 193, -1, - 37, 38, 39, 40, -1, -1, 201, -1, 211, 46, - 70, 71, 207, 73, 74, 75, 76, 77, -1, -1, - 80, 81, 82, 229, -1, 231, -1, 87, 88, 89, - -1, -1, -1, -1, 229, -1, -1, -1, 241, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 252, - -1, -1, -1, 259, -1, 261, 262, 263, -1, -1, - -1, 256, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 0, 1, -1, -1, 282, - -1, 276, 277, 8, 9, 10, 281, -1, -1, -1, - 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 48, 49, 50, 51, -1, -1, -1, - -1, -1, -1, 58, 59, -1, 61, 62, -1, -1, - -1, -1, 67, -1, -1, 70, 71, -1, 73, 74 -}; - -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const yytype_uint8 yystos[] = -{ - 0, 76, 77, 0, 1, 8, 9, 10, 15, 16, - 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 48, - 49, 50, 51, 58, 59, 61, 62, 67, 70, 71, - 73, 74, 78, 100, 101, 102, 127, 148, 149, 149, - 60, 150, 65, 66, 146, 3, 114, 3, 111, 94, - 95, 3, 121, 97, 149, 83, 146, 150, 82, 149, - 81, 88, 96, 79, 80, 87, 90, 85, 149, 128, - 129, 89, 84, 149, 149, 150, 149, 99, 98, 86, - 47, 103, 146, 149, 47, 104, 5, 92, 149, 115, - 112, 3, 137, 3, 117, 122, 117, 93, 3, 134, - 3, 131, 150, 134, 134, 117, 134, 134, 134, 134, - 134, 68, 3, 134, 134, 134, 47, 47, 134, 134, - 134, 105, 105, 149, 3, 143, 4, 8, 9, 23, - 42, 43, 45, 53, 54, 55, 56, 57, 116, 4, - 52, 113, 138, 118, 4, 64, 123, 149, 3, 140, - 135, 132, 68, 130, 146, 146, 14, 37, 38, 39, - 40, 46, 106, 46, 46, 144, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 4, 139, - 149, 4, 63, 64, 119, 141, 4, 136, 149, 4, - 133, 149, 150, 4, 149, 150, 107, 109, 149, 4, - 145, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 4, 142, 146, 149, - 150, 69, 13, 14, 23, 37, 41, 42, 43, 44, - 45, 46, 108, 13, 14, 23, 37, 41, 42, 43, - 44, 45, 46, 110, 149, 6, 5, 146, 120, 149, - 150, 11, 12, 147, 150, 146, 146, 91, 149, 3, - 124, 150, 150, 150, 150, 143, 46, 125, 149, 4, - 126, 149, 6, 149, 146 -}; - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - - -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ - -#define YYFAIL goto yyerrlab - -#define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK (1); \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) - - -#define YYTERROR 1 -#define YYERRCODE 256 - - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) -#endif - - -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ - -#ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE #else -# define YYLEX yylex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH #else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; +#define YYSTACKSIZE 10000 +#define YYMAXDEPTH 10000 #endif -{ - if (!yyvaluep) - return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); -# endif - switch (yytype) - { - default: - break; - } -} - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; #endif -{ - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); -} - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) -#else -static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; -#endif -{ - YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) -#else -static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; -#endif -{ - int yynrhs = yyr2[yyrule]; - int yyi; - unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); - /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - fprintf (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); - fprintf (stderr, "\n"); - } -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule); \ -} while (YYID (0)) - -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ +#define YYINITSTACKSIZE 200 +/* LINTUSED */ int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). - - Do not make this value too large; the results are undefined if - YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ - -#ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 -#endif - - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static YYSIZE_T -yystrlen (const char *yystr) -#else -static YYSIZE_T -yystrlen (yystr) - const char *yystr; -#endif -{ - YYSIZE_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif - -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static char * -yystpcpy (char *yydest, const char *yysrc) -#else -static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif -{ - char *yyd = yydest; - const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (! yyres) - return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) -{ - int yyn = yypact[yystate]; - - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; - } -} -#endif /* YYERROR_VERBOSE */ - - -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; -#endif -{ - YYUSE (yyvaluep); - - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - switch (yytype) - { - - default: - break; - } -} - - -/* Prevent warnings from -Wmissing-prototypes. */ - -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - - - -/* The look-ahead symbol. */ -int yychar; - -/* The semantic value of the look-ahead symbol. */ -YYSTYPE yylval; - -/* Number of syntax errors so far. */ int yynerrs; - - - -/*----------. -| yyparse. | -`----------*/ - -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void *YYPARSE_PARAM) -#else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void) -#else -int -yyparse () - -#endif -#endif -{ - - int yystate; - int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif - - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; - - - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - YYSIZE_T yystacksize = YYINITDEPTH; - - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; - - - /* The number of symbols on the RHS of the reduced rule. - Keep to zero when no symbol should be popped. */ - int yylen = 0; - - YYDPRINTF ((stderr, "Starting parse\n")); - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss; - yyvsp = yyvs; - - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. So pushing a state here evens the stacks. */ - yyssp++; - - yysetstate: - *yyssp = yystate; - - if (yyss + yystacksize - 1 <= yyssp) - { - /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; - -#ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; - - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; - } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else - /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; - yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; - - { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif -#endif /* no yyoverflow */ - - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - - - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); - - if (yyss + yystacksize - 1 <= yyssp) - YYABORT; - } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - - goto yybackup; - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: - - /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ - - /* First try to decide what to do without reference to look-ahead token. */ - yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) - goto yydefault; - - /* Not known => get a look-ahead token if don't already have one. */ - - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; - } - - if (yychar <= YYEOF) - { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else - { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) - goto yydefault; - yyn = yytable[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - if (yyn == YYFINAL) - YYACCEPT; - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; - - /* Shift the look-ahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the shifted token unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - yystate = yyn; - *++yyvsp = yylval; - - goto yynewstate; - - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ -yydefault: - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ -yyreduce: - /* yyn is the number of a rule to reduce with. */ - yylen = yyr2[yyn]; - - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; - - - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 10: -#line 149 "gram.y" - { AddIconRegion((yyvsp[(2) - (6)].ptr), (yyvsp[(3) - (6)].num), (yyvsp[(4) - (6)].num), (yyvsp[(5) - (6)].num), (yyvsp[(6) - (6)].num)); } - break; - - case 11: -#line 150 "gram.y" - { if (Scr->FirstTime) - { - Scr->iconmgr.geometry=(yyvsp[(2) - (3)].ptr); - Scr->iconmgr.columns=(yyvsp[(3) - (3)].num); - } - } - break; - - case 12: -#line 156 "gram.y" - { if (Scr->FirstTime) - Scr->iconmgr.geometry = (yyvsp[(2) - (2)].ptr); - } - break; - - case 13: -#line 159 "gram.y" - { if (Scr->FirstTime) - { - Scr->DoZoom = TRUE; - Scr->ZoomCount = (yyvsp[(2) - (2)].num); - } - } - break; - - case 14: -#line 165 "gram.y" - { if (Scr->FirstTime) - Scr->DoZoom = TRUE; } - break; - - case 15: -#line 167 "gram.y" - {} - break; - - case 16: -#line 168 "gram.y" - {} - break; - - case 17: -#line 169 "gram.y" - { list = &Scr->IconifyByUn; } - break; - - case 19: -#line 171 "gram.y" - { if (Scr->FirstTime) - Scr->IconifyByUnmapping = TRUE; } - break; - - case 20: -#line 173 "gram.y" - { - GotTitleButton ((yyvsp[(2) - (4)].ptr), (yyvsp[(4) - (4)].num), False); - } - break; - - case 21: -#line 176 "gram.y" - { - GotTitleButton ((yyvsp[(2) - (4)].ptr), (yyvsp[(4) - (4)].num), True); - } - break; - - case 22: -#line 179 "gram.y" - { root = GetRoot((yyvsp[(2) - (2)].ptr), NULLSTR, NULLSTR); - Scr->Mouse[(yyvsp[(1) - (2)].num)][C_ROOT][0].func = F_MENU; - Scr->Mouse[(yyvsp[(1) - (2)].num)][C_ROOT][0].menu = root; - } - break; - - case 23: -#line 183 "gram.y" - { Scr->Mouse[(yyvsp[(1) - (2)].num)][C_ROOT][0].func = (yyvsp[(2) - (2)].num); - if ((yyvsp[(2) - (2)].num) == F_MENU) - { - pull->prev = NULL; - Scr->Mouse[(yyvsp[(1) - (2)].num)][C_ROOT][0].menu = pull; - } - else - { - root = GetRoot(TWM_ROOT,NULLSTR,NULLSTR); - Scr->Mouse[(yyvsp[(1) - (2)].num)][C_ROOT][0].item = - AddToMenu(root,"x",Action, - NULL,(yyvsp[(2) - (2)].num),NULLSTR,NULLSTR); - } - Action = ""; - pull = NULL; - } - break; - - case 24: -#line 199 "gram.y" - { GotKey((yyvsp[(1) - (2)].ptr), (yyvsp[(2) - (2)].num)); } - break; - - case 25: -#line 200 "gram.y" - { GotButton((yyvsp[(1) - (2)].num), (yyvsp[(2) - (2)].num)); } - break; - - case 26: -#line 201 "gram.y" - { list = &Scr->DontIconify; } - break; - - case 28: -#line 203 "gram.y" - { list = &Scr->IconMgrNoShow; } - break; - - case 30: -#line 205 "gram.y" - { Scr->IconManagerDontShow = TRUE; } - break; - - case 31: -#line 206 "gram.y" - { list = &Scr->IconMgrs; } - break; - - case 33: -#line 208 "gram.y" - { list = &Scr->IconMgrShow; } - break; - - case 35: -#line 210 "gram.y" - { list = &Scr->NoTitleHighlight; } - break; - - case 37: -#line 212 "gram.y" - { if (Scr->FirstTime) - Scr->TitleHighlight = FALSE; } - break; - - case 38: -#line 214 "gram.y" - { list = &Scr->NoHighlight; } - break; - - case 40: -#line 216 "gram.y" - { if (Scr->FirstTime) - Scr->Highlight = FALSE; } - break; - - case 41: -#line 218 "gram.y" - { list = &Scr->NoStackModeL; } - break; - - case 43: -#line 220 "gram.y" - { if (Scr->FirstTime) - Scr->StackMode = FALSE; } - break; - - case 44: -#line 222 "gram.y" - { list = &Scr->NoTitle; } - break; - - case 46: -#line 224 "gram.y" - { if (Scr->FirstTime) - Scr->NoTitlebar = TRUE; } - break; - - case 47: -#line 226 "gram.y" - { list = &Scr->MakeTitle; } - break; - - case 49: -#line 228 "gram.y" - { list = &Scr->StartIconified; } - break; - - case 51: -#line 230 "gram.y" - { list = &Scr->AutoRaise; } - break; - - case 53: -#line 232 "gram.y" - { - root = GetRoot((yyvsp[(2) - (7)].ptr), (yyvsp[(4) - (7)].ptr), (yyvsp[(6) - (7)].ptr)); } - break; - - case 54: -#line 234 "gram.y" - { root->real_menu = TRUE;} - break; - - case 55: -#line 235 "gram.y" - { root = GetRoot((yyvsp[(2) - (2)].ptr), NULLSTR, NULLSTR); } - break; - - case 56: -#line 236 "gram.y" - { root->real_menu = TRUE; } - break; - - case 57: -#line 237 "gram.y" - { root = GetRoot((yyvsp[(2) - (2)].ptr), NULLSTR, NULLSTR); } - break; - - case 59: -#line 239 "gram.y" - { list = &Scr->IconNames; } - break; - - case 61: -#line 241 "gram.y" - { color = COLOR; } - break; - - case 63: -#line 243 "gram.y" - { color = GRAYSCALE; } - break; - - case 66: -#line 247 "gram.y" - { color = MONOCHROME; } - break; - - case 68: -#line 249 "gram.y" - { Scr->DefaultFunction.func = (yyvsp[(2) - (2)].num); - if ((yyvsp[(2) - (2)].num) == F_MENU) - { - pull->prev = NULL; - Scr->DefaultFunction.menu = pull; - } - else - { - root = GetRoot(TWM_ROOT,NULLSTR,NULLSTR); - Scr->DefaultFunction.item = - AddToMenu(root,"x",Action, - NULL,(yyvsp[(2) - (2)].num), NULLSTR, NULLSTR); - } - Action = ""; - pull = NULL; - } - break; - - case 69: -#line 265 "gram.y" - { Scr->WindowFunction.func = (yyvsp[(2) - (2)].num); - root = GetRoot(TWM_ROOT,NULLSTR,NULLSTR); - Scr->WindowFunction.item = - AddToMenu(root,"x",Action, - NULL,(yyvsp[(2) - (2)].num), NULLSTR, NULLSTR); - Action = ""; - pull = NULL; - } - break; - - case 70: -#line 273 "gram.y" - { list = &Scr->WarpCursorL; } - break; - - case 72: -#line 275 "gram.y" - { if (Scr->FirstTime) - Scr->WarpCursor = TRUE; } - break; - - case 73: -#line 277 "gram.y" - { list = &Scr->WindowRingL; } - break; - - case 75: -#line 282 "gram.y" - { if (!do_single_keyword ((yyvsp[(1) - (1)].num))) { - twmrc_error_prefix(); - fprintf (stderr, - "unknown singleton keyword %d\n", - (yyvsp[(1) - (1)].num)); - ParseError = 1; - } - } - break; - - case 76: -#line 292 "gram.y" - { if (!do_string_keyword ((yyvsp[(1) - (2)].num), (yyvsp[(2) - (2)].ptr))) { - twmrc_error_prefix(); - fprintf (stderr, - "unknown string keyword %d (value \"%s\")\n", - (yyvsp[(1) - (2)].num), (yyvsp[(2) - (2)].ptr)); - ParseError = 1; - } - } - break; - - case 77: -#line 302 "gram.y" - { if (!do_number_keyword ((yyvsp[(1) - (2)].num), (yyvsp[(2) - (2)].num))) { - twmrc_error_prefix(); - fprintf (stderr, - "unknown numeric keyword %d (value %d)\n", - (yyvsp[(1) - (2)].num), (yyvsp[(2) - (2)].num)); - ParseError = 1; - } - } - break; - - case 78: -#line 314 "gram.y" - { (yyval.num) = (yyvsp[(6) - (6)].num); } - break; - - case 79: -#line 317 "gram.y" - { (yyval.num) = (yyvsp[(6) - (6)].num); } - break; - - case 82: -#line 324 "gram.y" - { mods |= Mod1Mask; } - break; - - case 83: -#line 325 "gram.y" - { mods |= ShiftMask; } - break; - - case 84: -#line 326 "gram.y" - { mods |= LockMask; } - break; - - case 85: -#line 327 "gram.y" - { mods |= ControlMask; } - break; - - case 86: -#line 328 "gram.y" - { if ((yyvsp[(2) - (2)].num) < 1 || (yyvsp[(2) - (2)].num) > 5) { - twmrc_error_prefix(); - fprintf (stderr, - "bad modifier number (%d), must be 1-5\n", - (yyvsp[(2) - (2)].num)); - ParseError = 1; - } else { - mods |= (Mod1Mask << ((yyvsp[(2) - (2)].num) - 1)); - } - } - break; - - case 87: -#line 338 "gram.y" - { } - break; - - case 90: -#line 345 "gram.y" - { cont |= C_WINDOW_BIT; } - break; - - case 91: -#line 346 "gram.y" - { cont |= C_TITLE_BIT; } - break; - - case 92: -#line 347 "gram.y" - { cont |= C_ICON_BIT; } - break; - - case 93: -#line 348 "gram.y" - { cont |= C_ROOT_BIT; } - break; - - case 94: -#line 349 "gram.y" - { cont |= C_FRAME_BIT; } - break; - - case 95: -#line 350 "gram.y" - { cont |= C_ICONMGR_BIT; } - break; - - case 96: -#line 351 "gram.y" - { cont |= C_ICONMGR_BIT; } - break; - - case 97: -#line 352 "gram.y" - { cont |= C_ALL_BITS; } - break; - - case 98: -#line 353 "gram.y" - { } - break; - - case 101: -#line 360 "gram.y" - { cont |= C_WINDOW_BIT; } - break; - - case 102: -#line 361 "gram.y" - { cont |= C_TITLE_BIT; } - break; - - case 103: -#line 362 "gram.y" - { cont |= C_ICON_BIT; } - break; - - case 104: -#line 363 "gram.y" - { cont |= C_ROOT_BIT; } - break; - - case 105: -#line 364 "gram.y" - { cont |= C_FRAME_BIT; } - break; - - case 106: -#line 365 "gram.y" - { cont |= C_ICONMGR_BIT; } - break; - - case 107: -#line 366 "gram.y" - { cont |= C_ICONMGR_BIT; } - break; - - case 108: -#line 367 "gram.y" - { cont |= C_ALL_BITS; } - break; - - case 109: -#line 368 "gram.y" - { } - break; - - case 110: -#line 369 "gram.y" - { Name = (yyvsp[(1) - (1)].ptr); cont |= C_NAME_BIT; } - break; - - case 114: -#line 380 "gram.y" - { SetHighlightPixmap ((yyvsp[(2) - (2)].ptr)); } - break; - - case 118: -#line 391 "gram.y" - { - NewBitmapCursor(&Scr->FrameCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 119: -#line 393 "gram.y" - { - NewFontCursor(&Scr->FrameCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 120: -#line 395 "gram.y" - { - NewBitmapCursor(&Scr->TitleCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 121: -#line 397 "gram.y" - { - NewFontCursor(&Scr->TitleCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 122: -#line 399 "gram.y" - { - NewBitmapCursor(&Scr->IconCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 123: -#line 401 "gram.y" - { - NewFontCursor(&Scr->IconCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 124: -#line 403 "gram.y" - { - NewBitmapCursor(&Scr->IconMgrCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 125: -#line 405 "gram.y" - { - NewFontCursor(&Scr->IconMgrCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 126: -#line 407 "gram.y" - { - NewBitmapCursor(&Scr->ButtonCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 127: -#line 409 "gram.y" - { - NewFontCursor(&Scr->ButtonCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 128: -#line 411 "gram.y" - { - NewBitmapCursor(&Scr->MoveCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 129: -#line 413 "gram.y" - { - NewFontCursor(&Scr->MoveCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 130: -#line 415 "gram.y" - { - NewBitmapCursor(&Scr->ResizeCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 131: -#line 417 "gram.y" - { - NewFontCursor(&Scr->ResizeCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 132: -#line 419 "gram.y" - { - NewBitmapCursor(&Scr->WaitCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 133: -#line 421 "gram.y" - { - NewFontCursor(&Scr->WaitCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 134: -#line 423 "gram.y" - { - NewBitmapCursor(&Scr->MenuCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 135: -#line 425 "gram.y" - { - NewFontCursor(&Scr->MenuCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 136: -#line 427 "gram.y" - { - NewBitmapCursor(&Scr->SelectCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 137: -#line 429 "gram.y" - { - NewFontCursor(&Scr->SelectCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 138: -#line 431 "gram.y" - { - NewBitmapCursor(&Scr->DestroyCursor, (yyvsp[(2) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); } - break; - - case 139: -#line 433 "gram.y" - { - NewFontCursor(&Scr->DestroyCursor, (yyvsp[(2) - (2)].ptr)); } - break; - - case 143: -#line 445 "gram.y" - { if (!do_colorlist_keyword ((yyvsp[(1) - (2)].num), color, - (yyvsp[(2) - (2)].ptr))) { - twmrc_error_prefix(); - fprintf (stderr, - "unhandled list color keyword %d (string \"%s\")\n", - (yyvsp[(1) - (2)].num), (yyvsp[(2) - (2)].ptr)); - ParseError = 1; - } - } - break; - - case 144: -#line 454 "gram.y" - { list = do_colorlist_keyword((yyvsp[(1) - (2)].num),color, - (yyvsp[(2) - (2)].ptr)); - if (!list) { - twmrc_error_prefix(); - fprintf (stderr, - "unhandled color list keyword %d (string \"%s\")\n", - (yyvsp[(1) - (2)].num), (yyvsp[(2) - (2)].ptr)); - ParseError = 1; - } - } - break; - - case 145: -#line 464 "gram.y" - { /* No action */; } - break; - - case 146: -#line 465 "gram.y" - { if (!do_color_keyword ((yyvsp[(1) - (2)].num), color, - (yyvsp[(2) - (2)].ptr))) { - twmrc_error_prefix(); - fprintf (stderr, - "unhandled color keyword %d (string \"%s\")\n", - (yyvsp[(1) - (2)].num), (yyvsp[(2) - (2)].ptr)); - ParseError = 1; - } - } - break; - - case 150: -#line 483 "gram.y" - { do_string_savecolor(color, (yyvsp[(1) - (1)].ptr)); } - break; - - case 151: -#line 484 "gram.y" - { do_var_savecolor((yyvsp[(1) - (1)].num)); } - break; - - case 155: -#line 494 "gram.y" - { if (Scr->FirstTime && - color == Scr->Monochrome) - AddToList(list, (yyvsp[(1) - (2)].ptr), (yyvsp[(2) - (2)].ptr)); } - break; - - case 156: -#line 499 "gram.y" - { - if (HasShape) Scr->SqueezeTitle = TRUE; - } - break; - - case 157: -#line 502 "gram.y" - { list = &Scr->SqueezeTitleL; - if (HasShape && Scr->SqueezeTitle == -1) - Scr->SqueezeTitle = TRUE; - } - break; - - case 159: -#line 507 "gram.y" - { Scr->SqueezeTitle = FALSE; } - break; - - case 160: -#line 508 "gram.y" - { list = &Scr->DontSqueezeTitleL; } - break; - - case 163: -#line 513 "gram.y" - { - if (Scr->FirstTime) { - do_squeeze_entry (list, (yyvsp[(2) - (5)].ptr), (yyvsp[(3) - (5)].num), (yyvsp[(4) - (5)].num), (yyvsp[(5) - (5)].num)); - } - } - break; - - case 167: -#line 528 "gram.y" - { if (Scr->FirstTime) - AddToList(list, (yyvsp[(1) - (3)].ptr), (char *) - AllocateIconManager((yyvsp[(1) - (3)].ptr), NULLSTR, - (yyvsp[(2) - (3)].ptr),(yyvsp[(3) - (3)].num))); - } - break; - - case 168: -#line 534 "gram.y" - { if (Scr->FirstTime) - AddToList(list, (yyvsp[(1) - (4)].ptr), (char *) - AllocateIconManager((yyvsp[(1) - (4)].ptr),(yyvsp[(2) - (4)].ptr), - (yyvsp[(3) - (4)].ptr), (yyvsp[(4) - (4)].num))); - } - break; - - case 172: -#line 548 "gram.y" - { if (Scr->FirstTime) - AddToList(list, (yyvsp[(1) - (1)].ptr), 0); - } - break; - - case 176: -#line 560 "gram.y" - { if (Scr->FirstTime) AddToList(list, (yyvsp[(1) - (2)].ptr), (yyvsp[(2) - (2)].ptr)); } - break; - - case 180: -#line 570 "gram.y" - { AddToMenu(root, "", Action, NULL, (yyvsp[(1) - (1)].num), - NULLSTR, NULLSTR); - Action = ""; - } - break; - - case 184: -#line 583 "gram.y" - { AddToMenu(root, (yyvsp[(1) - (2)].ptr), Action, pull, (yyvsp[(2) - (2)].num), - NULLSTR, NULLSTR); - Action = ""; - pull = NULL; - } - break; - - case 185: -#line 588 "gram.y" - { - AddToMenu(root, (yyvsp[(1) - (7)].ptr), Action, pull, (yyvsp[(7) - (7)].num), - (yyvsp[(3) - (7)].ptr), (yyvsp[(5) - (7)].ptr)); - Action = ""; - pull = NULL; - } - break; - - case 186: -#line 596 "gram.y" - { (yyval.num) = (yyvsp[(1) - (1)].num); } - break; - - case 187: -#line 597 "gram.y" - { - (yyval.num) = (yyvsp[(1) - (2)].num); - Action = (yyvsp[(2) - (2)].ptr); - switch ((yyvsp[(1) - (2)].num)) { - case F_MENU: - pull = GetRoot ((yyvsp[(2) - (2)].ptr), NULLSTR,NULLSTR); - pull->prev = root; - break; - case F_WARPRING: - if (!CheckWarpRingArg (Action)) { - twmrc_error_prefix(); - fprintf (stderr, - "ignoring invalid f.warptoring argument \"%s\"\n", - Action); - (yyval.num) = F_NOP; - } - case F_WARPTOSCREEN: - if (!CheckWarpScreenArg (Action)) { - twmrc_error_prefix(); - fprintf (stderr, - "ignoring invalid f.warptoscreen argument \"%s\"\n", - Action); - (yyval.num) = F_NOP; - } - break; - case F_COLORMAP: - if (CheckColormapArg (Action)) { - (yyval.num) = F_COLORMAP; - } else { - twmrc_error_prefix(); - fprintf (stderr, - "ignoring invalid f.colormap argument \"%s\"\n", - Action); - (yyval.num) = F_NOP; - } - break; - } /* end switch */ - } - break; - - case 188: -#line 638 "gram.y" - { (yyval.num) = (yyvsp[(1) - (1)].num); } - break; - - case 189: -#line 639 "gram.y" - { (yyval.num) = (yyvsp[(2) - (2)].num); } - break; - - case 190: -#line 640 "gram.y" - { (yyval.num) = -((yyvsp[(2) - (2)].num)); } - break; - - case 191: -#line 643 "gram.y" - { (yyval.num) = (yyvsp[(2) - (2)].num); - if ((yyvsp[(2) - (2)].num) == 0) - yyerror("bad button 0"); - - if ((yyvsp[(2) - (2)].num) > MAX_BUTTONS) - { - (yyval.num) = 0; - yyerror("button number too large"); - } - } - break; - - case 192: -#line 655 "gram.y" - { ptr = strdup((yyvsp[(1) - (1)].ptr)); - RemoveDQuote(ptr); - (yyval.ptr) = ptr; - } - break; - - case 193: -#line 660 "gram.y" - { (yyval.num) = (yyvsp[(1) - (1)].num); } - break; - - -/* Line 1267 of yacc.c. */ -#line 2660 "gram.c" - default: break; - } - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); - - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - - *++yyvsp = yyval; - - - /* Now `shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; - - goto yynewstate; - - -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; -#if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); -#else - { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } - } -#endif - } - - - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse look-ahead token after an - error, discard it. */ - - if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } - else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } - } - - /* Else will try to reuse look-ahead token after shifting the error - token. */ - goto yyerrlab1; - - -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; - - /* Do not reclaim the symbols of the rule which action triggered - this YYERROR. */ - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - yystate = *yyssp; - goto yyerrlab1; - - -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - - yydestruct ("Error: popping", - yystos[yystate], yyvsp); - YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); - } - - if (yyn == YYFINAL) - YYACCEPT; - - *++yyvsp = yylval; - - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); - - yystate = yyn; - goto yynewstate; - - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -#ifndef yyoverflow -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ -yyexhaustedlab: - yyerror (YY_("memory exhausted")); - yyresult = 2; - /* Fall through. */ -#endif - -yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp); - while (yyssp != yyss) - { - yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); - YYPOPSTACK (1); - } -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif - /* Make sure YYID is used. */ - return YYID (yyresult); -} - - -#line 663 "gram.y" - +int yyerrflag; +int yychar; +short *yyssp; +YYSTYPE *yyvsp; +YYSTYPE yyval; +YYSTYPE yylval; +short *yyss; +short *yysslim; +YYSTYPE *yyvs; +unsigned int yystacksize; +int yyparse(void); +#line 619 "gram.y" static void yyerror(const char *s) { @@ -3091,4 +942,918 @@ twmrc_error_prefix (void) { fprintf (stderr, "%s: line %d: ", ProgramName, yylineno); } +#line 938 "gram.c" +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(void) +{ + unsigned int newsize; + long sslen; + short *newss; + YYSTYPE *newvs; + if ((newsize = yystacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + sslen = yyssp - yyss; +#ifdef SIZE_MAX +#define YY_SIZE_MAX SIZE_MAX +#else +#define YY_SIZE_MAX 0xffffffffU +#endif + if (newsize && YY_SIZE_MAX / newsize < sizeof *newss) + goto bail; + newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) : + (short *)malloc(newsize * sizeof *newss); /* overflow check above */ + if (newss == NULL) + goto bail; + yyss = newss; + yyssp = newss + sslen; + if (newsize && YY_SIZE_MAX / newsize < sizeof *newvs) + goto bail; + newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) : + (YYSTYPE *)malloc(newsize * sizeof *newvs); /* overflow check above */ + if (newvs == NULL) + goto bail; + yyvs = newvs; + yyvsp = newvs + sslen; + yystacksize = newsize; + yysslim = yyss + newsize - 1; + return 0; +bail: + if (yyss) + free(yyss); + if (yyvs) + free(yyvs); + yyss = yyssp = NULL; + yyvs = yyvsp = NULL; + yystacksize = 0; + return -1; +} + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab +int +yyparse(void) +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG"))) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif /* YYDEBUG */ + + yynerrs = 0; + yyerrflag = 0; + yychar = (-1); + + if (yyss == NULL && yygrowstack()) goto yyoverflow; + yyssp = yyss; + yyvsp = yyvs; + *yyssp = yystate = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = yylex()) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yyssp >= yysslim && yygrowstack()) + { + goto yyoverflow; + } + *++yyssp = yystate = yytable[yyn]; + *++yyvsp = yylval; + yychar = (-1); + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; +#if defined(__GNUC__) + goto yynewerror; +#endif +yynewerror: + yyerror("syntax error"); +#if defined(__GNUC__) + goto yyerrlab; +#endif +yyerrlab: + ++yynerrs; +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); +#endif + if (yyssp >= yysslim && yygrowstack()) + { + goto yyoverflow; + } + *++yyssp = yystate = yytable[yyn]; + *++yyvsp = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yyssp); +#endif + if (yyssp <= yyss) goto yyabort; + --yyssp; + --yyvsp; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = (-1); + goto yyloop; + } +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yyvsp[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 9: +#line 149 "gram.y" +{ AddIconRegion(yyvsp[-4].ptr, yyvsp[-3].num, yyvsp[-2].num, yyvsp[-1].num, yyvsp[0].num); } +break; +case 10: +#line 150 "gram.y" +{ if (Scr->FirstTime) + { + Scr->DoZoom = TRUE; + Scr->ZoomCount = yyvsp[0].num; + } + } +break; +case 11: +#line 156 "gram.y" +{ if (Scr->FirstTime) + Scr->DoZoom = TRUE; } +break; +case 12: +#line 158 "gram.y" +{} +break; +case 13: +#line 159 "gram.y" +{} +break; +case 14: +#line 160 "gram.y" +{ list = &Scr->IconifyByUn; } +break; +case 16: +#line 162 "gram.y" +{ if (Scr->FirstTime) + Scr->IconifyByUnmapping = TRUE; } +break; +case 17: +#line 164 "gram.y" +{ + GotTitleButton (yyvsp[-2].ptr, yyvsp[0].num, False); + } +break; +case 18: +#line 167 "gram.y" +{ + GotTitleButton (yyvsp[-2].ptr, yyvsp[0].num, True); + } +break; +case 19: +#line 170 "gram.y" +{ root = GetRoot(yyvsp[0].ptr, NULLSTR, NULLSTR); + Scr->Mouse[yyvsp[-1].num][C_ROOT][0].func = F_MENU; + Scr->Mouse[yyvsp[-1].num][C_ROOT][0].menu = root; + } +break; +case 20: +#line 174 "gram.y" +{ Scr->Mouse[yyvsp[-1].num][C_ROOT][0].func = yyvsp[0].num; + if (yyvsp[0].num == F_MENU) + { + pull->prev = NULL; + Scr->Mouse[yyvsp[-1].num][C_ROOT][0].menu = pull; + } + else + { + root = GetRoot(TWM_ROOT,NULLSTR,NULLSTR); + Scr->Mouse[yyvsp[-1].num][C_ROOT][0].item = + AddToMenu(root,"x",Action, + NULL,yyvsp[0].num,NULLSTR,NULLSTR); + } + Action = ""; + pull = NULL; + } +break; +case 21: +#line 190 "gram.y" +{ GotKey(yyvsp[-1].ptr, yyvsp[0].num); } +break; +case 22: +#line 191 "gram.y" +{ GotButton(yyvsp[-1].num, yyvsp[0].num); } +break; +case 23: +#line 192 "gram.y" +{ list = &Scr->DontIconify; } +break; +case 25: +#line 194 "gram.y" +{ list = &Scr->NoTitleHighlight; } +break; +case 27: +#line 196 "gram.y" +{ if (Scr->FirstTime) + Scr->TitleHighlight = FALSE; } +break; +case 28: +#line 198 "gram.y" +{ list = &Scr->NoHighlight; } +break; +case 30: +#line 200 "gram.y" +{ if (Scr->FirstTime) + Scr->Highlight = FALSE; } +break; +case 31: +#line 202 "gram.y" +{ list = &Scr->NoStackModeL; } +break; +case 33: +#line 204 "gram.y" +{ if (Scr->FirstTime) + Scr->StackMode = FALSE; } +break; +case 34: +#line 206 "gram.y" +{ list = &Scr->NoTitle; } +break; +case 36: +#line 208 "gram.y" +{ if (Scr->FirstTime) + Scr->NoTitlebar = TRUE; } +break; +case 37: +#line 210 "gram.y" +{ list = &Scr->MakeTitle; } +break; +case 39: +#line 212 "gram.y" +{ list = &Scr->StartIconified; } +break; +case 41: +#line 214 "gram.y" +{ list = &Scr->AutoRaise; } +break; +case 43: +#line 216 "gram.y" +{ + root = GetRoot(yyvsp[-5].ptr, yyvsp[-3].ptr, yyvsp[-1].ptr); } +break; +case 44: +#line 218 "gram.y" +{ root->real_menu = TRUE;} +break; +case 45: +#line 219 "gram.y" +{ root = GetRoot(yyvsp[0].ptr, NULLSTR, NULLSTR); } +break; +case 46: +#line 220 "gram.y" +{ root->real_menu = TRUE; } +break; +case 47: +#line 221 "gram.y" +{ root = GetRoot(yyvsp[0].ptr, NULLSTR, NULLSTR); } +break; +case 49: +#line 223 "gram.y" +{ list = &Scr->IconNames; } +break; +case 51: +#line 225 "gram.y" +{ color = COLOR; } +break; +case 53: +#line 227 "gram.y" +{ color = GRAYSCALE; } +break; +case 56: +#line 231 "gram.y" +{ color = MONOCHROME; } +break; +case 58: +#line 233 "gram.y" +{ Scr->DefaultFunction.func = yyvsp[0].num; + if (yyvsp[0].num == F_MENU) + { + pull->prev = NULL; + Scr->DefaultFunction.menu = pull; + } + else + { + root = GetRoot(TWM_ROOT,NULLSTR,NULLSTR); + Scr->DefaultFunction.item = + AddToMenu(root,"x",Action, + NULL,yyvsp[0].num, NULLSTR, NULLSTR); + } + Action = ""; + pull = NULL; + } +break; +case 59: +#line 249 "gram.y" +{ Scr->WindowFunction.func = yyvsp[0].num; + root = GetRoot(TWM_ROOT,NULLSTR,NULLSTR); + Scr->WindowFunction.item = + AddToMenu(root,"x",Action, + NULL,yyvsp[0].num, NULLSTR, NULLSTR); + Action = ""; + pull = NULL; + } +break; +case 60: +#line 257 "gram.y" +{ list = &Scr->WarpCursorL; } +break; +case 62: +#line 259 "gram.y" +{ if (Scr->FirstTime) + Scr->WarpCursor = TRUE; } +break; +case 63: +#line 261 "gram.y" +{ list = &Scr->WindowRingL; } +break; +case 65: +#line 266 "gram.y" +{ if (!do_single_keyword (yyvsp[0].num)) { + twmrc_error_prefix(); + fprintf (stderr, + "unknown singleton keyword %d\n", + yyvsp[0].num); + ParseError = 1; + } + } +break; +case 66: +#line 276 "gram.y" +{ if (!do_string_keyword (yyvsp[-1].num, yyvsp[0].ptr)) { + twmrc_error_prefix(); + fprintf (stderr, + "unknown string keyword %d (value \"%s\")\n", + yyvsp[-1].num, yyvsp[0].ptr); + ParseError = 1; + } + } +break; +case 67: +#line 286 "gram.y" +{ if (!do_number_keyword (yyvsp[-1].num, yyvsp[0].num)) { + twmrc_error_prefix(); + fprintf (stderr, + "unknown numeric keyword %d (value %d)\n", + yyvsp[-1].num, yyvsp[0].num); + ParseError = 1; + } + } +break; +case 68: +#line 298 "gram.y" +{ yyval.num = yyvsp[0].num; } +break; +case 69: +#line 301 "gram.y" +{ yyval.num = yyvsp[0].num; } +break; +case 72: +#line 308 "gram.y" +{ mods |= Mod1Mask; } +break; +case 73: +#line 309 "gram.y" +{ mods |= ShiftMask; } +break; +case 74: +#line 310 "gram.y" +{ mods |= LockMask; } +break; +case 75: +#line 311 "gram.y" +{ mods |= ControlMask; } +break; +case 76: +#line 312 "gram.y" +{ if (yyvsp[0].num < 1 || yyvsp[0].num > 5) { + twmrc_error_prefix(); + fprintf (stderr, + "bad modifier number (%d), must be 1-5\n", + yyvsp[0].num); + ParseError = 1; + } else { + mods |= (Mod1Mask << (yyvsp[0].num - 1)); + } + } +break; +case 77: +#line 322 "gram.y" +{ } +break; +case 80: +#line 329 "gram.y" +{ cont |= C_WINDOW_BIT; } +break; +case 81: +#line 330 "gram.y" +{ cont |= C_TITLE_BIT; } +break; +case 82: +#line 331 "gram.y" +{ cont |= C_ICON_BIT; } +break; +case 83: +#line 332 "gram.y" +{ cont |= C_ROOT_BIT; } +break; +case 84: +#line 333 "gram.y" +{ cont |= C_FRAME_BIT; } +break; +case 85: +#line 334 "gram.y" +{ cont |= C_ALL_BITS; } +break; +case 86: +#line 335 "gram.y" +{ } +break; +case 89: +#line 342 "gram.y" +{ cont |= C_WINDOW_BIT; } +break; +case 90: +#line 343 "gram.y" +{ cont |= C_TITLE_BIT; } +break; +case 91: +#line 344 "gram.y" +{ cont |= C_ICON_BIT; } +break; +case 92: +#line 345 "gram.y" +{ cont |= C_ROOT_BIT; } +break; +case 93: +#line 346 "gram.y" +{ cont |= C_FRAME_BIT; } +break; +case 94: +#line 347 "gram.y" +{ cont |= C_ALL_BITS; } +break; +case 95: +#line 348 "gram.y" +{ } +break; +case 96: +#line 349 "gram.y" +{ Name = yyvsp[0].ptr; cont |= C_NAME_BIT; } +break; +case 100: +#line 360 "gram.y" +{ SetHighlightPixmap (yyvsp[0].ptr); } +break; +case 104: +#line 371 "gram.y" +{ + NewBitmapCursor(&Scr->FrameCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 105: +#line 373 "gram.y" +{ + NewFontCursor(&Scr->FrameCursor, yyvsp[0].ptr); } +break; +case 106: +#line 375 "gram.y" +{ + NewBitmapCursor(&Scr->TitleCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 107: +#line 377 "gram.y" +{ + NewFontCursor(&Scr->TitleCursor, yyvsp[0].ptr); } +break; +case 108: +#line 379 "gram.y" +{ + NewBitmapCursor(&Scr->IconCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 109: +#line 381 "gram.y" +{ + NewFontCursor(&Scr->IconCursor, yyvsp[0].ptr); } +break; +case 110: +#line 383 "gram.y" +{ + NewBitmapCursor(&Scr->ButtonCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 111: +#line 385 "gram.y" +{ + NewFontCursor(&Scr->ButtonCursor, yyvsp[0].ptr); } +break; +case 112: +#line 387 "gram.y" +{ + NewBitmapCursor(&Scr->MoveCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 113: +#line 389 "gram.y" +{ + NewFontCursor(&Scr->MoveCursor, yyvsp[0].ptr); } +break; +case 114: +#line 391 "gram.y" +{ + NewBitmapCursor(&Scr->ResizeCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 115: +#line 393 "gram.y" +{ + NewFontCursor(&Scr->ResizeCursor, yyvsp[0].ptr); } +break; +case 116: +#line 395 "gram.y" +{ + NewBitmapCursor(&Scr->WaitCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 117: +#line 397 "gram.y" +{ + NewFontCursor(&Scr->WaitCursor, yyvsp[0].ptr); } +break; +case 118: +#line 399 "gram.y" +{ + NewBitmapCursor(&Scr->MenuCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 119: +#line 401 "gram.y" +{ + NewFontCursor(&Scr->MenuCursor, yyvsp[0].ptr); } +break; +case 120: +#line 403 "gram.y" +{ + NewBitmapCursor(&Scr->SelectCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 121: +#line 405 "gram.y" +{ + NewFontCursor(&Scr->SelectCursor, yyvsp[0].ptr); } +break; +case 122: +#line 407 "gram.y" +{ + NewBitmapCursor(&Scr->DestroyCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 123: +#line 409 "gram.y" +{ + NewFontCursor(&Scr->DestroyCursor, yyvsp[0].ptr); } +break; +case 127: +#line 421 "gram.y" +{ if (!do_colorlist_keyword (yyvsp[-1].num, color, + yyvsp[0].ptr)) { + twmrc_error_prefix(); + fprintf (stderr, + "unhandled list color keyword %d (string \"%s\")\n", + yyvsp[-1].num, yyvsp[0].ptr); + ParseError = 1; + } + } +break; +case 128: +#line 430 "gram.y" +{ list = do_colorlist_keyword(yyvsp[-1].num,color, + yyvsp[0].ptr); + if (!list) { + twmrc_error_prefix(); + fprintf (stderr, + "unhandled color list keyword %d (string \"%s\")\n", + yyvsp[-1].num, yyvsp[0].ptr); + ParseError = 1; + } + } +break; +case 129: +#line 440 "gram.y" +{ /* No action */; } +break; +case 130: +#line 441 "gram.y" +{ if (!do_color_keyword (yyvsp[-1].num, color, + yyvsp[0].ptr)) { + twmrc_error_prefix(); + fprintf (stderr, + "unhandled color keyword %d (string \"%s\")\n", + yyvsp[-1].num, yyvsp[0].ptr); + ParseError = 1; + } + } +break; +case 134: +#line 459 "gram.y" +{ do_string_savecolor(color, yyvsp[0].ptr); } +break; +case 135: +#line 460 "gram.y" +{ do_var_savecolor(yyvsp[0].num); } +break; +case 139: +#line 470 "gram.y" +{ if (Scr->FirstTime && + color == Scr->Monochrome) + AddToList(list, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 140: +#line 475 "gram.y" +{ + if (HasShape) Scr->SqueezeTitle = TRUE; + } +break; +case 141: +#line 478 "gram.y" +{ list = &Scr->SqueezeTitleL; + if (HasShape && Scr->SqueezeTitle == -1) + Scr->SqueezeTitle = TRUE; + } +break; +case 143: +#line 483 "gram.y" +{ Scr->SqueezeTitle = FALSE; } +break; +case 144: +#line 484 "gram.y" +{ list = &Scr->DontSqueezeTitleL; } +break; +case 147: +#line 489 "gram.y" +{ + if (Scr->FirstTime) { + do_squeeze_entry (list, yyvsp[-3].ptr, yyvsp[-2].num, yyvsp[-1].num, yyvsp[0].num); + } + } +break; +case 151: +#line 503 "gram.y" +{ if (Scr->FirstTime) + AddToList(list, yyvsp[0].ptr, 0); + } +break; +case 155: +#line 515 "gram.y" +{ if (Scr->FirstTime) AddToList(list, yyvsp[-1].ptr, yyvsp[0].ptr); } +break; +case 159: +#line 525 "gram.y" +{ AddToMenu(root, "", Action, NULL, yyvsp[0].num, + NULLSTR, NULLSTR); + Action = ""; + } +break; +case 163: +#line 538 "gram.y" +{ AddToMenu(root, yyvsp[-1].ptr, Action, pull, yyvsp[0].num, + NULLSTR, NULLSTR); + Action = ""; + pull = NULL; + } +break; +case 164: +#line 543 "gram.y" +{ + AddToMenu(root, yyvsp[-6].ptr, Action, pull, yyvsp[0].num, + yyvsp[-4].ptr, yyvsp[-2].ptr); + Action = ""; + pull = NULL; + } +break; +case 165: +#line 551 "gram.y" +{ yyval.num = yyvsp[0].num; } +break; +case 166: +#line 552 "gram.y" +{ + yyval.num = yyvsp[-1].num; + Action = yyvsp[0].ptr; + switch (yyvsp[-1].num) { + case F_MENU: + pull = GetRoot (yyvsp[0].ptr, NULLSTR,NULLSTR); + pull->prev = root; + break; + case F_WARPRING: + if (!CheckWarpRingArg (Action)) { + twmrc_error_prefix(); + fprintf (stderr, + "ignoring invalid f.warptoring argument \"%s\"\n", + Action); + yyval.num = F_NOP; + } + case F_WARPTOSCREEN: + if (!CheckWarpScreenArg (Action)) { + twmrc_error_prefix(); + fprintf (stderr, + "ignoring invalid f.warptoscreen argument \"%s\"\n", + Action); + yyval.num = F_NOP; + } + break; + case F_COLORMAP: + if (CheckColormapArg (Action)) { + yyval.num = F_COLORMAP; + } else { + twmrc_error_prefix(); + fprintf (stderr, + "ignoring invalid f.colormap argument \"%s\"\n", + Action); + yyval.num = F_NOP; + } + break; + } /* end switch */ + } +break; +case 167: +#line 593 "gram.y" +{ yyval.num = yyvsp[0].num; } +break; +case 168: +#line 594 "gram.y" +{ yyval.num = yyvsp[0].num; } +break; +case 169: +#line 595 "gram.y" +{ yyval.num = -(yyvsp[0].num); } +break; +case 170: +#line 598 "gram.y" +{ yyval.num = yyvsp[0].num; + if (yyvsp[0].num == 0) + yyerror("bad button 0"); + + if (yyvsp[0].num > MAX_BUTTONS) + { + yyval.num = 0; + yyerror("button number too large"); + } + } +break; +case 171: +#line 610 "gram.y" +{ ptr = strdup(yyvsp[0].ptr); + RemoveDQuote(ptr); + yyval.ptr = ptr; + } +break; +case 172: +#line 615 "gram.y" +{ yyval.num = yyvsp[0].num; } +break; +#line 1782 "gram.c" + } + yyssp -= yym; + yystate = *yyssp; + yyvsp -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yyssp = YYFINAL; + *++yyvsp = yyval; + if (yychar < 0) + { + if ((yychar = yylex()) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yyssp, yystate); +#endif + if (yyssp >= yysslim && yygrowstack()) + { + goto yyoverflow; + } + *++yyssp = yystate; + *++yyvsp = yyval; + goto yyloop; +yyoverflow: + yyerror("yacc stack overflow"); +yyabort: + if (yyss) + free(yyss); + if (yyvs) + free(yyvs); + yyss = yyssp = NULL; + yyvs = yyvsp = NULL; + yystacksize = 0; + return (1); +yyaccept: + if (yyss) + free(yyss); + if (yyvs) + free(yyvs); + yyss = yyssp = NULL; + yyvs = yyvsp = NULL; + yystacksize = 0; + return (0); +} diff --git a/src/gram.h b/src/gram.h index ee4a573..ac472ca 100644 --- a/src/gram.h +++ b/src/gram.h @@ -1,209 +1,76 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton interface for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - LB = 258, - RB = 259, - LP = 260, - RP = 261, - MENUS = 262, - MENU = 263, - BUTTON = 264, - DEFAULT_FUNCTION = 265, - PLUS = 266, - MINUS = 267, - ALL = 268, - OR = 269, - CURSORS = 270, - PIXMAPS = 271, - ICONS = 272, - COLOR = 273, - SAVECOLOR = 274, - MONOCHROME = 275, - FUNCTION = 276, - ICONMGR_SHOW = 277, - ICONMGR = 278, - WINDOW_FUNCTION = 279, - ZOOM = 280, - ICONMGRS = 281, - ICONMGR_GEOMETRY = 282, - ICONMGR_NOSHOW = 283, - MAKE_TITLE = 284, - GRAYSCALE = 285, - ICONIFY_BY_UNMAPPING = 286, - DONT_ICONIFY_BY_UNMAPPING = 287, - NO_TITLE = 288, - AUTO_RAISE = 289, - NO_HILITE = 290, - ICON_REGION = 291, - META = 292, - SHIFT = 293, - LOCK = 294, - CONTROL = 295, - WINDOW = 296, - TITLE = 297, - ICON = 298, - ROOT = 299, - FRAME = 300, - COLON = 301, - EQUALS = 302, - SQUEEZE_TITLE = 303, - DONT_SQUEEZE_TITLE = 304, - START_ICONIFIED = 305, - NO_TITLE_HILITE = 306, - TITLE_HILITE = 307, - MOVE = 308, - RESIZE = 309, - WAIT = 310, - SELECT = 311, - KILL = 312, - LEFT_TITLEBUTTON = 313, - RIGHT_TITLEBUTTON = 314, - NUMBER = 315, - KEYWORD = 316, - NKEYWORD = 317, - CKEYWORD = 318, - CLKEYWORD = 319, - FKEYWORD = 320, - FSKEYWORD = 321, - SKEYWORD = 322, - DKEYWORD = 323, - JKEYWORD = 324, - WINDOW_RING = 325, - WARP_CURSOR = 326, - ERRORTOKEN = 327, - NO_STACKMODE = 328, - STRING = 329 - }; -#endif -/* Tokens. */ -#define LB 258 -#define RB 259 -#define LP 260 -#define RP 261 -#define MENUS 262 -#define MENU 263 -#define BUTTON 264 -#define DEFAULT_FUNCTION 265 -#define PLUS 266 -#define MINUS 267 -#define ALL 268 -#define OR 269 -#define CURSORS 270 -#define PIXMAPS 271 -#define ICONS 272 -#define COLOR 273 -#define SAVECOLOR 274 -#define MONOCHROME 275 -#define FUNCTION 276 -#define ICONMGR_SHOW 277 -#define ICONMGR 278 -#define WINDOW_FUNCTION 279 -#define ZOOM 280 -#define ICONMGRS 281 -#define ICONMGR_GEOMETRY 282 -#define ICONMGR_NOSHOW 283 -#define MAKE_TITLE 284 -#define GRAYSCALE 285 -#define ICONIFY_BY_UNMAPPING 286 -#define DONT_ICONIFY_BY_UNMAPPING 287 -#define NO_TITLE 288 -#define AUTO_RAISE 289 -#define NO_HILITE 290 -#define ICON_REGION 291 -#define META 292 -#define SHIFT 293 -#define LOCK 294 -#define CONTROL 295 -#define WINDOW 296 -#define TITLE 297 -#define ICON 298 -#define ROOT 299 -#define FRAME 300 -#define COLON 301 -#define EQUALS 302 -#define SQUEEZE_TITLE 303 -#define DONT_SQUEEZE_TITLE 304 -#define START_ICONIFIED 305 -#define NO_TITLE_HILITE 306 -#define TITLE_HILITE 307 -#define MOVE 308 -#define RESIZE 309 -#define WAIT 310 -#define SELECT 311 -#define KILL 312 -#define LEFT_TITLEBUTTON 313 -#define RIGHT_TITLEBUTTON 314 -#define NUMBER 315 -#define KEYWORD 316 -#define NKEYWORD 317 -#define CKEYWORD 318 -#define CLKEYWORD 319 -#define FKEYWORD 320 -#define FSKEYWORD 321 -#define SKEYWORD 322 -#define DKEYWORD 323 -#define JKEYWORD 324 -#define WINDOW_RING 325 -#define WARP_CURSOR 326 -#define ERRORTOKEN 327 -#define NO_STACKMODE 328 -#define STRING 329 - - - - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 107 "gram.y" +#define LB 257 +#define RB 258 +#define LP 259 +#define RP 260 +#define MENUS 261 +#define MENU 262 +#define BUTTON 263 +#define DEFAULT_FUNCTION 264 +#define PLUS 265 +#define MINUS 266 +#define ALL 267 +#define OR 268 +#define CURSORS 269 +#define PIXMAPS 270 +#define ICONS 271 +#define COLOR 272 +#define SAVECOLOR 273 +#define MONOCHROME 274 +#define FUNCTION 275 +#define WINDOW_FUNCTION 276 +#define ZOOM 277 +#define MAKE_TITLE 278 +#define GRAYSCALE 279 +#define ICONIFY_BY_UNMAPPING 280 +#define DONT_ICONIFY_BY_UNMAPPING 281 +#define NO_TITLE 282 +#define AUTO_RAISE 283 +#define NO_HILITE 284 +#define ICON_REGION 285 +#define META 286 +#define SHIFT 287 +#define LOCK 288 +#define CONTROL 289 +#define WINDOW 290 +#define TITLE 291 +#define ICON 292 +#define ROOT 293 +#define FRAME 294 +#define COLON 295 +#define EQUALS 296 +#define SQUEEZE_TITLE 297 +#define DONT_SQUEEZE_TITLE 298 +#define START_ICONIFIED 299 +#define NO_TITLE_HILITE 300 +#define TITLE_HILITE 301 +#define MOVE 302 +#define RESIZE 303 +#define WAIT 304 +#define SELECT 305 +#define KILL 306 +#define LEFT_TITLEBUTTON 307 +#define RIGHT_TITLEBUTTON 308 +#define NUMBER 309 +#define KEYWORD 310 +#define NKEYWORD 311 +#define CKEYWORD 312 +#define CLKEYWORD 313 +#define FKEYWORD 314 +#define FSKEYWORD 315 +#define SKEYWORD 316 +#define DKEYWORD 317 +#define JKEYWORD 318 +#define WINDOW_RING 319 +#define WARP_CURSOR 320 +#define ERRORTOKEN 321 +#define NO_STACKMODE 322 +#define STRING 323 +#ifndef YYSTYPE_DEFINED +#define YYSTYPE_DEFINED +typedef union { int num; char *ptr; -} -/* Line 1489 of yacc.c. */ -#line 202 "gram.h" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - +} YYSTYPE; +#endif /* YYSTYPE_DEFINED */ extern YYSTYPE yylval; - diff --git a/src/gram.y b/src/gram.y index ca40d1c..d3d6fe0 100644 --- a/src/gram.y +++ b/src/gram.y @@ -111,8 +111,8 @@ static void yyerror ( const char *s ); %token LB RB LP RP MENUS MENU BUTTON DEFAULT_FUNCTION PLUS MINUS %token ALL OR CURSORS PIXMAPS ICONS COLOR SAVECOLOR MONOCHROME FUNCTION -%token ICONMGR_SHOW ICONMGR WINDOW_FUNCTION ZOOM ICONMGRS -%token ICONMGR_GEOMETRY ICONMGR_NOSHOW MAKE_TITLE GRAYSCALE +%token WINDOW_FUNCTION ZOOM +%token MAKE_TITLE GRAYSCALE %token ICONIFY_BY_UNMAPPING DONT_ICONIFY_BY_UNMAPPING %token NO_TITLE AUTO_RAISE NO_HILITE ICON_REGION %token META SHIFT LOCK CONTROL WINDOW TITLE ICON ROOT FRAME @@ -126,7 +126,7 @@ static void yyerror ( const char *s ); %type string %type pixmap_list cursor_list color_list save_color_list stmt -%type win_color_list iconm_list win_list icon_list function menu +%type win_color_list win_list function menu %type noarg sarg error narg squeeze color_entry %type action button number signed_number full fullkey @@ -147,15 +147,6 @@ stmt : error | squeeze | ICON_REGION string DKEYWORD DKEYWORD number number { AddIconRegion($2, $3, $4, $5, $6); } - | ICONMGR_GEOMETRY string number { if (Scr->FirstTime) - { - Scr->iconmgr.geometry=$2; - Scr->iconmgr.columns=$3; - } - } - | ICONMGR_GEOMETRY string { if (Scr->FirstTime) - Scr->iconmgr.geometry = $2; - } | ZOOM number { if (Scr->FirstTime) { Scr->DoZoom = TRUE; @@ -200,13 +191,6 @@ stmt : error | button full { GotButton($1, $2); } | DONT_ICONIFY_BY_UNMAPPING { list = &Scr->DontIconify; } win_list - | ICONMGR_NOSHOW { list = &Scr->IconMgrNoShow; } - win_list - | ICONMGR_NOSHOW { Scr->IconManagerDontShow = TRUE; } - | ICONMGRS { list = &Scr->IconMgrs; } - iconm_list - | ICONMGR_SHOW { list = &Scr->IconMgrShow; } - win_list | NO_TITLE_HILITE { list = &Scr->NoTitleHighlight; } win_list | NO_TITLE_HILITE { if (Scr->FirstTime) @@ -347,8 +331,6 @@ context : WINDOW { cont |= C_WINDOW_BIT; } | ICON { cont |= C_ICON_BIT; } | ROOT { cont |= C_ROOT_BIT; } | FRAME { cont |= C_FRAME_BIT; } - | ICONMGR { cont |= C_ICONMGR_BIT; } - | META { cont |= C_ICONMGR_BIT; } | ALL { cont |= C_ALL_BITS; } | OR { } ; @@ -362,8 +344,6 @@ contextkey : WINDOW { cont |= C_WINDOW_BIT; } | ICON { cont |= C_ICON_BIT; } | ROOT { cont |= C_ROOT_BIT; } | FRAME { cont |= C_FRAME_BIT; } - | ICONMGR { cont |= C_ICONMGR_BIT; } - | META { cont |= C_ICONMGR_BIT; } | ALL { cont |= C_ALL_BITS; } | OR { } | string { Name = $1; cont |= C_NAME_BIT; } @@ -400,10 +380,6 @@ cursor_entry : FRAME string string { NewBitmapCursor(&Scr->IconCursor, $2, $3); } | ICON string { NewFontCursor(&Scr->IconCursor, $2); } - | ICONMGR string string { - NewBitmapCursor(&Scr->IconMgrCursor, $2, $3); } - | ICONMGR string { - NewFontCursor(&Scr->IconMgrCursor, $2); } | BUTTON string string { NewBitmapCursor(&Scr->ButtonCursor, $2, $3); } | BUTTON string { @@ -517,27 +493,6 @@ win_sqz_entries : /* Empty */ } ; - -iconm_list : LB iconm_entries RB - ; - -iconm_entries : /* Empty */ - | iconm_entries iconm_entry - ; - -iconm_entry : string string number { if (Scr->FirstTime) - AddToList(list, $1, (char *) - AllocateIconManager($1, NULLSTR, - $2,$3)); - } - | string string string number - { if (Scr->FirstTime) - AddToList(list, $1, (char *) - AllocateIconManager($1,$2, - $3, $4)); - } - ; - win_list : LB win_entries RB ; diff --git a/src/iconmgr.c b/src/iconmgr.c deleted file mode 100644 index d9c4e76..0000000 --- a/src/iconmgr.c +++ /dev/null @@ -1,691 +0,0 @@ -/* - * -Copyright 1989,1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - * */ - -/*********************************************************************** - * - * Icon Manager routines - * - * 09-Mar-89 Tom LaStrange File Created - * - ***********************************************************************/ - -#include -#include "twm.h" -#include "util.h" -#include "parse.h" -#include "screen.h" -#include "resize.h" -#include "add_window.h" -#include "siconify.bm" -#include -#include - -static void InsertInIconManager ( IconMgr *ip, WList *tmp, TwmWindow *tmp_win ); - -int iconmgr_textx = siconify_width+11; -static WList *Active = NULL; -WList *DownIconManager = NULL; -int iconifybox_width = siconify_width; -int iconifybox_height = siconify_height; - -/** - * create all the icon manager windows for this screen. - */ -void -CreateIconManagers(void) -{ - IconMgr *p; - int mask; - char str[100]; - char str1[100]; - Pixel background; - char *icon_name; - - if (Scr->NoIconManagers) - return; - - if (Scr->siconifyPm == None) - { - Scr->siconifyPm = XCreatePixmapFromBitmapData(dpy, Scr->Root, - (char *)siconify_bits, siconify_width, siconify_height, 1, 0, 1); - } - - for (p = &Scr->iconmgr; p != NULL; p = p->next) - { - mask = XParseGeometry(p->geometry, &JunkX, &JunkY, - (unsigned int *) &p->width, (unsigned int *)&p->height); - - if (mask & XNegative) - JunkX = Scr->MyDisplayWidth - p->width - - (2 * Scr->BorderWidth) + JunkX; - - if (mask & YNegative) - JunkY = Scr->MyDisplayHeight - p->height - - (2 * Scr->BorderWidth) + JunkY; - - background = Scr->IconManagerC.back; - GetColorFromList(Scr->IconManagerBL, p->name, (XClassHint *)NULL, - &background); - - p->w = XCreateSimpleWindow(dpy, Scr->Root, - JunkX, JunkY, p->width, p->height, 1, - Scr->Black, background); - - snprintf(str, sizeof(str), "%s Icon Manager", p->name); - snprintf(str1, sizeof(str1), "%s Icons", p->name); - if (p->icon_name) - icon_name = p->icon_name; - else - icon_name = str1; - - XSetStandardProperties(dpy, p->w, str, icon_name, None, NULL, 0, NULL); - - p->twm_win = AddWindow(p->w, TRUE, p); - SetMapStateProp (p->twm_win, WithdrawnState); - } - for (p = &Scr->iconmgr; p != NULL; p = p->next) - { - GrabButtons(p->twm_win); - GrabKeys(p->twm_win); - } -} - -/** - * allocate a new icon manager - * - * \param name the name of this icon manager - * \param con_name the name of the associated icon - * \param geom a geometry string to eventually parse - * \param columns the number of columns this icon manager has - */ -IconMgr *AllocateIconManager(char *name, char *icon_name, char *geom, int columns) -{ - IconMgr *p; - -#ifdef DEBUG_ICONMGR - fprintf(stderr, "AllocateIconManager\n"); - fprintf(stderr, " name=\"%s\" icon_name=\"%s\", geom=\"%s\", col=%d\n", - name, icon_name, geom, columns); -#endif - - if (Scr->NoIconManagers) - return NULL; - - p = malloc(sizeof(IconMgr)); - p->name = name; - p->icon_name = icon_name; - p->geometry = geom; - p->columns = columns; - p->first = NULL; - p->last = NULL; - p->active = NULL; - p->scr = Scr; - p->count = 0; - p->x = 0; - p->y = 0; - p->width = 150; - p->height = 10; - - Scr->iconmgr.lasti->next = p; - p->prev = Scr->iconmgr.lasti; - Scr->iconmgr.lasti = p; - p->next = NULL; - - return(p); -} - -/** - * move the pointer around in an icon manager - * - * \param dir one of the following: - * - F_FORWICONMGR: forward in the window list - * - F_BACKICONMGR: backward in the window list - * - F_UPICONMGR: up one row - * - F_DOWNICONMG: down one row - * - F_LEFTICONMGR: left one column - * - F_RIGHTICONMGR: right one column - */ -void MoveIconManager(int dir) -{ - IconMgr *ip; - WList *tmp = NULL; - int cur_row, cur_col, new_row, new_col; - int row_inc, col_inc; - int got_it; - - if (!Active) return; - - cur_row = Active->row; - cur_col = Active->col; - ip = Active->iconmgr; - - row_inc = 0; - col_inc = 0; - got_it = FALSE; - - switch (dir) - { - case F_FORWICONMGR: - if ((tmp = Active->next) == NULL) - tmp = ip->first; - got_it = TRUE; - break; - - case F_BACKICONMGR: - if ((tmp = Active->prev) == NULL) - tmp = ip->last; - got_it = TRUE; - break; - - case F_UPICONMGR: - row_inc = -1; - break; - - case F_DOWNICONMGR: - row_inc = 1; - break; - - case F_LEFTICONMGR: - col_inc = -1; - break; - - case F_RIGHTICONMGR: - col_inc = 1; - break; - } - - /* If got_it is FALSE ast this point then we got a left, right, - * up, or down, command. We will enter this loop until we find - * a window to warp to. - */ - new_row = cur_row; - new_col = cur_col; - - while (!got_it) - { - new_row += row_inc; - new_col += col_inc; - if (new_row < 0) - new_row = ip->cur_rows - 1; - if (new_col < 0) - new_col = ip->cur_columns - 1; - if (new_row >= ip->cur_rows) - new_row = 0; - if (new_col >= ip->cur_columns) - new_col = 0; - - /* Now let's go through the list to see if there is an entry with this - * new position - */ - for (tmp = ip->first; tmp != NULL; tmp = tmp->next) - { - if (tmp->row == new_row && tmp->col == new_col) - { - got_it = TRUE; - break; - } - } - } - - if (!got_it) - { - fprintf (stderr, - "%s: unable to find window (%d, %d) in icon manager\n", - ProgramName, new_row, new_col); - return; - } - - if (tmp == NULL) - return; - - /* raise the frame so the icon manager is visible */ - if (ip->twm_win->mapped) { - XRaiseWindow(dpy, ip->twm_win->frame); - XWarpPointer(dpy, None, tmp->icon, 0,0,0,0, 5, 5); - } else { - if (tmp->twm->title_height) { - int tbx = Scr->TBInfo.titlex; - int x = tmp->twm->highlightx; - XWarpPointer (dpy, None, tmp->twm->title_w, 0, 0, 0, 0, - tbx + (x - tbx) / 2, - Scr->TitleHeight / 4); - } else { - XWarpPointer (dpy, None, tmp->twm->w, 0, 0, 0, 0, 5, 5); - } - } -} - -/** - * jump from one icon manager to another, possibly even on another screen - * \param dir one of the following: - * - F_NEXTICONMGR - go to the next icon manager - * - F_PREVICONMGR - go to the previous one - */ - -void JumpIconManager(int dir) -{ - IconMgr *ip, *tmp_ip = NULL; - int got_it = FALSE; - ScreenInfo *sp; - int screen; - - if (!Active) return; - - -#define ITER(i) (dir == F_NEXTICONMGR ? (i)->next : (i)->prev) -#define IPOFSP(sp) (dir == F_NEXTICONMGR ? &(sp->iconmgr) : sp->iconmgr.lasti) -#define TEST(ip) if ((ip)->count != 0 && (ip)->twm_win->mapped) \ - { got_it = TRUE; break; } - - ip = Active->iconmgr; - for (tmp_ip = ITER(ip); tmp_ip; tmp_ip = ITER(tmp_ip)) { - TEST (tmp_ip); - } - - if (!got_it) { - int origscreen = ip->scr->screen; - int inc = (dir == F_NEXTICONMGR ? 1 : -1); - - for (screen = origscreen + inc; ; screen += inc) { - if (screen >= NumScreens) - screen = 0; - else if (screen < 0) - screen = NumScreens - 1; - - sp = ScreenList[screen]; - if (sp) { - for (tmp_ip = IPOFSP (sp); tmp_ip; tmp_ip = ITER(tmp_ip)) { - TEST (tmp_ip); - } - } - if (got_it || screen == origscreen) break; - } - } - -#undef ITER -#undef IPOFSP -#undef TEST - - if (!got_it) { - Bell(XkbBI_MinorError,0,None); - return; - } - - /* raise the frame so it is visible */ - XRaiseWindow(dpy, tmp_ip->twm_win->frame); - if (tmp_ip->active) - XWarpPointer(dpy, None, tmp_ip->active->icon, 0,0,0,0, 5, 5); - else - XWarpPointer(dpy, None, tmp_ip->w, 0,0,0,0, 5, 5); -} - -/** - * add a window to an icon manager - * - * \param tmp_win the TwmWindow structure - */ -WList *AddIconManager(TwmWindow *tmp_win) -{ - WList *tmp; - int h; - unsigned long valuemask; /* mask for create windows */ - XSetWindowAttributes attributes; /* attributes for create windows */ - IconMgr *ip; - - tmp_win->list = NULL; - - if (tmp_win->iconmgr || tmp_win->transient || Scr->NoIconManagers) - return NULL; - - if (LookInList(Scr->IconMgrNoShow, tmp_win->full_name, &tmp_win->class)) - return NULL; - if (Scr->IconManagerDontShow && - !LookInList(Scr->IconMgrShow, tmp_win->full_name, &tmp_win->class)) - return NULL; - if ((ip = (IconMgr *)LookInList(Scr->IconMgrs, tmp_win->full_name, - &tmp_win->class)) == NULL) - ip = &Scr->iconmgr; - - tmp = malloc(sizeof(WList)); - tmp->iconmgr = ip; - tmp->next = NULL; - tmp->active = FALSE; - tmp->down = FALSE; - - InsertInIconManager(ip, tmp, tmp_win); - - tmp->twm = tmp_win; - - tmp->fore = Scr->IconManagerC.fore; - tmp->back = Scr->IconManagerC.back; - tmp->highlight = Scr->IconManagerHighlight; - - GetColorFromList(Scr->IconManagerFL, tmp_win->full_name, &tmp_win->class, - &tmp->fore); - GetColorFromList(Scr->IconManagerBL, tmp_win->full_name, &tmp_win->class, - &tmp->back); - GetColorFromList(Scr->IconManagerHighlightL, tmp_win->full_name, - &tmp_win->class, &tmp->highlight); - - h = Scr->IconManagerFont.height + 10; - if (h < (siconify_height + 4)) - h = siconify_height + 4; - - ip->height = h * ip->count; - tmp->me = ip->count; - tmp->x = -1; - tmp->y = -1; - - valuemask = (CWBackPixel | CWBorderPixel | CWEventMask | CWCursor); - attributes.background_pixel = tmp->back; - attributes.border_pixel = tmp->back; - attributes.event_mask = (KeyPressMask | ButtonPressMask | - ButtonReleaseMask | ExposureMask | - EnterWindowMask | LeaveWindowMask); - attributes.cursor = Scr->IconMgrCursor; - tmp->w = XCreateWindow (dpy, ip->w, 0, 0, (unsigned int) 1, - (unsigned int) h, (unsigned int) 0, - CopyFromParent, (unsigned int) CopyFromParent, - (Visual *) CopyFromParent, valuemask, &attributes); - - - valuemask = (CWBackPixel | CWBorderPixel | CWEventMask | CWCursor); - attributes.background_pixel = tmp->back; - attributes.border_pixel = Scr->Black; - attributes.event_mask = (ButtonReleaseMask| ButtonPressMask | - ExposureMask); - attributes.cursor = Scr->ButtonCursor; - tmp->icon = XCreateWindow (dpy, tmp->w, 5, (int) (h - siconify_height)/2, - (unsigned int) siconify_width, - (unsigned int) siconify_height, - (unsigned int) 0, CopyFromParent, - (unsigned int) CopyFromParent, - (Visual *) CopyFromParent, - valuemask, &attributes); - - ip->count += 1; - PackIconManager(ip); - XMapWindow(dpy, tmp->w); - - XSaveContext(dpy, tmp->w, IconManagerContext, (caddr_t) tmp); - XSaveContext(dpy, tmp->w, TwmContext, (caddr_t) tmp_win); - XSaveContext(dpy, tmp->w, ScreenContext, (caddr_t) Scr); - XSaveContext(dpy, tmp->icon, TwmContext, (caddr_t) tmp_win); - XSaveContext(dpy, tmp->icon, ScreenContext, (caddr_t) Scr); - tmp_win->list = tmp; - - if (!ip->twm_win->icon) - { - XMapWindow(dpy, ip->w); - XMapWindow(dpy, ip->twm_win->frame); - } - - if (Active == NULL) Active = tmp; - - return (tmp); -} - -/** - * put an allocated entry into an icon manager - * - * \param ip the icon manager pointer - * \param tmp the entry to insert - */ -static void InsertInIconManager(IconMgr *ip, WList *tmp, TwmWindow *tmp_win) -{ - WList *tmp1; - int added; - int (*compar)(const char *, const char *) - = (Scr->CaseSensitive ? strcmp : XmuCompareISOLatin1); - - added = FALSE; - if (ip->first == NULL) - { - ip->first = tmp; - tmp->prev = NULL; - ip->last = tmp; - added = TRUE; - } - else if (Scr->SortIconMgr) - { - for (tmp1 = ip->first; tmp1 != NULL; tmp1 = tmp1->next) - { - if ((*compar)(tmp_win->icon_name, tmp1->twm->icon_name) < 0) - { - tmp->next = tmp1; - tmp->prev = tmp1->prev; - tmp1->prev = tmp; - if (tmp->prev == NULL) - ip->first = tmp; - else - tmp->prev->next = tmp; - added = TRUE; - break; - } - } - } - - if (!added) - { - ip->last->next = tmp; - tmp->prev = ip->last; - ip->last = tmp; - } -} - -static void RemoveFromIconManager(IconMgr *ip, WList *tmp) -{ - if (tmp->prev == NULL) - ip->first = tmp->next; - else - tmp->prev->next = tmp->next; - - if (tmp->next == NULL) - ip->last = tmp->prev; - else - tmp->next->prev = tmp->prev; -} - -/** - * remove a window from the icon manager - * \param tmp_win the TwmWindow structure - */ -void RemoveIconManager(TwmWindow *tmp_win) -{ - IconMgr *ip; - WList *tmp; - - if (tmp_win->list == NULL) - return; - - tmp = tmp_win->list; - tmp_win->list = NULL; - ip = tmp->iconmgr; - - RemoveFromIconManager(ip, tmp); - - XDeleteContext(dpy, tmp->icon, TwmContext); - XDeleteContext(dpy, tmp->icon, ScreenContext); - XDestroyWindow(dpy, tmp->icon); - XDeleteContext(dpy, tmp->w, IconManagerContext); - XDeleteContext(dpy, tmp->w, TwmContext); - XDeleteContext(dpy, tmp->w, ScreenContext); - XDestroyWindow(dpy, tmp->w); - ip->count -= 1; - free(tmp); - - PackIconManager(ip); - - if (ip->count == 0) - { - XUnmapWindow(dpy, ip->twm_win->frame); - } - -} - -void ActiveIconManager(WList *active) -{ - active->active = TRUE; - Active = active; - Active->iconmgr->active = active; - DrawIconManagerBorder(active); -} - -void NotActiveIconManager(WList *active) -{ - active->active = FALSE; - DrawIconManagerBorder(active); -} - -void DrawIconManagerBorder(WList *tmp) -{ - { - XSetForeground(dpy, Scr->NormalGC, tmp->fore); - XDrawRectangle(dpy, tmp->w, Scr->NormalGC, 2, 2, - tmp->width-5, tmp->height-5); - - if (tmp->active && Scr->Highlight) - XSetForeground(dpy, Scr->NormalGC, tmp->highlight); - else - XSetForeground(dpy, Scr->NormalGC, tmp->back); - - XDrawRectangle(dpy, tmp->w, Scr->NormalGC, 0, 0, - tmp->width-1, tmp->height-1); - XDrawRectangle(dpy, tmp->w, Scr->NormalGC, 1, 1, - tmp->width-3, tmp->height-3); - } -} - -/** - * sort The Dude - * - * \param ip a pointer to the icon manager struture - */ -void SortIconManager(IconMgr *ip) -{ - WList *tmp1, *tmp2; - int done; - int (*compar)(const char *, const char *) - = (Scr->CaseSensitive ? strcmp : XmuCompareISOLatin1); - - if (ip == NULL) - ip = Active->iconmgr; - - done = FALSE; - do - { - for (tmp1 = ip->first; tmp1 != NULL; tmp1 = tmp1->next) - { - if ((tmp2 = tmp1->next) == NULL) - { - done = TRUE; - break; - } - if ((*compar)(tmp1->twm->icon_name, tmp2->twm->icon_name) > 0) - { - /* take it out and put it back in */ - RemoveFromIconManager(ip, tmp2); - InsertInIconManager(ip, tmp2, tmp2->twm); - break; - } - } - } - while (!done); - PackIconManager(ip); -} - -/** - * pack the icon manager windows following - * an addition or deletion - * - * \param ip a pointer to the icon manager struture - */ -void PackIconManager(IconMgr *ip) -{ - int newwidth, i, row, col, maxcol, colinc, rowinc, wheight, wwidth; - int new_x, new_y; - int savewidth; - WList *tmp; - - wheight = Scr->IconManagerFont.height + 10; - if (wheight < (siconify_height + 4)) - wheight = siconify_height + 4; - - wwidth = ip->width / ip->columns; - - rowinc = wheight; - colinc = wwidth; - - row = 0; - col = ip->columns; - maxcol = 0; - for (i = 0, tmp = ip->first; tmp != NULL; i++, tmp = tmp->next) - { - tmp->me = i; - if (++col >= ip->columns) - { - col = 0; - row += 1; - } - if (col > maxcol) - maxcol = col; - - new_x = col * colinc; - new_y = (row-1) * rowinc; - - /* if the position or size has not changed, don't touch it */ - if (tmp->x != new_x || tmp->y != new_y || - tmp->width != wwidth || tmp->height != wheight) - { - XMoveResizeWindow(dpy, tmp->w, new_x, new_y, wwidth, wheight); - - tmp->row = row-1; - tmp->col = col; - tmp->x = new_x; - tmp->y = new_y; - tmp->width = wwidth; - tmp->height = wheight; - } - } - maxcol += 1; - - ip->cur_rows = row; - ip->cur_columns = maxcol; - ip->height = row * rowinc; - if (ip->height == 0) - ip->height = rowinc; - newwidth = maxcol * colinc; - if (newwidth == 0) - newwidth = colinc; - - XResizeWindow(dpy, ip->w, newwidth, ip->height); - - savewidth = ip->width; - if (ip->twm_win) - SetupWindow (ip->twm_win, - ip->twm_win->frame_x, ip->twm_win->frame_y, - newwidth, ip->height + ip->twm_win->title_height, -1); - ip->width = savewidth; -} diff --git a/src/iconmgr.h b/src/iconmgr.h deleted file mode 100644 index 8d7c66f..0000000 --- a/src/iconmgr.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * -Copyright 1989, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - * */ - -/*********************************************************************** - * - * Icon Manager includes - * - * 09-Mar-89 Tom LaStrange File Created - * - ***********************************************************************/ - -#ifndef _ICONMGR_ -#define _ICONMGR_ - -typedef struct WList -{ - struct WList *next; - struct WList *prev; - struct TwmWindow *twm; - struct IconMgr *iconmgr; - Window w; - Window icon; - int x, y, width, height; - int row, col; - int me; - Pixel fore, back, highlight; - unsigned top, bottom; - short active; - short down; -} WList; - -typedef struct IconMgr -{ - struct IconMgr *next; /* pointer to the next icon manager */ - struct IconMgr *prev; /* pointer to the previous icon mgr */ - struct IconMgr *lasti; /* pointer to the last icon mgr */ - struct WList *first; /* first window in the list */ - struct WList *last; /* last window in the list */ - struct WList *active; /* the active entry */ - TwmWindow *twm_win; /* back pointer to the new parent */ - struct ScreenInfo *scr; /* the screen this thing is on */ - Window w; /* this icon manager window */ - char *geometry; /* geometry string */ - char *name; - char *icon_name; - int x, y, width, height; - int columns, cur_rows, cur_columns; - int count; -} IconMgr; - -extern int iconmgr_textx; -extern WList *DownIconManager; -extern int iconifybox_width, iconifybox_height; - -extern void ActiveIconManager ( WList *active ); -extern WList *AddIconManager ( TwmWindow *tmp_win ); -extern IconMgr *AllocateIconManager ( char *name, char *icon_name, char *geom, int columns ); -extern void CreateIconManagers ( void ); -extern void DrawIconManagerBorder ( WList *tmp ); -extern void JumpIconManager ( int dir ); -extern void MoveIconManager ( int dir ); -extern void NotActiveIconManager ( WList *active ); -extern void PackIconManager ( IconMgr *ip ); -extern void RemoveIconManager ( TwmWindow *tmp_win ); -extern void SortIconManager ( IconMgr *ip ); - -#endif /* _ICONMGR_ */ diff --git a/src/menus.c b/src/menus.c index 97985c9..bb003c9 100644 --- a/src/menus.c +++ b/src/menus.c @@ -74,7 +74,6 @@ in this Software without prior written authorization from The Open Group. #include "gram.h" #include "screen.h" #include "menus.h" -#include "iconmgr.h" #include "add_window.h" #include "icons.h" #include "session.h" @@ -120,7 +119,6 @@ static Bool NeedToDefer ( MenuRoot *root ); static void DestroyMenu ( MenuRoot *menu ); static void MakeMenu ( MenuRoot *mr ); static void Execute ( const char *s ); -static void HideIconManager ( void ); static void WarpAlongRing ( XButtonEvent *ev, Bool forward ); static int WarpThere ( TwmWindow * t ); static void WarpToWindow ( TwmWindow *t ); @@ -1308,14 +1306,6 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win, switch (func) { - case F_UPICONMGR: - case F_LEFTICONMGR: - case F_RIGHTICONMGR: - case F_DOWNICONMGR: - case F_FORWICONMGR: - case F_BACKICONMGR: - case F_NEXTICONMGR: - case F_PREVICONMGR: case F_NOP: case F_TITLE: case F_DELTASTOP: @@ -1323,7 +1313,6 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win, case F_WARPTOSCREEN: case F_WARPTO: case F_WARPRING: - case F_WARPTOICONMGR: case F_WARPNEXT: case F_WARPPREV: case F_COLORMAP: @@ -1358,54 +1347,6 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win, break; } - case F_UPICONMGR: - case F_DOWNICONMGR: - case F_LEFTICONMGR: - case F_RIGHTICONMGR: - case F_FORWICONMGR: - case F_BACKICONMGR: - MoveIconManager(func); - break; - - case F_NEXTICONMGR: - case F_PREVICONMGR: - JumpIconManager(func); - break; - - case F_SHOWLIST: - if (Scr->NoIconManagers) - break; - DeIconify(Scr->iconmgr.twm_win); - XRaiseWindow(dpy, Scr->iconmgr.twm_win->frame); - break; - - case F_HIDELIST: - if (Scr->NoIconManagers) - break; - HideIconManager (); - break; - - case F_SORTICONMGR: - if (DeferExecution(context, func, Scr->SelectCursor)) - return TRUE; - - { - int save_sort; - - save_sort = Scr->SortIconMgr; - Scr->SortIconMgr = TRUE; - - if (context == C_ICONMGR) - SortIconManager((IconMgr *) NULL); - else if (tmp_win->iconmgr) - SortIconManager(tmp_win->iconmgrp); - else - Bell(XkbBI_Info,0,tmp_win->w); - - Scr->SortIconMgr = save_sort; - } - break; - case F_IDENTIFY: if (DeferExecution(context, func, Scr->SelectCursor)) return TRUE; @@ -1947,19 +1888,12 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win, case F_DESTROY: if (DeferExecution(context, func, Scr->DestroyCursor)) return TRUE; - - if (tmp_win->iconmgr) - Bell(XkbBI_MinorError,0,tmp_win->w); - else - XKillClient(dpy, tmp_win->w); + XKillClient(dpy, tmp_win->w); break; case F_DELETE: if (DeferExecution(context, func, Scr->DestroyCursor)) return TRUE; - - if (tmp_win->iconmgr) /* don't send ourself a message */ - HideIconManager (); else if (tmp_win->protocols & DoesWmDeleteWindow) SendDeleteWindowMessage (tmp_win, LastTimestamp()); else @@ -2066,7 +2000,7 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win, #define wseq(w) (func == F_WARPNEXT ? (w)->next : (w)->prev) #define nwin(w) ((w) && (n=wseq(w)) != NULL && n != &Scr->TwmRoot ? n : l) -#define bwin(w) (!(w)||(w)->iconmgr||(w)==of||!(Scr->WarpUnmapped||(w)->mapped)) +#define bwin(w) (!(w)||(w)==of||!(Scr->WarpUnmapped||(w)->mapped)) of=(Scr->Focus ? Scr->Focus : &Scr->TwmRoot); @@ -2119,42 +2053,6 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win, } break; - case F_WARPTOICONMGR: - { - TwmWindow *t; - int len; - Window raisewin = None, iconwin = None; - - len = strlen(action); - if (len == 0) { - if (tmp_win && tmp_win->list) { - raisewin = tmp_win->list->iconmgr->twm_win->frame; - iconwin = tmp_win->list->icon; - } else if (Scr->iconmgr.active) { - raisewin = Scr->iconmgr.twm_win->frame; - iconwin = Scr->iconmgr.active->w; - } - } else { - for (t = Scr->TwmRoot.next; t != NULL; t = t->next) { - if (strncmp (action, t->icon_name, len) == 0) { - if (t->list && t->list->iconmgr->twm_win->mapped) { - raisewin = t->list->iconmgr->twm_win->frame; - iconwin = t->list->icon; - break; - } - } - } - } - - if (raisewin) { - XRaiseWindow (dpy, raisewin); - XWarpPointer (dpy, None, iconwin, 0,0,0,0, 5, 5); - } else { - Bell(XkbBI_MinorError,0,None); - } - } - break; - case F_WARPRING: switch (action[0]) { case 'n': @@ -2433,8 +2331,6 @@ DeIconify(TwmWindow *tmp_win) XUnmapWindow(dpy, tmp_win->icon_w); IconDown (tmp_win); } - if (tmp_win->list) - XUnmapWindow(dpy, tmp_win->list->icon); if ((Scr->WarpCursor || LookInList(Scr->WarpCursorL, tmp_win->full_name, &tmp_win->class)) && tmp_win->icon) @@ -2465,7 +2361,6 @@ DeIconify(TwmWindow *tmp_win) XUnmapWindow(dpy, t->icon_w); IconDown (t); } - if (t->list) XUnmapWindow(dpy, t->list->icon); t->icon = FALSE; t->icon_on = FALSE; } @@ -2493,8 +2388,6 @@ Iconify(TwmWindow *tmp_win, int def_x, int def_y) IconUp(tmp_win); XMapRaised(dpy, tmp_win->icon_w); } - if (tmp_win->list) - XMapWindow(dpy, tmp_win->list->icon); XGetWindowAttributes(dpy, tmp_win->w, &winattrs); eventMask = winattrs.your_event_mask; @@ -2531,7 +2424,6 @@ Iconify(TwmWindow *tmp_win, int def_x, int def_y) Scr->Focus = NULL; Scr->FocusRoot = TRUE; } - if (t->list) XMapWindow(dpy, t->list->icon); t->icon = TRUE; t->icon_on = FALSE; } @@ -2768,19 +2660,6 @@ BumpWindowColormap (TwmWindow *tmp, int inc) FetchWmColormapWindows (tmp); } - -static void -HideIconManager (void) -{ - SetMapStateProp (Scr->iconmgr.twm_win, WithdrawnState); - XUnmapWindow(dpy, Scr->iconmgr.twm_win->frame); - if (Scr->iconmgr.twm_win->icon_w) - XUnmapWindow (dpy, Scr->iconmgr.twm_win->icon_w); - Scr->iconmgr.twm_win->mapped = FALSE; - Scr->iconmgr.twm_win->icon = TRUE; -} - - void SetBorder (TwmWindow *tmp, Bool onoroff) diff --git a/src/parse.c b/src/parse.c index 787e1b1..fcbb735 100644 --- a/src/parse.c +++ b/src/parse.c @@ -52,7 +52,7 @@ in this Software without prior written authorization from The Open Group. /*********************************************************************** * - * parse the .twmrc file + * parse the .twmruinedrc file * * 17-Nov-87 Thomas E. LaStrange File created * 10-Oct-90 David M. Sternlicht Storing saved colors on root @@ -71,7 +71,7 @@ in this Software without prior written authorization from The Open Group. #include #ifndef SYSTEM_INIT_FILE -#define SYSTEM_INIT_FILE "/usr/lib/X11/twm/system.twmrc" +#define SYSTEM_INIT_FILE "/usr/lib/X11/twm/system.twmruinedrc" #endif #define BUF_LEN 300 @@ -97,8 +97,9 @@ int (*twmInputFunc)(void); /** - * parse the .twmrc file - * \param filename the filename to parse. NULL indicates $HOME/.twmrc + * parse the .twmruinedrc file + * \param filename the filename to parse. + * NULL indicates $HOME/.twmruinedrc */ static int doparse (int (*ifunc)(void), const char *srctypename, const char *srcname) @@ -130,8 +131,6 @@ static int doparse (int (*ifunc)(void), &Scr->PointerForeground, &Scr->PointerBackground); XRecolorCursor(dpy, Scr->IconCursor, &Scr->PointerForeground, &Scr->PointerBackground); - XRecolorCursor(dpy, Scr->IconMgrCursor, - &Scr->PointerForeground, &Scr->PointerBackground); XRecolorCursor(dpy, Scr->MoveCursor, &Scr->PointerForeground, &Scr->PointerBackground); XRecolorCursor(dpy, Scr->ResizeCursor, @@ -166,8 +165,9 @@ int ParseTwmrc (char *filename) char tmpfilename[257]; /* - * If filename given, try it, else try ~/.twmrc.# then ~/.twmrc. Then - * try system.twmrc; finally using built-in defaults. + * If filename given, try it, else try ~/.twmruinedrc.# then + * ~/.twmruinedrc. Then try system.twmruinedrc; finally using + * built-in defaults. */ for (twmrc = NULL, i = 0; !twmrc && i < 4; i++) { switch (i) { @@ -175,26 +175,26 @@ int ParseTwmrc (char *filename) cp = filename; break; - case 1: /* ~/.twmrc.screennum */ + case 1: /* ~/.twmruinedrc.screennum */ if (!filename) { home = getenv ("HOME"); if (home) { homelen = strlen (home); cp = tmpfilename; (void) snprintf (tmpfilename, sizeof(tmpfilename), - "%s/.twmrc.%d", home, Scr->screen); + "%s/.twmruinedrc.%d", home, Scr->screen); break; } } continue; - case 2: /* ~/.twmrc */ + case 2: /* ~/.twmruinedrc */ if (home) { - tmpfilename[homelen + 7] = '\0'; + tmpfilename[homelen + 13] = '\0'; } break; - case 3: /* system.twmrc */ + case 3: /* system.twmruinedrc */ cp = SYSTEM_INIT_FILE; break; } @@ -312,11 +312,9 @@ typedef struct _TwmKeyword { #define kw0_NoDefaults 1 #define kw0_AutoRelativeResize 2 #define kw0_ForceIcons 3 -#define kw0_NoIconManagers 4 #define kw0_OpaqueMove 5 #define kw0_InterpolateMenuColors 6 #define kw0_NoVersion 7 -#define kw0_SortIconManager 8 #define kw0_NoGrabServer 9 #define kw0_NoMenuShadows 10 #define kw0_NoRaiseOnMove 11 @@ -330,8 +328,6 @@ typedef struct _TwmKeyword { #define kw0_NoTitleFocus 19 #define kw0_RandomPlacement 20 #define kw0_DecorateTransients 21 -#define kw0_ShowIconManager 22 -#define kw0_NoCaseSensitive 23 #define kw0_NoRaiseOnWarp 24 #define kw0_WarpUnmapped 25 @@ -340,7 +336,6 @@ typedef struct _TwmKeyword { #define kws_ResizeFont 3 #define kws_MenuFont 4 #define kws_TitleFont 5 -#define kws_IconManagerFont 6 #define kws_UnknownIcon 7 #define kws_IconDirectory 8 #define kws_MaxWindowSize 9 @@ -358,7 +353,6 @@ typedef struct _TwmKeyword { #define kwn_MenuBorderWidth 11 #define kwcl_BorderColor 1 -#define kwcl_IconManagerHighlight 2 #define kwcl_BorderTileForeground 3 #define kwcl_BorderTileBackground 4 #define kwcl_TitleForeground 5 @@ -366,8 +360,6 @@ typedef struct _TwmKeyword { #define kwcl_IconForeground 7 #define kwcl_IconBackground 8 #define kwcl_IconBorderColor 9 -#define kwcl_IconManagerForeground 10 -#define kwcl_IconManagerBackground 11 #define kwc_DefaultForeground 1 #define kwc_DefaultBackground 2 @@ -414,7 +406,6 @@ static TwmKeyword keytable[] = { { "east", DKEYWORD, D_EAST }, { "f", FRAME, 0 }, { "f.autoraise", FKEYWORD, F_AUTORAISE }, - { "f.backiconmgr", FKEYWORD, F_BACKICONMGR }, { "f.beep", FKEYWORD, F_BEEP }, { "f.bottomzoom", FKEYWORD, F_BOTTOMZOOM }, { "f.circledown", FKEYWORD, F_CIRCLEDOWN }, @@ -426,29 +417,23 @@ static TwmKeyword keytable[] = { { "f.delete", FKEYWORD, F_DELETE }, { "f.deltastop", FKEYWORD, F_DELTASTOP }, { "f.destroy", FKEYWORD, F_DESTROY }, - { "f.downiconmgr", FKEYWORD, F_DOWNICONMGR }, { "f.exec", FSKEYWORD, F_EXEC }, { "f.file", FSKEYWORD, F_FILE }, { "f.focus", FKEYWORD, F_FOCUS }, { "f.forcemove", FKEYWORD, F_FORCEMOVE }, - { "f.forwiconmgr", FKEYWORD, F_FORWICONMGR }, { "f.fullzoom", FKEYWORD, F_FULLZOOM }, { "f.function", FSKEYWORD, F_FUNCTION }, { "f.hbzoom", FKEYWORD, F_BOTTOMZOOM }, - { "f.hideiconmgr", FKEYWORD, F_HIDELIST }, { "f.horizoom", FKEYWORD, F_HORIZOOM }, { "f.htzoom", FKEYWORD, F_TOPZOOM }, { "f.hzoom", FKEYWORD, F_HORIZOOM }, { "f.iconify", FKEYWORD, F_ICONIFY }, { "f.identify", FKEYWORD, F_IDENTIFY }, - { "f.lefticonmgr", FKEYWORD, F_LEFTICONMGR }, { "f.leftzoom", FKEYWORD, F_LEFTZOOM }, { "f.lower", FKEYWORD, F_LOWER }, { "f.menu", FSKEYWORD, F_MENU }, { "f.move", FKEYWORD, F_MOVE }, - { "f.nexticonmgr", FKEYWORD, F_NEXTICONMGR }, { "f.nop", FKEYWORD, F_NOP }, - { "f.previconmgr", FKEYWORD, F_PREVICONMGR }, { "f.priority", FSKEYWORD, F_PRIORITY }, { "f.quit", FKEYWORD, F_QUIT }, { "f.raise", FKEYWORD, F_RAISE }, @@ -456,18 +441,14 @@ static TwmKeyword keytable[] = { { "f.refresh", FKEYWORD, F_REFRESH }, { "f.resize", FKEYWORD, F_RESIZE }, { "f.restart", FKEYWORD, F_RESTART }, - { "f.righticonmgr", FKEYWORD, F_RIGHTICONMGR }, { "f.rightzoom", FKEYWORD, F_RIGHTZOOM }, { "f.saveyourself", FKEYWORD, F_SAVEYOURSELF }, - { "f.showiconmgr", FKEYWORD, F_SHOWLIST }, - { "f.sorticonmgr", FKEYWORD, F_SORTICONMGR }, { "f.source", FSKEYWORD, F_BEEP }, /* XXX - don't work */ { "f.startwm", FSKEYWORD, F_STARTWM }, { "f.title", FKEYWORD, F_TITLE }, { "f.topzoom", FKEYWORD, F_TOPZOOM }, { "f.twmrc", FKEYWORD, F_RESTART }, { "f.unfocus", FKEYWORD, F_UNFOCUS }, - { "f.upiconmgr", FKEYWORD, F_UPICONMGR }, { "f.version", FKEYWORD, F_VERSION }, { "f.vlzoom", FKEYWORD, F_LEFTZOOM }, { "f.vrzoom", FKEYWORD, F_RIGHTZOOM }, @@ -475,7 +456,6 @@ static TwmKeyword keytable[] = { { "f.warpprev", FKEYWORD, F_WARPPREV }, { "f.warpring", FSKEYWORD, F_WARPRING }, { "f.warpto", FSKEYWORD, F_WARPTO }, - { "f.warptoiconmgr", FSKEYWORD, F_WARPTOICONMGR }, { "f.warptoscreen", FSKEYWORD, F_WARPTOSCREEN }, { "f.winrefresh", FKEYWORD, F_WINREFRESH }, { "f.zoom", FKEYWORD, F_ZOOM }, @@ -494,15 +474,6 @@ static TwmKeyword keytable[] = { { "iconfont", SKEYWORD, kws_IconFont }, { "iconforeground", CLKEYWORD, kwcl_IconForeground }, { "iconifybyunmapping", ICONIFY_BY_UNMAPPING, 0 }, - { "iconmanagerbackground", CLKEYWORD, kwcl_IconManagerBackground }, - { "iconmanagerdontshow", ICONMGR_NOSHOW, 0 }, - { "iconmanagerfont", SKEYWORD, kws_IconManagerFont }, - { "iconmanagerforeground", CLKEYWORD, kwcl_IconManagerForeground }, - { "iconmanagergeometry", ICONMGR_GEOMETRY, 0 }, - { "iconmanagerhighlight", CLKEYWORD, kwcl_IconManagerHighlight }, - { "iconmanagers", ICONMGRS, 0 }, - { "iconmanagershow", ICONMGR_SHOW, 0 }, - { "iconmgr", ICONMGR, 0 }, { "iconregion", ICON_REGION, 0 }, { "icons", ICONS, 0 }, { "interpolatemenucolors", KEYWORD, kw0_InterpolateMenuColors }, @@ -528,11 +499,9 @@ static TwmKeyword keytable[] = { { "move", MOVE, 0 }, { "movedelta", NKEYWORD, kwn_MoveDelta }, { "nobackingstore", KEYWORD, kw0_NoBackingStore }, - { "nocasesensitive", KEYWORD, kw0_NoCaseSensitive }, { "nodefaults", KEYWORD, kw0_NoDefaults }, { "nograbserver", KEYWORD, kw0_NoGrabServer }, { "nohighlight", NO_HILITE, 0 }, - { "noiconmanagers", KEYWORD, kw0_NoIconManagers }, { "nomenushadows", KEYWORD, kw0_NoMenuShadows }, { "noraiseondeiconify", KEYWORD, kw0_NoRaiseOnDeiconify }, { "noraiseonmove", KEYWORD, kw0_NoRaiseOnMove }, @@ -562,8 +531,6 @@ static TwmKeyword keytable[] = { { "savecolor", SAVECOLOR, 0}, { "select", SELECT, 0 }, { "shift", SHIFT, 0 }, - { "showiconmanager", KEYWORD, kw0_ShowIconManager }, - { "sorticonmanager", KEYWORD, kw0_SortIconManager }, { "south", DKEYWORD, D_SOUTH }, { "squeezetitle", SQUEEZE_TITLE, 0 }, { "starticonified", START_ICONIFIED, 0 }, @@ -634,10 +601,6 @@ int do_single_keyword (int keyword) if (Scr->FirstTime) Scr->ForceIcon = TRUE; return 1; - case kw0_NoIconManagers: - Scr->NoIconManagers = TRUE; - return 1; - case kw0_OpaqueMove: Scr->OpaqueMove = TRUE; return 1; @@ -650,10 +613,6 @@ int do_single_keyword (int keyword) /* obsolete */ return 1; - case kw0_SortIconManager: - if (Scr->FirstTime) Scr->SortIconMgr = TRUE; - return 1; - case kw0_NoGrabServer: Scr->NoGrabServer = TRUE; return 1; @@ -706,14 +665,6 @@ int do_single_keyword (int keyword) Scr->DecorateTransients = TRUE; return 1; - case kw0_ShowIconManager: - Scr->ShowIconManager = TRUE; - return 1; - - case kw0_NoCaseSensitive: - Scr->CaseSensitive = FALSE; - return 1; - case kw0_NoRaiseOnWarp: Scr->NoRaiseWarp = TRUE; return 1; @@ -759,10 +710,6 @@ int do_string_keyword (int keyword, char *s) if (!Scr->HaveFonts) Scr->TitleBarFont.name = s; return 1; - case kws_IconManagerFont: - if (!Scr->HaveFonts) Scr->IconManagerFont.name = s; - return 1; - case kws_UnknownIcon: if (Scr->FirstTime) GetUnknownIcon (s); return 1; @@ -851,10 +798,6 @@ name_list **do_colorlist_keyword (int keyword, int colormode, char *s) GetColor (colormode, &Scr->BorderColor, s); return &Scr->BorderColorL; - case kwcl_IconManagerHighlight: - GetColor (colormode, &Scr->IconManagerHighlight, s); - return &Scr->IconManagerHighlightL; - case kwcl_BorderTileForeground: GetColor (colormode, &Scr->BorderTileC.fore, s); return &Scr->BorderTileForegroundL; @@ -882,14 +825,6 @@ name_list **do_colorlist_keyword (int keyword, int colormode, char *s) case kwcl_IconBorderColor: GetColor (colormode, &Scr->IconBorderColor, s); return &Scr->IconBorderColorL; - - case kwcl_IconManagerForeground: - GetColor (colormode, &Scr->IconManagerC.fore, s); - return &Scr->IconManagerFL; - - case kwcl_IconManagerBackground: - GetColor (colormode, &Scr->IconManagerC.back, s); - return &Scr->IconManagerBL; } return NULL; } @@ -1003,7 +938,7 @@ do_var_savecolor(int key) } /** - * traverse the var save color list placeing the pixels + * traverse the var save color list placing the pixels * in the root window property. */ void @@ -1015,9 +950,6 @@ assign_var_savecolor(void) case kwcl_BorderColor: put_pixel_on_root(Scr->BorderColor); break; - case kwcl_IconManagerHighlight: - put_pixel_on_root(Scr->IconManagerHighlight); - break; case kwcl_BorderTileForeground: put_pixel_on_root(Scr->BorderTileC.fore); break; @@ -1039,12 +971,6 @@ assign_var_savecolor(void) case kwcl_IconBorderColor: put_pixel_on_root(Scr->IconBorderColor); break; - case kwcl_IconManagerForeground: - put_pixel_on_root(Scr->IconManagerC.fore); - break; - case kwcl_IconManagerBackground: - put_pixel_on_root(Scr->IconManagerC.back); - break; } cp = cp->next; } diff --git a/src/parse.h b/src/parse.h index e461e19..2f4c6c8 100644 --- a/src/parse.h +++ b/src/parse.h @@ -117,15 +117,6 @@ extern int mods; #define F_SAVEYOURSELF 29 #define F_VERSION 30 #define F_TITLE 31 -#define F_RIGHTICONMGR 32 -#define F_LEFTICONMGR 33 -#define F_UPICONMGR 34 -#define F_DOWNICONMGR 35 -#define F_FORWICONMGR 36 -#define F_BACKICONMGR 37 -#define F_NEXTICONMGR 38 -#define F_PREVICONMGR 39 -#define F_SORTICONMGR 40 #define F_CIRCLEUP 41 #define F_CIRCLEDOWN 42 #define F_CUTFILE 43 @@ -136,7 +127,6 @@ extern int mods; #define F_WARPNEXT 112 /* string */ #define F_WARPPREV 113 /* string */ #define F_WARPTO 102 /* string */ -#define F_WARPTOICONMGR 103 /* string */ #define F_WARPRING 104 /* string */ #define F_FILE 105 /* string */ #define F_EXEC 106 /* string */ diff --git a/src/resize.c b/src/resize.c index 7cb4aa6..689409b 100644 --- a/src/resize.c +++ b/src/resize.c @@ -63,7 +63,6 @@ in this Software without prior written authorization from The Open Group. #include "parse.h" #include "util.h" #include "resize.h" -#include "iconmgr.h" #include "add_window.h" #include "screen.h" #include "events.h" @@ -220,7 +219,7 @@ MenuStartResize(TwmWindow *tmp_win, int x, int y, int w, int h) } /** - * begin a windorew resize operation from AddWindow + * begin a window resize operation from AddWindow * \param tmp_win the TwmWindow pointer */ void @@ -547,17 +546,6 @@ EndResize(void) SetupWindow (tmp_win, dragx - tmp_win->frame_bw, dragy - tmp_win->frame_bw, dragWidth, dragHeight, -1); - if (tmp_win->iconmgr) - { - int ncols = tmp_win->iconmgrp->cur_columns; - if (ncols == 0) ncols = 1; - - tmp_win->iconmgrp->width = (int) ((dragWidth * - (long) tmp_win->iconmgrp->columns) - / ncols); - PackIconManager(tmp_win->iconmgrp); - } - if (!Scr->NoRaiseResize) XRaiseWindow(dpy, tmp_win->frame); @@ -777,11 +765,6 @@ void SetupFrame (TwmWindow *tmp_win, int x, int y, int w, int h, int bw, Bool se if (bw < 0) bw = tmp_win->frame_bw; /* -1 means current frame width */ - if (tmp_win->iconmgr) { - tmp_win->iconmgrp->width = w; - h = tmp_win->iconmgrp->height + tmp_win->title_height; - } - /* * According to the July 27, 1988 ICCCM draft, we should send a * "synthetic" ConfigureNotify event to the client if the window diff --git a/src/screen.h b/src/screen.h index 644ca43..38bf9b5 100644 --- a/src/screen.h +++ b/src/screen.h @@ -39,7 +39,6 @@ in this Software without prior written authorization from The Open Group. #include #include "list.h" #include "menus.h" -#include "iconmgr.h" typedef struct _StdCmap { struct _StdCmap *next; /* next link in chain */ @@ -90,7 +89,7 @@ typedef struct ScreenInfo MenuRoot *Windows; /* the TwmWindows menu */ TwmWindow *Ring; /* one of the windows in window ring */ - TwmWindow *RingLeader; /* current winodw in ring */ + TwmWindow *RingLeader; /* current window in ring */ MouseButton Mouse[MAX_BUTTONS+1][NUM_CONTEXTS][MOD_SIZE]; MouseButton DefaultFunction; @@ -128,7 +127,6 @@ typedef struct ScreenInfo ColorPair MenuC; /* menu colors */ ColorPair MenuTitleC; /* menu title colors */ ColorPair IconC; /* icon colors */ - ColorPair IconManagerC; /* icon manager colors */ XColor PointerForeground; /* pointer foreground color */ XColor PointerBackground; /* pointer background color */ ColorPair DefaultC; /* default colors */ @@ -136,12 +134,10 @@ typedef struct ScreenInfo Pixel MenuShadowColor; /* menu shadow color */ Pixel MenuBorderColor; /* menu border color */ Pixel IconBorderColor; /* icon border color */ - Pixel IconManagerHighlight; /* icon manager highlight */ Cursor TitleCursor; /* title bar cursor */ Cursor FrameCursor; /* frame cursor */ Cursor IconCursor; /* icon cursor */ - Cursor IconMgrCursor; /* icon manager cursor */ Cursor ButtonCursor; /* title bar button cursor */ Cursor MoveCursor; /* move cursor */ Cursor ResizeCursor; /* resize cursor */ @@ -158,9 +154,6 @@ typedef struct ScreenInfo name_list *TitleBackgroundL; name_list *IconForegroundL; name_list *IconBackgroundL; - name_list *IconManagerFL; - name_list *IconManagerBL; - name_list *IconMgrs; name_list *NoTitle; /* list of window names with no title bar */ name_list *MakeTitle; /* list of window names with title bar */ name_list *AutoRaise; /* list of window names to auto-raise */ @@ -169,11 +162,8 @@ typedef struct ScreenInfo name_list *NoStackModeL; /* windows to ignore stack mode requests */ name_list *NoTitleHighlight;/* list of windows to not highlight the TB*/ name_list *DontIconify; /* don't iconify by unmapping */ - name_list *IconMgrNoShow; /* don't show in the icon manager */ - name_list *IconMgrShow; /* show in the icon manager */ name_list *IconifyByUn; /* windows to iconify by unmapping */ name_list *StartIconified; /* windows to start iconic */ - name_list *IconManagerHighlightL; /* icon manager highlight colors */ name_list *SqueezeTitleL; /* windows of which to squeeze title */ name_list *DontSqueezeTitleL; /* windows of which not to squeeze */ name_list *WindowRingL; /* windows in ring */ @@ -190,9 +180,7 @@ typedef struct ScreenInfo MyFont MenuFont; /* menu font structure */ MyFont IconFont; /* icon font structure */ MyFont SizeFont; /* resize font structure */ - MyFont IconManagerFont; /* window list font structure */ MyFont DefaultFont; - IconMgr iconmgr; /* default icon manager */ struct IconRegion *FirstRegion; /* pointer to icon regions */ struct IconRegion *LastRegion; /* pointer to the last icon region */ const char *IconDirectory; /* icon directory to search */ @@ -227,8 +215,6 @@ typedef struct ScreenInfo short NoTitlebar; /* put title bars on windows */ short DecorateTransients; /* put title bars on transients */ short IconifyByUnmapping; /* simply unmap windows when iconifying */ - short ShowIconManager; /* display the window list */ - short IconManagerDontShow; /* show nothing in the icon manager */ short BackingStore; /* use backing store for menus */ short SaveUnder; /* use save under's for menus */ short RandomPlacement; /* randomly place windows that no give hints */ @@ -238,10 +224,8 @@ typedef struct ScreenInfo short TitleHighlight; /* should we highlight the titlebar */ short MoveDelta; /* number of pixels before f.move starts */ short ZoomCount; /* zoom outline count */ - short SortIconMgr; /* sort entries in the icon manager */ short Shadow; /* show the menu shadow */ short InterpolateMenuColors;/* make pretty menus */ - short NoIconManagers; /* Don't create any icon managers */ short ClientBorderWidth; /* respect client window border width */ short SqueezeTitle; /* make title as small as possible */ short HaveFonts; /* set if fonts have been loaded */ diff --git a/src/system.twmruinedrc b/src/system.twmruinedrc index 720e038..068c1e7 100644 --- a/src/system.twmruinedrc +++ b/src/system.twmruinedrc @@ -15,7 +15,6 @@ TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*" IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*" -IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*" #ClientBorderWidth Color @@ -33,8 +32,6 @@ Color IconBackground "rgb:2/a/9" IconForeground "gray85" IconBorderColor "gray85" - IconManagerBackground "rgb:2/a/9" - IconManagerForeground "gray85" } # @@ -60,9 +57,6 @@ Button2 = : title : f.raiselower Button1 = : icon : f.function "move-or-iconify" Button2 = : icon : f.iconify -Button1 = : iconmgr : f.iconify -Button2 = : iconmgr : f.iconify - # # And a menus with the usual things # @@ -77,8 +71,6 @@ menu "defops" "" f.nop "Focus" f.focus "Unfocus" f.unfocus -"Show Iconmgr" f.showiconmgr -"Hide Iconmgr" f.hideiconmgr "" f.nop "Xterm" f.exec "exec xterm &" "" f.nop diff --git a/src/twm.c b/src/twm.c index 86e8781..4c0f4a5 100644 --- a/src/twm.c +++ b/src/twm.c @@ -64,7 +64,6 @@ in this Software without prior written authorization from The Open Group. #include #include #include "twm.h" -#include "iconmgr.h" #include "add_window.h" #include "gc.h" #include "parse.h" @@ -121,7 +120,6 @@ Cursor LeftButt; XContext TwmContext; /* context for twm windows */ XContext MenuContext; /* context for all menu windows */ -XContext IconManagerContext; /* context for all window list windows */ XContext ScreenContext; /* context to get screen data */ XContext ColormapContext; /* context for colormap operations */ @@ -351,7 +349,6 @@ main(int argc, char *argv[]) HasSync = XSyncQueryExtension(dpy, &SyncEventBase, &SyncErrorBase); TwmContext = XUniqueContext(); MenuContext = XUniqueContext(); - IconManagerContext = XUniqueContext(); ScreenContext = XUniqueContext(); ColormapContext = XUniqueContext(); @@ -451,12 +448,7 @@ main(int argc, char *argv[]) Scr->NoStackModeL = NULL; Scr->NoTitleHighlight = NULL; Scr->DontIconify = NULL; - Scr->IconMgrNoShow = NULL; - Scr->IconMgrShow = NULL; Scr->IconifyByUn = NULL; - Scr->IconManagerFL = NULL; - Scr->IconManagerBL = NULL; - Scr->IconMgrs = NULL; Scr->StartIconified = NULL; Scr->SqueezeTitleL = NULL; Scr->DontSqueezeTitleL = NULL; @@ -528,22 +520,6 @@ main(int argc, char *argv[]) NewFontCursor(&MiddleButt, "middlebutton"); } - Scr->iconmgr.x = 0; - Scr->iconmgr.y = 0; - Scr->iconmgr.width = 150; - Scr->iconmgr.height = 5; - Scr->iconmgr.next = NULL; - Scr->iconmgr.prev = NULL; - Scr->iconmgr.lasti = &(Scr->iconmgr); - Scr->iconmgr.first = NULL; - Scr->iconmgr.last = NULL; - Scr->iconmgr.active = NULL; - Scr->iconmgr.scr = Scr; - Scr->iconmgr.columns = 1; - Scr->iconmgr.count = 0; - Scr->iconmgr.name = "TWM"; - Scr->iconmgr.icon_name = "Icons"; - Scr->IconDirectory = NULL; Scr->siconifyPm = None; @@ -580,9 +556,6 @@ main(int argc, char *argv[]) JunkY = 0; XQueryTree(dpy, Scr->Root, &root, &parent, &children, &nchildren); - CreateIconManagers(); - if (!Scr->NoIconManagers) - Scr->iconmgr.twm_win->icon = TRUE; /* * weed out icon windows @@ -617,18 +590,6 @@ main(int argc, char *argv[]) } } - if (Scr->ShowIconManager && !Scr->NoIconManagers) - { - Scr->iconmgr.twm_win->icon = FALSE; - if (Scr->iconmgr.count) - { - SetMapStateProp (Scr->iconmgr.twm_win, NormalState); - XMapWindow(dpy, Scr->iconmgr.w); - XMapWindow(dpy, Scr->iconmgr.twm_win->frame); - } - } - - attributes.border_pixel = Scr->DefaultC.fore; attributes.background_pixel = Scr->DefaultC.back; attributes.event_mask = (ExposureMask | ButtonPressMask | @@ -693,9 +654,6 @@ InitVariables(void) FreeList(&Scr->TitleBackgroundL); FreeList(&Scr->IconForegroundL); FreeList(&Scr->IconBackgroundL); - FreeList(&Scr->IconManagerFL); - FreeList(&Scr->IconManagerBL); - FreeList(&Scr->IconMgrs); FreeList(&Scr->NoTitle); FreeList(&Scr->MakeTitle); FreeList(&Scr->AutoRaise); @@ -704,11 +662,8 @@ InitVariables(void) FreeList(&Scr->NoStackModeL); FreeList(&Scr->NoTitleHighlight); FreeList(&Scr->DontIconify); - FreeList(&Scr->IconMgrNoShow); - FreeList(&Scr->IconMgrShow); FreeList(&Scr->IconifyByUn); FreeList(&Scr->StartIconified); - FreeList(&Scr->IconManagerHighlightL); FreeList(&Scr->SqueezeTitleL); FreeList(&Scr->DontSqueezeTitleL); FreeList(&Scr->WindowRingL); @@ -717,7 +672,6 @@ InitVariables(void) NewFontCursor(&Scr->FrameCursor, "top_left_arrow"); NewFontCursor(&Scr->TitleCursor, "top_left_arrow"); NewFontCursor(&Scr->IconCursor, "top_left_arrow"); - NewFontCursor(&Scr->IconMgrCursor, "top_left_arrow"); NewFontCursor(&Scr->MoveCursor, "fleur"); NewFontCursor(&Scr->ResizeCursor, "fleur"); NewFontCursor(&Scr->MenuCursor, "sb_left_arrow"); @@ -751,9 +705,6 @@ InitVariables(void) Scr->PointerBackground.pixel = white; XQueryColor(dpy, Scr->TwmRoot.cmaps.cwins[0]->colormap->c, &Scr->PointerBackground); - Scr->IconManagerC.fore = black; - Scr->IconManagerC.back = white; - Scr->IconManagerHighlight = black; Scr->FramePadding = 2; /* values that look "nice" on */ Scr->TitlePadding = 8; /* 75 and 100dpi displays */ @@ -782,8 +733,6 @@ InitVariables(void) Scr->NoTitlebar = FALSE; Scr->DecorateTransients = FALSE; Scr->IconifyByUnmapping = FALSE; - Scr->ShowIconManager = FALSE; - Scr->IconManagerDontShow =FALSE; Scr->BackingStore = TRUE; Scr->SaveUnder = TRUE; Scr->RandomPlacement = FALSE; @@ -793,10 +742,8 @@ InitVariables(void) Scr->TitleHighlight = TRUE; Scr->MoveDelta = 1; /* so that f.deltastop will work */ Scr->ZoomCount = 8; - Scr->SortIconMgr = FALSE; Scr->Shadow = TRUE; Scr->InterpolateMenuColors = FALSE; - Scr->NoIconManagers = FALSE; Scr->ClientBorderWidth = FALSE; Scr->SqueezeTitle = -1; Scr->FirstRegion = NULL; @@ -822,9 +769,6 @@ InitVariables(void) Scr->SizeFont.font = NULL; Scr->SizeFont.fontset = NULL; Scr->SizeFont.name = DEFAULT_FAST_FONT; - Scr->IconManagerFont.font = NULL; - Scr->IconManagerFont.fontset = NULL; - Scr->IconManagerFont.name = DEFAULT_NICE_FONT; Scr->DefaultFont.font = NULL; Scr->DefaultFont.fontset = NULL; Scr->DefaultFont.name = DEFAULT_FAST_FONT; @@ -838,7 +782,6 @@ CreateFonts (void) GetFont(&Scr->MenuFont); GetFont(&Scr->IconFont); GetFont(&Scr->SizeFont); - GetFont(&Scr->IconManagerFont); GetFont(&Scr->DefaultFont); Scr->HaveFonts = TRUE; } diff --git a/src/twm.h b/src/twm.h index 8fe2555..ff27316 100644 --- a/src/twm.h +++ b/src/twm.h @@ -105,21 +105,19 @@ typedef void (*SigProc)(int); /* type of function returned by signal() */ #define C_ICON 2 #define C_ROOT 3 #define C_FRAME 4 -#define C_ICONMGR 5 -#define C_NAME 6 -#define C_IDENTIFY 7 -#define NUM_CONTEXTS 8 +#define C_NAME 5 +#define C_IDENTIFY 6 +#define NUM_CONTEXTS 7 #define C_WINDOW_BIT (1 << C_WINDOW) #define C_TITLE_BIT (1 << C_TITLE) #define C_ICON_BIT (1 << C_ICON) #define C_ROOT_BIT (1 << C_ROOT) #define C_FRAME_BIT (1 << C_FRAME) -#define C_ICONMGR_BIT (1 << C_ICONMGR) #define C_NAME_BIT (1 << C_NAME) #define C_ALL_BITS (C_WINDOW_BIT | C_TITLE_BIT | C_ICON_BIT |\ - C_ROOT_BIT | C_FRAME_BIT | C_ICONMGR_BIT) + C_ROOT_BIT | C_FRAME_BIT) /* modifiers for button presses */ #define MOD_SIZE ((ShiftMask | ControlMask | Mod1Mask \ @@ -256,7 +254,6 @@ typedef struct TwmWindow XWMHints *wmhints; /* WM hints */ Window group; /* group ID */ XClassHint class; - struct WList *list; /*********************************************************************** * color definitions per window **********************************************************************/ @@ -276,11 +273,9 @@ typedef struct TwmWindow short highlight; /* should highlight this window */ short stackmode; /* honor stackmode requests */ short iconify_by_unmapping; /* unmap window to iconify it */ - short iconmgr; /* this is an icon manager window */ short transient; /* this is a transient window */ Window transientfor; /* window contained in XA_XM_TRANSIENT_FOR */ short titlehighlight; /* should I highlight the title bar */ - struct IconMgr *iconmgrp; /* pointer to it if this is an icon manager */ int save_frame_x; /* x position of frame */ int save_frame_y; /* y position of frame */ int save_frame_width; /* width of frame */ @@ -366,7 +361,6 @@ extern XClassHint NoClass; extern XContext TwmContext; extern XContext MenuContext; -extern XContext IconManagerContext; extern XContext ScreenContext; extern XContext ColormapContext;