Add necessary include statements to all files. Clean up function declarations in reference.c. Start adding type declarations where necessary.

This commit is contained in:
Mid Favila 2021-11-08 12:42:20 -03:00
parent bdc3ad778d
commit 14c6aee630
39 changed files with 77071 additions and 243 deletions

1
.#CHANGES Symbolic link
View File

@ -0,0 +1 @@
midfavila@commandante.39618

1
.#libwool.h Symbolic link
View File

@ -0,0 +1 @@
midfavila@commandante.39618

View File

@ -21,6 +21,9 @@
computer programming), but I'll absolutely try my
best.
FILE TREE LAYOUT
- added "libwool.h" and began moving utility functions into it
1.8d (99/08/??) varius additions and fixes
COMPATIBLE ENHANCEMENTS:

2657
COMPILE_ERRORS Normal file

File diff suppressed because it is too large Load Diff

190
README
View File

@ -1,190 +0,0 @@
______ ____ __ _
/ ___\ \ / / \/ | _ __ ___ __ _ __| |_ __ ___ ___
| | _ \ \ /\ / /| |\/| | | '__/ _ \/ _` |/ _` | '_ ` _ \ / _ \
| |_| | \ V V / | | | | | | | __/ (_| | (_| | | | | | | __/
\____| \_/\_/ |_| |_| |_| \___|\__,_|\__,_|_| |_| |_|\___|
* What is GWM?
* What is new in this version?
* Where is GWM? Current version: 1.8, June 30 1995
* A warning GWM by default sends me a message on startup
For all inquiries, contact:
gwm@sophia.inria.fr (or see W3 page: http://www.inria.fr/koala/gwm)
-------------------------------------------------------------------------------
What is GWM?
============
The GWM (Generic Window Manager) is an extensible Window Manager for the X
Window System Version 11. It is based upon a WOOL (Window Object Oriented
Langage) kernel, which is an interpreted dialect of Lisp with specific window
management primitives. The user builds a window manager by writing WOOL files
to describe objects on the screen, including a Finite State Machine triggering
WOOL actions on response to X events (e.g. mouse buttons) on that object. These
objects can be used as decorations around X applications windows, as pop-up
menus or as independent windows. GWM should be able to emulate efficiently
other window managers, and play the same role for window managers as EMACS does
for text editors.
GWM comes with already defined profiles (standard, vtwm-like, twm-like,
mwm-like). Some screenshots are avialable on the W3 page. Or you can design
exactly what you want.
Copyright
---------
Freeware, with sources. GWM is Copyrighted by Bull, but bears the same
licensing conditions as the X distribution, i.e. you are free to do anything
with it, but Bull offers no guarantee nor support.
Author
------
GWM has been designed and realized by Colas Nahaboo, in the Koala Project with
the invaluable help of the community of GWM users all over the world on the
internet since 1989.
History
-------
Our Koala project was one of the first to base its experiments on the new X11
window system. One of our ambitions was to continue the research work of the
ROOMS team at Xerox, who designed this revolutionary window managing system
back in 1986 but on proprietary systems. We planned to realize a research
prototype flexible enough to prototype easily new ideas, but at the same time
always validate our ideas by making real users use our prototype in everyday
use to gain relevant feedback, so the system could be run on low-end
workstations currently in use, e.g. 68020s with 4M ram total.
I decided to go the emacs way, but with a lisp dialect that would be much more
efficient in machine ressource use. So I designed WOOL, a very special kind of
lisp dialect in January 1988. After a first rewrite, GWM was running better
than we could expected so we make it publicly available in July 1989.
GWM was a success, but was overwhelmed by its maintenance and support due to
the feedback brought back by the internet community, so that in the following
years I did not have time to put actual research work on the original goal, the
profiles on top of the kernel. Then I became too busy to maintain it so I kept
a low profile so as not to attract new user and keep a small base of faithful
users. I wanted to change a lot of things but did not want as it would have
induced incompatibilties for my users. So I waited for GWM to die slowly and
some other new Window Manager to come and replace it.
Present state
-------------
But, 6 years after, I still use GWM. Why? because it stills offers the best
environment a hacker can dream of among the available WMs. So I decided to
clean the distribition, integrate all the patches sent to me by contributors,
and issue the 1.8 release (30 June 1995) to offer a stable useful base for all
hackers to use while I could begin writing a new incompatible incarnation with
all insight gained by these years. GWM now can now do a suprising amount of
things, at the expense of a quite involved hacking part from profile writers.
So gwm 1.8 can be seen as the "final edition" of gwm.
What is GWM for?
----------------
Although GWM can be used by normal users, hackers will feel much more at ease
with it. If you do not want to edit your emacs profiles, chances are that GWM
is not for you.
On what machines does GWM run?
------------------------------
All unixes.
-------------------------------------------------------------------------------
What is new in this version?
============================
This version (1.8) has three important new features, thanks to the main
contribution of Anders Holst aho@nada.kth.se:
* recursive bars. now GWM decorations are quite flexible.
* shaped elements anywhere. weird shapes are now possible.
* bug fixes. all known bugs or memory leaks have been fixed.
You can see the list of changes in detail.
What about the next version?
----------------------------
The last version (1.7o) was issued 18 months ago (sept. 1993), and this 1.8
version should be the last one as far as the C code is concerned (except bug
fixes or patches to work around some buggy applications). It is very likely
that I will make a new version of gwm, but it will be incompatible with the
current gwm , so I will likely call it by another name, but dont hold your
breath! The lisp part is ready, however (see /pub/Klone on ftp at
koala.inria.fr, but I need to re-design the C part and the base profiles, in my
spare time...
Support
-------
GWM is not what I am paid for. It serves me a lot to test my ideas, and I want
to help people to use it, but most of the time I will be too busy to answer
beginner questions, so try to post questions about its use on the news or
mailing list instead of mailing only to me. Moreover, as I use only the
standard profile, I am of very little help on questions specific to the other
profiles (mwm, twm, vtwm...)
-------------------------------------------------------------------------------
Where is GWM?
=============
GWM is available by FTP on the X consortium ftp site, ftp.x.org, in
/contrib/window_managers/gwm and all its mirrors, or on the koala project ftp
site, koala.inria.fr, in /pub/gwm, where pre-compiled executables are also
stored for some architectures.
Mailing list
------------
Discussions on GWM happen on the GWM mailing list, gwm-talk@sophia.inria.fr.
You can subscribe/unsubscribe by mailing to:
gwm@sophia.inria.fr
And on the koala.inria.fr ftp site you can browse:
* The list of mailing list members
* The archive of past mails
* General info on this list
Newsgroups
----------
Best places to ask questions are comp.windows.x.apps and comp.windows.x. Please
try to put the uppercase "GWM" in the subject of the post to allow easy
spotting by other users among the numerous messages there.
-------------------------------------------------------------------------------
************************************ WARNING *********************************
A warning
When gwm starts (and after that once a day) GWM by default sends me an UDP
packet transparently for me to have a rough idea of gwm use in the world. By
default the only value inside the packet is the hostname of the machine, and I
will keep these data private, but you can of course supress this feature if
you want. Just (re)compile with the compilation flag -DNO_GWM_LOG, or for 1.8a
or later you can also set the shell environments NO_GWM_LOG or NO_KOALA_SPY to
disable this feature without recompilation.
******************************************************************************
-------------------------------------------------------------------------------
Colas Nahaboo, Koala, BULL @ INRIA Sophia, http://www.inria.fr/koala/colas
colas@sophia.inria.fr
33 (FRANCE) 93.65.77.70 (VOICE PHONE)
Colas Nahaboo (SURFACE MAIL)
INRIA
B.P. 93
06902 Sophia Antipolis cedex
FRANCE

193
README.md
View File

@ -1,5 +1,190 @@
# Generic_Window_Manager
______ ____ __ _
/ ___\ \ / / \/ | _ __ ___ __ _ __| |_ __ ___ ___
| | _ \ \ /\ / /| |\/| | | '__/ _ \/ _` |/ _` | '_ ` _ \ / _ \
| |_| | \ V V / | | | | | | | __/ (_| | (_| | | | | | | __/
\____| \_/\_/ |_| |_| |_| \___|\__,_|\__,_|_| |_| |_|\___|
The Generic Window Manager - a classic, revitalized.
Lightweight, written primarily in C, it takes a similar approach to EMACS - a custom Lisp kernel that exposes all low-level events to the end user.
* What is GWM?
* What is new in this version?
* Where is GWM? Current version: 1.8, June 30 1995
* A warning GWM by default sends me a message on startup
For all inquiries, contact:
gwm@sophia.inria.fr (or see W3 page: http://www.inria.fr/koala/gwm)
-------------------------------------------------------------------------------
What is GWM?
============
The GWM (Generic Window Manager) is an extensible Window Manager for the X
Window System Version 11. It is based upon a WOOL (Window Object Oriented
Langage) kernel, which is an interpreted dialect of Lisp with specific window
management primitives. The user builds a window manager by writing WOOL files
to describe objects on the screen, including a Finite State Machine triggering
WOOL actions on response to X events (e.g. mouse buttons) on that object. These
objects can be used as decorations around X applications windows, as pop-up
menus or as independent windows. GWM should be able to emulate efficiently
other window managers, and play the same role for window managers as EMACS does
for text editors.
GWM comes with already defined profiles (standard, vtwm-like, twm-like,
mwm-like). Some screenshots are avialable on the W3 page. Or you can design
exactly what you want.
Copyright
---------
Freeware, with sources. GWM is Copyrighted by Bull, but bears the same
licensing conditions as the X distribution, i.e. you are free to do anything
with it, but Bull offers no guarantee nor support.
Author
------
GWM has been designed and realized by Colas Nahaboo, in the Koala Project with
the invaluable help of the community of GWM users all over the world on the
internet since 1989.
History
-------
Our Koala project was one of the first to base its experiments on the new X11
window system. One of our ambitions was to continue the research work of the
ROOMS team at Xerox, who designed this revolutionary window managing system
back in 1986 but on proprietary systems. We planned to realize a research
prototype flexible enough to prototype easily new ideas, but at the same time
always validate our ideas by making real users use our prototype in everyday
use to gain relevant feedback, so the system could be run on low-end
workstations currently in use, e.g. 68020s with 4M ram total.
I decided to go the emacs way, but with a lisp dialect that would be much more
efficient in machine ressource use. So I designed WOOL, a very special kind of
lisp dialect in January 1988. After a first rewrite, GWM was running better
than we could expected so we make it publicly available in July 1989.
GWM was a success, but was overwhelmed by its maintenance and support due to
the feedback brought back by the internet community, so that in the following
years I did not have time to put actual research work on the original goal, the
profiles on top of the kernel. Then I became too busy to maintain it so I kept
a low profile so as not to attract new user and keep a small base of faithful
users. I wanted to change a lot of things but did not want as it would have
induced incompatibilties for my users. So I waited for GWM to die slowly and
some other new Window Manager to come and replace it.
Present state
-------------
But, 6 years after, I still use GWM. Why? because it stills offers the best
environment a hacker can dream of among the available WMs. So I decided to
clean the distribition, integrate all the patches sent to me by contributors,
and issue the 1.8 release (30 June 1995) to offer a stable useful base for all
hackers to use while I could begin writing a new incompatible incarnation with
all insight gained by these years. GWM now can now do a suprising amount of
things, at the expense of a quite involved hacking part from profile writers.
So gwm 1.8 can be seen as the "final edition" of gwm.
What is GWM for?
----------------
Although GWM can be used by normal users, hackers will feel much more at ease
with it. If you do not want to edit your emacs profiles, chances are that GWM
is not for you.
On what machines does GWM run?
------------------------------
All unixes.
-------------------------------------------------------------------------------
What is new in this version?
============================
This version (1.8) has three important new features, thanks to the main
contribution of Anders Holst aho@nada.kth.se:
* recursive bars. now GWM decorations are quite flexible.
* shaped elements anywhere. weird shapes are now possible.
* bug fixes. all known bugs or memory leaks have been fixed.
You can see the list of changes in detail.
What about the next version?
----------------------------
The last version (1.7o) was issued 18 months ago (sept. 1993), and this 1.8
version should be the last one as far as the C code is concerned (except bug
fixes or patches to work around some buggy applications). It is very likely
that I will make a new version of gwm, but it will be incompatible with the
current gwm , so I will likely call it by another name, but dont hold your
breath! The lisp part is ready, however (see /pub/Klone on ftp at
koala.inria.fr, but I need to re-design the C part and the base profiles, in my
spare time...
Support
-------
GWM is not what I am paid for. It serves me a lot to test my ideas, and I want
to help people to use it, but most of the time I will be too busy to answer
beginner questions, so try to post questions about its use on the news or
mailing list instead of mailing only to me. Moreover, as I use only the
standard profile, I am of very little help on questions specific to the other
profiles (mwm, twm, vtwm...)
-------------------------------------------------------------------------------
Where is GWM?
=============
GWM is available by FTP on the X consortium ftp site, ftp.x.org, in
/contrib/window_managers/gwm and all its mirrors, or on the koala project ftp
site, koala.inria.fr, in /pub/gwm, where pre-compiled executables are also
stored for some architectures.
Mailing list
------------
Discussions on GWM happen on the GWM mailing list, gwm-talk@sophia.inria.fr.
You can subscribe/unsubscribe by mailing to:
gwm@sophia.inria.fr
And on the koala.inria.fr ftp site you can browse:
* The list of mailing list members
* The archive of past mails
* General info on this list
Newsgroups
----------
Best places to ask questions are comp.windows.x.apps and comp.windows.x. Please
try to put the uppercase "GWM" in the subject of the post to allow easy
spotting by other users among the numerous messages there.
-------------------------------------------------------------------------------
************************************ WARNING *********************************
A warning
When gwm starts (and after that once a day) GWM by default sends me an UDP
packet transparently for me to have a rough idea of gwm use in the world. By
default the only value inside the packet is the hostname of the machine, and I
will keep these data private, but you can of course supress this feature if
you want. Just (re)compile with the compilation flag -DNO_GWM_LOG, or for 1.8a
or later you can also set the shell environments NO_GWM_LOG or NO_KOALA_SPY to
disable this feature without recompilation.
******************************************************************************
-------------------------------------------------------------------------------
Colas Nahaboo, Koala, BULL @ INRIA Sophia, http://www.inria.fr/koala/colas
colas@sophia.inria.fr
33 (FRANCE) 93.65.77.70 (VOICE PHONE)
Colas Nahaboo (SURFACE MAIL)
INRIA
B.P. 93
06902 Sophia Antipolis cedex
FRANCE

2
bar.c
View File

@ -31,7 +31,7 @@ extern BarEventHandler(), BarClose(), UpdateBarGeometry(), ReconfigureBar();
#ifdef SHAPE /* compile with -I/usr/include/X11 AND
-I/usr/include/X11/extensions to work on
machines having shapes.h in either place */
#include <shape.h>
#include <X11/extensions/shape.h>
extern BarIsShaped(), UpdateBarShape();
#define TileIsShaped(tile) \
(tile && (tile)->type == WLPixmap) && ((WOOL_Pixmap) (tile)) -> mask

View File

@ -11,6 +11,7 @@
/* includes */
#include <stdio.h>
#include <string.h>
#include "EXTERN.h"
#include "wool.h"
#include "wl_atom.h"
@ -24,10 +25,8 @@
#include "wl_pixmap.h"
#include "wl_cursor.h"
#include "wl_client.h"
#ifdef SHAPE /* compile with -I/usr/include/X11 AND
-I/usr/include/X11/extensions to work on
machines having shapes.h in either place */
#include <shape.h>
#ifdef SHAPE
#include <X11/extensions/shape.h>
extern WindowIsShaped();
#endif /* SHAPE */

20
doc/contents.aux Normal file
View File

@ -0,0 +1,20 @@
\relax
\@setckpt{contents}{
\setcounter{page}{6}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}

10
doc/gwm.aux Normal file
View File

@ -0,0 +1,10 @@
\relax
\@input{title.aux}
\@input{contents.aux}
\@input{usage.aux}
\@input{overview.aux}
\@input{standard.aux}
\@input{wool_ref.aux}
\@input{quick_ref.aux}
\@input{index.aux}
\gdef \@abspage@last{120}

BIN
doc/gwm.dvi Normal file

Binary file not shown.

730
doc/gwm.log Normal file
View File

@ -0,0 +1,730 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021) (preloaded format=latex 2021.10.16) 8 NOV 2021 12:19
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**gwm.tex
(./gwm.tex
LaTeX2e <2021-06-01> patch level 1
L3 programming layer <2021-10-12>
(/usr/local/texlive/2021/texmf-dist/tex/latex/base/latex209.def
File: latex209.def 2020/11/26 v0.55 Standard LaTeX file
Entering LaTeX 2.09 COMPATIBILITY MODE
*************************************************************
!!WARNING!! !!WARNING!! !!WARNING!! !!WARNING!!
This mode attempts to provide an emulation of the LaTeX 2.09
author environment so that OLD documents can be successfully
processed. It should NOT be used for NEW documents!
New documents should use Standard LaTeX conventions and start
with the \documentclass command.
Compatibility mode is UNLIKELY TO WORK with LaTeX 2.09 style
files that change any internal macros, especially not with
those that change the FONT SELECTION or OUTPUT ROUTINES.
Therefore such style files MUST BE UPDATED to use
Current Standard LaTeX: LaTeX2e.
If you suspect that you may be using such a style file, which
is probably very, very old by now, then you should attempt to
get it updated by sending a copy of this error message to the
author of that file.
*************************************************************
\footheight=\dimen138
\@maxsep=\dimen139
\@dblmaxsep=\dimen140
\@cla=\count182
\@clb=\count183
\mscount=\count184
(/usr/local/texlive/2021/texmf-dist/tex/latex/base/tracefnt.sty
Package: tracefnt 2020/12/22 v3.0n Standard LaTeX package (font tracing)
\tracingfonts=\count185
LaTeX Info: Redefining \selectfont on input line 107.
Applying: [2021/06/01] Add hook to \selectfont on input line 142.
Already applied: [0000/00/00] Add hook to \selectfont on input line 145.
)
\symbold=\mathgroup4
\symsans=\mathgroup5
\symtypewriter=\mathgroup6
\symitalic=\mathgroup7
\symsmallcaps=\mathgroup8
\symslanted=\mathgroup9
LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 275.
LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 276.
LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 277.
LaTeX Font Info: Redeclaring math alphabet \mathit on input line 283.
LaTeX Info: Redefining \em on input line 293.
(/usr/local/texlive/2021/texmf-dist/tex/latex/base/latexsym.sty
Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols)
\symlasy=\mathgroup10
LaTeX Font Info: Overwriting symbol font `lasy' in version `bold'
(Font) U/lasy/m/n --> U/lasy/b/n on input line 52.
)
LaTeX Font Info: Redeclaring math delimiter \lgroup on input line 339.
LaTeX Font Info: Redeclaring math delimiter \rgroup on input line 341.
LaTeX Font Info: Redeclaring math delimiter \bracevert on input line 343.
)
(/usr/local/texlive/2021/texmf-dist/tex/latex/base/report.cls
Document Class: report 2021/02/12 v1.4n Standard LaTeX document class
(/usr/local/texlive/2021/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2021/02/12 v1.4n Standard LaTeX file (size option)
)
\c@part=\count186
\c@chapter=\count187
\c@section=\count188
\c@subsection=\count189
\c@subsubsection=\count190
\c@paragraph=\count191
\c@subparagraph=\count192
\c@figure=\count193
\c@table=\count194
\abovecaptionskip=\skip47
\belowcaptionskip=\skip48
Compatibility mode: definition of \rm ignored.
Compatibility mode: definition of \sf ignored.
Compatibility mode: definition of \tt ignored.
Compatibility mode: definition of \bf ignored.
Compatibility mode: definition of \it ignored.
Compatibility mode: definition of \sl ignored.
Compatibility mode: definition of \sc ignored.
LaTeX Info: Redefining \cal on input line 577.
LaTeX Info: Redefining \mit on input line 578.
\bibindent=\dimen141
) (./colas.sty
(/usr/local/texlive/2021/texmf-dist/tex/generic/epsf/epsf.tex
This is `epsf.tex' v2.7.4 <14 February 2011>
\epsffilein=\read2
\epsfframemargin=\dimen142
\epsfframethickness=\dimen143
\epsfrsize=\dimen144
\epsftmp=\dimen145
\epsftsize=\dimen146
\epsfxsize=\dimen147
\epsfysize=\dimen148
\pspoints=\dimen149
)
\colaslength=\skip49
\colaslengthh=\skip50
\colasmargin=\skip51
) (/usr/local/texlive/2021/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
File: l3backend-dvips.def 2021-10-12 L3 backend support: dvips
\l__pdf_internal_box=\box50
\g__pdf_backend_object_int=\count195
\l__pdf_backend_content_box=\box51
\l__pdf_backend_model_box=\box52
\g__pdf_backend_annotation_int=\count196
\g__pdf_backend_link_int=\count197
\g__pdf_backend_link_sf_int=\count198
) (./gwm.aux (./title.aux) (./contents.aux) (./usage.aux) (./overview.aux)
(./standard.aux) (./wool_ref.aux) (./quick_ref.aux) (./index.aux))
\openout1 = `gwm.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 29.
LaTeX Font Info: ... okay on input line 29.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 29.
LaTeX Font Info: ... okay on input line 29.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 29.
LaTeX Font Info: ... okay on input line 29.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 29.
LaTeX Font Info: ... okay on input line 29.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 29.
LaTeX Font Info: ... okay on input line 29.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 29.
LaTeX Font Info: ... okay on input line 29.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 29.
LaTeX Font Info: ... okay on input line 29.
\openout2 = `title.aux'.
(./title.tex
(KoalaLogo.id)
[1
]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <14.4> on input line 44.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 44.
LaTeX Font Info: Trying to load font information for U+lasy on input line 44
.
(/usr/local/texlive/2021/texmf-dist/tex/latex/base/ulasy.fd
File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions
)
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 44.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 44.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 44.
Overfull \hbox (4.47289pt too wide) in paragraph at lines 83--86
[]\OT1/cmr/m/n/10 All my beta testers: Raphael Bern-hard, Di-dier Poirot, Matth
ieu Devin, Christophe
[]
Underfull \hbox (badness 10000) in paragraph at lines 106--106
[][]\OT1/cmr/m/n/8 Where you can mail also
[]
) [2]
\openout2 = `contents.aux'.
(./contents.tex (./gwm.toc [3
]
Underfull \hbox (badness 10000) in paragraph at lines 53--53
[][] []\OT1/cmr/m/n/10 Matching win-dows by reg-u-lar ex-pres-sions:
[]
[4])
\tf@toc=\write3
\openout3 = `gwm.toc'.
) [5]
\openout2 = `usage.aux'.
(./usage.tex
Chapter 1.
Underfull \hbox (badness 10000) in paragraph at lines 2--3
\OT1/cmtt/m/n/10 gwm [-1DstqmFiawWIPr?] [-x screens] [-f profile] [-p path] [-d
[]
Underfull \hbox (badness 3713) in paragraph at lines 18--20
[]\OT1/cmr/m/n/10 For in-stance, to use the \OT1/cmr/m/sc/10 Mo-tif \OT1/cmr/m/
n/10 em-u-la-tion pack-age, type
[]
Underfull \hbox (badness 2435) in paragraph at lines 21--26
[]\OT1/cmr/m/n/10 Gives the path to be searched for \OT1/cmr/m/sc/10 Wool \OT1/
cmr/m/n/10 or bitmap files
[]
Underfull \hbox (badness 1184) in paragraph at lines 21--26
\OT1/cmr/m/n/10 when loaded, in-clud-ing the startup file. Over-rides the set-
[]
Underfull \hbox (badness 1418) in paragraph at lines 21--26
\OT1/cmr/m/n/10 ting by the en-vi-ron-ment vari-able \OT1/cmr/bx/n/10 GWM-PATH\
OT1/cmr/m/n/10 . De-faults to
[]
[6
]
Underfull \hbox (badness 1102) in paragraph at lines 67--69
[]\OT1/cmr/m/n/10 (Quiet) Does not print startup ban-ner, and sets the \OT1/cmr
/m/sc/10 Wool
[]
[7]
Underfull \hbox (badness 2189) in paragraph at lines 123--127
[]\OT1/cmr/m/n/10 for the path to search for files. If un-set, de-faults to
[]
[8]) [9]
\openout2 = `overview.aux'.
(./overview.tex
Chapter 2.
[10
] [11]
Underfull \hbox (badness 1019) in paragraph at lines 131--137
[]\OT1/cmr/m/n/10 associates any \OT1/cmr/m/sc/10 Wool \OT1/cmr/m/n/10 ob-ject
to any other via a hash ta-ble.
[]
[12]
Underfull \hbox (badness 10000) in paragraph at lines 206--209
[]\OT1/cmr/m/n/10 decorates the man-aged screens by call-ing the user-
[]
[13]) [14] [15]
\openout2 = `standard.aux'.
(./standard.tex
Chapter 3.
[16
] [17] [18]
Underfull \hbox (badness 10000) in paragraph at lines 210--213
[]
[]
Underfull \hbox (badness 5217) in paragraph at lines 248--250
[]\OT1/cmr/m/n/10 For an ex-am-ple of an al-ter-na-tive choos-ing func-tion, se
e
[]
Underfull \hbox (badness 10000) in paragraph at lines 252--256
[]\OT1/cmr/m/n/10 will
[]
[19]
Underfull \hbox (badness 10000) in paragraph at lines 278--283
[]\OT1/cmr/m/n/10 This
[]
Underfull \hbox (badness 10000) in paragraph at lines 309--311
[]\OT1/cmr/m/n/10 for
[]
Overfull \hbox (7.43782pt too wide) in paragraph at lines 312--314
[]
[]
(places1.id)
[20]
(places2.id)
[21] [22] [23] [24] [25] [26] [27] [28] [29]
(simple-win.id)
[30]
Underfull \hbox (badness 10000) in paragraph at lines 977--978
[]
[]
Underfull \hbox (badness 6641) in paragraph at lines 979--980
[]\OT1/cmr/m/n/10 background color
[]
Underfull \hbox (badness 10000) in paragraph at lines 981--982
[]
[]
Underfull \hbox (badness 10000) in paragraph at lines 983--984
[]\OT1/cmr/m/n/10 pen
[]
Underfull \hbox (badness 3646) in paragraph at lines 985--986
[]\OT1/cmr/m/n/10 color of the
[]
Underfull \hbox (badness 3861) in paragraph at lines 992--995
[]\OT1/cmr/m/n/10 lpad (left padding) and rpad (right
[]
(simple-ed-win.id)
[31]
(frame-win.id)
[32] [33] [34]
(term-icons.id)
Overfull \hbox (1.97517pt too wide) in paragraph at lines 1236--1236
[]\OT1/cmtt/m/n/12 (place-3d-button text pencolor maincolor wool-expression)[]
[]
Underfull \hbox (badness 5203) in paragraph at lines 1258--1262
\OT1/cmr/m/n/10 mod-i-fier by look-ing at the value of []\OT1/cmtt/m/n/10 (curr
ent-event-modifier) \OT1/cmr/m/n/10 and
[]
[35]
(PostBig.id)
[36]
(mwm-wins.sid)
Underfull \vbox (badness 10000) has occurred while \output is active []
[37]
Underfull \hbox (badness 1406) in paragraph at lines 1397--1403
[]\OT1/cmr/m/n/10 and edit-ing it. You may want to get the \OT1/cmr/m/sc/10 Mwm
\OT1/cmr/m/n/10 man-ual for the de-
[]
Underfull \hbox (badness 2189) in paragraph at lines 1397--1403
\OT1/cmr/m/n/10 scrip-tion of all the avail-able func-tions. For in-stance, to
set the in-
[]
Underfull \hbox (badness 2326) in paragraph at lines 1397--1403
\OT1/cmr/m/n/10 put fo-cus man-age-ment from ``click to type'' (de-fault) to ``
real es-tate''
[]
Underfull \hbox (badness 3930) in paragraph at lines 1397--1403
\OT1/cmr/m/n/10 (in-put fo-cus is al-ways to the win-dow un-der-neath the point
er), edit
[]
Underfull \hbox (badness 1622) in paragraph at lines 1397--1403
[]\OT1/cmtt/m/n/10 mwmrc.gwm \OT1/cmr/m/n/10 and change the line []\OT1/cmtt/m/
n/10 (: keyboardFocusPolicy 'explicit) \OT1/cmr/m/n/10 to
[]
(twm-wins.sid)
[38] [39]) [40]
\openout2 = `wool_ref.aux'.
(./wool_ref.tex
Chapter 4.
[41
] [42] [43] [44] [45]
Underfull \hbox (badness 2293) in paragraph at lines 384--392
[]\OT1/cmr/m/n/10 Creates a bar of transver-sal width[] bounded by the cur-rent
value of
[]
[46] [47] [48]
Underfull \hbox (badness 3623) in paragraph at lines 584--584
\OT1/cmr/m/n/8 mouse while keep-ing the alt key
[]
Underfull \hbox (badness 7012) in paragraph at lines 584--584
[]\OT1/cmr/m/n/8 matches control-clicking with any
[]
[49] [50] [51] [52]
Underfull \hbox (badness 4193) in paragraph at lines 885--887
[]\OT1/cmr/m/n/10 This is also used by func-tions like []\OT1/cmtt/m/n/10 grab-
server\OT1/cmr/m/n/10 , []\OT1/cmtt/m/n/10 move-window\OT1/cmr/m/n/10 , and
[]
[53]
Underfull \hbox (badness 2057) in paragraph at lines 892--897
[]\OT1/cmr/m/n/10 These val-ues (\OT1/cmtt/m/n/10 cursor-NW, cursor-NE, cursor-
N, cursor-SW, cursor-SE,
[]
[54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65]
Underfull \hbox (badness 10000) in paragraph at lines 1742--1747
[]\OT1/cmr/m/n/10 Returns a \OT1/cmr/bx/n/10 keysym \OT1/cmr/m/n/10 (num-ber) a
s-so-ci-ated with the sym-bolic
[]
[66]
Underfull \hbox (badness 1708) in paragraph at lines 1796--1800
[]\OT1/cmr/m/n/10 The value of these global vari-ables are used by the []\OT1/c
mtt/m/n/10 label-make \OT1/cmr/m/n/10 func-
[]
Underfull \hbox (badness 4569) in paragraph at lines 1796--1800
\OT1/cmr/m/n/10 tions to add mar-gins (given in pix-els) around the string dis-
played.
[]
[67] [68] [69] [70] [71]
(gravity.id)
Underfull \hbox (badness 10000) in paragraph at lines 2193--2197
[]\OT1/cmr/m/n/10 Gravity is ex-pressed as in X11 calls, i.e. by the num-bers:
[]
[72] [73] [74]
Underfull \hbox (badness 10000) in paragraph at lines 2341--2343
[]\OT1/cmr/m/n/10 For in-stance, to de-fine a names-
[]
[75]
Overfull \hbox (14.32518pt too wide) in paragraph at lines 2477--2477
[]\OT1/cmtt/m/n/12 (pixmap-load filename [symbolic-color-name color-value]...)[
]
[]
[76]
Underfull \hbox (badness 1033) in paragraph at lines 2486--2490
[]\OT1/cmr/m/n/10 The pixmap is ex-pected to be de-scribed in the \OT1/cmr/bx/n
/10 XPM \OT1/cmr/m/n/10 (for X PixMap)
[]
Underfull \hbox (badness 1394) in paragraph at lines 2486--2490
\OT1/cmr/m/n/10 for-mat. XPM is a de-facto stan-dard X pixmap for-mat which can
be
[]
[77] [78] [79]
LaTeX Font Info: Trying to load font information for OMS+cmtt on input line
2730.
LaTeX Font Info: No file OMScmtt.fd. on input line 2730.
LaTeX Font Warning: Font shape `OMS/cmtt/m/n' undefined
(Font) using `OMS/cmsy/m/n' instead
(Font) for symbol `textbraceleft' on input line 2730.
[80]
Underfull \hbox (badness 10000) in paragraph at lines 2797--2801
[]\OT1/cmr/m/n/10 Makes the given but-ton or key event re-playable (see
[]
[81] [82]
Underfull \hbox (badness 7759) in paragraph at lines 2986--2989
[]\OT1/cmr/m/n/10 The num-ber of screens at-tached to the dis-play. Not equal t
o
[]
[83] [84] [85] [86]
Underfull \hbox (badness 1163) in paragraph at lines 3218--3225
[]\OT1/cmr/m/n/10 If the cur-rent win-dow cur-rently has the col-ormap fo-cus,
as set by the
[]
[87] [88] [89] [90] [91]
Underfull \hbox (badness 1400) in paragraph at lines 3589--3594
\OT1/cmr/m/n/10 call in-stead. The same re-mark holds for the []\OT1/cmtt/m/n/1
0 screen \OT1/cmr/m/n/10 ac-tive value: a
[]
[92] [93] [94]
(window.id)
(icons.id)
Underfull \vbox (badness 2302) has occurred while \output is active []
[95]
[96] [97] [98] [99]
Underfull \hbox (badness 2042) in paragraph at lines 4043--4047
[]\OT1/cmr/m/n/10 Due to the struc-ture of the \OT1/cmr/m/sc/10 Wool \OT1/cmr/m
/n/10 in-ter-preter, []\OT1/cmtt/m/n/10 with \OT1/cmr/m/n/10 works also with
[]
[100] [101]) [102]
\openout2 = `quick_ref.aux'.
(./quick_ref.tex
Chapter 5.
Overfull \hbox (64.85677pt too wide) in paragraph at lines 83--83
[]
[]
[103
]
Overfull \hbox (2.10725pt too wide) in paragraph at lines 115--115
[]
[]
Underfull \hbox (badness 2111) in paragraph at lines 129--129
[]\OT1/cmr/m/n/10 defines an un-named \OT1/cmr/m/sc/10 Wool \OT1/cmr/m/n/10 fun
c-tion eval-u-at-ing its
[]
Underfull \hbox (badness 6078) in paragraph at lines 129--129
[]\OT1/cmr/m/n/10 defines an un-named \OT1/cmr/m/sc/10 Wool \OT1/cmr/m/n/10 fun
c-tion quot-ing its
[]
[104] [105]
Underfull \hbox (badness 1874) in paragraph at lines 271--271
[]\OT1/cmr/m/n/10 position and di-men-sions of a \OT1/cmr/m/sc/10 Wool
[]
Underfull \hbox (badness 2302) in paragraph at lines 271--271
[]\OT1/cmr/m/n/10 builds a pixmap from an XPM file
[]
Underfull \hbox (badness 2012) in paragraph at lines 369--369
[]\OT1/cmr/m/n/10 makes a double-click but-ton-press
[]
Underfull \hbox (badness 7722) in paragraph at lines 369--369
[]\OT1/cmr/m/n/10 maximum time be-tween dou-ble
[]
Underfull \hbox (badness 2111) in paragraph at lines 369--369
[]\OT1/cmr/m/n/10 event re-ceived when in-put fo-cus
[]
Underfull \hbox (badness 2111) in paragraph at lines 369--369
[]\OT1/cmr/m/n/10 event re-ceived when in-put fo-cus
[]
Underfull \hbox (badness 10000) in paragraph at lines 369--369
[]\OT1/cmr/m/n/10 event gen-er-ated when win-dow
[]
Underfull \hbox (badness 10000) in paragraph at lines 369--369
[]\OT1/cmr/m/n/10 event gen-er-ated when win-dow
[]
Underfull \hbox (badness 1852) in paragraph at lines 369--369
[]\OT1/cmr/m/n/10 pixmap to be used in icon has
[]
[106]
Overfull \vbox (5.76694pt too high) has occurred while \output is active []
[107]
Underfull \hbox (badness 1062) in paragraph at lines 451--451
[]\OT1/cmr/m/n/10 sets an X prop-erty on a client
[]
Underfull \hbox (badness 4981) in paragraph at lines 451--451
[]\OT1/cmr/m/n/10 searches \OT1/cmr/m/sc/10 Gwm \OT1/cmr/m/n/10 database for a
[]
Underfull \hbox (badness 10000) in paragraph at lines 451--451
[]\OT1/cmr/m/n/10 installs the col-ormap of a
[]
Underfull \hbox (badness 10000) in paragraph at lines 451--451
[]\OT1/cmr/m/n/10 redefines key-board for all
[]
Underfull \hbox (badness 2626) in paragraph at lines 451--451
[]\OT1/cmr/m/n/10 warps the mouse pointer to a
[]
Overfull \hbox (7.10727pt too wide) in paragraph at lines 451--451
[]
[]
[108]
Underfull \hbox (badness 3108) in paragraph at lines 493--493
[]\OT1/cmr/m/n/10 inverts the bitmaps used for mak-ing
[]
Underfull \hbox (badness 2608) in paragraph at lines 493--493
[]\OT1/cmr/m/n/10 should the win-dow be mapped when
[]
[109] [110] [111]
Underfull \hbox (badness 3118) in paragraph at lines 681--681
[]\OT1/cmr/m/n/10 client win-dow size spec-i-fied in re-size
[]
Underfull \hbox (badness 2903) in paragraph at lines 749--749
[]\OT1/cmr/m/n/10 tells if win-dow has non-rectangular
[]
Underfull \hbox (badness 3557) in paragraph at lines 749--749
[]\OT1/cmr/m/n/10 tells if user ex-plic-itly specifed the
[]
Overfull \hbox (7.35721pt too wide) in paragraph at lines 749--749
[]
[]
[112] [113]
Underfull \hbox (badness 10000) in paragraph at lines 853--853
[]\OT1/cmr/m/n/10 client win-dow Xid to Gwm wob
[]
Underfull \hbox (badness 10000) in paragraph at lines 853--853
[]\OT1/cmr/m/n/10 client win-dow Xid to Gwm wob
[]
[114] [115]
Overfull \hbox (2.10725pt too wide) in paragraph at lines 938--938
[]
[]
) [116]
\openout2 = `index.aux'.
(./index.tex
Underfull \hbox (badness 10000) in paragraph at lines 82--84
[]\OT1/cmtt/m/n/10 cursor-NW, cursor-NE, cursor-N,
[]
Underfull \hbox (badness 10000) in paragraph at lines 82--84
\OT1/cmtt/m/n/10 cursor-SW, cursor-SE,
[]
Underfull \hbox (badness 10000) in paragraph at lines 82--84
\OT1/cmtt/m/n/10 cursor-S, cursor-E,
[]
[117
]
Overfull \hbox (16.52618pt too wide) in paragraph at lines 175--176
[]\OT1/cmtt/m/n/10 make-string-usable-for-resource-key\OT1/cmr/m/n/10 ,
[]
Underfull \hbox (badness 10000) in paragraph at lines 199--200
[]\OT1/cmtt/m/n/10 mwm-resize-style-catch-corners\OT1/cmr/m/n/10 ,
[]
[118]
Underfull \hbox (badness 10000) in paragraph at lines 303--304
[]\OT1/cmtt/m/n/10 ungrab-server-and-replay-event\OT1/cmr/m/n/10 ,
[]
[119] [120]) (./gwm.aux (./title.aux) (./contents.aux) (./usage.aux)
(./overview.aux) (./standard.aux) (./wool_ref.aux) (./quick_ref.aux)
(./index.aux))
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
)
Here is how much of TeX's memory you used:
1321 strings out of 478600
19100 string characters out of 5854125
335899 words of memory out of 5000000
19169 multiletter control sequences out of 15000+600000
421316 words of font info for 91 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
43i,9n,44p,214b,367s stack positions out of 5000i,500n,10000p,200000b,80000s
Output written on gwm.dvi (120 pages, 383040 bytes).

72670
doc/gwm.ps Normal file

File diff suppressed because it is too large Load Diff

101
doc/gwm.toc Normal file
View File

@ -0,0 +1,101 @@
\contentsline {chapter}{\numberline {1}Usage}{6}{}%
\contentsline {section}{\numberline {1.1}Options}{6}{}%
\contentsline {section}{\numberline {1.2}Shell variables}{8}{}%
\contentsline {section}{\numberline {1.3}Files}{8}{}%
\contentsline {section}{\numberline {1.4}Description}{8}{}%
\contentsline {chapter}{\numberline {2}Overview}{10}{}%
\contentsline {section}{\numberline {2.1}GWM Window OBjects: the wobs}{10}{}%
\contentsline {subsubsection}{Other GWM objects}{11}{}%
\contentsline {section}{\numberline {2.2}WOOL objects}{11}{}%
\contentsline {section}{\numberline {2.3}Operation}{13}{}%
\contentsline {section}{\numberline {2.4}Lazy evaluation}{13}{}%
\contentsline {section}{\numberline {2.5}Screen-dependent objects}{13}{}%
\contentsline {section}{\numberline {2.6}Sending commands to GWM}{14}{}%
\contentsline {section}{\numberline {2.7}Using {\tt gwmchat} as a shell to GWM}{14}{}%
\contentsline {section}{\numberline {2.8}Checking that GWM is running}{14}{}%
\contentsline {chapter}{\numberline {3}The Standard GWM Packages}{16}{}%
\contentsline {section}{\numberline {3.1}The Standard Profile\hfill {\tt .profile.gwm}}{16}{}%
\contentsline {subsection}{\numberline {3.1.1}mouse buttons}{16}{}%
\contentsline {subsection}{\numberline {3.1.2}customization}{17}{}%
\contentsline {subsubsection}{Mouse bindings}{17}{}%
\contentsline {subsubsection}{global switches}{18}{}%
\contentsline {subsubsection}{Window and icon decoration}{18}{}%
\contentsline {subsubsection}{Desktop space management\hfil {\tt placements.gwm}}{20}{}%
\contentsline {subsubsection}{Menus}{21}{}%
\contentsline {section}{\numberline {3.2}Jay Berkenbilt's Virtual Screen\hfill {\tt vscreen.gwm}}{22}{}%
\contentsline {section}{\numberline {3.3}Anders Holst's Virtual Screen\hfill {\tt virtual.gwm}}{22}{}%
\contentsline {section}{\numberline {3.4}Adaptation of virtual.gwm\hfill {\tt std-virtual.gwm}}{23}{}%
\contentsline {section}{\numberline {3.5}Duane Voth's rooms\hfill {\tt dvrooms.gwm}}{23}{}%
\contentsline {section}{\numberline {3.6}Group Iconification\hfill {\tt icon-groups.gwm}}{24}{}%
\contentsline {section}{\numberline {3.7}Opaque move\hfill {\tt move-opaque.gwm}}{25}{}%
\contentsline {section}{\numberline {3.8}Delta\hfill {\tt deltabutton.gwm}}{25}{}%
\contentsline {section}{\numberline {3.9}Floating windows\hfill {\tt float.gwm}}{25}{}%
\contentsline {section}{\numberline {3.10}Unconfined-move\hfill {\tt unconf-move.gwm}}{26}{}%
\contentsline {section}{\numberline {3.11}Suntools-keys\hfill {\tt suntools-keys.gwm}}{26}{}%
\contentsline {section}{\numberline {3.12}Mike Newton's Keys\hfill {\tt mon-keys.gwm}}{26}{}%
\contentsline {section}{\numberline {3.13}Standard pop-up menus\hfill {\tt std-popups.gwm}}{26}{}%
\contentsline {subsubsection}{Default action}{27}{}%
\contentsline {section}{\numberline {3.14}FrameMaker support\hfill {\tt framemaker.gwm}}{28}{}%
\contentsline {section}{\numberline {3.15}Gosling Emacs mouse support\hfill {\tt emacs-mouse.gwm}}{28}{}%
\contentsline {section}{\numberline {3.16}The customize function}{29}{}%
\contentsline {section}{\numberline {3.17}Customization via menus\hfill {\tt custom-menu.gwm}}{29}{}%
\contentsline {section}{\numberline {3.18}Pick a window with the mouse\hfill {\tt pick.gwm}}{30}{}%
\contentsline {section}{\numberline {3.19}Sample window decorations\hfill {\tt *-win.gwm}}{30}{}%
\contentsline {subsection}{\numberline {3.19.1}Simple window\hfill {\tt simple-win.gwm}}{31}{}%
\contentsline {subsection}{\numberline {3.19.2}Simple editable window\hfill {\tt simple-ed-win.gwm}}{32}{}%
\contentsline {subsection}{\numberline {3.19.3}Frame\hfill {\tt frame-win.gwm}}{33}{}%
\contentsline {subsection}{\numberline {3.19.4}timeout-win\hfill {\tt timeout-win.gwm}}{33}{}%
\contentsline {section}{\numberline {3.20}Sample icons\hfill {\tt *-icon.gwm}}{34}{}%
\contentsline {subsection}{\numberline {3.20.1}Simple icon\hfill {\tt simple-icon.gwm}}{34}{}%
\contentsline {subsection}{\numberline {3.20.2}Terminal display icon\hfill {\tt term-icon.gwm}}{35}{}%
\contentsline {section}{\numberline {3.21}Utilities\hfill {\tt utils.gwm}}{35}{}%
\contentsline {subsection}{\numberline {3.21.1}Standalone Buttons: {\tt place-3d-button}}{35}{}%
\contentsline {subsection}{\numberline {3.21.2}Matching windows by regular expressions: {\tt match-windowspec}}{36}{}%
\contentsline {subsection}{\numberline {3.21.3}insert-at}{36}{}%
\contentsline {section}{\numberline {3.22}User-contributed utilities}{36}{}%
\contentsline {subsection}{\numberline {3.22.1}Near-mouse\hfill {\tt near-mouse.gwm}}{36}{}%
\contentsline {section}{\numberline {3.23}Programming Styleguide for the standard distribution}{37}{}%
\contentsline {subsection}{\numberline {3.23.1}The {\tt simple-win} example}{37}{}%
\contentsline {section}{\numberline {3.24}Other profiles}{37}{}%
\contentsline {subsection}{\numberline {3.24.1}The MWM emulation package\hfill {\tt mwm.gwm}}{38}{}%
\contentsline {subsection}{\numberline {3.24.2}The TWM emulation package\hfill {\tt twm.gwm}}{38}{}%
\contentsline {subsection}{\numberline {3.24.3}The VTWM emulation package\hfill {\tt vtwm.gwm}}{39}{}%
\contentsline {subsection}{\numberline {3.24.4}The FVWM emulation package\hfill {\tt fvwm.gwm}}{39}{}%
\contentsline {subsection}{\numberline {3.24.5}The fast profile\hfill {\tt fast.gwm}}{40}{}%
\contentsline {section}{\numberline {3.25}Troubleshooting}{40}{}%
\contentsline {chapter}{\numberline {4}WOOL Reference manual}{41}{}%
\contentsline {chapter}{\numberline {5}Quick Reference}{103}{}%
\contentsline {section}{\numberline {5.1}{\sc Wool} constructs}{103}{}%
\contentsline {section}{\numberline {5.2}Flow control}{103}{}%
\contentsline {section}{\numberline {5.3}I/O}{104}{}%
\contentsline {section}{\numberline {5.4}Atoms}{104}{}%
\contentsline {section}{\numberline {5.5}Namespaces}{104}{}%
\contentsline {section}{\numberline {5.6}Functions}{104}{}%
\contentsline {section}{\numberline {5.7}Lists}{105}{}%
\contentsline {section}{\numberline {5.8}Strings}{105}{}%
\contentsline {section}{\numberline {5.9}Logical functions}{105}{}%
\contentsline {section}{\numberline {5.10}Numbers}{106}{}%
\contentsline {section}{\numberline {5.11}Graphical primitives}{106}{}%
\contentsline {section}{\numberline {5.12}System interface}{106}{}%
\contentsline {section}{\numberline {5.13}Events}{107}{}%
\contentsline {section}{\numberline {5.14}Keyboard modifiers}{108}{}%
\contentsline {section}{\numberline {5.15}Access to X11 primitives}{109}{}%
\contentsline {section}{\numberline {5.16}Global variables controlling {\sc Gwm} behavior}{110}{}%
\contentsline {section}{\numberline {5.17}Colors}{110}{}%
\contentsline {section}{\numberline {5.18}Wobs}{111}{}%
\contentsline {section}{\numberline {5.19}Plugs}{111}{}%
\contentsline {section}{\numberline {5.20}Bars}{111}{}%
\contentsline {section}{\numberline {5.21}Menus}{112}{}%
\contentsline {section}{\numberline {5.22}Windows}{112}{}%
\contentsline {section}{\numberline {5.23}Window characteristics}{113}{}%
\contentsline {section}{\numberline {5.24}Screen}{114}{}%
\contentsline {section}{\numberline {5.25}Context}{114}{}%
\contentsline {section}{\numberline {5.26}Cursors}{114}{}%
\contentsline {section}{\numberline {5.27}Communication with other X11 clients}{115}{}%
\contentsline {section}{\numberline {5.28}Session manager functions}{115}{}%
\contentsline {section}{\numberline {5.29}Fonts}{115}{}%
\contentsline {section}{\numberline {5.30}Fsms}{115}{}%
\contentsline {section}{\numberline {5.31}Meter}{116}{}%
\contentsline {section}{\numberline {5.32}Hooks}{116}{}%
\contentsline {section}{\numberline {5.33}Debugging tools}{116}{}%
\contentsline {chapter}{\numberline {6}INDEX}{117}{}%

21
doc/index.aux Normal file
View File

@ -0,0 +1,21 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {6}INDEX}{117}{}\protected@file@percent }
\@setckpt{index}{
\setcounter{page}{121}
\setcounter{equation}{0}
\setcounter{enumi}{11}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{6}
\setcounter{section}{33}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}

33
doc/overview.aux Normal file
View File

@ -0,0 +1,33 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Overview}{10}{}\protected@file@percent }
\@writefile{lof}{\addvspace {10pt}}
\@writefile{lot}{\addvspace {10pt}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}GWM Window OBjects: the wobs}{10}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Other GWM objects}{11}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.2}WOOL objects}{11}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Operation}{13}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Lazy evaluation}{13}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.5}Screen-dependent objects}{13}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.6}Sending commands to GWM}{14}{}\protected@file@percent }
\newlabel{GWM_EXECUTE}{{2.6}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {2.7}Using {\tt gwmchat} as a shell to GWM}{14}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.8}Checking that GWM is running}{14}{}\protected@file@percent }
\@setckpt{overview}{
\setcounter{page}{16}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{2}
\setcounter{section}{8}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}

56
doc/quick_ref.aux Normal file
View File

@ -0,0 +1,56 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Quick Reference}{103}{}\protected@file@percent }
\@writefile{lof}{\addvspace {10pt}}
\@writefile{lot}{\addvspace {10pt}}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}{\sc Wool} constructs}{103}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Flow control}{103}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.3}I/O}{104}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.4}Atoms}{104}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.5}Namespaces}{104}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.6}Functions}{104}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.7}Lists}{105}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.8}Strings}{105}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.9}Logical functions}{105}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.10}Numbers}{106}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.11}Graphical primitives}{106}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.12}System interface}{106}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.13}Events}{107}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.14}Keyboard modifiers}{108}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.15}Access to X11 primitives}{109}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.16}Global variables controlling {\sc Gwm} behavior}{110}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.17}Colors}{110}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.18}Wobs}{111}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.19}Plugs}{111}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.20}Bars}{111}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.21}Menus}{112}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.22}Windows}{112}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.23}Window characteristics}{113}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.24}Screen}{114}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.25}Context}{114}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.26}Cursors}{114}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.27}Communication with other X11 clients}{115}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.28}Session manager functions}{115}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.29}Fonts}{115}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.30}Fsms}{115}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.31}Meter}{116}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.32}Hooks}{116}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.33}Debugging tools}{116}{}\protected@file@percent }
\@setckpt{quick_ref}{
\setcounter{page}{117}
\setcounter{equation}{0}
\setcounter{enumi}{11}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{5}
\setcounter{section}{33}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}

110
doc/standard.aux Normal file
View File

@ -0,0 +1,110 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {3}The Standard GWM Packages}{16}{}\protected@file@percent }
\@writefile{lof}{\addvspace {10pt}}
\@writefile{lot}{\addvspace {10pt}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}The Standard Profile\hfill {\tt .profile.gwm}}{16}{}\protected@file@percent }
\newlabel{standard-profile}{{3.1}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}mouse buttons}{16}{}\protected@file@percent }
\newlabel{raise-on-move}{{3.1.1}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}customization}{17}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Mouse bindings}{17}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{global switches}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Window and icon decoration}{18}{}\protected@file@percent }
\newlabel{set-window}{{3.1.2}{19}}
\newlabel{set-icon}{{3.1.2}{19}}
\newlabel{set-icon-window}{{3.1.2}{20}}
\@writefile{toc}{\contentsline {subsubsection}{Desktop space management\hfil {\tt placements.gwm}}{20}{}\protected@file@percent }
\newlabel{set-placement}{{3.1.2}{20}}
\@writefile{toc}{\contentsline {subsubsection}{Menus}{21}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Jay Berkenbilt's Virtual Screen\hfill {\tt vscreen.gwm}}{22}{}\protected@file@percent }
\newlabel{vscreen}{{3.2}{22}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Anders Holst's Virtual Screen\hfill {\tt virtual.gwm}}{22}{}\protected@file@percent }
\newlabel{virtual}{{3.3}{22}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Adaptation of virtual.gwm\hfill {\tt std-virtual.gwm}}{23}{}\protected@file@percent }
\newlabel{std-virtual}{{3.4}{23}}
\@writefile{toc}{\contentsline {section}{\numberline {3.5}Duane Voth's rooms\hfill {\tt dvrooms.gwm}}{23}{}\protected@file@percent }
\newlabel{dvroom}{{3.5}{23}}
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Group Iconification\hfill {\tt icon-groups.gwm}}{24}{}\protected@file@percent }
\newlabel{icon-groups}{{3.6}{24}}
\@writefile{toc}{\contentsline {section}{\numberline {3.7}Opaque move\hfill {\tt move-opaque.gwm}}{25}{}\protected@file@percent }
\newlabel{move-opaque}{{3.7}{25}}
\@writefile{toc}{\contentsline {section}{\numberline {3.8}Delta\hfill {\tt deltabutton.gwm}}{25}{}\protected@file@percent }
\newlabel{deltabutton}{{3.8}{25}}
\@writefile{toc}{\contentsline {section}{\numberline {3.9}Floating windows\hfill {\tt float.gwm}}{25}{}\protected@file@percent }
\newlabel{float}{{3.9}{25}}
\@writefile{toc}{\contentsline {section}{\numberline {3.10}Unconfined-move\hfill {\tt unconf-move.gwm}}{26}{}\protected@file@percent }
\newlabel{unconf-move}{{3.10}{26}}
\@writefile{toc}{\contentsline {section}{\numberline {3.11}Suntools-keys\hfill {\tt suntools-keys.gwm}}{26}{}\protected@file@percent }
\newlabel{suntools-keys}{{3.11}{26}}
\@writefile{toc}{\contentsline {section}{\numberline {3.12}Mike Newton's Keys\hfill {\tt mon-keys.gwm}}{26}{}\protected@file@percent }
\newlabel{mon-keys}{{3.12}{26}}
\@writefile{toc}{\contentsline {section}{\numberline {3.13}Standard pop-up menus\hfill {\tt std-popups.gwm}}{26}{}\protected@file@percent }
\newlabel{std-popups}{{3.13}{26}}
\@writefile{toc}{\contentsline {subsubsection}{Default action}{27}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.14}FrameMaker support\hfill {\tt framemaker.gwm}}{28}{}\protected@file@percent }
\newlabel{framemaker}{{3.14}{28}}
\@writefile{toc}{\contentsline {section}{\numberline {3.15}Gosling Emacs mouse support\hfill {\tt emacs-mouse.gwm}}{28}{}\protected@file@percent }
\newlabel{emacs-mouse}{{3.15}{28}}
\@writefile{toc}{\contentsline {section}{\numberline {3.16}The customize function}{29}{}\protected@file@percent }
\newlabel{customize}{{3.16}{29}}
\@writefile{toc}{\contentsline {section}{\numberline {3.17}Customization via menus\hfill {\tt custom-menu.gwm}}{29}{}\protected@file@percent }
\newlabel{custom-menu}{{3.17}{29}}
\@writefile{toc}{\contentsline {section}{\numberline {3.18}Pick a window with the mouse\hfill {\tt pick.gwm}}{30}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.19}Sample window decorations\hfill {\tt *-win.gwm}}{30}{}\protected@file@percent }
\newlabel{standard-decorations}{{3.19}{30}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.1}Simple window\hfill {\tt simple-win.gwm}}{31}{}\protected@file@percent }
\newlabel{simple-win}{{3.19.1}{31}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.2}Simple editable window\hfill {\tt simple-ed-win.gwm}}{32}{}\protected@file@percent }
\newlabel{simple-ed-win}{{3.19.2}{32}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.3}Frame\hfill {\tt frame-win.gwm}}{33}{}\protected@file@percent }
\newlabel{frame-win}{{3.19.3}{33}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.4}timeout-win\hfill {\tt timeout-win.gwm}}{33}{}\protected@file@percent }
\newlabel{timeout-win}{{3.19.4}{33}}
\@writefile{toc}{\contentsline {section}{\numberline {3.20}Sample icons\hfill {\tt *-icon.gwm}}{34}{}\protected@file@percent }
\newlabel{standard-icons}{{3.20}{34}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.20.1}Simple icon\hfill {\tt simple-icon.gwm}}{34}{}\protected@file@percent }
\newlabel{simple-icon}{{3.20.1}{34}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.20.2}Terminal display icon\hfill {\tt term-icon.gwm}}{35}{}\protected@file@percent }
\newlabel{term-icon}{{3.20.2}{35}}
\@writefile{toc}{\contentsline {section}{\numberline {3.21}Utilities\hfill {\tt utils.gwm}}{35}{}\protected@file@percent }
\newlabel{utils}{{3.21}{35}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.21.1}Standalone Buttons: {\tt place-3d-button}}{35}{}\protected@file@percent }
\newlabel{place-3d-button}{{3.21.1}{35}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.21.2}Matching windows by regular expressions: {\tt match-windowspec}}{36}{}\protected@file@percent }
\newlabel{match-windowspec}{{3.21.2}{36}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.21.3}insert-at}{36}{}\protected@file@percent }
\newlabel{insert-at}{{3.21.3}{36}}
\@writefile{toc}{\contentsline {section}{\numberline {3.22}User-contributed utilities}{36}{}\protected@file@percent }
\newlabel{user-contrib-utils}{{3.22}{36}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.22.1}Near-mouse\hfill {\tt near-mouse.gwm}}{36}{}\protected@file@percent }
\newlabel{near-mouse.gwm}{{3.22.1}{36}}
\@writefile{toc}{\contentsline {section}{\numberline {3.23}Programming Styleguide for the standard distribution}{37}{}\protected@file@percent }
\newlabel{standard-styleguide}{{3.23}{37}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.23.1}The {\tt simple-win} example}{37}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.24}Other profiles}{37}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.24.1}The MWM emulation package\hfill {\tt mwm.gwm}}{38}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.24.2}The TWM emulation package\hfill {\tt twm.gwm}}{38}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.24.3}The VTWM emulation package\hfill {\tt vtwm.gwm}}{39}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.24.4}The FVWM emulation package\hfill {\tt fvwm.gwm}}{39}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.24.5}The fast profile\hfill {\tt fast.gwm}}{40}{}\protected@file@percent }
\newlabel{fast}{{3.24.5}{40}}
\@writefile{toc}{\contentsline {section}{\numberline {3.25}Troubleshooting}{40}{}\protected@file@percent }
\@setckpt{standard}{
\setcounter{page}{41}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{6}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{3}
\setcounter{section}{25}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}

20
doc/title.aux Normal file
View File

@ -0,0 +1,20 @@
\relax
\@setckpt{title}{
\setcounter{page}{3}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}

28
doc/usage.aux Normal file
View File

@ -0,0 +1,28 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Usage}{6}{}\protected@file@percent }
\@writefile{lof}{\addvspace {10pt}}
\@writefile{lot}{\addvspace {10pt}}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Options}{6}{}\protected@file@percent }
\newlabel{GWMPATH}{{1.1}{6}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Shell variables}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Files}{8}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Description}{8}{}\protected@file@percent }
\@setckpt{usage}{
\setcounter{page}{10}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{1}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}

368
doc/wool_ref.aux Normal file
View File

@ -0,0 +1,368 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {4}WOOL Reference manual}{41}{}\protected@file@percent }
\@writefile{lof}{\addvspace {10pt}}
\@writefile{lot}{\addvspace {10pt}}
\newlabel{;}{{4}{41}}
\newlabel{!}{{4}{41}}
\newlabel{nth}{{4}{41}}
\newlabel{replace-nth}{{4}{42}}
\newlabel{(}{{4}{42}}
\newlabel{()}{{4}{43}}
\newlabel{nil}{{4}{43}}
\newlabel{""}{{4}{43}}
\newlabel{'}{{4}{43}}
\newlabel{quote}{{4}{43}}
\newlabel{*}{{4}{43}}
\newlabel{/}{{4}{43}}
\newlabel{+}{{4}{44}}
\newlabel{-}{{4}{44}}
\newlabel{=}{{4}{44}}
\newlabel{equal}{{4}{44}}
\newlabel{<}{{4}{44}}
\newlabel{>}{{4}{44}}
\newlabel{?}{{4}{44}}
\newlabel{print}{{4}{44}}
\newlabel{active-label-make}{{4}{44}}
\newlabel{allow-event-processing}{{4}{45}}
\newlabel{alone}{{4}{45}}
\newlabel{and}{{4}{45}}
\newlabel{any}{{4}{45}}
\newlabel{atoi}{{4}{45}}
\newlabel{atom}{{4}{45}}
\newlabel{background}{{4}{46}}
\newlabel{bar-make}{{4}{46}}
\newlabel{bar-min-width}{{4}{47}}
\newlabel{bar-max-width}{{4}{47}}
\newlabel{bar-separator}{{4}{47}}
\newlabel{bell}{{4}{48}}
\newlabel{bitwise-and}{{4}{48}}
\newlabel{bitwise-or}{{4}{48}}
\newlabel{bitwise-xor}{{4}{48}}
\newlabel{border-on-shaped}{{4}{48}}
\newlabel{borderpixel}{{4}{48}}
\newlabel{bordertile}{{4}{48}}
\newlabel{borderwidth}{{4}{48}}
\newlabel{boundp}{{4}{49}}
\newlabel{button}{{4}{49}}
\newlabel{buttonpress}{{4}{49}}
\newlabel{buttonrelease}{{4}{49}}
\newlabel{check-input-focus-flag}{{4}{49}}
\newlabel{circulate-windows-down}{{4}{50}}
\newlabel{circulate-windows-up}{{4}{50}}
\newlabel{color-components}{{4}{50}}
\newlabel{color-free}{{4}{50}}
\newlabel{color-make}{{4}{50}}
\newlabel{color-make-rgb}{{4}{51}}
\newlabel{compare}{{4}{51}}
\newlabel{cond}{{4}{51}}
\newlabel{confine-grabs}{{4}{51}}
\newlabel{confine-windows}{{4}{51}}
\newlabel{context-save}{{4}{51}}
\newlabel{context-restore}{{4}{51}}
\newlabel{copy}{{4}{52}}
\newlabel{current-event-code}{{4}{52}}
\newlabel{current-event-from-grab}{{4}{52}}
\newlabel{current-event-modifier}{{4}{52}}
\newlabel{current-event-time}{{4}{52}}
\newlabel{current-event-window-coords}{{4}{52}}
\newlabel{current-event-x}{{4}{53}}
\newlabel{current-event-y}{{4}{53}}
\newlabel{current-event-relative-x}{{4}{53}}
\newlabel{current-event-relative-y}{{4}{53}}
\newlabel{current-mouse-position}{{4}{53}}
\newlabel{current-user-event}{{4}{53}}
\newlabel{cursor}{{4}{53}}
\newlabel{cursor-NW}{{4}{54}}
\newlabel{cursor-make}{{4}{54}}
\newlabel{cut-buffer}{{4}{54}}
\newlabel{defun}{{4}{54}}
\newlabel{defunq}{{4}{54}}
\newlabel{lambda}{{4}{54}}
\newlabel{lambdaq}{{4}{54}}
\newlabel{de}{{4}{54}}
\newlabel{df}{{4}{54}}
\newlabel{defname}{{4}{55}}
\newlabel{delete-nth}{{4}{56}}
\newlabel{delete-read-properties}{{4}{56}}
\newlabel{delete-window}{{4}{56}}
\newlabel{describe-screen}{{4}{56}}
\newlabel{describe-window}{{4}{57}}
\newlabel{dimensions}{{4}{57}}
\newlabel{width}{{4}{57}}
\newlabel{height}{{4}{57}}
\newlabel{direction}{{4}{57}}
\newlabel{display-name}{{4}{58}}
\newlabel{double-button}{{4}{58}}
\newlabel{double-buttonpress}{{4}{58}}
\newlabel{double-click-delay}{{4}{58}}
\newlabel{draw-line}{{4}{58}}
\newlabel{draw-rectangle}{{4}{59}}
\newlabel{draw-text}{{4}{59}}
\newlabel{elapsed-time}{{4}{59}}
\newlabel{end}{{4}{59}}
\newlabel{enter-window}{{4}{59}}
\newlabel{leave-window}{{4}{59}}
\newlabel{enter-window-not-from-grab}{{4}{60}}
\newlabel{leave-window-not-from-grab}{{4}{60}}
\newlabel{eq}{{4}{60}}
\newlabel{error-occurred}{{4}{60}}
\newlabel{eval}{{4}{60}}
\newlabel{execute-string}{{4}{60}}
\newlabel{focus-in}{{4}{60}}
\newlabel{focus-out}{{4}{60}}
\newlabel{font}{{4}{61}}
\newlabel{font-make}{{4}{61}}
\newlabel{for}{{4}{61}}
\newlabel{mapfor}{{4}{61}}
\newlabel{foreground}{{4}{61}}
\newlabel{freeze-server}{{4}{61}}
\newlabel{fsm}{{4}{62}}
\newlabel{fsm-make}{{4}{62}}
\newlabel{geometry-change}{{4}{62}}
\newlabel{get-wm-command}{{4}{62}}
\newlabel{get-x-default}{{4}{62}}
\newlabel{get-x-property}{{4}{63}}
\newlabel{getenv}{{4}{63}}
\newlabel{grab-keyboard-also}{{4}{63}}
\newlabel{grab-server}{{4}{63}}
\newlabel{grabs}{{4}{63}}
\newlabel{grid-color}{{4}{64}}
\newlabel{gwm-quiet}{{4}{64}}
\newlabel{hack}{{4}{64}}
\newlabel{hashinfo}{{4}{64}}
\newlabel{horizontal}{{4}{64}}
\newlabel{vertical}{{4}{64}}
\newlabel{hostname}{{4}{64}}
\newlabel{iconify-window}{{4}{64}}
\newlabel{if}{{4}{65}}
\newlabel{inner-borderwidth}{{4}{65}}
\newlabel{invert-color}{{4}{65}}
\newlabel{invert-cursors}{{4}{65}}
\newlabel{itoa}{{4}{65}}
\newlabel{key}{{4}{66}}
\newlabel{keypress}{{4}{66}}
\newlabel{keyrelease}{{4}{66}}
\newlabel{key-make}{{4}{66}}
\newlabel{keycode-to-keysym}{{4}{66}}
\newlabel{keysym-to-keycode}{{4}{66}}
\newlabel{kill-window}{{4}{67}}
\newlabel{label-horizontal-margin}{{4}{67}}
\newlabel{label-vertical-margin}{{4}{67}}
\newlabel{label-make}{{4}{67}}
\newlabel{last-key}{{4}{67}}
\newlabel{length}{{4}{67}}
\newlabel{list}{{4}{68}}
\newlabel{list-make}{{4}{68}}
\newlabel{list-of-screens}{{4}{68}}
\newlabel{list-of-windows}{{4}{68}}
\newlabel{load}{{4}{69}}
\newlabel{lower-window}{{4}{69}}
\newlabel{make-string-usable-for-resource-key}{{4}{69}}
\newlabel{map-notify}{{4}{69}}
\newlabel{map-on-raise}{{4}{69}}
\newlabel{map-window}{{4}{70}}
\newlabel{match}{{4}{70}}
\newlabel{member}{{4}{71}}
\newlabel{meminfo}{{4}{71}}
\newlabel{menu}{{4}{71}}
\newlabel{menu-make}{{4}{71}}
\newlabel{menu-max-width}{{4}{71}}
\newlabel{menu-min-width}{{4}{71}}
\newlabel{menu-wob}{{4}{72}}
\newlabel{meter}{{4}{72}}
\newlabel{meter-close}{{4}{73}}
\newlabel{meter-open}{{4}{73}}
\newlabel{meter-update}{{4}{73}}
\newlabel{move-grid-style}{{4}{73}}
\newlabel{resize-grid-style}{{4}{73}}
\newlabel{move-meter}{{4}{73}}
\newlabel{resize-meter}{{4}{73}}
\newlabel{move-window}{{4}{74}}
\newlabel{name-change}{{4}{74}}
\newlabel{namespace}{{4}{74}}
\newlabel{namespace-add}{{4}{74}}
\newlabel{namespace-make}{{4}{75}}
\newlabel{namespace-of}{{4}{75}}
\newlabel{namespace-remove}{{4}{75}}
\newlabel{namespace-size}{{4}{75}}
\newlabel{never-warp-pointer}{{4}{75}}
\newlabel{not}{{4}{76}}
\newlabel{oblist}{{4}{76}}
\newlabel{on}{{4}{76}}
\newlabel{on-eval}{{4}{76}}
\newlabel{opening}{{4}{76}}
\newlabel{closing}{{4}{76}}
\newlabel{or}{{4}{76}}
\newlabel{pixmap-load}{{4}{77}}
\newlabel{pixmap-make}{{4}{77}}
\newlabel{place-menu}{{4}{78}}
\newlabel{class-name}{{4}{78}}
\newlabel{client-name}{{4}{78}}
\newlabel{icon-name}{{4}{78}}
\newlabel{starts-iconic}{{4}{78}}
\newlabel{plug-make}{{4}{78}}
\newlabel{plug-separator}{{4}{79}}
\newlabel{pop-menu}{{4}{79}}
\newlabel{print-errors-flag}{{4}{79}}
\newlabel{print-level}{{4}{79}}
\newlabel{process-events}{{4}{79}}
\newlabel{process-exposes}{{4}{80}}
\newlabel{progn}{{4}{80}}
\newlabel{property-change}{{4}{80}}
\newlabel{raise-window}{{4}{80}}
\newlabel{re-decorate-window}{{4}{80}}
\newlabel{reenter-on-opening}{{4}{80}}
\newlabel{refresh}{{4}{81}}
\newlabel{replayable-event}{{4}{81}}
\newlabel{resize-style}{{4}{81}}
\newlabel{mwm-resize-style-corner-size}{{4}{81}}
\newlabel{mwm-resize-style-catch-corners}{{4}{81}}
\newlabel{resize-window}{{4}{81}}
\newlabel{resource-get}{{4}{82}}
\newlabel{resource-put}{{4}{82}}
\newlabel{restart}{{4}{83}}
\newlabel{root-window}{{4}{83}}
\newlabel{rotate-cut-buffers}{{4}{83}}
\newlabel{save-yourself}{{4}{83}}
\newlabel{screen}{{4}{83}}
\newlabel{screen-count}{{4}{83}}
\newlabel{screen-depth}{{4}{84}}
\newlabel{screen-height}{{4}{84}}
\newlabel{screen-width}{{4}{84}}
\newlabel{screen-heightMM}{{4}{84}}
\newlabel{screen-widthMM}{{4}{84}}
\newlabel{screen-type}{{4}{84}}
\newlabel{send-button-to-window}{{4}{84}}
\newlabel{send-current-event}{{4}{84}}
\newlabel{send-key-to-window}{{4}{84}}
\newlabel{send-keycode-to-window}{{4}{84}}
\newlabel{send-user-event}{{4}{85}}
\newlabel{set-acceleration}{{4}{85}}
\newlabel{set-colormap-focus}{{4}{85}}
\newlabel{set-focus}{{4}{85}}
\newlabel{set-grabs}{{4}{86}}
\newlabel{unset-grabs}{{4}{86}}
\newlabel{set-icon-sizes}{{4}{86}}
\newlabel{set-key-binding}{{4}{86}}
\newlabel{set-screen-saver}{{4}{86}}
\newlabel{set-subwindow-colormap-focus}{{4}{87}}
\newlabel{set-threshold}{{4}{87}}
\newlabel{set-x-property}{{4}{87}}
\newlabel{set}{{4}{87}}
\newlabel{setq}{{4}{87}}
\newlabel{:}{{4}{87}}
\newlabel{sort}{{4}{88}}
\newlabel{stack-print-level}{{4}{88}}
\newlabel{state-make}{{4}{88}}
\newlabel{sublist}{{4}{88}}
\newlabel{t}{{4}{89}}
\newlabel{tag}{{4}{89}}
\newlabel{exit}{{4}{89}}
\newlabel{tile}{{4}{89}}
\newlabel{together}{{4}{89}}
\newlabel{trace}{{4}{89}}
\newlabel{trace-level}{{4}{89}}
\newlabel{trigger-error}{{4}{90}}
\newlabel{type}{{4}{90}}
\newlabel{unbind}{{4}{90}}
\newlabel{ungrab-server}{{4}{90}}
\newlabel{ungrab-server-and-replay-event}{{4}{91}}
\newlabel{unmap-window}{{4}{91}}
\newlabel{unpop-menu}{{4}{91}}
\newlabel{user-event}{{4}{91}}
\newlabel{visibility-fully-obscured}{{4}{91}}
\newlabel{visibility-partially-obscured}{{4}{91}}
\newlabel{visibility-unobscured}{{4}{91}}
\newlabel{warp-pointer}{{4}{91}}
\newlabel{while}{{4}{92}}
\newlabel{window}{{4}{92}}
\newlabel{window-client-class}{{4}{92}}
\newlabel{window-client-height}{{4}{92}}
\newlabel{window-client-width}{{4}{92}}
\newlabel{window-client-x}{{4}{92}}
\newlabel{window-client-y}{{4}{92}}
\newlabel{window-client-borderwidth}{{4}{92}}
\newlabel{window-client-name}{{4}{93}}
\newlabel{window-group}{{4}{93}}
\newlabel{window-icon}{{4}{93}}
\newlabel{window-icon?}{{4}{93}}
\newlabel{window-icon-name}{{4}{93}}
\newlabel{window-icon-pixmap}{{4}{94}}
\newlabel{window-icon-pixmap-change}{{4}{94}}
\newlabel{window-icon-pixmap-id}{{4}{94}}
\newlabel{window-icon-window}{{4}{94}}
\newlabel{window-is-mapped}{{4}{94}}
\newlabel{window-is-shaped}{{4}{94}}
\newlabel{window-is-transient-for}{{4}{94}}
\newlabel{window-is-valid}{{4}{95}}
\newlabel{wob-is-valid}{{4}{95}}
\newlabel{window-machine-name}{{4}{95}}
\newlabel{window-make}{{4}{95}}
\newlabel{window-name}{{4}{96}}
\newlabel{window-program-set-position}{{4}{97}}
\newlabel{window-program-set-size}{{4}{97}}
\newlabel{window-property}{{4}{97}}
\newlabel{wob-property}{{4}{97}}
\newlabel{window-size}{{4}{97}}
\newlabel{window-starts-iconic}{{4}{97}}
\newlabel{window-status}{{4}{97}}
\newlabel{wob-status}{{4}{97}}
\newlabel{window-to-client}{{4}{98}}
\newlabel{client-to-window}{{4}{98}}
\newlabel{window-user-set-position}{{4}{98}}
\newlabel{window-user-set-size}{{4}{98}}
\newlabel{window-was-on-screen}{{4}{98}}
\newlabel{window-width}{{4}{98}}
\newlabel{window-height}{{4}{98}}
\newlabel{wob-height}{{4}{98}}
\newlabel{wob-width}{{4}{98}}
\newlabel{window-window}{{4}{98}}
\newlabel{window-wm-state}{{4}{99}}
\newlabel{window-wm-state-icon}{{4}{99}}
\newlabel{window-wm-state-update}{{4}{99}}
\newlabel{window-x}{{4}{99}}
\newlabel{window-y}{{4}{99}}
\newlabel{with}{{4}{99}}
\newlabel{with-eval}{{4}{99}}
\newlabel{with-shift}{{4}{100}}
\newlabel{with-control}{{4}{100}}
\newlabel{with-alt}{{4}{100}}
\newlabel{with-lock}{{4}{100}}
\newlabel{with-modifier-N}{{4}{100}}
\newlabel{with-button-N}{{4}{100}}
\newlabel{with-output-to-file}{{4}{100}}
\newlabel{with-output-to-string}{{4}{100}}
\newlabel{wob}{{4}{100}}
\newlabel{wob-at-coords}{{4}{101}}
\newlabel{wob-background}{{4}{101}}
\newlabel{wob-borderpixel}{{4}{101}}
\newlabel{wob-borderwidth}{{4}{101}}
\newlabel{wob-cursor}{{4}{101}}
\newlabel{wob-fsm}{{4}{101}}
\newlabel{wob-invert}{{4}{101}}
\newlabel{wob-menu}{{4}{102}}
\newlabel{wob-parent}{{4}{102}}
\newlabel{wob-tile}{{4}{102}}
\newlabel{wob-pixmap}{{4}{102}}
\newlabel{wob-x}{{4}{102}}
\newlabel{wob-y}{{4}{102}}
\newlabel{xid-to-wob}{{4}{102}}
\@setckpt{wool_ref}{
\setcounter{page}{103}
\setcounter{equation}{0}
\setcounter{enumi}{11}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{4}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{4}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}

2
gwm.c
View File

@ -11,6 +11,8 @@
/* include */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "EXTERN.h"
#include "wool.h"
#include "wl_atom.h"

1
libwool.h Symbolic link
View File

@ -0,0 +1 @@
wool.flex

View File

@ -45,7 +45,7 @@ int malloc_init(){}
#define WlAtom WOOL_Atom
#define WlPuts wool_puts
#define WlPrintf wool_printf
#define WlMallocInit malloc_init
#define WlMallocInit int malloc_init
#define WlMallocZoneBegin malloc_zone_begin
#define WlMallocZoneEnd malloc_zone_end
#define WlAtomFindNextPrefixedAtom find_next_prefixed_atom
@ -247,7 +247,7 @@ WlMallocCheck()
char *
WlSbrk(amt)
int amt;
long unsigned amt;
{
return (char *) malloc(amt);
}

2
menu.c
View File

@ -11,6 +11,8 @@
/* include */
#include <string.h>
#include "EXTERN.h"
#include "wool.h"
#include "wl_atom.h"

View File

@ -11,7 +11,6 @@
#include "EXTERN.h"
#include "wool.h"
/*
* The memory management of WOOL is implemented via a differed reference
* count. That, each time an object's reference count attains 0, it is put in
@ -33,16 +32,17 @@
*/
#ifdef STATS
WOOL_OBJECT
zrtstats()
//Er... this is an old-style function definition, right? So why does it have two types?
//WOOL_OBJECT
void zrtstats(void)
{
wool_printf("Zero-reference-table has %d", zrt_size);
wool_printf("/%d slots\n", zrt_limit);
return NIL;
}
#endif /* STATS */
zrt_init()
void zrt_init(void)
{
zrt_size = 0;
zrt_limit = 63; /* pow(2,n)/4 -1 */
@ -57,8 +57,7 @@ zrt_init()
static int WlZrtInGc = 0;
zrt_gc(from)
int from;
void zrt_gc(int from)
{
WOOL_OBJECT *zrt_from = zrt + from;
@ -78,9 +77,7 @@ int from;
* Never call zrt_put if obj was already in it (sould not happen)
*/
WOOL_OBJECT
zrt_put(obj)
WOOL_OBJECT obj;
WOOL_OBJECT zrt_put(WOOL_OBJECT obj)
{
WOOL_OBJECT *old_zrt;
@ -101,15 +98,16 @@ WOOL_OBJECT obj;
obj -> reference_count = 0;
return *zrt_last++ = obj;
}
//I don't think we're supposed to reach here...
return NIL;
}
/* when an object is physically replaced by another, update its entry
* in the zrt
*/
zrt_replace_element(old, new)
WOOL_OBJECT old;
WOOL_OBJECT new;
void zrt_replace_element(WOOL_OBJECT old, WOOL_OBJECT new)
{
WOOL_OBJECT *zrt_ptr = zrt;
@ -129,8 +127,7 @@ WOOL_OBJECT new;
/* checks that the element is not in fact already in the zrt...
*/
must_not_be_in_zrt(obj)
WOOL_OBJECT obj;
void must_not_be_in_zrt(WOOL_OBJECT obj)
{
WOOL_OBJECT *zrt_ptr = zrt;
@ -158,14 +155,12 @@ WOOL_OBJECT obj;
/* increase_reference is a macro (REF(x)++) */
#ifdef DEBUG /* macro otherwise */
increase_reference(obj)
WOOL_OBJECT obj; /* obj may be UNDEFINED */
void increase_reference(WOOL_OBJECT obj) /* obj may be UNDEFINED */
{
REF(obj) += 2;
}
decrease_reference(obj)
WOOL_OBJECT obj; /* obj may be UNDEFINED */
void decrease_reference(WOOL_OBJECT obj) /* obj may be UNDEFINED */
{
if (obj) {
if (((obj -> reference_count) -= 2) == 1)
@ -178,8 +173,7 @@ WOOL_OBJECT obj; /* obj may be UNDEFINED */
}
}
decrease_reference_non_null(obj)
WOOL_OBJECT obj; /* obj must be non-nil */
void decrease_reference_non_null(WOOL_OBJECT obj) /* obj must be non-nil */
{
if (((obj -> reference_count) -= 2) == 1)
zrt_put(obj);
@ -197,9 +191,7 @@ WOOL_OBJECT obj; /* obj must be non-nil */
* but doesn't free the list.
*/
decrease_reference_in_list(count, list)
int count;
WOOL_OBJECT *list;
void decrease_reference_in_list(int count, WOOL_OBJECT *list)
{
WOOL_OBJECT *last = list + count;
@ -214,10 +206,7 @@ WOOL_OBJECT *list;
* and mallocing
*/
duplicate_n_objects(source, dest, n)
WOOL_OBJECT *source; /* source is the array */
WOOL_OBJECT **dest; /* while dest is a POINTER to the array */
int n; /* how many to copy */
void duplicate_n_objects(WOOL_OBJECT *source, WOOL_OBJECT **dest, int n) /* source is the array, dest is a POINTER to the array, n is how many to copy */
{
WOOL_OBJECT *p = source, *q, *last = source + n;
@ -231,10 +220,7 @@ int n; /* how many to copy */
* without mallocing (dest already points to an malloced aera)
*/
copy_n_objects(source, dest, n)
WOOL_OBJECT *source; /* source is the array */
WOOL_OBJECT *dest; /* dest is the array */
int n; /* how many to copy */
void copy_n_objects(WOOL_OBJECT *source, WOOL_OBJECT *dest, int n) /* source is the array */ /* dest is the array */ /* how many to copy */
{
WOOL_OBJECT *p = source, *q = dest, *last = source + n;
@ -258,7 +244,7 @@ int n; /* how many to copy */
/* This table holds memory chunks that are to be freed at the top-level
*/
dft_init()
void dft_init(void)
{
dft = (char **) Malloc(INITIAL_DFT_SIZE * sizeof(char *));
dft_last = dft;
@ -272,8 +258,7 @@ dft_init()
/* put in dft for later freeing
*/
DelayedFree(ptr)
char * ptr;
void DelayedFree(char *ptr)
{
ASSERT(ptr != NULL);
if(dft_last == dft_last_allocated) {

View File

@ -1,5 +1,6 @@
/* Copyright 1989 GROUPE BULL -- See license conditions in file COPYRIGHT
* Copyright 1989 Massachusetts Institute of Technology
* Copyright 2021 Mid Favila
*/
/**************************************************************************\
* *
@ -1420,13 +1421,15 @@ static char *RCS_Version = "$GwmVersion: 1.8e $";
* X11R4 RELEASE
* - is now n-ary (- n1 (+ n2 n3 n4))
*/
#include <stdio.h>
#include <string.h>
#include "wool.h"
DECLARE_strchr;
char GWM_version_name[20];
GWM_print_banner()
void GWM_print_banner(void)
{
strncpy(GWM_version_name, strchr(RCS_Version, ' ') + 1,
strchr(RCS_Version + 1, '$') - strchr(RCS_Version, ' ') - 2);
@ -1439,9 +1442,6 @@ GWM_print_banner()
);
}
/* WARNING: This is an internal rcs number for my eyes only. The official
* one is found in RCS_Version!
*/
static char *RCS_Header =
"$Id: gwm.shar,v 1.116 1999/08/03 aho Exp $";
// Is this even necessary? It's an "internal RCS version" from the original maintainers......
// ......let's comment it and find out!
//static char *RCS_Header = "$Id: gwm.shar,v 1.116 1999/08/03 aho Exp $";

View File

@ -12,6 +12,8 @@
/* include */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "EXTERN.h"
#include "wool.h"
#include "wl_atom.h"

1
user.c
View File

@ -11,6 +11,7 @@
/* include */
#include <stdio.h>
#include "EXTERN.h"
#include "wool.h"
#include "wl_atom.h"

View File

@ -10,6 +10,7 @@
#include "EXTERN.h"
#include <stdio.h>
#include <string.h>
#include "wool.h"
#include "wl_coll.h"
#include "wl_number.h"

View File

@ -9,6 +9,7 @@
\***********************/
#include "EXTERN.h"
#include <string.h>
#include <stdio.h>
#include "wool.h"
#include "wl_string.h"

View File

@ -10,6 +10,7 @@
#include "EXTERN.h"
#include <stdio.h>
#include <string.h>
#include "wool.h"
#include "wl_string.h"
#include "wl_atom.h"

View File

@ -9,6 +9,7 @@
\**************************/
#include "EXTERN.h"
#include <stdlib.h>
#include <stdio.h>
#include "wool.h"
#include "wl_atom.h"

View File

@ -9,6 +9,7 @@
\***********************/
#define INCLUDE_PIXMAP_H
#include <string.h>
#include "EXTERN.h"
#include <stdio.h>
#include <X11/xpm.h>

View File

@ -20,6 +20,7 @@
*/
#include "EXTERN.h"
#include <string.h>
#include <stdio.h>
#include "wool.h"
#include "wl_atom.h"

View File

@ -9,6 +9,7 @@
\***********************/
#include "EXTERN.h"
#include <string.h>
#include <stdio.h>
#include "wool.h"
#include "wl_number.h"

View File

@ -18,6 +18,7 @@
/* include */
#include <stdio.h>
#include <string.h>
#include "EXTERN.h"
#include "wool.h"
#include "wl_number.h"

3
wool.c
View File

@ -43,6 +43,9 @@
#include <limits.h>
#endif
#include <string.h>
#include <stdlib.h>
#include "INTERN.h"
#include "wool.h"
#include "EXTERN.h"

View File

@ -9,6 +9,7 @@
\***************************/
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include "EXTERN.h"
#include "wool.h"