[clfswm-cvs] r1 - CVS

pbrochard at common-lisp.net pbrochard at common-lisp.net
Sat Mar 1 12:37:11 UTC 2008


Author: pbrochard
Date: Sat Mar  1 07:36:13 2008
New Revision: 1

Added:
   AUTHORS
   COPYING
   CVS/
   CVS/Entries
   CVS/Repository
   CVS/Root
   CVS/Template
   ChangeLog
   README
   TAGS
   asdf.lisp
   bindings-pager.lisp
   bindings-second-mode.fas
   bindings-second-mode.fasl   (contents, props changed)
   bindings-second-mode.lib
   bindings-second-mode.lisp
   bindings-second-mode.lisp.bak
   bindings.fas
   bindings.fasl   (contents, props changed)
   bindings.lib
   bindings.lisp
   check-diff.sh   (contents, props changed)
   clfswm-info.fas
   clfswm-info.fasl   (contents, props changed)
   clfswm-info.lib
   clfswm-info.lisp
   clfswm-internal.fas
   clfswm-internal.fasl   (contents, props changed)
   clfswm-internal.lib
   clfswm-internal.lisp
   clfswm-internal.lisp.bak
   clfswm-keys.fas
   clfswm-keys.fasl   (contents, props changed)
   clfswm-keys.lib
   clfswm-keys.lisp
   clfswm-layout.fas
   clfswm-layout.fasl   (contents, props changed)
   clfswm-layout.lib
   clfswm-layout.lisp
   clfswm-pack.lisp
   clfswm-second-mode.fas
   clfswm-second-mode.fasl   (contents, props changed)
   clfswm-second-mode.lib
   clfswm-second-mode.lisp
   clfswm-util.fas
   clfswm-util.fasl   (contents, props changed)
   clfswm-util.lib
   clfswm-util.lisp
   clfswm.asd
   clfswm.fas
   clfswm.fasl   (contents, props changed)
   clfswm.lib
   clfswm.lisp
   clisp-load.lisp
   config.fas
   config.fasl   (contents, props changed)
   config.lib
   config.lisp
   dot-clfswmrc
   keys.html
   keys.txt
   keysyms.fas
   keysyms.fasl   (contents, props changed)
   keysyms.lib
   keysyms.lisp
   load.lisp
   my-html.fas
   my-html.fasl   (contents, props changed)
   my-html.lib
   my-html.lisp
   netwm-util.fas
   netwm-util.fasl   (contents, props changed)
   netwm-util.lib
   netwm-util.lisp
   package.fas
   package.fasl   (contents, props changed)
   package.lib
   package.lisp
   program
   sbcl-load.lisp
   tools.fas
   tools.fasl   (contents, props changed)
   tools.lib
   tools.lisp
   xlib-util.fas
   xlib-util.fasl   (contents, props changed)
   xlib-util.lib
   xlib-util.lisp
Log:
First release



Added: AUTHORS
==============================================================================
--- (empty file)
+++ AUTHORS	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,14 @@
+CLFSWM -  A(nother) Common Lisp FullScreen Window Manager
+---------------------------------------------------------
+
+Philippe Brochard   hocwp at free dot fr
+
+
+-----------------------------------
+
+Some of the CLFSWM code is based on 
+
+tinywm: http://incise.org/index.cgi/TinyWM
+
+And on the excellent Shawn Betts (sabetts at vcn bc ca) 
+Stumpwm: http://www.nongnu.org/stumpwm/

Added: COPYING
==============================================================================
--- (empty file)
+++ COPYING	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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 3 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, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.

Added: CVS/Entries
==============================================================================
--- (empty file)
+++ CVS/Entries	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,29 @@
+/AUTHORS/1.1/Tue May 15 19:49:49 2007//
+/asdf.lisp/1.1/Tue May 15 19:49:49 2007//
+/COPYING/1.2/Fri Dec 21 21:57:41 2007//
+/my-html.lisp/1.3/Fri Dec 21 22:00:35 2007//
+/README/1.3/Thu Jan  3 20:29:05 2008//
+/keys.html/1.4/Sat Jan  5 00:14:15 2008//
+/keys.txt/1.4/Sat Jan  5 00:14:15 2008//
+/dot-clfswmrc/1.8/Sat Jan  5 16:21:36 2008//
+/bindings-pager.lisp/1.9/Sun Feb 24 20:47:34 2008//
+/bindings.lisp/1.7/Sun Feb 24 20:47:34 2008//
+/clfswm-info.lisp/1.5/Sun Feb 24 20:47:34 2008//
+/clfswm-keys.lisp/1.6/Sun Feb 24 20:47:34 2008//
+/clfswm-pack.lisp/1.5/Sun Feb 24 20:47:34 2008//
+/clfswm-second-mode.lisp/1.11/Sun Feb 24 20:47:34 2008//
+/clfswm.asd/1.7/Sun Feb 24 20:47:34 2008//
+/keysyms.lisp/1.2/Sun Feb 24 20:47:34 2008//
+/netwm-util.lisp/1.4/Sun Feb 24 20:47:34 2008//
+/package.lisp/1.11/Mon Feb 25 20:33:22 2008//
+/tools.lisp/1.7/Tue Feb 26 20:53:55 2008//
+/load.lisp/1.8/Tue Feb 26 22:00:22 2008//
+/ChangeLog/1.17/Wed Feb 27 22:32:23 2008//
+/clfswm-layout.lisp/1.2/Wed Feb 27 21:19:57 2008//
+/config.lisp/1.9/Wed Feb 27 21:15:01 2008//
+/bindings-second-mode.lisp/1.16/Thu Feb 28 20:38:00 2008//
+/clfswm-internal.lisp/1.18/Fri Feb 29 23:03:14 2008//
+/clfswm-util.lisp/1.15/Fri Feb 29 23:03:08 2008//
+/clfswm.lisp/1.16/Fri Feb 29 23:03:00 2008//
+/xlib-util.lisp/1.7/Thu Feb 28 20:55:00 2008//
+D

Added: CVS/Repository
==============================================================================
--- (empty file)
+++ CVS/Repository	Sat Mar  1 07:36:13 2008
@@ -0,0 +1 @@
+clfswm

Added: CVS/Root
==============================================================================
--- (empty file)
+++ CVS/Root	Sat Mar  1 07:36:13 2008
@@ -0,0 +1 @@
+:ext:pbrochard at common-lisp.net:/project/clfswm/cvsroot

Added: CVS/Template
==============================================================================

Added: ChangeLog
==============================================================================
--- (empty file)
+++ ChangeLog	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,427 @@
+2008-02-27  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-layout.lisp (*-layout): Add an optional raise-p
+	parameter in each layout.
+
+2008-02-26  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-util.lisp (copy/cut-current-child): Does not affect the
+	root group.
+	(copy/move-current-child-by-name/number): new functions
+	(focus-group-by-name/number): new functions
+	(delete-group-by-name/number): new functions
+
+2008-02-24  Philippe Brochard  <hocwp at free.fr>
+
+	* *: Major update - No more reference  to workspaces. The main
+	structure is a tree of groups or application windows.
+
+2008-02-07  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (read-conf-file): Read configuration in
+	$HOME/.clfswmrc or in /etc/clfswmrc or in
+	$XDG_CONFIG_HOME/clfswm/clfswmrc.
+	(xdg-config-home): Return the content of $XDG-CONFIG-HOME (default
+	to $HOME/.config/).
+
+2008-01-18  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-internal.lisp (show-all-group): Use *root* and *root-gc*
+	by default.
+
+2008-01-03  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-internal.lisp (find-window-group): New function.
+
+	* clfswm*: Change to make clfswm run with clisp/new-clx.
+
+2008-01-01  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-util.lisp (query-show-paren): Add show parent matching in
+	query string.
+	(query-string): Bind control+k to delete end of line.
+
+	* clfswm-second-mode.lisp (draw-second-mode-window): Display
+	the action on mouse motion in second mode.
+
+	* clfswm.lisp (handle-exposure): Redisplay groups on exposure
+	event but do not clear the root window.
+	(handle-configure-request): Adjust unmanaged window from there
+	request.
+
+	* clfswm-internal.lisp (process-new-window): Adjust new window
+	with the specified hints (max/min/base width/height).
+
+2007-12-31  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (handle-configure-request): Send an Configuration
+	Notify event. This solve a bug with xterm and rxvt who takes some
+	times to be mapped. Now there is no delay.
+
+	* bindings-second-mode.lisp (define-shell): Run programs after
+	living the second mode.
+
+2007-12-30  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-internal.lisp (process-new-window): Do not crop transient
+	window to group size.
+	(adapt-window-to-group): Do not crop transient window to group
+	size.
+
+	* clfswm.lisp (handle-configure-request): Adapt just the window to
+	its group and don't take care of the configure request. Remove the
+	bug with the Gimp outside the group and speed up the window
+	manipulation.
+	(handle-exposure): Remove show-all-group on exposure event
+	-> Speed up.
+
+2007-12-29  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-util.lisp (circulate-group-up-copy-window)
+	(circulate-group-down-copy-window)
+	(circulate-workspace-up-copy-group)
+	(circulate-workspace-down-copy-group): Prevent the copy of the
+	same window in the same workspace.
+
+	* bindings-second-mode.lisp (release-copy-selected-window)
+	(release-copy-selected-group): Prevent the copy of the same window
+	in the same workspace.
+
+	* clfswm-pager.lisp (generic-pager-move-window-on-previous-line)
+	(generic-pager-move-window-on-next-line): Remove the copy
+	property.
+	(generic-pager-move-group-on-next-workspace)
+	(generic-pager-move-group-on-previous-workspace): Prevent the copy
+	of the same window in the same workspace.
+
+	* bindings-pager.lisp (mouse-pager-copy-selected-window-release)
+	(mouse-pager-copy-selected-group-release): Prevent the copy of the
+	same window in the same workspace.
+
+	* tools.lisp (setf/=): new macro to set a variable only when
+	necessary.
+
+	* clfswm-internal.lisp (adapt-window-to-group): use set/= to set
+	x, y... only when necessary.
+
+2007-12-28  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (handle-configure-notify, *configure-notify-hook*):
+	new function and hook: force windows to stay in its group (solve a
+	bug with the Gimp).
+
+2007-12-25  Philippe Brochard  <hocwp at free.fr>
+
+	* bindings-second-mode.lisp (mouse-motion): use hide-group to have
+	less flickering when moving/resizing groups.
+
+	* clfswm-internal.lisp (hide-group): new function.
+	(show-all-group): clear-all: new parameter.
+
+2007-12-22  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-keys.lisp (define-define-key): undefine-*-multi-name: new
+	macro.
+	* clfswm*: Color change for the pager. Typo or better description
+	in bindings definitions. Define bindings for a qwerty keyboard by
+	default. dot-clfswmrc show examples to switch to an azerty
+	keyboard. 
+	License change to GPL v3.
+	* config.lisp: new file - group all globals variables in this
+	file.
+	
+2007-08-26  Philippe Brochard  <hocwp at free.fr>
+
+	* xlib-util.lisp (hide-window): Remove structure-notivy events
+	when hidding a window.
+
+2007-05-16  Philippe Brochard  <hocwp at free.fr>
+
+	* package.lisp (*sm-property-notify-hook*): Readded
+	property-notify-hook in second mode.
+
+2007-05-15  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-keys.lisp (produce-doc-html): Better clean up for strings.
+
+2007-05-13  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-pack.lisp (tile-current-workspace-to/right/left/top/bottom):  
+	Tile the current workspace with the current window on one side and
+	others on the other (this emulate the larswm, dwm, wmii way). See
+	the default configuration file to enable this mode by default.
+
+	* clfswm-pager.lisp (pager-tile-current-workspace-to): idem for
+	the pager.
+	
+2007-05-12  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-pager.lisp (pager-draw-window-in-group): Add
+	ensure-printable to print windows name even with non-ascii
+	characters.
+
+2007-05-11  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-pager.lisp (pager-explode-current-group): Create a new
+	group for each window in group.
+	(pager-implode-current-group): Move all windows in workspace to
+	one group and remove other groups.
+
+	* clfswm-pack.lisp (explode-group): Create a new group for each
+	window in group.
+	(implode-group): Move all windows in workspace to one group and
+	remove other groups.
+
+	* clfswm-util.lisp (identify-key): Remove local configuration
+	variables and made them available for configuration from
+	package.lisp.
+	(query-string): idem.
+
+2007-04-29  Philippe Brochard  <hocwp at free.fr>
+
+	* netwm-util.lisp: Start of NetWM compliance.
+	Add a Netwm client list gestion.
+
+2007-04-28  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-internal.lisp (create-group-on-request): open a new group
+	only when the current group is not empty.
+
+	* bindings-second-mode.lisp (define-second-key-#\o-control): Fix a
+	bug with null workspace.
+
+	* clfswm-pager.lisp (pager-handle-event): Add a hook
+	system. This hooks can be changed in the user configuration file.
+
+	* package.lisp: All colors and font variables are set in
+	package.lisp and can be configured in the user configuration
+	file.
+	Note: If you have configured some less ugly colors (esp. for the
+	pager) don't hesitate to let me know :)
+
+	* clfswm-second-mode.lisp (sm-handle-event): Add a hook
+	system. This hooks can be changed in the user configuration file.
+
+	* clfswm.lisp (handle-event): Add a hook system. This hooks can be
+	changed in the user configuration file (~/.clfswmrc)
+
+2007-04-25  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-util.lisp (stop-all-pending-actions): new function: reset
+	arrow action, open next window in new workspace/group.
+
+	* bindings.lisp (stop-all-pending-actions): new binding.
+	(open-next-window-in-new-group-once): Open the next windows in a
+	new group (only once) or open all new windows in a new group (like
+	others windows managers).
+
+2007-04-22  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (read-conf-file): New function to read a lisp
+	configuration file at startup. 
+	(focus-group-under-mouse): Check if group isn't the current group
+	( prevent a bug with unclutter ).
+
+2007-03-02  Philippe Brochard  <hocwp at free.fr>
+
+	* bindings.lisp (run-program-from-query-string): A program can be
+	launch from a input query window.
+
+2007-03-01  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-info.lisp: Fix a bug with banish pointer in info mode.
+
+2007-02-28  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (process-new-window): One can now open the next
+	window in a workspace called by its number.
+
+	* clfswm-util.lisp (query-font-string): Minimal editing
+	capabilities.
+	(eval-from-string): And an REPL in the window manager... :)
+
+2007-02-26  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (process-new-window): One can now open the next
+	window in a new workspace or a new group.
+
+	* clfswm-pager.lisp (pager-mode): Display the next arrow action
+	with the hidden windows.
+
+	* clfswm.lisp (second-key-mode): Display the current workspace
+	number and the next arrow action in the state window.
+
+	* clfswm-pager.lisp (pager-mode): Hide all windows before leaving
+	the pager mode and then redisplay only the current workspace.
+
+2007-02-25  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (add-workspace): Workspaces are now numbered. So
+	they can be focused with a keypress, sorted or renumbered.
+
+2007-02-24  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-pager.lisp (pager-mode): Remove multiple silly
+	pager-draw-display. This prevent a lot of flickering in the
+	pager.
+
+	* clfswm.lisp: Remove all display-force-output and replace them
+	with only one display-finish-output in the event loop.
+
+2006-11-06  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-pager.lisp (pager-center-group): New function - center a
+	group at the middle of the screen.
+
+	* clfswm-pack.lisp (center-group): New function - center a group
+	at the middle of the screen.
+
+	* clfswm.lisp (show-group): Add a cross line under the group.
+	(show-group): Group are showned even if fullscreened.
+	(init-display): Add an exposure event on the root window.
+
+2006-11-05  Philippe Brochard  <hocwp at free.fr>
+
+	* package.lisp (*default-group*): Default group is the same size
+	of a fullscreened group.
+
+	* bindings*: Use shift to move, control+shift to copy. 
+
+	* *.lisp: Add comments for configuration or alternatives. So grep
+	for CONFIG to see where you can configure clfswm. And grep for
+	Alternative to use some commented code.
+
+	* clfswm.lisp (second-key-mode): Use a single window to show the
+	second mode. See for alternatives at the end of this file.
+
+2006-11-03  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-keys.lisp (define-define-key/mouse): Factorisation in a
+	macro of key and mouse definitions.
+	(define-define-key/mouse): Use state instead of modifiers list
+	this fix a bug when the modifiers list is not in the rigth order.
+
+	* clfswm.lisp (second-key-mode): Add a colored border in second mode.
+
+2006-11-02  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-info.lisp (info-mode): Add an info mode.
+
+2006-11-01  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (process-new-window): Change border size for
+	transient windows.
+	(show-all-windows-in-workspace): Unhide all windows even when the
+	current group is in fullscreen mode.
+
+2006-10-26  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-util.lisp (identify-key): Add an exposure handle-event to
+	redisplay the identify window after a terminal switch.
+
+	* clfswm-pager.lisp (pager-mode): Add an exposure handle-event to
+	redisplay the pager after a terminal switch.
+
+2006-10-24  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-util.lisp (identify-key): Add a window to display
+	the keys to identify on screen.
+
+	* bindings.lisp, bindings-pager.lisp: Define same keys to
+	move/copy groups/windows in second mode and in pager.
+
+	* clfswm.lisp (handle-event*): Same version in all clfswm (fix some
+	drawing lags).
+	(show-all-windows-in-workspace): unhide window before adapting it
+	to group.
+
+2006-10-23  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (handle-event): Revert to an older version.
+
+2006-10-18  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-util.lisp (force-window-in-group)
+	(force-window-center-in-group): New functions for transient windows.
+
+	* clfswm-pager.lisp (pager-remove-current-workspace/group):
+	bugfix: hide all windows before removing group or workspace.
+
+2006-10-17  Philippe Brochard  <hocwp at free.fr>
+
+	* bindings-pager.lisp (mouse-pager-move-selected-group) 
+	(mouse-pager-copy-selected-group) 
+	(mouse-pager-move-selected-window) 
+	(mouse-pager-copy-selected-window, mouse-pager-rotate-window-up) 
+	(mouse-pager-rotate-window-down): New functions to have mouse in
+	pager mode.
+
+	* clfswm-pager.lisp (pager-swap-window)
+	(pager-copy-group-on-next/previous-workspace)
+	(pager-copy-window-on-next/previous-line): New functions
+
+2006-10-15  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-pager.lisp (pager-move-window-on-next/previous-line,
+	(pager-move-group-on-next/previous-workspace): new functions.
+
+	* clfswm-pack.lisp (resize-half-x-x-current-group): resize group
+	to its half size (new functions).
+
+2006-10-11  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-pager.lisp: workspaces, groups and windows can now be
+	selectionned with the keyboard or the mouse.
+
+2006-10-09  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-pager.lisp (pager-select-workspace-right/left):
+	workspaces can now be selectionned with the keyboard.
+
+2006-10-08  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-keys.lisp (undefine-main-key, undefine-second-key, undefine-mouse-action):  
+	new function to remove a previous defined key or mouse combination.
+	
+2006-10-07  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (main): Check for access error in init-display.
+
+	* clfswm-keys.lisp (define-ungrab/grab): check for keysym and
+	keycode before grabbing.
+
+	* bindings.lisp: Remove nlambda and use defun to keep the function
+	documentation with clisp.
+	(define-shell): new macro to define shell command for the second
+	mode.
+
+2006-10-06  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm-keys.lisp (define-ungrab/grab): use a cond instead of a 
+	boggus typecase.
+
+2006-10-05  Philippe Brochard  <hocwp at free.fr>
+
+	* bindings.lisp (accept-motion): Move group bugfix in upper mouse
+	workspace circulation.
+
+	* clfswm-util.lisp (absorb-orphan-window): new function.
+
+	* clfswm-keys.lisp: Keysyms support.
+
+2006-10-02  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp (show-group): Use one gc for all groups and not one
+	per group.
+
+2006-10-01  Philippe Brochard  <hocwp at free.fr>
+
+	* bindings.lisp (define-second-key (#\l :mod-1)): fix a typo.
+
+	* clfswm.lisp (adapt-window-to-group): Adapt only windows with
+	width and height outside group.
+
+2006-09-28  Philippe Brochard  <hocwp at free.fr>
+
+	* clfswm.lisp: First public release.
+

Added: README
==============================================================================
--- (empty file)
+++ README	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,83 @@
+        CLFSWM - A(nother) Common Lisp FullScreen Window Manager
+
+ CLFSWM is a 100% Common Lisp X11 window manager (based on [1]Tinywm
+ and [2]Stumpwm. Many thanks to them).
+ It can be driven only with the keyboard or with the mouse.
+
+ A display is divided in workspaces, groups and windows. Windows are
+ packed together in groups.
+ By default a group is fullscreen maximized (no decorations, no buttons,
+ no menus: nothing, just the application fullscreen!).
+ When not maximized, a group of windows can be moved, resized, tiled,
+ packed or filled to others groups edges.
+
+ For its binding, CLFSWM has two modes.
+ A main mode with minimal keys and no mouse grabbing to avoid conflict
+ with others applications.
+ And a second mode with more keys and mouse actions.
+ For details of its usage, have a look at the files keys.txt or 
+ keys.html
+
+
+* Installation
+
+Boot up a common lisp implementation. I develop it with sbcl, I've
+tested it with cmucl and I use it with clisp (you need the clx/xlib
+package).
+
+To use CLFSWM, load the load.lisp file. It loads the ASDF package,
+build the system and start the main loop.
+
+Another way is to do something like this:
+$ cd /in/the/directory/of/clfswm/
+$ clisp/cmucl/sbcl/...                  # start a lisp
+  > (load "asdf.lisp")                  ; asdf for clisp or cmucl
+or> (require :asdf)                     ; asdf for sbcl
+  > (require :clx)                      ; clx for cmucl
+  > (asdf:oos 'asdf:load-op :clfswm)    ; compile and load the system
+  > (in-package :clfswm)                ; go in the clfswm package
+  > (clfswm:main)                       ; start the main loop
+
+
+* Tweaking
+
+To change the default keybinding, have a look at the bindings*.lisp
+files and at the config.lisp file for global variables.
+
+All variables can be overwritten in a user configuration file
+(/etc/clfswmrc or $HOME/.clfswmrc). It's a standard lisp file loaded at
+startup. There is an example in the clfswm source (see dot-clfswmrc).
+
+If you want to add workspaces or groups at startup, tell this to
+clfswm in the init-display function in clfswm.lisp (there is already a
+default workspace and a default group created).
+
+In all cases, you can grep the source with 'CONFIG' and 'Alternative'
+keywords to find where you can simply customize clfswm.
+
+
+
+* Lisp implementation note
+
+If you are using clisp/new-clx, be sure to use the last version (at
+least 2.43). Older versions are a little bit bogus.
+If you are using clisp/mit-clx or an other clx than clisp/new-clx, you
+may find a speed up with the compress notify event. See the variable
+*have-to-compress-notify* in the configuration file.
+
+
+
+* License
+
+ CLFSWM is under the GNU General Public License - GPL license.
+ You can find more information in the files COPYING. or on the
+ [3]Free Software Foundation site.
+
+
+Philippe Brochard <hocwp at free dot fr>.
+
+Références
+
+   1. http://incise.org/index.cgi/TinyWM
+   2. http://www.nongnu.org/stumpwm/
+   3. http://www.gnu.org/

Added: TAGS
==============================================================================
--- (empty file)
+++ TAGS	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,848 @@
+
+asdf.lisp,4979
+(defpackage #:asdf40,2112
+(defvar *asdf-revision* 111,4017
+(defvar *compile-file-warnings-behaviour* 120,4323
+(defvar *compile-file-failure-behaviour* 121,4372
+(defvar *verbose-out* 123,4442
+(defmacro aif 128,4518
+(defun pathname-sans-name+type 131,4603
+(define-modify-macro appendf 136,4811
+(define-condition system-definition-error 142,4944
+(define-condition formatted-system-definition-error 151,5486
+(define-condition circular-dependency 157,5801
+(define-condition missing-component 160,5944
+(define-condition missing-dependency 165,6224
+(define-condition operation-error 168,6351
+(define-condition compile-error 174,6643
+(define-condition compile-failed 175,6697
+(define-condition compile-warned 176,6750
+(defclass component 178,6804
+(defmethod print-object 202,7929
+(defun sysdef-error 206,8075
+(defmethod print-object 211,8244
+(defgeneric component-system 220,8533
+(defmethod component-system 223,8646
+(defmethod print-object 228,8783
+(defclass module 233,8951
+(defgeneric component-pathname 243,9472
+(defun component-parent-pathname 246,9599
+(defgeneric component-relative-pathname 251,9749
+(defmethod component-relative-pathname 254,9897
+(defmethod component-pathname 260,10156
+(defgeneric component-property 264,10352
+(defmethod component-property 266,10406
+(defgeneric (setf 269,10529
+(defmethod (setf 271,10600
+(defclass system 278,10879
+(defun split 289,11304
+(defgeneric version-satisfies 302,11724
+(defmethod version-satisfies 304,11776
+(defvar *defined-systems* 323,12371
+(defun coerce-name 324,12429
+(defvar *system-definition-search-functions*334,12783
+(defun system-definition-pathname 337,12866
+(defvar *central-registry*341,12991
+(defun sysdef-central-registry-search 346,13144
+(defun find-system 359,13513
+(defun register-system 381,14344
+(defun system-registered-p 386,14552
+(defgeneric find-component 392,14694
+(defmethod find-component 397,14905
+(defmethod find-component 405,15209
+(defclass source-file 411,15393
+(defclass cl-source-file 413,15432
+(defclass c-source-file 414,15475
+(defclass java-source-file 415,15517
+(defclass static-file 416,15562
+(defclass doc-file 417,15602
+(defclass html-file 418,15639
+(defgeneric source-file-type 420,15675
+(defmethod source-file-type 421,15724
+(defmethod source-file-type 422,15792
+(defmethod source-file-type 423,15856
+(defmethod source-file-type 424,15926
+(defmethod source-file-type 425,15989
+(defmethod component-relative-pathname 427,16052
+(defclass operation 445,16593
+(defmethod print-object 453,17005
+(defmethod shared-initialize 458,17186
+(defgeneric perform 465,17403
+(defgeneric operation-done-p 466,17446
+(defgeneric explain 467,17498
+(defgeneric output-files 468,17541
+(defgeneric input-files 469,17589
+(defun node-for 471,17637
+(defgeneric operation-ancestor 474,17698
+(defmethod operation-ancestor 477,17852
+(defun make-sub-operation 483,17994
+(defgeneric visit-component 503,18619
+(defmethod visit-component 505,18676
+(defgeneric component-visited-p 510,18867
+(defmethod component-visited-p 512,18923
+(defgeneric (setf 517,19077
+(defmethod (setf 519,19149
+(defmethod (setf 523,19324
+(defgeneric component-visiting-p 531,19641
+(defmethod component-visiting-p 533,19698
+(defgeneric component-depends-on 538,19876
+(defmethod component-depends-on 540,19933
+(defgeneric component-self-dependencies 544,20074
+(defmethod component-self-dependencies 546,20138
+(defmethod input-files 552,20367
+(defmethod input-files 565,20819
+(defmethod operation-done-p 567,20883
+(defgeneric traverse 595,21929
+(defmethod traverse 596,21973
+(defmethod perform 675,25028
+(defmethod perform 681,25232
+(defmethod explain 684,25294
+(defclass compile-op 689,25441
+(defmethod perform 696,25805
+(defmethod perform 699,25941
+(defmethod perform 705,26233
+(defmethod output-files 730,27139
+(defmethod perform 734,27341
+(defmethod output-files 737,27409
+(defclass load-op 742,27495
+(defmethod perform 744,27530
+(defmethod perform 747,27620
+(defmethod operation-done-p 749,27684
+(defmethod output-files 752,27756
+(defmethod component-depends-on 755,27818
+(defclass load-source-op 761,27982
+(defmethod perform 763,28024
+(defmethod perform 769,28250
+(defmethod output-files 772,28322
+(defmethod component-depends-on 776,28472
+(defmethod operation-done-p 785,28847
+(defclass test-op 791,29090
+(defmethod perform 793,29125
+(defun operate 799,29246
+(defun oos 831,30166
+(defun remove-keyword 838,30292
+(defmacro defsystem 847,30565
+(defun class-for-type 876,31579
+(defun maybe-add-tree 888,31961
+(defun union-of-dependencies 903,32467
+(defun remove-keys 914,32734
+(defvar *serial-depends-on*)920,32928
+(defun parse-component-form 922,32958
+(defun check-component-input 987,35311
+(defun sysdef-error-component 999,35864
+(defun resolve-symlinks 1004,36031
+(defun run-shell-command 1015,36350
+(defgeneric hyperdocumentation 1060,37730
+(defmethod hyperdocumentation 1061,37786
+(defun hyperdoc 1064,37911
+
+bindings-pager.lisp,3518
+(define-pager-key ("F1" 37,1320
+(define-pager-key (#\g 39,1369
+(define-pager-key ("Return")46,1589
+(define-pager-key ("Escape")47,1637
+(define-pager-key (#\b)49,1686
+(define-pager-key ("Home")51,1728
+(define-pager-key ("End")52,1786
+(define-pager-key ("Tab" 55,1844
+(define-pager-key ("Tab" 56,1902
+(define-pager-key ("Escape" 58,1970
+(define-pager-key ("Escape" 59,2045
+(define-pager-key ("Escape" 60,2128
+(define-pager-key ("Escape" 61,2196
+(define-pager-key (#\g)63,2277
+(define-pager-key (#\g 64,2334
+(define-pager-key (#\w)66,2395
+(define-pager-key (#\w 67,2456
+(define-pager-key (#\x)69,2521
+(define-pager-key (#\x 70,2568
+(define-pager-key (#\x 71,2620
+(define-pager-key (#\t)73,2672
+(define-pager-key (#\t 74,2730
+(define-pager-key (#\y)76,2798
+(define-pager-key (#\y 77,2856
+(define-pager-key (#\y 78,2919
+(define-pager-key (#\p)84,3039
+(define-pager-key (#\m 90,3220
+(define-pager-key (#\r)96,3408
+(define-pager-key (#\r 102,3633
+(defun pager-fill-group-in-all-directions 109,3828
+(define-pager-key (#\f)117,4012
+(define-pager-key (#\f 126,4344
+(define-pager-key (#\f 128,4413
+(define-pager-key (#\f 134,4573
+(define-pager-key (#\l)141,4742
+(define-pager-key (#\l 142,4795
+(define-pager-key ("Up")147,4856
+(define-pager-key ("Down")160,5291
+(define-pager-key ("Right")173,5732
+(define-pager-key ("Left")186,6184
+(define-pager-key (#\m)199,6631
+(define-pager-key ("Up" 202,6678
+(define-pager-key ("Down" 207,6796
+(define-pager-key ("Right" 212,6920
+(define-pager-key ("Left" 217,7047
+(define-pager-key ("Up" 223,7172
+(define-pager-key ("Down" 228,7305
+(define-pager-key ("Right" 233,7444
+(define-pager-key ("Left" 238,7586
+(define-pager-key ("Left" 244,7726
+(define-pager-key ("Right" 245,7801
+(define-pager-key ("Down" 246,7873
+(define-pager-key ("Up" 247,7940
+(define-pager-key ("Left" 249,8010
+(define-pager-key ("Right" 250,8094
+(defmacro define-pager-focus-workspace-by-number 253,8177
+(define-pager-focus-workspace-by-number (#\1 261,8500
+(define-pager-focus-workspace-by-number (#\2 262,8556
+(define-pager-focus-workspace-by-number (#\3 263,8612
+(define-pager-focus-workspace-by-number (#\4 264,8668
+(define-pager-focus-workspace-by-number (#\5 265,8724
+(define-pager-focus-workspace-by-number (#\6 266,8780
+(define-pager-focus-workspace-by-number (#\7 267,8836
+(define-pager-focus-workspace-by-number (#\8 268,8892
+(define-pager-focus-workspace-by-number (#\9 269,8948
+(define-pager-focus-workspace-by-number (#\0 270,9004
+(define-pager-key (#\1 272,9062
+(define-pager-key (#\2 273,9130
+(defparameter *pager-motion-object* 280,9236
+(defun mouse-pager-move-selected-group 282,9278
+(defun mouse-pager-move-selected-group-release 289,9523
+(defun mouse-pager-copy-selected-group 302,9977
+(defun mouse-pager-copy-selected-group-release 306,10108
+(defun mouse-pager-move-selected-window 323,10692
+(defun mouse-pager-move-selected-window-release 330,10944
+(defun mouse-pager-copy-selected-window 345,11469
+(defun mouse-pager-copy-selected-window-release 349,11605
+(defun mouse-pager-rotate-window-up 364,12158
+(defun mouse-pager-rotate-window-down 369,12316
+(defun pager-mouse-motion 376,12482
+(define-pager-mouse-action (1)393,12991
+(define-pager-mouse-action (1 395,13099
+(define-pager-mouse-action (2)398,13217
+(define-pager-mouse-action (3)400,13278
+(define-pager-mouse-action (3 402,13388
+(define-pager-mouse-action (4)405,13508
+(define-pager-mouse-action (5)406,13574
+(define-pager-mouse-action ('Motion)408,13643
+
+bindings-second-mode.lisp,1728
+(defun group-adding-menu 43,1464
+(defun group-layout-menu 48,1591
+(defun group-pack-menu 58,1776
+(defun group-movement-menu 64,1899
+(defun group-pack-up 71,2058
+(defun group-pack-down 76,2145
+(defun action-by-name-menu 87,2244
+(defun action-by-number-menu 95,2491
+(defun group-menu 104,2753
+(defun selection-menu 112,2901
+(defun utility-menu 122,3156
+(defun main-menu 128,3318
+(define-second-key ("F1" 142,3551
+(define-second-key ("m")144,3607
+(define-second-key ("g")145,3644
+(define-second-key ("n")146,3682
+(define-second-key ("u")147,3729
+(define-second-key (#\i)152,3844
+(define-second-key (#\:)153,3884
+(define-second-key (#\!)155,3935
+(define-second-key (#\t)158,3994
+(define-second-key ("Return")159,4039
+(define-second-key ("Escape")160,4089
+(define-second-key (#\< 163,4141
+(define-second-key ("Home" 168,4199
+(define-second-key ("Right" 170,4265
+(define-second-key ("Left" 171,4323
+(define-second-key ("Down" 173,4385
+(define-second-key ("Up" 174,4440
+(define-second-key ("Tab" 176,4498
+(define-second-key ("Tab" 177,4552
+(define-second-key ("Return" 179,4618
+(define-second-key ("Return" 180,4669
+(define-second-key ("Home" 182,4728
+(define-second-key ("Home" 183,4786
+(define-second-key ("Menu")185,4860
+(define-second-key (#\b 187,4914
+(define-second-key ("Escape" 191,4977
+(define-second-key ("Escape" 192,5045
+(define-second-key ("Escape" 193,5121
+(define-second-key ("Escape" 194,5182
+(define-second-key ("x" 198,5273
+(define-second-key ("x" 199,5327
+(define-second-key ("c" 200,5386
+(define-second-key ("v" 201,5441
+(define-second-key ("v" 202,5493
+(define-second-key ("Delete")203,5561
+(defun sm-handle-click-to-focus 209,5619
+(define-mouse-action (1)214,5796
+
+bindings.lisp,709
+(define-main-key ("F1" 37,1377
+(defun quit-clfswm 39,1426
+(define-main-key ("Home" 43,1496
+(define-main-key ("Right" 45,1560
+(define-main-key ("Left" 46,1616
+(define-main-key ("Down" 48,1676
+(define-main-key ("Up" 49,1729
+(define-main-key ("Tab" 51,1785
+(define-main-key ("Tab" 52,1837
+(define-main-key ("Return" 54,1901
+(define-main-key ("Return" 55,1950
+(define-main-key ("Home" 57,2007
+(define-main-key ("Home" 58,2063
+(define-main-key ("Menu")60,2135
+(define-main-key (#\b 62,2187
+(define-main-key ("Escape" 66,2248
+(define-main-key ("Escape" 67,2314
+(define-main-key ("Escape" 68,2388
+(define-main-key ("Escape" 69,2447
+(define-main-key (#\t 72,2522
+(define-main-key ("less" 73,2570
+
+clfswm-info.lisp,1761
+(defstruct info 30,1288
+(defun leave-info-mode 33,1339
+(defun mouse-leave-info-mode 38,1451
+(defun draw-info-window 45,1599
+(defun draw-info-window-partial 56,2017
+(define-info-key (#\q)85,3333
+(define-info-key ("Return")86,3374
+(define-info-key ("Escape")87,3420
+(define-info-key (#\Space)88,3466
+(define-info-key ("twosuperior")90,3512
+(define-info-key ("Down")96,3704
+(define-info-key ("Up")102,3866
+(define-info-key ("Left")108,4028
+(define-info-key ("Right")114,4194
+(define-info-key ("Home")121,4359
+(define-info-key ("End")128,4529
+(define-info-key ("Page_Down")136,4786
+(define-info-key ("Page_Up")142,4966
+(defparameter *info-start-grab-x* 151,5149
+(defparameter *info-start-grab-y* 152,5188
+(defun info-begin-grab 155,5229
+(defun info-end-grab 161,5421
+(defun info-mouse-next-line 169,5654
+(defun info-mouse-previous-line 175,5828
+(defun info-mouse-motion 182,6005
+(define-info-mouse-action (1)193,6266
+(define-info-mouse-action (2)194,6329
+(define-info-mouse-action (4)195,6383
+(define-info-mouse-action (5)196,6440
+(define-info-mouse-action ('Motion)197,6493
+(defun info-mode 204,6591
+(defun info-mode-menu 294,10393
+(defun append-space 323,11239
+(defun show-key-binding 332,11457
+(defun show-global-key-binding 340,11695
+(defun show-main-mode-key-binding 345,11856
+(defun show-second-mode-key-binding 349,11959
+(defun show-date 365,12570
+(defun info-on-shell 374,12667
+(defun show-cpu-proc 381,12836
+(defun show-mem-proc 385,13013
+(defun show-xmms-status 389,13192
+(defun show-xmms-playlist 393,13295
+(defun xmms-info-menu 398,13401
+(defun show-cd-info 405,13529
+(defun show-cd-playlist 409,13610
+(defun info-on-cd-menu 413,13699
+(defun help-on-clfswm 420,13825
+(defun help-on-second-mode 431,14107
+
+clfswm-internal.lisp,2401
+(defun call-hook 32,1261
+(defun group-data-slot 41,1513
+(defun set-group-data-slot 46,1666
+(defsetf group-data-slot 54,1907
+(defgeneric group-p 58,1956
+(defmethod group-p 59,1985
+(defmethod group-p 62,2052
+(defgeneric child-name 68,2116
+(defmethod child-name 70,2149
+(defmethod child-name 73,2218
+(defmethod child-name 76,2279
+(defmacro with-all-childs 83,2472
+(defmacro with-all-groups 95,2802
+(defmacro with-all-windows 107,3111
+(defmacro with-all-windows-groups 121,3493
+(defun group-find-free-number 134,3814
+(defun create-group 142,4003
+(defun add-group 162,4738
+(defun get-current-child 170,4813
+(defun find-child 180,5129
+(defun find-father-group 188,5307
+(defun find-group-window 196,5542
+(defun find-group-by-name 203,5789
+(defun find-group-by-number 210,6004
+(defun get-all-windows 220,6235
+(defun get-hidden-windows 228,6431
+(defun display-group-info 238,6687
+(defun get-father-layout 277,8099
+(defgeneric adapt-child-to-father 285,8287
+(defmethod adapt-child-to-father 287,8338
+(defmethod adapt-child-to-father 297,8671
+(defgeneric show-child 311,9080
+(defgeneric hide-child 312,9119
+(defmethod show-child 314,9152
+(defmethod hide-child 326,9548
+(defmethod show-child 332,9676
+(defmethod hide-child 341,9955
+(defgeneric select-child 349,10030
+(defmethod select-child 351,10074
+(defmethod select-child 359,10415
+(defun select-current-group 366,10687
+(defun set-focus-to-current-child 371,10772
+(defun show-all-childs 383,11064
+(defun hide-all-childs 399,11561
+(defun select-next/previous-brother 408,11710
+(defun select-next-brother 425,12304
+(defun select-previous-brother 429,12422
+(defun select-next-level 434,12544
+(defun select-previous-level 442,12775
+(defun select-next/previous-child 451,13032
+(defun select-next-child 459,13261
+(defun select-previous-child 463,13367
+(defun enter-group 469,13478
+(defun leave-group 475,13657
+(defun switch-to-root-group 484,13902
+(defun switch-and-select-root-group 490,14056
+(defun toggle-show-root-group 498,14267
+(defun focus-child 505,14442
+(defun focus-child-rec 514,14804
+(defun set-current-child 525,15135
+(defun set-current-root 534,15448
+(defun focus-all-child 540,15617
+(defun remove-child-in-group 549,15912
+(defun remove-child-in-groups 554,16092
+(defun remove-child-in-all-groups 563,16340
+(defun process-new-window 576,16655
+(defun process-existing-windows 625,19041
+
+clfswm-keys.lisp,1201
+(defun define-hash-table-key-name 30,1254
+(define-hash-table-key-name *main-keys* 35,1378
+(define-hash-table-key-name *second-keys* 36,1436
+(define-hash-table-key-name *mouse-action* 37,1498
+(define-hash-table-key-name *pager-keys* 38,1581
+(define-hash-table-key-name *pager-mouse-action* 39,1641
+(define-hash-table-key-name *info-keys* 40,1729
+(define-hash-table-key-name *info-mouse-action* 41,1787
+(defmacro define-define-key 44,1875
+(defmacro define-define-mouse 66,2790
+(define-define-key "main" 83,3631
+(define-define-key "second" 84,3670
+(define-define-key "pager" 85,3713
+(define-define-key "info" 86,3754
+(defun undefine-info-key-fun 95,3892
+(define-define-mouse "mouse-action" 98,3957
+(define-define-mouse "pager-mouse-action" 99,4009
+(define-define-mouse "info-mouse-action" 100,4073
+(defmacro define-ungrab/grab 106,4140
+(define-ungrab/grab grab-main-keys 127,4854
+(define-ungrab/grab ungrab-main-keys 128,4916
+(defun funcall-key-from-code 143,4996
+(defun funcall-button-from-code 166,5670
+(defun produce-doc-html 186,6289
+(defun produce-doc-html-in-file 231,7882
+(defun produce-doc 240,8198
+(defun produce-doc-in-file 264,9055
+(defun produce-all-docs 272,9357
+
+clfswm-layout.lisp,929
+(defun set-layout 45,1711
+(defun get-managed-child 52,1914
+(defun register-layout 59,2156
+(defgeneric no-layout 65,2266
+(defmethod no-layout 68,2386
+(defmethod no-layout 72,2526
+(defun set-no-layout 81,2822
+(defgeneric tile-layout 91,2992
+(defmethod tile-layout 94,3078
+(defun set-tile-layout 107,3556
+(defun layout-ask-size 115,3692
+(defgeneric tile-left-layout 124,3931
+(defmethod tile-left-layout 127,4048
+(defun set-tile-left-layout 147,4620
+(defgeneric tile-right-layout 157,4857
+(defmethod tile-right-layout 160,4976
+(defun set-tile-right-layout 180,5540
+(defgeneric tile-top-layout 192,5781
+(defmethod tile-top-layout 195,5896
+(defun set-tile-top-layout 215,6467
+(defgeneric tile-bottom-layout 225,6701
+(defmethod tile-bottom-layout 228,6822
+(defun set-tile-bottom-layout 247,7372
+(defgeneric tile-space-layout 260,7622
+(defmethod tile-space-layout 263,7754
+(defun set-space-tile-layout 279,8393
+
+clfswm-pack.lisp,1969
+(defun tile-workspace-vertically 33,1298
+(defun tile-current-workspace-vertically 47,1875
+(defun tile-workspace-horizontally 55,2104
+(defun tile-current-workspace-horizontally 69,2685
+(defun tile-workspace-right 76,2919
+(defun tile-workspace-left 97,3876
+(defun tile-workspace-top 119,4797
+(defun tile-workspace-bottom 140,5715
+(defun tile-current-workspace-to 162,6674
+(defun reconfigure-tile-workspace 168,6916
+(defun group-x2 191,7679
+(defun group-y2 194,7747
+(defun find-edge-up 198,7817
+(defun find-edge-down 208,8212
+(defun find-edge-right 218,8636
+(defun find-edge-left 229,9061
+(defun pack-group-up 247,9497
+(defun pack-group-down 253,9646
+(defun pack-group-right 258,9825
+(defun pack-group-left 264,10007
+(defun pack-current-group-up 272,10164
+(defun pack-current-group-down 278,10336
+(defun pack-current-group-right 283,10513
+(defun pack-current-group-left 289,10694
+(defun center-group 295,10872
+(defun center-current-group 300,11103
+(defun fill-group-up 310,11294
+(defun fill-group-down 317,11529
+(defun fill-group-left 324,11745
+(defun fill-group-right 331,11984
+(defun fill-current-group-up 338,12201
+(defun fill-current-group-down 343,12373
+(defun fill-current-group-left 349,12552
+(defun fill-current-group-right 354,12730
+(defun resize-down-group 365,12955
+(defun resize-minimal-group 375,13304
+(defun resize-down-current-group 386,13707
+(defun resize-minimal-current-group 392,13872
+(defun resize-half-width-left 400,14065
+(defun resize-half-width-right 405,14188
+(defun resize-half-height-up 412,14419
+(defun resize-half-height-down 417,14543
+(defun resize-half-width-left-current-group 426,14779
+(defun resize-half-width-right-current-group 431,14980
+(defun resize-half-height-up-current-group 437,15185
+(defun resize-half-height-down-current-group 442,15383
+(defun explode-group 452,15640
+(defun implode-group 459,15951
+(defun explode-current-group 469,16303
+(defun implode-current-group 475,16506
+
+clfswm-second-mode.lisp,725
+(defparameter *sm-window* 30,1250
+(defparameter *sm-font* 31,1281
+(defparameter *sm-gc* 32,1310
+(defparameter *second-mode-program* 34,1338
+(defun draw-second-mode-window 58,2318
+(defun sm-handle-key-press 71,2721
+(defun sm-handle-enter-notify 76,2926
+(defun sm-handle-motion-notify 81,3136
+(defun sm-handle-button-press 86,3373
+(defun sm-handle-button-release 91,3611
+(defun sm-handle-configure-request 96,3851
+(defun sm-handle-configure-notify 101,3986
+(defun sm-handle-destroy-notify 106,4119
+(defun sm-handle-map-request 110,4247
+(defun sm-handle-unmap-notify 114,4369
+(defun sm-handle-exposure 118,4493
+(defun sm-handle-event 146,5405
+(defun second-key-mode 170,6627
+(defun leave-second-mode 215,8098
+
+clfswm-util.lisp,1298
+(defun add-default-group 32,1238
+(defun add-placed-group 40,1470
+(defun delete-focus-window 54,1951
+(defun destroy-focus-window 64,2376
+(defun remove-focus-window 73,2759
+(defun unhide-all-windows-in-current-child 83,3122
+(defun find-child-under-mouse 95,3405
+(defun clear-selection 113,4016
+(defun copy-current-child 118,4145
+(defun cut-current-child 124,4305
+(defun remove-current-child 132,4590
+(defun paste-selection-no-clear 140,4872
+(defun paste-selection 150,5279
+(defun identify-key 163,5485
+(defun query-show-paren 220,7921
+(defun query-number 378,14351
+(defun eval-from-query-string 384,14482
+(defun run-program-from-query-string 406,15170
+(defun ask-group-name 420,15593
+(defun focus-group-by 446,16395
+(defun focus-group-by-name 453,16586
+(defun focus-group-by-number 458,16737
+(defun open-group-by 465,16926
+(defun open-group-by-name 471,17064
+(defun open-group-by-number 476,17233
+(defun delete-group-by 483,17451
+(defun delete-group-by-name 492,17749
+(defun delete-group-by-number 497,17904
+(defun move-current-child-by 504,18096
+(defun move-current-child-by-name 510,18332
+(defun move-current-child-by-number 517,18585
+(defun copy-current-child-by 526,18875
+(defun copy-current-child-by-name 531,19051
+(defun copy-current-child-by-number 538,19304
+
+clfswm.lisp,611
+(defun handle-key-press 35,1267
+(defun handle-configure-request 42,1442
+(defun handle-configure-notify 73,2743
+(defun handle-map-request 79,2832
+(defun handle-unmap-notify 89,3121
+(defun handle-destroy-notify 98,3460
+(defun handle-enter-notify 108,3788
+(defun handle-exposure 113,3924
+(defun handle-create-notify 119,4115
+(defun handle-click-to-focus 126,4268
+(defun handle-button-press 139,4708
+(defun handle-event 165,5455
+(defun main-loop 187,6522
+(defun open-display 195,6720
+(defun init-display 201,6964
+(defun xdg-config-home 240,8506
+(defun read-conf-file 246,8651
+(defun main 264,9275
+
+clisp-load.lisp,34
+(defparameter *base-dir* 29,1232
+
+config.lisp,1906
+(defparameter *have-to-compress-notify* 37,1531
+(defun get-fullscreen-size 44,1721
+(defparameter *color-selected* 57,2024
+(defparameter *color-unselected* 58,2062
+(defparameter *color-maybe-selected* 59,2103
+(defparameter *sm-border-color* 62,2192
+(defparameter *sm-background-color* 63,2233
+(defparameter *sm-foreground-color* 64,2278
+(defparameter *sm-font-string* 65,2321
+(defparameter *sm-width* 66,2364
+(defparameter *sm-height* 67,2394
+(defparameter *pager-background* 71,2467
+(defparameter *pager-workspace-border* 72,2509
+(defparameter *pager-workspace-background* 73,2556
+(defparameter *pager-group-border* 74,2608
+(defparameter *pager-group-border-selected* 75,2653
+(defparameter *pager-group-background* 76,2704
+(defparameter *pager-window-selected* 78,2754
+(defparameter *pager-window-deselected* 79,2801
+(defparameter *pager-window-hidden* 80,2851
+(defparameter *pager-window-hidden-1* 81,2896
+(defparameter *pager-window-separator* 83,2942
+(defparameter *pager-workspace-cursor* 85,2990
+(defparameter *pager-line-cursor* 86,3038
+(defparameter *pager-group-cursor* 87,3080
+(defparameter *pager-group-background-cursor* 88,3124
+(defparameter *pager-font-string* 91,3182
+(defparameter *pager-workspace-height* 93,3229
+(defparameter *identify-font-string* 98,3309
+(defparameter *identify-background* 99,3354
+(defparameter *identify-foreground* 100,3399
+(defparameter *identify-border* 101,3444
+(defparameter *query-font-string* 104,3517
+(defparameter *query-background* 105,3559
+(defparameter *query-foreground* 106,3601
+(defparameter *query-border* 107,3643
+(defparameter *info-background* 112,3705
+(defparameter *info-foreground* 113,3746
+(defparameter *info-border* 114,3787
+(defparameter *info-line-cursor* 115,3822
+(defparameter *info-font-string* 116,3864
+(defparameter *tile-workspace-function* 121,3938
+(defparameter *tile-border-size* 122,3999
+
+keysyms.lisp,193
+(defvar *keysym-name-translations* 30,1039
+(defvar *name-keysym-translations* 31,1093
+(defun cl-define-keysym 33,1162
+(defun keysym-name->keysym 38,1363
+(defun keysym->keysym-name 45,1577
+
+load.lisp,34
+(defparameter *base-dir* 29,1232
+
+my-html.lisp,226
+(defpackage :my-html32,1262
+(defun insert-html-doctype 42,1429
+(defun produce-html 48,1586
+(defmacro with-html 64,2109
+(defun produce-html-string 68,2204
+(defun test1 75,2329
+(defun test2 90,2592
+(defun test3 104,2802
+
+netwm-util.lisp,244
+(defun netwm-set-client-list 33,1333
+(defun netwm-get-client-list 36,1443
+(defun netwm-add-in-client-list 39,1524
+(defun netwm-remove-in-client-list 44,1699
+(defun netwm-update-desktop-property 50,1862
+(defun netwm-set-properties 70,2542
+
+package.lisp,3156
+(defpackage clfswm30,1248
+(defparameter *display* 38,1369
+(defparameter *screen* 39,1398
+(defparameter *root* 40,1426
+(defparameter *no-focus-window* 41,1452
+(defparameter *root-gc* 42,1489
+(defparameter *default-font* 44,1519
+(defparameter *default-font-string* 46,1599
+(defparameter *child-selection* 49,1646
+(defparameter *layout-list* 51,1684
+(defclass group 58,1855
+(defparameter *root-group* 82,3050
+(defparameter *current-root* 84,3123
+(defparameter *current-child* 86,3200
+(defparameter *show-root-group-p* 89,3273
+(defparameter *main-keys* 92,3314
+(defparameter *second-keys* 93,3372
+(defparameter *mouse-action* 94,3432
+(defparameter *pager-keys* 95,3493
+(defparameter *pager-mouse-action* 96,3553
+(defparameter *info-keys* 97,3621
+(defparameter *info-mouse-action* 98,3680
+(defparameter *open-next-window-in-new-workspace* 101,3749
+(defparameter *open-next-window-in-new-group* 105,3908
+(defparameter *arrow-action* 110,4102
+(defparameter *pager-arrow-action* 113,4173
+(defparameter *init-hook* 129,4584
+(defparameter *button-press-hook* 132,4657
+(defparameter *button-motion-notify-hook* 133,4696
+(defparameter *key-press-hook* 134,4743
+(defparameter *configure-request-hook* 135,4779
+(defparameter *configure-notify-hook* 136,4823
+(defparameter *create-notify-hook* 137,4866
+(defparameter *destroy-notify-hook* 138,4906
+(defparameter *enter-notify-hook* 139,4947
+(defparameter *exposure-hook* 140,4986
+(defparameter *map-request-hook* 141,5021
+(defparameter *mapping-notify-hook* 142,5059
+(defparameter *property-notify-hook* 143,5100
+(defparameter *unmap-notify-hook* 144,5142
+(defparameter *sm-button-press-hook* 148,5238
+(defparameter *sm-button-release-hook* 149,5280
+(defparameter *sm-motion-notify-hook* 150,5324
+(defparameter *sm-key-press-hook* 151,5367
+(defparameter *sm-configure-request-hook* 152,5406
+(defparameter *sm-configure-notify-hook* 153,5453
+(defparameter *sm-map-request-hook* 154,5499
+(defparameter *sm-unmap-notify-hook* 155,5540
+(defparameter *sm-destroy-notify-hook* 156,5582
+(defparameter *sm-mapping-notify-hook* 157,5626
+(defparameter *sm-property-notify-hook* 158,5670
+(defparameter *sm-create-notify-hook* 159,5715
+(defparameter *sm-enter-notify-hook* 160,5758
+(defparameter *sm-exposure-hook* 161,5800
+(defparameter *pager-button-press-hook* 165,5888
+(defparameter *pager-button-release-hook* 166,5933
+(defparameter *pager-motion-notify-hook* 167,5980
+(defparameter *pager-key-press-hook* 168,6026
+(defparameter *pager-configure-request-hook* 169,6068
+(defparameter *pager-map-request-hook* 170,6118
+(defparameter *pager-unmap-notify-hook* 171,6162
+(defparameter *pager-destroy-notify-hook* 172,6207
+(defparameter *pager-mapping-notify-hook* 173,6254
+(defparameter *pager-property-notify-hook* 174,6301
+(defparameter *pager-create-notify-hook* 175,6349
+(defparameter *pager-enter-notify-hook* 176,6395
+(defparameter *pager-exposure-hook* 177,6440
+(defparameter *motion-action* 181,6516
+(defparameter *motion-object* 182,6551
+(defparameter *motion-start-group* 183,6586
+(defparameter *motion-dx* 184,6626
+(defparameter *motion-dy* 185,6657
+
+tools.lisp,1573
+(defpackage tools31,1253
+(defmacro awhen 87,2199
+(defmacro aif 92,2286
+(defvar *%dbg-name%* 99,2412
+(defvar *%dbg-count%* 100,2440
+(defmacro dbg 103,2467
+(defmacro dbgnl 120,2937
+(defmacro setf/=144,3430
+(defun create-symbol 152,3612
+(defun split-string 157,3748
+(defun expand-newline 166,4037
+(defun ensure-list 173,4217
+(defun ensure-printable 180,4334
+(defun find-assoc-word 187,4485
+(defun print-space 196,4783
+(defun escape-string 202,4920
+(defun first-position 210,5191
+(defun find-free-number 215,5325
+(defun do-execute 234,5773
+(defun do-shell 281,7630
+(defun getenv 290,7740
+(defun (setf 306,8314
+(defun uquit 330,9151
+(defun remove-plist 341,9340
+(defun urun-prog 355,9719
+(defun ushell 389,11184
+(defun ush 392,11281
+(defun set-shell-dispatch 396,11375
+(defun ushell-loop 403,11629
+(defun cldebug 419,12024
+(defun get-command-line-words 426,12120
+(defun string-to-list 433,12260
+(defun near-position 446,12645
+(defun string-to-list-multichar 474,13627
+(defun list-to-string 491,14111
+(defun clean-string 496,14188
+(defun one-in-list 501,14317
+(defun exchange-one-in-list 504,14378
+(defun rotate-list 512,14625
+(defun anti-rotate-list 516,14709
+(defun append-formated-list 521,14797
+(defun shuffle-list 539,15295
+(defun convert-to-number 554,15697
+(defun parse-integer-in-list 558,15812
+(defun next-in-list 564,15952
+(defun prev-in-list 570,16107
+(defun find-string 608,17319
+(defun find-all-strings 636,18289
+(defun subst-strings 653,18911
+(defun my-find-string-test 688,19851
+(defun test-find-string 696,20030
+
+xlib-util.lisp,1160
+(defconstant +withdrawn-state+ 32,1264
+(defconstant +normal-state+ 33,1298
+(defconstant +iconic-state+ 34,1329
+(defparameter *window-events* 37,1362
+(defparameter +netwm-supported+48,1596
+(defparameter +netwm-window-types+59,1885
+(defmacro with-xlib-protect 71,2324
+(defun parse-display-string 81,2534
+(defun banish-pointer 91,2855
+(defun window-state 101,3059
+(defun set-window-state 106,3189
+(defsetf window-state 114,3363
+(defun window-hidden-p 118,3406
+(defun unhide-window 123,3489
+(defun hide-window 244,7397
+(defun window-type 254,7693
+(defun send-configuration-notify 277,8641
+(defun send-client-message 293,9231
+(defun raise-window 306,9457
+(defun focus-window 314,9731
+(defun no-focus 327,9991
+(defun stop-button-event 393,11982
+(defun replay-button-event 396,12058
+(defun ungrab-all-buttons 400,12143
+(defun grab-all-buttons 403,12231
+(defun get-color 413,12440
+(defun my-character->keysyms 419,12537
+(defun char->keycode 454,13549
+(defun keycode->char 459,13690
+(defun modifiers->state 462,13809
+(defun state->modifiers 465,13898
+(defun wait-no-key-or-button-press 471,13966
+(defun compress-motion-notify 487,14489
+
+sbcl-load.lisp,0

Added: asdf.lisp
==============================================================================
--- (empty file)
+++ asdf.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,1102 @@
+;;; This is asdf: Another System Definition Facility.  $Revision: 1.1 $
+;;;
+;;; Feedback, bug reports, and patches are all welcome: please mail to
+;;; <cclan-list at lists.sf.net>.  But note first that the canonical
+;;; source for asdf is presently the cCLan CVS repository at
+;;; <URL:http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf/>
+;;;
+;;; If you obtained this copy from anywhere else, and you experience
+;;; trouble using it, or find bugs, you may want to check at the
+;;; location above for a more recent version (and for documentation
+;;; and test files, if your copy came without them) before reporting
+;;; bugs.  There are usually two "supported" revisions - the CVS HEAD
+;;; is the latest development version, whereas the revision tagged
+;;; RELEASE may be slightly older but is considered `stable'
+
+;;; Copyright (c) 2001-2003 Daniel Barlow and contributors
+;;;
+;;; Permission is hereby granted, free of charge, to any person obtaining
+;;; a copy of this software and associated documentation files (the
+;;; "Software"), to deal in the Software without restriction, including
+;;; without limitation the rights to use, copy, modify, merge, publish,
+;;; distribute, sublicense, and/or sell copies of the Software, and to
+;;; permit persons to whom the Software is furnished to do so, subject to
+;;; the following conditions:
+;;;
+;;; 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 AUTHORS OR COPYRIGHT HOLDERS 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.
+
+;;; the problem with writing a defsystem replacement is bootstrapping:
+;;; we can't use defsystem to compile it.  Hence, all in one file
+
+(defpackage #:asdf
+  (:export #:defsystem #:oos #:operate #:find-system #:run-shell-command
+	   #:system-definition-pathname #:find-component ; miscellaneous
+	   #:hyperdocumentation #:hyperdoc
+	   
+	   #:compile-op #:load-op #:load-source-op #:test-system-version
+	   #:test-op
+	   #:operation			; operations
+	   #:feature			; sort-of operation
+	   #:version			; metaphorically sort-of an operation
+	   
+	   #:input-files #:output-files #:perform	; operation methods
+	   #:operation-done-p #:explain
+	   
+	   #:component #:source-file 
+	   #:c-source-file #:cl-source-file #:java-source-file
+	   #:static-file
+	   #:doc-file
+	   #:html-file
+	   #:text-file
+	   #:source-file-type
+	   #:module			; components
+	   #:system
+	   #:unix-dso
+	   
+	   #:module-components		; component accessors
+	   #:component-pathname
+	   #:component-relative-pathname
+	   #:component-name
+	   #:component-version
+	   #:component-parent
+	   #:component-property
+	   #:component-system
+	   
+	   #:component-depends-on
+
+	   #:system-description
+	   #:system-long-description
+	   #:system-author
+	   #:system-maintainer
+	   #:system-license
+	   
+	   #:operation-on-warnings
+	   #:operation-on-failure
+	   
+	   ;#:*component-parent-pathname* 
+	   #:*system-definition-search-functions*
+	   #:*central-registry*		; variables
+	   #:*compile-file-warnings-behaviour*
+	   #:*compile-file-failure-behaviour*
+	   #:*asdf-revision*
+	   
+	   #:operation-error #:compile-failed #:compile-warned #:compile-error
+	   #:error-component #:error-operation
+	   #:system-definition-error 
+	   #:missing-component
+	   #:missing-dependency
+	   #:circular-dependency	; errors
+
+	   #:retry
+	   #:accept                     ; restarts
+	   
+	   )
+  (:use :cl))
+
+#+nil
+(error "The author of this file habitually uses #+nil to comment out forms.  But don't worry, it was unlikely to work in the New Implementation of Lisp anyway")
+
+
+(in-package #:asdf)
+
+(defvar *asdf-revision* (let* ((v "$Revision: 1.1 $")
+			       (colon (or (position #\: v) -1))
+			       (dot (position #\. v)))
+			  (and v colon dot 
+			       (list (parse-integer v :start (1+ colon)
+						    :junk-allowed t)
+				     (parse-integer v :start (1+ dot)
+						    :junk-allowed t)))))
+
+(defvar *compile-file-warnings-behaviour* :warn)
+(defvar *compile-file-failure-behaviour* #+sbcl :error #-sbcl :warn)
+
+(defvar *verbose-out* nil)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; utility stuff
+
+(defmacro aif (test then &optional else)
+  `(let ((it ,test)) (if it ,then ,else)))
+
+(defun pathname-sans-name+type (pathname)
+  "Returns a new pathname with same HOST, DEVICE, DIRECTORY as PATHNAME,
+and NIL NAME and TYPE components"
+  (make-pathname :name nil :type nil :defaults pathname))
+
+(define-modify-macro appendf (&rest args) 
+		     append "Append onto list") 
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; classes, condiitons
+
+(define-condition system-definition-error (error) ()
+  ;; [this use of :report should be redundant, but unfortunately it's not.
+  ;; cmucl's lisp::output-instance prefers the kernel:slot-class-print-function
+  ;; over print-object; this is always conditions::%print-condition for
+  ;; condition objects, which in turn does inheritance of :report options at
+  ;; run-time.  fortunately, inheritance means we only need this kludge here in
+  ;; order to fix all conditions that build on it.  -- rgr, 28-Jul-02.]
+  #+cmu (:report print-object))
+
+(define-condition formatted-system-definition-error (system-definition-error)
+  ((format-control :initarg :format-control :reader format-control)
+   (format-arguments :initarg :format-arguments :reader format-arguments))
+  (:report (lambda (c s)
+	     (apply #'format s (format-control c) (format-arguments c)))))
+
+(define-condition circular-dependency (system-definition-error)
+  ((components :initarg :components :reader circular-dependency-components)))
+
+(define-condition missing-component (system-definition-error)
+  ((requires :initform "(unnamed)" :reader missing-requires :initarg :requires)
+   (version :initform nil :reader missing-version :initarg :version)
+   (parent :initform nil :reader missing-parent :initarg :parent)))
+
+(define-condition missing-dependency (missing-component)
+  ((required-by :initarg :required-by :reader missing-required-by)))
+
+(define-condition operation-error (error)
+  ((component :reader error-component :initarg :component)
+   (operation :reader error-operation :initarg :operation))
+  (:report (lambda (c s)
+	     (format s "~@<erred while invoking ~A on ~A~@:>"
+		     (error-operation c) (error-component c)))))
+(define-condition compile-error (operation-error) ())
+(define-condition compile-failed (compile-error) ())
+(define-condition compile-warned (compile-error) ())
+
+(defclass component ()
+  ((name :accessor component-name :initarg :name :documentation
+	 "Component name: designator for a string composed of portable pathname characters")
+   (version :accessor component-version :initarg :version)
+   (in-order-to :initform nil :initarg :in-order-to)
+   ;;; XXX crap name
+   (do-first :initform nil :initarg :do-first)
+   ;; methods defined using the "inline" style inside a defsystem form:
+   ;; need to store them somewhere so we can delete them when the system
+   ;; is re-evaluated
+   (inline-methods :accessor component-inline-methods :initform nil)
+   (parent :initarg :parent :initform nil :reader component-parent)
+   ;; no direct accessor for pathname, we do this as a method to allow
+   ;; it to default in funky ways if not supplied
+   (relative-pathname :initarg :pathname)
+   (operation-times :initform (make-hash-table )
+		    :accessor component-operation-times)
+   ;; XXX we should provide some atomic interface for updating the
+   ;; component properties
+   (properties :accessor component-properties :initarg :properties
+	       :initform nil)))
+
+;;;; methods: conditions
+
+(defmethod print-object ((c missing-dependency) s)
+  (format s "~@<~A, required by ~A~@:>"
+	  (call-next-method c nil) (missing-required-by c)))
+
+(defun sysdef-error (format &rest arguments)
+  (error 'formatted-system-definition-error :format-control format :format-arguments arguments))
+
+;;;; methods: components
+
+(defmethod print-object ((c missing-component) s)
+  (format s "~@<component ~S not found~
+             ~@[ or does not match version ~A~]~
+             ~@[ in ~A~]~@:>"
+	  (missing-requires c)
+	  (missing-version c)
+	  (when (missing-parent c)
+	    (component-name (missing-parent c)))))
+
+(defgeneric component-system (component)
+  (:documentation "Find the top-level system containing COMPONENT"))
+  
+(defmethod component-system ((component component))
+  (aif (component-parent component)
+       (component-system it)
+       component))
+
+(defmethod print-object ((c component) stream)
+  (print-unreadable-object (c stream :type t :identity t)
+    (ignore-errors
+      (prin1 (component-name c) stream))))
+
+(defclass module (component)
+  ((components :initform nil :accessor module-components :initarg :components)
+   ;; what to do if we can't satisfy a dependency of one of this module's
+   ;; components.  This allows a limited form of conditional processing
+   (if-component-dep-fails :initform :fail
+			   :accessor module-if-component-dep-fails
+			   :initarg :if-component-dep-fails)
+   (default-component-class :accessor module-default-component-class
+     :initform 'cl-source-file :initarg :default-component-class)))
+
+(defgeneric component-pathname (component)
+  (:documentation "Extracts the pathname applicable for a particular component."))
+
+(defun component-parent-pathname (component)
+  (aif (component-parent component)
+       (component-pathname it)
+       *default-pathname-defaults*))
+
+(defgeneric component-relative-pathname (component)
+  (:documentation "Extracts the relative pathname applicable for a particular component."))
+   
+(defmethod component-relative-pathname ((component module))
+  (or (slot-value component 'relative-pathname)
+      (make-pathname
+       :directory `(:relative ,(component-name component))
+       :host (pathname-host (component-parent-pathname component)))))
+
+(defmethod component-pathname ((component component))
+  (let ((*default-pathname-defaults* (component-parent-pathname component)))
+    (merge-pathnames (component-relative-pathname component))))
+
+(defgeneric component-property (component property))
+
+(defmethod component-property ((c component) property)
+  (cdr (assoc property (slot-value c 'properties) :test #'equal)))
+
+(defgeneric (setf component-property) (new-value component property))
+
+(defmethod (setf component-property) (new-value (c component) property)
+  (let ((a (assoc property (slot-value c 'properties) :test #'equal)))
+    (if a
+	(setf (cdr a) new-value)
+	(setf (slot-value c 'properties)
+	      (acons property new-value (slot-value c 'properties))))))
+
+(defclass system (module)
+  ((description :accessor system-description :initarg :description)
+   (long-description
+    :accessor system-long-description :initarg :long-description)
+   (author :accessor system-author :initarg :author)
+   (maintainer :accessor system-maintainer :initarg :maintainer)
+   (licence :accessor system-licence :initarg :licence)))
+
+;;; version-satisfies
+
+;;; with apologies to christophe rhodes ...
+(defun split (string &optional max (ws '(#\Space #\Tab)))
+  (flet ((is-ws (char) (find char ws)))
+    (nreverse
+     (let ((list nil) (start 0) (words 0) end)
+       (loop
+	(when (and max (>= words (1- max)))
+	  (return (cons (subseq string start) list)))
+	(setf end (position-if #'is-ws string :start start))
+	(push (subseq string start end) list)
+	(incf words)
+	(unless end (return list))
+	(setf start (1+ end)))))))
+
+(defgeneric version-satisfies (component version))
+
+(defmethod version-satisfies ((c component) version)
+  (unless (and version (slot-boundp c 'version))
+    (return-from version-satisfies t))
+  (let ((x (mapcar #'parse-integer
+		   (split (component-version c) nil '(#\.))))
+	(y (mapcar #'parse-integer
+		   (split version nil '(#\.)))))
+    (labels ((bigger (x y)
+	       (cond ((not y) t)
+		     ((not x) nil)
+		     ((> (car x) (car y)) t)
+		     ((= (car x) (car y))
+		      (bigger (cdr x) (cdr y))))))
+      (and (= (car x) (car y))
+	   (or (not (cdr y)) (bigger (cdr x) (cdr y)))))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; finding systems
+
+(defvar *defined-systems* (make-hash-table :test 'equal))
+(defun coerce-name (name)
+   (typecase name
+     (component (component-name name))
+     (symbol (string-downcase (symbol-name name)))
+     (string name)
+     (t (sysdef-error "~@<invalid component designator ~A~@:>" name))))
+
+;;; for the sake of keeping things reasonably neat, we adopt a
+;;; convention that functions in this list are prefixed SYSDEF-
+
+(defvar *system-definition-search-functions*
+  '(sysdef-central-registry-search))
+
+(defun system-definition-pathname (system)
+  (some (lambda (x) (funcall x system))
+	*system-definition-search-functions*))
+	
+(defvar *central-registry*
+  '(*default-pathname-defaults*
+    #+nil "/home/dan/src/sourceforge/cclan/asdf/systems/"
+    #+nil "telent:asdf;systems;"))
+
+(defun sysdef-central-registry-search (system)
+  (let ((name (coerce-name system)))
+    (block nil
+      (dolist (dir *central-registry*)
+	(let* ((defaults (eval dir))
+	       (file (and defaults
+			  (make-pathname
+			   :defaults defaults :version :newest
+			   :name name :type "asd" :case :local))))
+	  (if (and file (probe-file file))
+	      (return file)))))))
+
+
+(defun find-system (name &optional (error-p t))
+  (let* ((name (coerce-name name))
+	 (in-memory (gethash name *defined-systems*))
+	 (on-disk (system-definition-pathname name)))	 
+    (when (and on-disk
+	       (or (not in-memory)
+		   (< (car in-memory) (file-write-date on-disk))))
+      (let ((*package* (make-package (gensym #.(package-name *package*))
+				     :use '(:cl :asdf))))
+	(format *verbose-out*
+		"~&~@<; ~@;loading system definition from ~A into ~A~@:>~%"
+		;; FIXME: This wants to be (ENOUGH-NAMESTRING
+		;; ON-DISK), but CMUCL barfs on that.
+		on-disk
+		*package*)
+	(load on-disk)))
+    (let ((in-memory (gethash name *defined-systems*)))
+      (if in-memory
+	  (progn (if on-disk (setf (car in-memory) (file-write-date on-disk)))
+		 (cdr in-memory))
+	  (if error-p (error 'missing-component :requires name))))))
+
+(defun register-system (name system)
+  (format *verbose-out* "~&~@<; ~@;registering ~A as ~A~@:>~%" system name)
+  (setf (gethash (coerce-name  name) *defined-systems*)
+	(cons (get-universal-time) system)))
+
+(defun system-registered-p (name)
+  (gethash (coerce-name name) *defined-systems*))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; finding components
+
+(defgeneric find-component (module name &optional version)
+  (:documentation "Finds the component with name NAME present in the
+MODULE module; if MODULE is nil, then the component is assumed to be a
+system."))
+
+(defmethod find-component ((module module) name &optional version)
+  (if (slot-boundp module 'components)
+      (let ((m (find name (module-components module)
+		     :test #'equal :key #'component-name)))
+	(if (and m (version-satisfies m version)) m))))
+	    
+
+;;; a component with no parent is a system
+(defmethod find-component ((module (eql nil)) name &optional version)
+  (let ((m (find-system name nil)))
+    (if (and m (version-satisfies m version)) m)))
+
+;;; component subclasses
+
+(defclass source-file (component) ())
+
+(defclass cl-source-file (source-file) ())
+(defclass c-source-file (source-file) ())
+(defclass java-source-file (source-file) ())
+(defclass static-file (source-file) ())
+(defclass doc-file (static-file) ())
+(defclass html-file (doc-file) ())
+
+(defgeneric source-file-type (component system))
+(defmethod source-file-type ((c cl-source-file) (s module)) "lisp")
+(defmethod source-file-type ((c c-source-file) (s module)) "c")
+(defmethod source-file-type ((c java-source-file) (s module)) "java")
+(defmethod source-file-type ((c html-file) (s module)) "html")
+(defmethod source-file-type ((c static-file) (s module)) nil)
+
+(defmethod component-relative-pathname ((component source-file))
+  (let* ((*default-pathname-defaults* (component-parent-pathname component))
+	 (name-type
+	  (make-pathname
+	   :name (component-name component)
+	   :type (source-file-type component
+				   (component-system component)))))
+    (if (slot-value component 'relative-pathname)
+	(merge-pathnames
+	 (slot-value component 'relative-pathname)
+	 name-type)
+	name-type)))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; operations
+
+;;; one of these is instantiated whenever (operate ) is called
+
+(defclass operation ()
+  ((forced :initform nil :initarg :force :accessor operation-forced)
+   (original-initargs :initform nil :initarg :original-initargs
+		      :accessor operation-original-initargs)
+   (visited-nodes :initform nil :accessor operation-visited-nodes)
+   (visiting-nodes :initform nil :accessor operation-visiting-nodes)
+   (parent :initform nil :initarg :parent :accessor operation-parent)))
+
+(defmethod print-object ((o operation) stream)
+  (print-unreadable-object (o stream :type t :identity t)
+    (ignore-errors
+      (prin1 (operation-original-initargs o) stream))))
+
+(defmethod shared-initialize :after ((operation operation) slot-names
+				     &key force 
+				     &allow-other-keys)
+  (declare (ignore slot-names force))
+  ;; empty method to disable initarg validity checking
+  )
+
+(defgeneric perform (operation component))
+(defgeneric operation-done-p (operation component))
+(defgeneric explain (operation component))
+(defgeneric output-files (operation component))
+(defgeneric input-files (operation component))
+
+(defun node-for (o c)
+  (cons (class-name (class-of o)) c))
+
+(defgeneric operation-ancestor (operation)
+  (:documentation   "Recursively chase the operation's parent pointer until we get to the head of the tree"))
+
+(defmethod operation-ancestor ((operation operation))
+  (aif (operation-parent operation)
+       (operation-ancestor it)
+       operation))
+
+
+(defun make-sub-operation (c o dep-c dep-o)
+  (let* ((args (copy-list (operation-original-initargs o)))
+	 (force-p (getf args :force)))
+    ;; note explicit comparison with T: any other non-NIL force value
+    ;; (e.g. :recursive) will pass through
+    (cond ((and (null (component-parent c))
+		(null (component-parent dep-c))
+		(not (eql c dep-c)))
+	   (when (eql force-p t)
+	     (setf (getf args :force) nil))
+	   (apply #'make-instance dep-o
+		  :parent o
+		  :original-initargs args args))
+	  ((subtypep (type-of o) dep-o)
+	   o)
+	  (t 
+	   (apply #'make-instance dep-o
+		  :parent o :original-initargs args args)))))
+
+
+(defgeneric visit-component (operation component data))
+
+(defmethod visit-component ((o operation) (c component) data)
+  (unless (component-visited-p o c)
+    (push (cons (node-for o c) data)
+	  (operation-visited-nodes (operation-ancestor o)))))
+
+(defgeneric component-visited-p (operation component))
+
+(defmethod component-visited-p ((o operation) (c component))
+  (assoc (node-for o c)
+	 (operation-visited-nodes (operation-ancestor o))
+	 :test 'equal))
+
+(defgeneric (setf visiting-component) (new-value operation component))
+
+(defmethod (setf visiting-component) (new-value operation component)
+  ;; MCL complains about unused lexical variables
+  (declare (ignorable new-value operation component)))
+
+(defmethod (setf visiting-component) (new-value (o operation) (c component))
+  (let ((node (node-for o c))
+	(a (operation-ancestor o)))
+    (if new-value
+	(pushnew node (operation-visiting-nodes a) :test 'equal)
+	(setf (operation-visiting-nodes a)
+	      (remove node  (operation-visiting-nodes a) :test 'equal)))))
+
+(defgeneric component-visiting-p (operation component))
+
+(defmethod component-visiting-p ((o operation) (c component))
+  (let ((node (cons o c)))
+    (member node (operation-visiting-nodes (operation-ancestor o))
+	    :test 'equal)))
+
+(defgeneric component-depends-on (operation component))
+
+(defmethod component-depends-on ((o operation) (c component))
+  (cdr (assoc (class-name (class-of o))
+	      (slot-value c 'in-order-to))))
+
+(defgeneric component-self-dependencies (operation component))
+
+(defmethod component-self-dependencies ((o operation) (c component))
+  (let ((all-deps (component-depends-on o c)))
+    (remove-if-not (lambda (x)
+		     (member (component-name c) (cdr x) :test #'string=))
+		   all-deps)))
+    
+(defmethod input-files ((operation operation) (c component))
+  (let ((parent (component-parent c))
+	(self-deps (component-self-dependencies operation c)))
+    (if self-deps
+	(mapcan (lambda (dep)
+		  (destructuring-bind (op name) dep
+		    (output-files (make-instance op)
+				  (find-component parent name))))
+		self-deps)
+	;; no previous operations needed?  I guess we work with the 
+	;; original source file, then
+	(list (component-pathname c)))))
+
+(defmethod input-files ((operation operation) (c module)) nil)
+
+(defmethod operation-done-p ((o operation) (c component))
+  (let ((out-files (output-files o c))
+	(in-files (input-files o c)))
+    (cond ((and (not in-files) (not out-files))
+	   ;; arbitrary decision: an operation that uses nothing to
+	   ;; produce nothing probably isn't doing much 
+	   t)
+	  ((not out-files) 
+	   (let ((op-done
+		  (gethash (type-of o)
+			   (component-operation-times c))))
+	     (and op-done
+		  (>= op-done
+		      (or (apply #'max
+				 (mapcar #'file-write-date in-files)) 0)))))
+	  ((not in-files) nil)
+	  (t
+	   (and
+	    (every #'probe-file out-files)
+	    (> (apply #'min (mapcar #'file-write-date out-files))
+	       (apply #'max (mapcar #'file-write-date in-files)) ))))))
+
+;;; So you look at this code and think "why isn't it a bunch of
+;;; methods".  And the answer is, because standard method combination
+;;; runs :before methods most->least-specific, which is back to front
+;;; for our purposes.  And CLISP doesn't have non-standard method
+;;; combinations, so let's keep it simple and aspire to portability
+
+(defgeneric traverse (operation component))
+(defmethod traverse ((operation operation) (c component))
+  (let ((forced nil))
+    (labels ((do-one-dep (required-op required-c required-v)
+	       (let* ((dep-c (or (find-component
+				  (component-parent c)
+				  ;; XXX tacky.  really we should build the
+				  ;; in-order-to slot with canonicalized
+				  ;; names instead of coercing this late
+				  (coerce-name required-c) required-v)
+				 (error 'missing-dependency :required-by c
+					:version required-v
+					:requires required-c)))
+		      (op (make-sub-operation c operation dep-c required-op)))
+		 (traverse op dep-c)))	   	   
+	     (do-dep (op dep)
+	       (cond ((eq op 'feature)
+		      (or (member (car dep) *features*)
+			  (error 'missing-dependency :required-by c
+				 :requires (car dep) :version nil)))
+		     (t
+		      (dolist (d dep)
+                        (cond ((consp d)
+                               (assert (string-equal
+                                        (symbol-name (first d))
+                                        "VERSION"))
+                               (appendf forced
+					(do-one-dep op (second d) (third d))))
+                              (t
+                               (appendf forced (do-one-dep op d nil)))))))))
+      (aif (component-visited-p operation c)
+	   (return-from traverse
+	     (if (cdr it) (list (cons 'pruned-op c)) nil)))
+      ;; dependencies
+      (if (component-visiting-p operation c)
+	  (error 'circular-dependency :components (list c)))
+      (setf (visiting-component operation c) t)
+      (loop for (required-op . deps) in (component-depends-on operation c)
+	    do (do-dep required-op deps))
+      ;; constituent bits
+      (let ((module-ops
+	     (when (typep c 'module)
+	       (let ((at-least-one nil)
+		     (forced nil)
+		     (error nil))
+		 (loop for kid in (module-components c)
+		       do (handler-case
+			      (appendf forced (traverse operation kid ))
+			    (missing-dependency (condition)
+			      (if (eq (module-if-component-dep-fails c) :fail)
+				  (error condition))
+			      (setf error condition))
+			    (:no-error (c)
+			      (declare (ignore c))
+			      (setf at-least-one t))))
+		 (when (and (eq (module-if-component-dep-fails c) :try-next)
+			    (not at-least-one))
+		   (error error))
+		 forced))))
+	;; now the thing itself
+	(when (or forced module-ops
+		  (not (operation-done-p operation c))
+		  (let ((f (operation-forced (operation-ancestor operation))))
+		    (and f (or (not (consp f))
+			       (member (component-name
+					(operation-ancestor operation))
+				       (mapcar #'coerce-name f)
+				       :test #'string=)))))
+	  (let ((do-first (cdr (assoc (class-name (class-of operation))
+				      (slot-value c 'do-first)))))
+	    (loop for (required-op . deps) in do-first
+		  do (do-dep required-op deps)))
+	  (setf forced (append (delete 'pruned-op forced :key #'car)
+			       (delete 'pruned-op module-ops :key #'car)
+			       (list (cons operation c))))))
+      (setf (visiting-component operation c) nil)
+      (visit-component operation c (and forced t))
+      forced)))
+  
+
+(defmethod perform ((operation operation) (c source-file))
+  (sysdef-error
+   "~@<required method PERFORM not implemented ~
+    for operation ~A, component ~A~@:>"
+   (class-of operation) (class-of c)))
+
+(defmethod perform ((operation operation) (c module))
+  nil)
+
+(defmethod explain ((operation operation) (component component))
+  (format *verbose-out* "~&;;; ~A on ~A~%" operation component))
+
+;;; compile-op
+
+(defclass compile-op (operation)
+  ((proclamations :initarg :proclamations :accessor compile-op-proclamations :initform nil)
+   (on-warnings :initarg :on-warnings :accessor operation-on-warnings
+		:initform *compile-file-warnings-behaviour*)
+   (on-failure :initarg :on-failure :accessor operation-on-failure
+	       :initform *compile-file-failure-behaviour*)))
+
+(defmethod perform :before ((operation compile-op) (c source-file))
+  (map nil #'ensure-directories-exist (output-files operation c)))
+
+(defmethod perform :after ((operation operation) (c component))
+  (setf (gethash (type-of operation) (component-operation-times c))
+	(get-universal-time)))
+
+;;; perform is required to check output-files to find out where to put
+;;; its answers, in case it has been overridden for site policy
+(defmethod perform ((operation compile-op) (c cl-source-file))
+  #-:broken-fasl-loader
+  (let ((source-file (component-pathname c))
+	(output-file (car (output-files operation c))))
+    (multiple-value-bind (output warnings-p failure-p)
+	(compile-file source-file
+		      :output-file output-file)
+      ;(declare (ignore output))
+      (when warnings-p
+	(case (operation-on-warnings operation)
+	  (:warn (warn
+		  "~@<COMPILE-FILE warned while performing ~A on ~A.~@:>"
+		  operation c))
+	  (:error (error 'compile-warned :component c :operation operation))
+	  (:ignore nil)))
+      (when failure-p
+	(case (operation-on-failure operation)
+	  (:warn (warn
+		  "~@<COMPILE-FILE failed while performing ~A on ~A.~@:>"
+		  operation c))
+	  (:error (error 'compile-failed :component c :operation operation))
+	  (:ignore nil)))
+      (unless output
+	(error 'compile-error :component c :operation operation)))))
+
+(defmethod output-files ((operation compile-op) (c cl-source-file))
+  #-:broken-fasl-loader (list (compile-file-pathname (component-pathname c)))
+  #+:broken-fasl-loader (list (component-pathname c)))
+
+(defmethod perform ((operation compile-op) (c static-file))
+  nil)
+
+(defmethod output-files ((operation compile-op) (c static-file))
+  nil)
+
+;;; load-op
+
+(defclass load-op (operation) ())
+
+(defmethod perform ((o load-op) (c cl-source-file))
+  (mapcar #'load (input-files o c)))
+
+(defmethod perform ((operation load-op) (c static-file))
+  nil)
+(defmethod operation-done-p ((operation load-op) (c static-file))
+  t)
+
+(defmethod output-files ((o operation) (c component))
+  nil)
+
+(defmethod component-depends-on ((operation load-op) (c component))
+  (cons (list 'compile-op (component-name c))
+        (call-next-method)))
+
+;;; load-source-op
+
+(defclass load-source-op (operation) ())
+
+(defmethod perform ((o load-source-op) (c cl-source-file))
+  (let ((source (component-pathname c)))
+    (setf (component-property c 'last-loaded-as-source)
+          (and (load source)
+               (get-universal-time)))))
+
+(defmethod perform ((operation load-source-op) (c static-file))
+  nil)
+
+(defmethod output-files ((operation load-source-op) (c component))
+  nil)
+
+;;; FIXME: we simply copy load-op's dependencies.  this is Just Not Right.
+(defmethod component-depends-on ((o load-source-op) (c component))
+  (let ((what-would-load-op-do (cdr (assoc 'load-op
+                                           (slot-value c 'in-order-to)))))
+    (mapcar (lambda (dep)
+              (if (eq (car dep) 'load-op)
+                  (cons 'load-source-op (cdr dep))
+                  dep))
+            what-would-load-op-do)))
+
+(defmethod operation-done-p ((o load-source-op) (c source-file))
+  (if (or (not (component-property c 'last-loaded-as-source))
+	  (> (file-write-date (component-pathname c))
+	     (component-property c 'last-loaded-as-source)))
+      nil t))
+
+(defclass test-op (operation) ())
+
+(defmethod perform ((operation test-op) (c component))
+  nil)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; invoking operations
+
+(defun operate (operation-class system &rest args)
+  (let* ((op (apply #'make-instance operation-class
+		    :original-initargs args args))
+	 (*verbose-out*
+	  (if (getf args :verbose t)
+	      *trace-output*
+	      (make-broadcast-stream)))
+	 (system (if (typep system 'component) system (find-system system)))
+	 (steps (traverse op system)))
+    (with-compilation-unit ()
+      (loop for (op . component) in steps do
+	    (loop
+	     (restart-case 
+		 (progn (perform op component)
+			(return))
+	       (retry ()
+		 :report
+		 (lambda (s)
+		   (format s "~@<Retry performing ~S on ~S.~@:>"
+			   op component)))
+	       (accept ()
+		 :report
+		 (lambda (s)
+		   (format s
+			   "~@<Continue, treating ~S on ~S as ~
+                            having been successful.~@:>"
+			   op component))
+		 (setf (gethash (type-of op)
+				(component-operation-times component))
+		       (get-universal-time))
+		 (return))))))))
+
+(defun oos (&rest args)
+  "Alias of OPERATE function"
+  (apply #'operate args))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; syntax
+
+(defun remove-keyword (key arglist)
+  (labels ((aux (key arglist)
+	     (cond ((null arglist) nil)
+		   ((eq key (car arglist)) (cddr arglist))
+		   (t (cons (car arglist) (cons (cadr arglist)
+						(remove-keyword
+						 key (cddr arglist))))))))
+    (aux key arglist)))
+
+(defmacro defsystem (name &body options)
+  (destructuring-bind (&key pathname (class 'system) &allow-other-keys) options
+    (let ((component-options (remove-keyword :class options)))
+      `(progn
+	;; system must be registered before we parse the body, otherwise
+	;; we recur when trying to find an existing system of the same name
+	;; to reuse options (e.g. pathname) from
+	(let ((s (system-registered-p ',name)))
+	  (cond ((and s (eq (type-of (cdr s)) ',class))
+		 (setf (car s) (get-universal-time)))
+		(s
+		 #+clisp
+		 (sysdef-error "Cannot redefine the existing system ~A with a different class" s)
+		 #-clisp
+		 (change-class (cdr s) ',class))
+		(t
+		 (register-system (quote ,name)
+				  (make-instance ',class :name ',name)))))
+	(parse-component-form nil (apply
+				   #'list
+				   :module (coerce-name ',name)
+				   :pathname
+				   (or ,pathname
+				       (pathname-sans-name+type
+					(resolve-symlinks  *load-truename*))
+				       *default-pathname-defaults*)
+				   ',component-options))))))
+  
+
+(defun class-for-type (parent type)
+  (let ((class 
+	 (find-class
+	  (or (find-symbol (symbol-name type) *package*)
+	      (find-symbol (symbol-name type) #.(package-name *package*)))
+	  nil)))
+    (or class
+	(and (eq type :file)
+	     (or (module-default-component-class parent)
+		 (find-class 'cl-source-file)))
+	(sysdef-error "~@<don't recognize component type ~A~@:>" type))))
+
+(defun maybe-add-tree (tree op1 op2 c)
+  "Add the node C at /OP1/OP2 in TREE, unless it's there already.
+Returns the new tree (which probably shares structure with the old one)"
+  (let ((first-op-tree (assoc op1 tree)))
+    (if first-op-tree
+	(progn
+	  (aif (assoc op2 (cdr first-op-tree))
+	       (if (find c (cdr it))
+		   nil
+		   (setf (cdr it) (cons c (cdr it))))
+	       (setf (cdr first-op-tree)
+		     (acons op2 (list c) (cdr first-op-tree))))
+	  tree)
+	(acons op1 (list (list op2 c)) tree))))
+		
+(defun union-of-dependencies (&rest deps)
+  (let ((new-tree nil))
+    (dolist (dep deps)
+      (dolist (op-tree dep)
+	(dolist (op  (cdr op-tree))
+	  (dolist (c (cdr op))
+	    (setf new-tree
+		  (maybe-add-tree new-tree (car op-tree) (car op) c))))))
+    new-tree))
+
+
+(defun remove-keys (key-names args)
+  (loop for ( name val ) on args by #'cddr
+	unless (member (symbol-name name) key-names 
+		       :key #'symbol-name :test 'equal)
+	append (list name val)))
+
+(defvar *serial-depends-on*)
+
+(defun parse-component-form (parent options)
+  (destructuring-bind
+	(type name &rest rest &key
+	      ;; the following list of keywords is reproduced below in the
+	      ;; remove-keys form.  important to keep them in sync
+	      components pathname default-component-class
+	      perform explain output-files operation-done-p
+	      depends-on serial in-order-to
+	      ;; list ends
+	      &allow-other-keys) options
+    (check-component-input type name depends-on components in-order-to)
+    (let* ((other-args (remove-keys
+			'(components pathname default-component-class
+			  perform explain output-files operation-done-p
+			  depends-on serial in-order-to)
+			rest))
+	   (ret
+	    (or (find-component parent name)
+		(make-instance (class-for-type parent type)))))
+      (when (boundp '*serial-depends-on*)
+	(setf depends-on
+	      (concatenate 'list *serial-depends-on* depends-on)))
+      (apply #'reinitialize-instance
+	     ret
+	     :name (coerce-name name)
+	     :pathname pathname
+	     :parent parent
+	     other-args)
+      (when (typep ret 'module)
+	(setf (module-default-component-class ret)
+	      (or default-component-class
+		  (and (typep parent 'module)
+		       (module-default-component-class parent))))
+	(let ((*serial-depends-on* nil))
+	  (setf (module-components ret)
+		(loop for c-form in components
+		      for c = (parse-component-form ret c-form)
+		      collect c
+		      if serial
+		      do (push (component-name c) *serial-depends-on*)))))
+      
+      (setf (slot-value ret 'in-order-to)
+	    (union-of-dependencies
+	     in-order-to
+	     `((compile-op (compile-op , at depends-on))
+	       (load-op (load-op , at depends-on))))
+	    (slot-value ret 'do-first) `((compile-op (load-op , at depends-on))))
+      
+      (loop for (n v) in `((perform ,perform) (explain ,explain)
+			   (output-files ,output-files)
+			   (operation-done-p ,operation-done-p))
+	    do (map 'nil
+		    ;; this is inefficient as most of the stored
+		    ;; methods will not be for this particular gf n
+		    ;; But this is hardly performance-critical
+		    (lambda (m) (remove-method (symbol-function n) m))
+		    (component-inline-methods ret))
+	    when v
+	    do (destructuring-bind (op qual (o c) &body body) v
+		 (pushnew
+		  (eval `(defmethod ,n ,qual ((,o ,op) (,c (eql ,ret)))
+			  , at body))
+		  (component-inline-methods ret))))
+      ret)))
+
+(defun check-component-input (type name depends-on components in-order-to)
+  "A partial test of the values of a component."
+  (unless (listp depends-on)
+    (sysdef-error-component ":depends-on must be a list."
+			    type name depends-on))
+  (unless (listp components)
+    (sysdef-error-component ":components must be NIL or a list of components."
+			    type name components))
+  (unless (and (listp in-order-to) (listp (car in-order-to)))
+    (sysdef-error-component ":in-order-to must be NIL or a list of components."
+			   type name in-order-to)))
+
+(defun sysdef-error-component (msg type name value)
+  (sysdef-error (concatenate 'string msg
+			     "~&The value specified for ~(~A~) ~A is ~W")
+		type name value))
+
+(defun resolve-symlinks (path)
+  #-allegro (truename path)
+  #+allegro (excl:pathname-resolve-symbolic-links path)
+  )
+
+;;; optional extras
+
+;;; run-shell-command functions for other lisp implementations will be
+;;; gratefully accepted, if they do the same thing.  If the docstring
+;;; is ambiguous, send a bug report
+
+(defun run-shell-command (control-string &rest args)
+  "Interpolate ARGS into CONTROL-STRING as if by FORMAT, and
+synchronously execute the result using a Bourne-compatible shell, with
+output to *verbose-out*.  Returns the shell's exit code."
+  (let ((command (apply #'format nil control-string args)))
+    (format *verbose-out* "; $ ~A~%" command)
+    #+sbcl
+    (sb-impl::process-exit-code
+     (sb-ext:run-program  
+      "/bin/sh"
+      (list  "-c" command)
+      :input nil :output *verbose-out*))
+    
+    #+(or cmu scl)
+    (ext:process-exit-code
+     (ext:run-program  
+      "/bin/sh"
+      (list  "-c" command)
+      :input nil :output *verbose-out*))
+
+    #+allegro
+    (excl:run-shell-command command :input nil :output *verbose-out*)
+    
+    #+lispworks
+    (system:call-system-showing-output
+     command
+     :shell-type "/bin/sh"
+     :output-stream *verbose-out*)
+    
+    #+clisp				;XXX not exactly *verbose-out*, I know
+    (ext:run-shell-command  command :output :terminal :wait t)
+
+    #+openmcl
+    (nth-value 1
+	       (ccl:external-process-status
+		(ccl:run-program "/bin/sh" (list "-c" command)
+				 :input nil :output *verbose-out*
+				 :wait t)))
+    #+ecl ;; courtesy of Juan Jose Garcia Ripoll
+    (si:system command)
+    #-(or openmcl clisp lispworks allegro scl cmu sbcl ecl)
+    (error "RUN-SHELL-PROGRAM not implemented for this Lisp")
+    ))
+
+
+(defgeneric hyperdocumentation (package name doc-type))
+(defmethod hyperdocumentation ((package symbol) name doc-type)
+  (hyperdocumentation (find-package package) name doc-type))
+
+(defun hyperdoc (name doc-type)
+  (hyperdocumentation (symbol-package name) name doc-type))
+
+
+(pushnew :asdf *features*)
+
+#+sbcl
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (when (sb-ext:posix-getenv "SBCL_BUILDING_CONTRIB")
+    (pushnew :sbcl-hooks-require *features*)))
+
+#+(and sbcl sbcl-hooks-require)
+(progn
+  (defun module-provide-asdf (name)
+    (handler-bind ((style-warning #'muffle-warning))
+      (let* ((*verbose-out* (make-broadcast-stream))
+	     (system (asdf:find-system name nil)))
+	(when system
+	  (asdf:operate 'asdf:load-op name)
+	  t))))
+
+  (pushnew
+   '(merge-pathnames "systems/"
+     (truename (sb-ext:posix-getenv "SBCL_HOME")))
+   *central-registry*)
+  
+  (pushnew
+   '(merge-pathnames "site-systems/"
+     (truename (sb-ext:posix-getenv "SBCL_HOME")))
+   *central-registry*)
+  
+  (pushnew
+   '(merge-pathnames ".sbcl/systems/"
+     (user-homedir-pathname))
+   *central-registry*)
+  
+  (pushnew 'module-provide-asdf sb-ext:*module-provider-functions*))
+
+(provide 'asdf)

Added: bindings-pager.lisp
==============================================================================
--- (empty file)
+++ bindings-pager.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,408 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Tue Feb 12 14:02:07 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Bindings keys and mouse for pager mode
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+
+;;;,-----
+;;;| CONFIG - Pager bindings
+;;;`-----
+
+
+(define-pager-key ("F1" :mod-1) 'help-on-pager)
+
+(define-pager-key (#\g :control)
+    (defun b-pager-stop-all-pending-actions ()
+      "Stop all pending actions (actions like open in new workspace/group)"
+      (stop-all-pending-actions)
+      (pager-draw-display)))
+
+
+(define-pager-key ("Return") 'leave-pager-mode)
+(define-pager-key ("Escape") 'leave-pager-mode)
+
+(define-pager-key (#\b) 'banish-pointer)
+
+(define-pager-key ("Home") 'pager-select-first-workspace)
+(define-pager-key ("End") 'pager-select-last-workspace)
+
+
+(define-pager-key ("Tab" :mod-1) 'pager-rotate-window-up)
+(define-pager-key ("Tab" :mod-1 :shift) 'pager-rotate-window-down)
+
+(define-pager-key ("Escape" :control :shift) 'pager-delete-current-window)
+(define-pager-key ("Escape" :mod-1 :control :shift) 'pager-destroy-current-window)
+(define-pager-key ("Escape" :control) 'pager-remove-current-window)
+(define-pager-key ("Escape" :shift) 'pager-unhide-all-windows-in-current-group)
+
+(define-pager-key (#\g) 'pager-create-new-default-group)
+(define-pager-key (#\g :mod-1) 'pager-remove-current-group)
+
+(define-pager-key (#\w) 'pager-create-new-default-workspace)
+(define-pager-key (#\w :mod-1) 'pager-remove-current-workspace)
+
+(define-pager-key (#\x) 'pager-swap-workspace)
+(define-pager-key (#\x :control) 'pager-swap-group)
+(define-pager-key (#\x :mod-1) 'pager-swap-window)
+
+(define-pager-key (#\t) 'pager-tile-workspace-vertically)
+(define-pager-key (#\t :shift) 'pager-tile-workspace-horizontally)
+
+(define-pager-key (#\y) 'pager-tile-current-workspace-to)
+(define-pager-key (#\y :control) 'pager-explode-current-group)
+(define-pager-key (#\y :control :shift) 'pager-implode-current-group)
+
+
+;;;,-----
+;;;| Moving/Resizing groups
+;;;`-----
+(define-pager-key (#\p)
+    (defun b-pager-pack-group-on-next-arrow ()
+      "Pack group on next arrow action"
+      (setf *pager-arrow-action* :pack)
+      (pager-draw-display)))
+
+(define-pager-key (#\m :shift)
+    (defun b-pager-move-group-on-next-arrow ()
+      "Move group on next arrow action"
+      (setf *pager-arrow-action* :move)
+      (pager-draw-display)))
+
+(define-pager-key (#\r)
+    (defun b-pager-resize-half-group-on-next-arrow ()
+      "Resize group to its half width or heigth on next arrow action"
+      (setf *pager-arrow-action* :resize-half)
+      (pager-draw-display)))
+
+(define-pager-key (#\r :shift)
+    (defun b-pager-resize-group-on-next-arrow ()
+      "Resize group on next arrow action"
+      (setf *pager-arrow-action* :resize)
+      (pager-draw-display)))
+
+
+(defun pager-fill-group-in-all-directions ()
+  "Fill group in all directions"
+  (pager-fill-group-up)
+  (pager-fill-group-left)
+  (pager-fill-group-right)
+  (pager-fill-group-down))
+
+
+(define-pager-key (#\f)
+    (defun b-pager-fill-group ()
+      "Fill group on next arrow action (fill in all directions on second f keypress)"
+      (case *pager-arrow-action*
+	(:fill (pager-fill-group-in-all-directions)
+	       (setf *pager-arrow-action* nil))
+	(t (setf *pager-arrow-action* :fill)))
+      (pager-draw-display)))
+
+(define-pager-key (#\f :mod-1) 'pager-fill-group-in-all-directions)
+
+(define-pager-key (#\f :shift)
+    (defun b-pager-fill-group-vert ()
+      "Fill group vertically"
+      (pager-fill-group-up)
+      (pager-fill-group-down)))
+
+(define-pager-key (#\f :control)
+    (defun b-pager-fill-group-horiz ()
+      "Fill group horizontally"
+      (pager-fill-group-left)
+      (pager-fill-group-right)))
+
+
+(define-pager-key (#\l) 'pager-resize-minimal-group)
+(define-pager-key (#\l :mod-1) 'pager-resize-down-group)
+
+
+
+
+(define-pager-key ("Up")
+    (defun b-pager-move-or-pack-up ()
+      "Move cursor, pack, fill or resize group up"
+      (let ((action *pager-arrow-action*))
+	(setf *pager-arrow-action* nil)
+	(case action
+	  (:pack (pager-pack-group-up))
+	  (:fill (pager-fill-group-up))
+	  (:move (pager-move-group 0 -10))
+	  (:resize (pager-resize-group 0 -10))
+	  (:resize-half (pager-resize-half-height-up))
+	  (t (pager-select-previous-line))))))
+
+(define-pager-key ("Down")
+    (defun b-pager-move-or-pack-down ()
+      "Move cursor, pack, fill or resize group down"
+      (let ((action *pager-arrow-action*))
+	(setf *pager-arrow-action* nil)
+	(case action
+	  (:pack (pager-pack-group-down))
+	  (:fill (pager-fill-group-down))
+	  (:move (pager-move-group 0 10))
+	  (:resize (pager-resize-group 0 10))
+	  (:resize-half (pager-resize-half-height-down))
+	  (t (pager-select-next-line))))))
+
+(define-pager-key ("Right")
+    (defun b-pager-move-or-pack-right ()
+      "Move cursor, pack, fill or resize group right"
+      (let ((action *pager-arrow-action*))
+	(setf *pager-arrow-action* nil)
+	(case action
+	  (:pack (pager-pack-group-right))
+	  (:fill (pager-fill-group-right))
+	  (:move (pager-move-group 10 0))
+	  (:resize (pager-resize-group 10 0))
+	  (:resize-half (pager-resize-half-width-right))
+	  (t (pager-select-workspace-right))))))
+
+(define-pager-key ("Left")
+    (defun b-pager-move-or-pack-left ()
+      "Move cursor, pack, fill or resize group left"
+      (let ((action *pager-arrow-action*))
+	(setf *pager-arrow-action* nil)
+	(case action
+	  (:pack (pager-pack-group-left))
+	  (:fill (pager-fill-group-left))
+	  (:move (pager-move-group -10 0))
+	  (:resize (pager-resize-group -10 0))
+	  (:resize-half (pager-resize-half-width-left))
+	  (t (pager-select-workspace-left))))))
+
+(define-pager-key (#\m) 'pager-center-group)
+
+
+(define-pager-key ("Up" :mod-1)
+    (defun b-pager-move-up ()
+      "Move group up"
+      (pager-move-group 0 -10)))
+
+(define-pager-key ("Down" :mod-1)
+    (defun b-pager-move-down ()
+      "Move group down"
+      (pager-move-group 0 +10)))
+
+(define-pager-key ("Right" :mod-1)
+    (defun b-pager-move-right ()
+      "Move group right"
+      (pager-move-group +10 0)))
+
+(define-pager-key ("Left" :mod-1)
+    (defun b-pager-move-left ()
+      "Move group left"
+      (pager-move-group -10 0)))
+
+
+(define-pager-key ("Up" :mod-1 :control)
+    (defun b-pager-resize-up ()
+      "Resize group up"
+      (pager-resize-group 0 -10)))
+
+(define-pager-key ("Down" :mod-1 :control)
+    (defun b-pager-resize-down ()
+      "Resize group down"
+      (pager-resize-group 0 +10)))
+
+(define-pager-key ("Right" :mod-1 :control)
+    (defun b-pager-resize-right ()
+      "Resize group right"
+      (pager-resize-group +10 0)))
+
+(define-pager-key ("Left" :mod-1 :control)
+    (defun b-pager-resize-left ()
+      "Resize group left"
+      (pager-resize-group -10 0)))
+
+
+(define-pager-key ("Left" :shift) 'pager-move-group-on-previous-workspace)
+(define-pager-key ("Right" :shift) 'pager-move-group-on-next-workspace)
+(define-pager-key ("Down" :shift) 'pager-move-window-on-next-line)
+(define-pager-key ("Up" :shift) 'pager-move-window-on-previous-line)
+
+(define-pager-key ("Left" :shift :control) 'pager-copy-group-on-previous-workspace)
+(define-pager-key ("Right" :shift :control) 'pager-copy-group-on-next-workspace)
+
+
+(defmacro define-pager-focus-workspace-by-number (key number)
+  "Define a pager key to focus a workspace by its number"
+  `(define-pager-key ,key
+       (defun ,(create-symbol (format nil "b-pager-focus-workspace-~A" number)) ()
+	 ,(format nil "Focus workspace ~A" number)
+	 (pager-select-workspace-by-number ,number))))
+
+
+(define-pager-focus-workspace-by-number (#\1 :mod-1) 1)
+(define-pager-focus-workspace-by-number (#\2 :mod-1) 2)
+(define-pager-focus-workspace-by-number (#\3 :mod-1) 3)
+(define-pager-focus-workspace-by-number (#\4 :mod-1) 4)
+(define-pager-focus-workspace-by-number (#\5 :mod-1) 5)
+(define-pager-focus-workspace-by-number (#\6 :mod-1) 6)
+(define-pager-focus-workspace-by-number (#\7 :mod-1) 7)
+(define-pager-focus-workspace-by-number (#\8 :mod-1) 8)
+(define-pager-focus-workspace-by-number (#\9 :mod-1) 9)
+(define-pager-focus-workspace-by-number (#\0 :mod-1) 10)
+
+(define-pager-key (#\1 :control :mod-1) 'pager-renumber-workspaces)
+(define-pager-key (#\2 :control :mod-1) 'pager-sort-workspaces)
+
+
+
+;;;,-----
+;;;| Mouse actions
+;;;`-----
+(defparameter *pager-motion-object* nil)
+
+(defun mouse-pager-move-selected-group (root-x root-y)
+  "Move selected group"
+  (pager-mouse-motion root-x root-y)
+  (xgrab-pointer *root* 50 51)
+  (with-group-cursor (workspace group)
+    (setf *pager-motion-object* (list workspace group))))
+
+(defun mouse-pager-move-selected-group-release (root-x root-y)
+  "Release button"
+  (pager-mouse-motion root-x root-y)
+  (xgrab-pointer *root* 68 69)
+  (when *pager-motion-object*
+    (destructuring-bind (workspace group) *pager-motion-object*
+      (let ((new-workspace (find-cursor-workspace)))
+	(remove-group-in-workspace group workspace)
+	(add-group-in-workspace group new-workspace)))
+    (pager-draw-display))
+  (setf *pager-motion-object* nil))
+
+
+(defun mouse-pager-copy-selected-group (root-x root-y)
+  "Copy selected group"
+  (mouse-pager-move-selected-group root-x root-y))
+
+(defun mouse-pager-copy-selected-group-release (root-x root-y)
+  "Release button"
+  (pager-mouse-motion root-x root-y)
+  (xgrab-pointer *root* 68 69)
+  (when *pager-motion-object*
+    (destructuring-bind (workspace group) *pager-motion-object*
+      (let ((new-workspace (find-cursor-workspace)))
+	(unless (group-windows-already-in-workspace group new-workspace)
+	  (remove-group-in-workspace group workspace)
+	  (add-group-in-workspace (copy-group group) workspace)
+	  (add-group-in-workspace group new-workspace))))
+    (pager-draw-display))
+  (setf *pager-motion-object* nil))
+
+
+
+
+(defun mouse-pager-move-selected-window (root-x root-y)
+  "Move selected window"
+  (pager-mouse-motion root-x root-y)
+  (xgrab-pointer *root* 50 51)
+  (with-window-cursor (workspace group window)
+    (setf *pager-motion-object* (list group window))))
+
+(defun mouse-pager-move-selected-window-release (root-x root-y)
+  "Release button"
+  (pager-mouse-motion root-x root-y)
+  (xgrab-pointer *root* 68 69)
+  (when *pager-motion-object*
+    (destructuring-bind (group window) *pager-motion-object*
+      (with-group-cursor (new-workspace new-group)
+	(remove-window-in-group window group)
+	(add-window-in-group window new-group)
+	(add-null-window-in-empty-group group)
+	(remove-null-window-in-empty-group new-group)))
+    (pager-draw-display))
+  (setf *pager-motion-object* nil))
+
+
+(defun mouse-pager-copy-selected-window (root-x root-y)
+  "Copy selected window"
+  (mouse-pager-move-selected-window root-x root-y))
+  
+(defun mouse-pager-copy-selected-window-release (root-x root-y)
+  "Release button"
+  (pager-mouse-motion root-x root-y)
+  (xgrab-pointer *root* 68 69)
+  (when *pager-motion-object*
+    (destructuring-bind (group window) *pager-motion-object*
+      (with-group-cursor (new-workspace new-group)
+	(unless (window-already-in-workspace window new-workspace)
+	  (add-window-in-group window new-group)
+	  (add-null-window-in-empty-group group)
+	  (remove-null-window-in-empty-group new-group))))
+    (pager-draw-display))
+  (setf *pager-motion-object* nil))
+
+
+(defun mouse-pager-rotate-window-up (root-x root-y)
+  "Rotate up windows in selected group"
+  (pager-mouse-motion root-x root-y)
+  (pager-rotate-window-up))
+
+(defun mouse-pager-rotate-window-down (root-x root-y)
+  "Rotate down windows in selected group"
+  (pager-mouse-motion root-x root-y)
+  (pager-rotate-window-down))
+
+
+
+(defun pager-mouse-motion (root-x root-y)
+  "Select workspaces"
+  (let ((num (mod (truncate (/ root-x *pww*)) (length *workspace-list*)))
+	(line (max (truncate (/ (+ root-y (- *psl*) *plh* -3) *plh*)) 0)))
+    (unless (= num (pcursor-workspace *pcursor*))
+      (pager-draw-cursor)
+      (setf (pcursor-workspace *pcursor*) num)
+      (pager-draw-cursor))
+    (unless (= line (pcursor-line *pcursor*))
+      (pager-draw-cursor t)
+      (setf (pcursor-line *pcursor*) line)
+      (pager-draw-cursor t))))
+
+
+
+
+
+(define-pager-mouse-action (1) 'mouse-pager-move-selected-group
+  'mouse-pager-move-selected-group-release)
+(define-pager-mouse-action (1 :control) 'mouse-pager-copy-selected-group
+  'mouse-pager-copy-selected-group-release)
+
+(define-pager-mouse-action (2) 'mouse-leave-pager-mode nil)
+
+(define-pager-mouse-action (3) 'mouse-pager-move-selected-window
+  'mouse-pager-move-selected-window-release)
+(define-pager-mouse-action (3 :control) 'mouse-pager-copy-selected-window
+  'mouse-pager-copy-selected-window-release)
+
+(define-pager-mouse-action (4) 'mouse-pager-rotate-window-up nil)
+(define-pager-mouse-action (5) 'mouse-pager-rotate-window-down nil)
+
+(define-pager-mouse-action ('Motion) 'pager-mouse-motion nil)

Added: bindings-second-mode.fas
==============================================================================
--- (empty file)
+++ bindings-second-mode.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,317 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 30 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 46 (DEFUN GROUP-ADDING-MENU NIL ...)-2|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-ADDING-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-ADDING-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\a |CLFSWM|::|ADD-DEFAULT-GROUP|)
+         (#\p |CLFSWM|::|ADD-PLACED-GROUP|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Adding group menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|48 52 (DEFUN GROUP-LAYOUT-MENU NIL ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-LAYOUT-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-LAYOUT-MENU|
+       #51Y(00 00 00 00 00 00 00 00 06 01 6B 00 01 03 C6 F9 1B 13 87 03 02 DC
+            AE 73 02 35 71 29 AF 7B 02 84 00 83 03 85 01 AF 8D 94 69 AC 31 A6
+            16 03 F8 2F 03 19 01)
+       (|CLFSWM|::|*LAYOUT-LIST*| 0. 97. |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Group layout menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|58 61 (DEFUN GROUP-PACK-MENU NIL ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-PACK-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-PACK-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       ((("Up" |CLFSWM|::|GROUP-PACK-UP|) ("Down" |CLFSWM|::|GROUP-PACK-DOWN|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Group pack menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|64 68 (DEFUN GROUP-MOVEMENT-MENU NIL ...)-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-MOVEMENT-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-MOVEMENT-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\p |CLFSWM|::|GROUP-PACK-MENU|) (#\f |CLFSWM|::|GROUP-FILL-MENU|)
+         (#\r |CLFSWM|::|GROUP-RESIZE-MENU|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Group movement menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|71 74 (DEFUN GROUP-PACK-UP NIL ...)-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-PACK-UP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-PACK-UP|
+       #19Y(00 00 00 00 00 00 00 00 06 01 DA 38 01 31 84 2E 01 19 01)
+       (|CLFSWM|::|PACK-UP| |CLFSWM|::|GROUP-MOVEMENT-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Pack group up"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|76 79 (DEFUN GROUP-PACK-DOWN NIL ...)-7|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-PACK-DOWN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-PACK-DOWN|
+       #19Y(00 00 00 00 00 00 00 00 06 01 DA 38 01 31 84 2E 01 19 01)
+       (|CLFSWM|::|PACK-DOWN| |CLFSWM|::|GROUP-MOVEMENT-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Pack group down"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|87 93 (DEFUN ACTION-BY-NAME-MENU NIL ...)-8|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|ACTION-BY-NAME-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|ACTION-BY-NAME-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\f |CLFSWM|::|FOCUS-GROUP-BY-NAME|)
+         (#\o |CLFSWM|::|OPEN-GROUP-BY-NAME|)
+         (#\d |CLFSWM|::|DELETE-GROUP-BY-NAME|)
+         (#\m |CLFSWM|::|MOVE-CURRENT-CHILD-BY-NAME|)
+         (#\c |CLFSWM|::|COPY-CURRENT-CHILD-BY-NAME|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Actions by name menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|95 101 (DEFUN ACTION-BY-NUMBER-MENU NIL ...)-9|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|ACTION-BY-NUMBER-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|ACTION-BY-NUMBER-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\f |CLFSWM|::|FOCUS-GROUP-BY-NUMBER|)
+         (#\o |CLFSWM|::|OPEN-GROUP-BY-NUMBER|)
+         (#\d |CLFSWM|::|DELETE-GROUP-BY-NUMBER|)
+         (#\m |CLFSWM|::|MOVE-CURRENT-CHILD-BY-NUMBER|)
+         (#\c |CLFSWM|::|COPY-CURRENT-CHILD-BY-NUMBER|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Actions by number menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|104 108 (DEFUN GROUP-MENU NIL ...)-10|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\a |CLFSWM|::|GROUP-ADDING-MENU|)
+         (#\l |CLFSWM|::|GROUP-LAYOUT-MENU|)
+         (#\m |CLFSWM|::|GROUP-MOVEMENT-MENU|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Group menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|112 119 (DEFUN SELECTION-MENU NIL ...)-11|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECTION-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECTION-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\x |CLFSWM|::|CUT-CURRENT-CHILD|)
+         (#\c |CLFSWM|::|COPY-CURRENT-CHILD|) (#\v |CLFSWM|::|PASTE-SELECTION|)
+         (#\p |CLFSWM|::|PASTE-SELECTION-NO-CLEAR|)
+         ("Delete" |CLFSWM|::|REMOVE-CURRENT-CHILD|)
+         (#\z |CLFSWM|::|CLEAR-SELECTION|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Selection menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|122 126 (DEFUN UTILITY-MENU NIL ...)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|UTILITY-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UTILITY-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\i |CLFSWM|::|IDENTIFY-KEY|)
+         (#\: |CLFSWM|::|EVAL-FROM-QUERY-STRING|)
+         (#\! |CLFSWM|::|RUN-PROGRAM-FROM-QUERY-STRING|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Utility menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|128 135 (DEFUN MAIN-MENU NIL ...)-13|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MAIN-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MAIN-MENU| #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\g |CLFSWM|::|GROUP-MENU|) (#\s |CLFSWM|::|SELECTION-MENU|)
+         (#\n |CLFSWM|::|ACTION-BY-NAME-MENU|)
+         (#\u |CLFSWM|::|ACTION-BY-NUMBER-MENU|)
+         (#\y |CLFSWM|::|UTILITY-MENU|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Open the main menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|142 142 (DEFINE-SECOND-KEY ("F1" :MOD-1) 'HELP-ON-SECOND-MODE)-14|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("F1" 8. |CLFSWM|::|HELP-ON-SECOND-MODE| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|144 144 (DEFINE-SECOND-KEY ("m") 'MAIN-MENU)-15|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("m" 0. |CLFSWM|::|MAIN-MENU| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|145 145 (DEFINE-SECOND-KEY ("g") 'GROUP-MENU)-16|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("g" 0. |CLFSWM|::|GROUP-MENU| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|146 146 (DEFINE-SECOND-KEY ("n") 'ACTION-BY-NAME-MENU)-17|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("n" 0. |CLFSWM|::|ACTION-BY-NAME-MENU| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|147 147 (DEFINE-SECOND-KEY ("u") 'ACTION-BY-NUMBER-MENU)-18|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("u" 0. |CLFSWM|::|ACTION-BY-NUMBER-MENU| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|150 152 (DEFINE-SECOND-KEY (#\\i) 'IDENTIFY-KEY)-19|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\i 0. |CLFSWM|::|IDENTIFY-KEY| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|153 153 (DEFINE-SECOND-KEY (#\\:) 'EVAL-FROM-QUERY-STRING)-20|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\: 0. |CLFSWM|::|EVAL-FROM-QUERY-STRING|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|155 155 (DEFINE-SECOND-KEY (#\\!) 'RUN-PROGRAM-FROM-QUERY-STRING)-21|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\! 0. |CLFSWM|::|RUN-PROGRAM-FROM-QUERY-STRING|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|158 158 (DEFINE-SECOND-KEY (#\\t) 'LEAVE-SECOND-MODE)-22|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\t 0. |CLFSWM|::|LEAVE-SECOND-MODE| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|159 159 (DEFINE-SECOND-KEY ("Return") 'LEAVE-SECOND-MODE)-23|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Return" 0. |CLFSWM|::|LEAVE-SECOND-MODE|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|160 160 (DEFINE-SECOND-KEY ("Escape") 'LEAVE-SECOND-MODE)-24|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 0. |CLFSWM|::|LEAVE-SECOND-MODE|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|163 163 (DEFINE-SECOND-KEY (#\\< :CONTROL) 'LEAVE-SECOND-MODE)-25|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\< 4. |CLFSWM|::|LEAVE-SECOND-MODE| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|168 168 (DEFINE-SECOND-KEY ("Home" :MOD-1 :CONTROL ...) 'QUIT-CLFSWM)-26|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Home" 13. |CLFSWM|::|QUIT-CLFSWM| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|170 170 (DEFINE-SECOND-KEY ("Right" :MOD-1) 'SELECT-NEXT-BROTHER)-27|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Right" 8. |CLFSWM|::|SELECT-NEXT-BROTHER|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|171 171 (DEFINE-SECOND-KEY ("Left" :MOD-1) 'SELECT-PREVIOUS-BROTHER)-28|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Left" 8. |CLFSWM|::|SELECT-PREVIOUS-BROTHER|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|173 173 (DEFINE-SECOND-KEY ("Down" :MOD-1) 'SELECT-NEXT-LEVEL)-29|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Down" 8. |CLFSWM|::|SELECT-NEXT-LEVEL| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|174 174 (DEFINE-SECOND-KEY ("Up" :MOD-1) 'SELECT-PREVIOUS-LEVEL)-30|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Up" 8. |CLFSWM|::|SELECT-PREVIOUS-LEVEL|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|176 176 (DEFINE-SECOND-KEY ("Tab" :MOD-1) 'SELECT-NEXT-CHILD)-31|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Tab" 8. |CLFSWM|::|SELECT-NEXT-CHILD| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|177 177 (DEFINE-SECOND-KEY ("Tab" :MOD-1 :SHIFT) 'SELECT-PREVIOUS-CHILD)-32|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Tab" 9. |CLFSWM|::|SELECT-PREVIOUS-CHILD|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|179 179 (DEFINE-SECOND-KEY ("Return" :MOD-1) 'ENTER-GROUP)-33|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Return" 8. |CLFSWM|::|ENTER-GROUP| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|180 180 (DEFINE-SECOND-KEY ("Return" :MOD-1 :SHIFT) 'LEAVE-GROUP)-34|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Return" 9. |CLFSWM|::|LEAVE-GROUP| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|182 182 (DEFINE-SECOND-KEY ("Home" :MOD-1) 'SWITCH-TO-ROOT-GROUP)-35|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Home" 8. |CLFSWM|::|SWITCH-TO-ROOT-GROUP|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|183 183 (DEFINE-SECOND-KEY ("Home" :MOD-1 :SHIFT) 'SWITCH-AND-SELECT-ROOT-GROUP)-36|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Home" 9. |CLFSWM|::|SWITCH-AND-SELECT-ROOT-GROUP|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|185 185 (DEFINE-SECOND-KEY ("Menu") 'TOGGLE-SHOW-ROOT-GROUP)-37|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Menu" 0. |CLFSWM|::|TOGGLE-SHOW-ROOT-GROUP|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|187 187 (DEFINE-SECOND-KEY (#\\b :MOD-1) 'BANISH-POINTER)-38|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\b 8. |CLFSWM|::|BANISH-POINTER| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|190 191 (DEFINE-SECOND-KEY ("Escape" :CONTROL :SHIFT) 'DELETE-FOCUS-WINDOW)-39|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 5. |CLFSWM|::|DELETE-FOCUS-WINDOW|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|192 192 (DEFINE-SECOND-KEY ("Escape" :MOD-1 :CONTROL ...) 'DESTROY-FOCUS-WINDOW)-40|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 13. |CLFSWM|::|DESTROY-FOCUS-WINDOW|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|193 193 (DEFINE-SECOND-KEY ("Escape" :CONTROL) 'REMOVE-FOCUS-WINDOW)-41|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 4. |CLFSWM|::|REMOVE-FOCUS-WINDOW|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|194 194 (DEFINE-SECOND-KEY ("Escape" :SHIFT) 'UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD)-42|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 1. |CLFSWM|::|UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|197 198 (DEFINE-SECOND-KEY ("x" :CONTROL) 'CUT-CURRENT-CHILD)-43|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("x" 4. |CLFSWM|::|CUT-CURRENT-CHILD| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|199 199 (DEFINE-SECOND-KEY ("x" :CONTROL :MOD-1) 'CLEAR-SELECTION)-44|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("x" 12. |CLFSWM|::|CLEAR-SELECTION| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|200 200 (DEFINE-SECOND-KEY ("c" :CONTROL) 'COPY-CURRENT-CHILD)-45|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("c" 4. |CLFSWM|::|COPY-CURRENT-CHILD| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|201 201 (DEFINE-SECOND-KEY ("v" :CONTROL) 'PASTE-SELECTION)-46|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("v" 4. |CLFSWM|::|PASTE-SELECTION| |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|202 202 (DEFINE-SECOND-KEY ("v" :CONTROL :SHIFT) 'PASTE-SELECTION-NO-CLEAR)-47|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("v" 5. |CLFSWM|::|PASTE-SELECTION-NO-CLEAR|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|203 203 (DEFINE-SECOND-KEY ("Delete") 'REMOVE-CURRENT-CHILD)-48|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Delete" 0. |CLFSWM|::|REMOVE-CURRENT-CHILD|
+    |CLFSWM|::|DEFINE-SECOND-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|209 212 (DEFUN SM-HANDLE-CLICK-TO-FOCUS (ROOT-X ROOT-Y) ...)-49|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-CLICK-TO-FOCUS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-CLICK-TO-FOCUS|
+       #19Y(00 00 00 00 02 00 00 00 06 03 AE AE 70 00 AC 2F 01 19 04)
+       (|CLFSWM|::|FIND-CHILD-UNDER-MOUSE| |CLFSWM|::|HANDLE-CLICK-TO-FOCUS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y|)
+       "Give the focus to the clicked child"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|214 214 (DEFINE-MOUSE-ACTION (1) 'SM-HANDLE-CLICK-TO-FOCUS)-50|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 01 02 2D 04 03 19 01)
+   (1. 0. |CLFSWM|::|SM-HANDLE-CLICK-TO-FOCUS|
+    |CLFSWM|::|DEFINE-MOUSE-ACTION-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: bindings-second-mode.fasl
==============================================================================
Binary file. No diff available.

Added: bindings-second-mode.lib
==============================================================================
--- (empty file)
+++ bindings-second-mode.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,30 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-ADDING-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-LAYOUT-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-PACK-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-MOVEMENT-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-PACK-UP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-PACK-DOWN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ACTION-BY-NAME-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ACTION-BY-NUMBER-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECTION-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|UTILITY-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MAIN-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-CLICK-TO-FOCUS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y|)))

Added: bindings-second-mode.lisp
==============================================================================
--- (empty file)
+++ bindings-second-mode.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,731 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Thu Feb 28 21:38:00 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Bindings keys and mouse for second mode
+;;;
+;;; Note: Mod-1 is the Alt or Meta key, Mod-2 is the Numlock key.
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+;;;,-----
+;;;| Second keys
+;;;|
+;;;| CONFIG - Second mode bindings
+;;;`-----
+
+
+
+;;;;;;;;;;;;;;;
+;; Menu entry
+;;;;;;;;;;;;;;;
+(defun group-adding-menu ()
+  "Adding group menu"
+  (info-mode-menu '((#\a add-default-group)
+		    (#\p add-placed-group))))
+
+(defun group-layout-menu ()
+  "Group layout menu"
+  (info-mode-menu (loop for l in *layout-list*
+		     for i from 0
+		     collect (list (code-char (+ (char-code #\a) i)) l))))
+
+
+  
+
+
+(defun group-pack-menu ()
+  "Group pack menu"
+  (info-mode-menu '(("Up" group-pack-up)
+		    ("Down" group-pack-down))))
+
+
+(defun group-movement-menu ()
+  "Group movement menu"
+  (info-mode-menu '((#\p group-pack-menu)
+		    (#\f group-fill-menu)
+		    (#\r group-resize-menu))))
+
+
+(defun group-pack-up ()
+  "Pack group up"
+  (print 'pack-up)
+  (group-movement-menu))
+
+(defun group-pack-down ()
+  "Pack group down"
+  (print 'pack-down)
+  (group-movement-menu))
+
+
+
+
+
+
+
+(defun action-by-name-menu ()
+  "Actions by name menu"
+  (info-mode-menu '((#\f focus-group-by-name)
+		    (#\o open-group-by-name)
+		    (#\d delete-group-by-name)
+		    (#\m move-current-child-by-name)
+		    (#\c copy-current-child-by-name))))
+
+(defun action-by-number-menu ()
+  "Actions by number menu"
+  (info-mode-menu '((#\f focus-group-by-number)
+		    (#\o open-group-by-number)
+		    (#\d delete-group-by-number)
+		    (#\m move-current-child-by-number)
+		    (#\c copy-current-child-by-number))))
+
+
+(defun group-menu ()
+  "Group menu"
+  (info-mode-menu '((#\a group-adding-menu)
+		    (#\l group-layout-menu)
+		    (#\m group-movement-menu))))
+
+
+
+(defun selection-menu ()
+  "Selection menu"
+  (info-mode-menu '((#\x cut-current-child)
+		    (#\c copy-current-child)
+		    (#\v paste-selection)
+		    (#\p paste-selection-no-clear)
+		    ("Delete" remove-current-child)
+		    (#\z clear-selection))))
+
+
+(defun utility-menu ()
+  "Utility menu"
+  (info-mode-menu '((#\i identify-key)
+		    (#\: eval-from-query-string)
+		    (#\! run-program-from-query-string))))
+  
+(defun main-menu ()
+  "Open the main menu"
+  (info-mode-menu '((#\g group-menu)
+		    ;;(#\w window-menu)
+		    (#\s selection-menu)
+		    (#\n action-by-name-menu)
+		    (#\u action-by-number-menu)
+		    (#\y utility-menu))))
+
+
+
+
+
+
+(define-second-key ("F1" :mod-1) 'help-on-second-mode)
+
+(define-second-key ("m") 'main-menu)
+(define-second-key ("g") 'group-menu)
+(define-second-key ("n") 'action-by-name-menu)
+(define-second-key ("u") 'action-by-number-menu)
+
+
+;;(define-second-key (#\g :control) 'stop-all-pending-actions)
+
+(define-second-key (#\i) 'identify-key)
+(define-second-key (#\:) 'eval-from-query-string)
+
+(define-second-key (#\!) 'run-program-from-query-string)
+
+
+(define-second-key (#\t) 'leave-second-mode)
+(define-second-key ("Return") 'leave-second-mode)
+(define-second-key ("Escape") 'leave-second-mode)
+
+
+(define-second-key (#\< :control) 'leave-second-mode)
+
+
+
+
+(define-second-key ("Home" :mod-1 :control :shift) 'quit-clfswm)
+
+(define-second-key ("Right" :mod-1) 'select-next-brother)
+(define-second-key ("Left" :mod-1) 'select-previous-brother)
+
+(define-second-key ("Down" :mod-1) 'select-next-level)
+(define-second-key ("Up" :mod-1) 'select-previous-level)
+
+(define-second-key ("Tab" :mod-1) 'select-next-child)
+(define-second-key ("Tab" :mod-1 :shift) 'select-previous-child)
+
+(define-second-key ("Return" :mod-1) 'enter-group)
+(define-second-key ("Return" :mod-1 :shift) 'leave-group)
+
+(define-second-key ("Home" :mod-1) 'switch-to-root-group)
+(define-second-key ("Home" :mod-1 :shift) 'switch-and-select-root-group)
+
+(define-second-key ("Menu") 'toggle-show-root-group)
+
+(define-second-key (#\b :mod-1) 'banish-pointer)
+
+
+;;;; Escape
+(define-second-key ("Escape" :control :shift) 'delete-focus-window)
+(define-second-key ("Escape" :mod-1 :control :shift) 'destroy-focus-window)
+(define-second-key ("Escape" :control) 'remove-focus-window)
+(define-second-key ("Escape" :shift) 'unhide-all-windows-in-current-child)
+
+
+;;; Selection
+(define-second-key ("x" :control) 'cut-current-child)
+(define-second-key ("x" :control :mod-1) 'clear-selection)
+(define-second-key ("c" :control) 'copy-current-child)
+(define-second-key ("v" :control) 'paste-selection)
+(define-second-key ("v" :control :shift) 'paste-selection-no-clear)
+(define-second-key ("Delete") 'remove-current-child)
+
+
+
+
+
+(defun sm-handle-click-to-focus (root-x root-y)
+  "Give the focus to the clicked child"
+  (let ((win (find-child-under-mouse root-x root-y)))
+    (handle-click-to-focus win)))
+
+(define-mouse-action (1) 'sm-handle-click-to-focus)
+
+
+
+
+
+
+;;;; Escape
+;;(define-second-key ("Escape" :control :shift) 'delete-current-window)
+;;(define-second-key ("Escape" :mod-1 :control :shift) 'destroy-current-window)
+;;(define-second-key ("Escape" :control) 'remove-current-window)
+;;(define-second-key ("Escape" :shift) 'unhide-all-windows-in-current-group)
+;;
+;;
+;;;; Up
+;;(define-second-key ("Up" :mod-1) 'circulate-group-up)
+;;(define-second-key ("Up" :mod-1 :shift) 'circulate-group-up-move-window)
+;;(define-second-key ("Up" :mod-1 :shift :control) 'circulate-group-up-copy-window)
+;;
+;;
+;;;; Down
+;;(define-second-key ("Down" :mod-1) 'circulate-group-down)
+;;(define-second-key ("Down" :mod-1 :shift) 'circulate-group-down-move-window)
+;;(define-second-key ("Down" :mod-1 :shift :control) 'circulate-group-down-copy-window)
+;;
+;;
+;;;; Right
+;;(define-second-key ("Right" :mod-1) 'circulate-workspace-up)
+;;(define-second-key ("Right" :mod-1 :shift) 'circulate-workspace-up-move-group)
+;;(define-second-key ("Right" :mod-1 :shift :control) 'circulate-workspace-up-copy-group)
+;;
+;;
+;;;; Left
+;;(define-second-key ("Left" :mod-1) 'circulate-workspace-down)
+;;(define-second-key ("Left" :mod-1 :shift) 'circulate-workspace-down-move-group)
+;;(define-second-key ("Left" :mod-1 :shift :control) 'circulate-workspace-down-copy-group)
+;;
+;;
+;;(defmacro define-second-focus-workspace-by-number (key number)
+;;  "Define a second key to focus a workspace by its number"
+;;  `(define-second-key ,key
+;;       (defun ,(create-symbol (format nil "b-second-focus-workspace-~A" number)) ()
+;;	 ,(format nil "Focus workspace ~A" number)
+;;	 (circulate-workspace-by-number ,number))))
+;;
+;;(define-second-focus-workspace-by-number (#\1 :mod-1) 1)
+;;(define-second-focus-workspace-by-number (#\2 :mod-1) 2)
+;;(define-second-focus-workspace-by-number (#\3 :mod-1) 3)
+;;(define-second-focus-workspace-by-number (#\4 :mod-1) 4)
+;;(define-second-focus-workspace-by-number (#\5 :mod-1) 5)
+;;(define-second-focus-workspace-by-number (#\6 :mod-1) 6)
+;;(define-second-focus-workspace-by-number (#\7 :mod-1) 7)
+;;(define-second-focus-workspace-by-number (#\8 :mod-1) 8)
+;;(define-second-focus-workspace-by-number (#\9 :mod-1) 9)
+;;(define-second-focus-workspace-by-number (#\0 :mod-1) 10)
+;;
+;;(define-second-key (#\1 :control :mod-1) 'renumber-workspaces)
+;;(define-second-key (#\2 :control :mod-1) 'sort-workspaces)
+;;
+;;
+;;
+;;
+;;
+;;(define-second-key ("Tab" :mod-1) 'rotate-window-up)
+;;(define-second-key ("Tab" :mod-1 :shift) 'rotate-window-down)
+;;
+;;(define-second-key (#\b) 'banish-pointer)
+;;
+;;(define-second-key (#\b :mod-1) 'toggle-maximize-current-group)
+;;
+;;(define-second-key (#\x) 'pager-mode)
+;;
+;;
+;;(define-second-key (#\k :mod-1) 'destroy-current-window)
+;;(define-second-key (#\k) 'remove-current-window)
+;;
+;;
+;;(define-second-key (#\g) 'create-new-default-group)
+;;(define-second-key (#\g :mod-1) 'remove-current-group)
+;;
+;;(define-second-key (#\w) 'create-new-default-workspace)
+;;(define-second-key (#\w :mod-1) 'remove-current-workspace)
+;;
+;;(define-second-key (#\o)
+;;    (defun b-open-next-window-in-new-workspace ()
+;;      "Open the next window in a new workspace"
+;;      (setf *open-next-window-in-new-workspace* t)
+;;      (leave-second-mode)))
+;;
+;;(define-second-key (#\o :control)
+;;    (defun b-open-next-window-in-workspace-numbered ()
+;;      "Open the next window in a numbered workspace"
+;;      (let ((number (parse-integer (or (query-string "Open next window in workspace:") "")
+;;				   :junk-allowed t)))
+;;	(when (numberp number)
+;;	  (setf *open-next-window-in-new-workspace* number)))
+;;      (leave-second-mode)))
+;;
+;;
+;;(define-second-key (#\o :mod-1)
+;;    (defun b-open-next-window-in-new-group-once ()
+;;      "Open the next window in a new group and all others in the same group"
+;;      (setf *open-next-window-in-new-group* :once)
+;;      (leave-second-mode)))
+;;
+;;(define-second-key (#\o :mod-1 :control)
+;;    (defun b-open-next-window-in-new-group ()
+;;      "Open each next window in a new group"
+;;      (setf *open-next-window-in-new-group* t)
+;;      (leave-second-mode)))
+;;
+;;
+;;
+;;(defmacro define-shell (key name docstring cmd)
+;;  "Define a second key to start a shell command"
+;;  `(define-second-key ,key
+;;       (defun ,name ()
+;;	 ,docstring
+;;	 (setf *second-mode-program* ,cmd)
+;;	 (leave-second-mode))))
+;;
+;;(define-shell (#\c) b-start-xterm "start an xterm" "exec xterm")
+;;(define-shell (#\e) b-start-emacs "start emacs" "exec emacs")
+;;(define-shell (#\e :control) b-start-emacsremote
+;;  "start an emacs for another user"
+;;  "exec emacsremote-Eterm")
+;;(define-shell (#\h) b-start-xclock "start an xclock" "exec xclock -d")
+;;
+;;
+;;(define-second-key (#\a) 'force-window-center-in-group)
+;;(define-second-key (#\a :mod-1) 'force-window-in-group)
+;;
+;;
+;;(define-second-key (#\d :mod-1)
+;;    (defun b-show-debuging-info ()
+;;      "Show debuging info"
+;;      (dbg *workspace-list*)
+;;      (dbg *screen*)
+;;      (dbg (xlib:query-tree *root*))))
+;;
+;;(define-second-key (#\t :control) 'tile-current-workspace-vertically)
+;;(define-second-key (#\t :shift :control) 'tile-current-workspace-horizontally)
+;;
+;;(define-second-key (#\y) 'tile-current-workspace-to)
+;;(define-second-key (#\y :mod-1) 'reconfigure-tile-workspace)
+;;(define-second-key (#\y :control) 'explode-current-group)
+;;(define-second-key (#\y :control :shift) 'implode-current-group)
+;;    
+;;;;;,-----
+;;;;;| Moving/Resizing groups
+;;;;;`-----
+;;(define-second-key (#\p)
+;;    (defun b-pack-group-on-next-arrow ()
+;;      "Pack group on next arrow action"
+;;      (setf *arrow-action* :pack)))
+;;
+;;
+;;(defun fill-group-in-all-directions ()
+;;  "Fill group in all directions"
+;;  (fill-current-group-up)
+;;  (fill-current-group-left)
+;;  (fill-current-group-right)
+;;  (fill-current-group-down))
+;;
+;;
+;;(define-second-key (#\f)
+;;    (defun b-fill-group ()
+;;      "Fill group on next arrow action (fill in all directions on second f keypress)"
+;;      (case *arrow-action*
+;;	(:fill (fill-group-in-all-directions)
+;;	       (setf *arrow-action* nil))
+;;	(t (setf *arrow-action* :fill)))))
+;;
+;;(define-second-key (#\f :mod-1) 'fill-group-in-all-directions)
+;;
+;;(define-second-key (#\f :shift)
+;;    (defun b-fill-group-vert ()
+;;      "Fill group vertically"
+;;      (fill-current-group-up)
+;;      (fill-current-group-down)))
+;;
+;;(define-second-key (#\f :control)
+;;    (defun b-fill-group-horiz ()
+;;      "Fill group horizontally"
+;;      (fill-current-group-left)
+;;      (fill-current-group-right)))
+;;
+;;
+;;(define-second-key (#\r)
+;;    (defun b-resize-half ()
+;;      "Resize group to its half width or heigth on next arraw action"
+;;      (setf *arrow-action* :resize-half)))
+;;
+;;
+;;(define-second-key (#\l) 'resize-minimal-current-group)
+;;(define-second-key (#\l :mod-1) 'resize-down-current-group)
+;;
+;;
+;;(define-second-key (#\m) 'center-current-group)
+;;   
+;;
+;;(define-second-key ("Up")
+;;    (defun b-move-or-pack-up ()
+;;      "Move, pack, fill or resize group up"
+;;      (case *arrow-action*
+;;	(:pack (pack-current-group-up))
+;;	(:fill (fill-current-group-up))
+;;	(:resize-half (resize-half-height-up-current-group))
+;;	(t (move-group (current-group) 0 -10)))
+;;      (setf *arrow-action* nil)))
+;;
+;;(define-second-key ("Down")
+;;    (defun b-move-or-pack-down ()
+;;      "Move, pack, fill or resize group down"
+;;      (case *arrow-action*
+;;	(:pack (pack-current-group-down))
+;;	(:fill (fill-current-group-down))
+;;	(:resize-half (resize-half-height-down-current-group))
+;;	(t (move-group (current-group) 0 +10)))
+;;      (setf *arrow-action* nil)))
+;;
+;;(define-second-key ("Right")
+;;    (defun b-move-or-pack-right ()
+;;      "Move, pack, fill or resize group right"
+;;      (case *arrow-action*
+;;	(:pack (pack-current-group-right))
+;;	(:fill (fill-current-group-right))
+;;	(:resize-half (resize-half-width-right-current-group))
+;;	(t (move-group (current-group) +10 0)))
+;;      (setf *arrow-action* nil)))
+;;
+;;(define-second-key ("Left")
+;;    (defun b-move-or-pack-left ()
+;;      "Move, pack, fill or resize group left"
+;;      (case *arrow-action*
+;;	(:pack (pack-current-group-left))
+;;	(:fill (fill-current-group-left))
+;;	(:resize-half (resize-half-width-left-current-group))
+;;	(t (move-group (current-group) -10 0)))
+;;      (setf *arrow-action* nil)))
+;;
+;;
+;;(define-second-key ("Up" :shift)
+;;    (defun b-resize-up ()
+;;      "Resize group up"
+;;      (resize-group (current-group) 0 -10)))
+;;
+;;(define-second-key ("Down" :shift)
+;;    (defun b-resize-down ()
+;;      "Resize group down"
+;;      (resize-group (current-group) 0 +10)))
+;;
+;;(define-second-key ("Right" :shift)
+;;    (defun b-resize-right ()
+;;      "Resize group right"
+;;      (resize-group (current-group) +10 0)))
+;;
+;;(define-second-key ("Left" :shift)
+;;    (defun b-resize-left ()
+;;      "Resize group left"
+;;      (resize-group (current-group) -10 0)))
+;;
+;;
+;;;;;,-----
+;;;;;| Mouse second mode functions
+;;;;;`-----
+;;(defun select-group-under-mouse (root-x root-y)
+;;  (let ((group (find-group-under-mouse root-x root-y)))
+;;    (when group
+;;      (no-focus)
+;;      (focus-group group (current-workspace))
+;;      (focus-window (current-window))
+;;      (show-all-group (current-workspace) nil))))
+;;
+;;(defun mouse-leave-second-mode-maximize (root-x root-y)
+;;  "Leave second mode and maximize current group"
+;;  (select-group-under-mouse root-x root-y)
+;;  (maximize-group (current-group))
+;;  (show-all-windows-in-workspace (current-workspace))
+;;  (throw 'exit-second-loop nil))
+;;
+;;(defun mouse-leave-second-mode (root-x root-y)
+;;  "Leave second mode"
+;;  (select-group-under-mouse root-x root-y)
+;;  (show-all-windows-in-workspace (current-workspace))
+;;  (throw 'exit-second-loop nil))
+;;
+;;
+;;
+;;
+;;(defun mouse-circulate-window-up (root-x root-y)
+;;  "Rotate window up" 
+;;  (declare (ignore root-x root-y))
+;;  (rotate-window-up))
+;;
+;;
+;;(defun mouse-circulate-window-down (root-x root-y)
+;;  "Rotate window down" 
+;;  (declare (ignore root-x root-y))
+;;  (rotate-window-down))
+;;
+;;
+;;
+;;(defun mouse-circulate-workspace-up (root-x root-y)
+;;  "Circulate up in workspaces" 
+;;  (declare (ignore root-x root-y))
+;;  (circulate-workspace-up))
+;;
+;;
+;;(defun mouse-circulate-workspace-down (root-x root-y)
+;;  "Circulate down in workspaces" 
+;;  (declare (ignore root-x root-y))
+;;  (circulate-workspace-down))
+;;
+;;
+;;
+;;
+;;(defun init-motion-vars ()
+;;  (setf *motion-action* nil
+;;	*motion-object* nil
+;;	*motion-start-group* nil
+;;	*motion-dx* nil
+;;	*motion-dy* nil))
+;;
+;;
+;;(let ((accept-motion t)
+;;      (selected-group nil))
+;;  (defun mouse-motion (root-x root-y)
+;;    "Move or resize group. Move window from a group to another.
+;;Go to top left or rigth corner to change workspaces."
+;;    (let ((group (find-group-under-mouse root-x root-y)))
+;;      (unless (equal selected-group group)
+;;	(select-group-under-mouse root-x root-y)
+;;	(setf selected-group group)))
+;;    (if (<= root-y 5)
+;;	(cond ((and accept-motion (<= root-x 5))
+;;	       (case *motion-action*
+;;		 (:move-group
+;;		  (remove-group-in-workspace *motion-object* (current-workspace))))
+;;	       (circulate-workspace-down)
+;;	       (minimize-group (current-group))
+;;	       (case *motion-action*
+;;		 (:move-group
+;;		  (add-group-in-workspace *motion-object* (current-workspace))))
+;;	       (warp-pointer *root* (1- (xlib:screen-width *screen*)) 100)
+;;	       (setf accept-motion nil))
+;;	      ((and accept-motion (>= root-x (- (xlib:screen-width *screen*) 5)))
+;;	       (case *motion-action*
+;;		 (:move-group
+;;		  (remove-group-in-workspace *motion-object* (current-workspace))))
+;;	       (circulate-workspace-up)
+;;	       (minimize-group (current-group))
+;;	       (case *motion-action*
+;;		 (:move-group
+;;		  (add-group-in-workspace *motion-object* (current-workspace))))
+;;	       (warp-pointer *root* 0 100)
+;;	       (setf accept-motion nil))
+;;	      (t (setf accept-motion t)))
+;;	(setf accept-motion t))
+;;    (case *motion-action*
+;;      (:move-group
+;;       (hide-group *root* *motion-object*)
+;;       (setf (group-x *motion-object*) (+ root-x *motion-dx*)
+;;	     (group-y *motion-object*) (+ root-y *motion-dy*))
+;;       (show-group *root* *root-gc* *motion-object*)
+;;       (adapt-all-window-in-group *motion-object*)
+;;       (show-all-group (current-workspace) nil))
+;;      (:resize-group
+;;       (hide-group *root* *motion-object*)
+;;       (setf (group-width *motion-object*) (max (+ (group-width *motion-object*) (- root-x *motion-dx*)) 100)
+;;	     (group-height *motion-object*) (max (+ (group-height *motion-object*) (- root-y *motion-dy*)) 100)
+;;	     *motion-dx* root-x *motion-dy* root-y)
+;;       (show-group *root* *root-gc* *motion-object*)
+;;       (adapt-all-window-in-group *motion-object*)
+;;       (show-all-group (current-workspace) nil)))))
+;;
+;;
+;;
+;;(defun move-selected-group (root-x root-y)
+;;  "Move selected group or create a new group on the root window"
+;;  (select-group-under-mouse root-x root-y)
+;;  (setf *motion-object* (find-group-under-mouse root-x root-y))
+;;  (if *motion-object*
+;;      (setf *motion-action* :move-group
+;;	    *motion-dx* (- (group-x *motion-object*) root-x)
+;;	    *motion-dy* (- (group-y *motion-object*) root-y))
+;;      (progn
+;;	(setf *motion-object* (make-group :x root-x :y root-y :width 100 :height 100 :fullscreenp nil))
+;;	(warp-pointer *root* (+ root-x 100) (+ root-y 100))
+;;	(add-group-in-workspace *motion-object* (current-workspace))
+;;	(show-all-group (current-workspace))
+;;	(setf *motion-action* :resize-group
+;;	      *motion-dx* (+ root-x 100)
+;;	      *motion-dy* (+ root-y 100)))))
+;;
+;;
+;;
+;;(defun copy-selected-group (root-x root-y)
+;;  "Copy selected group"
+;;  (xgrab-pointer *root* 50 51)
+;;  (select-group-under-mouse root-x root-y)
+;;  (setf *motion-object* (find-group-under-mouse root-x root-y))
+;;  (when *motion-object*
+;;    (setf *motion-action* :copy-group
+;;	  *motion-object* (copy-group *motion-object*)
+;;	  *motion-dx* (- (group-x *motion-object*) root-x)
+;;	  *motion-dy* (- (group-y *motion-object*) root-y))))
+;;;;    (add-group-in-workspace *motion-object* (current-workspace))))
+;;
+;;
+;;
+;;(defun release-move-selected-group (root-x root-y)
+;;  "Release button"
+;;  (when *motion-object*
+;;    (case *motion-action*
+;;      (:move-group
+;;       (move-group-to *motion-object* (+ root-x *motion-dx*) (+ root-y *motion-dy*)))
+;;      (:resize-group
+;;       (resize-group *motion-object* 0 0))))
+;;  (init-motion-vars)
+;;  (select-group-under-mouse root-x root-y))
+;;
+;;
+;;(defun release-copy-selected-group (root-x root-y)
+;;  "Release button"
+;;  (xgrab-pointer *root* 66 67)
+;;  (when *motion-object*
+;;    (unless (group-windows-already-in-workspace *motion-object* (current-workspace))
+;;      (add-group-in-workspace *motion-object* (current-workspace))
+;;      (move-group-to *motion-object* (+ root-x *motion-dx*) (+ root-y *motion-dy*))))
+;;  (init-motion-vars)
+;;  (select-group-under-mouse root-x root-y)
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;
+;;(defun resize-selected-group (root-x root-y)
+;;  "Resize selected group"
+;;  (select-group-under-mouse root-x root-y)
+;;  (setf *motion-object* (find-group-under-mouse root-x root-y))
+;;  (when *motion-object*
+;;    (setf *motion-action* :resize-group
+;;	  *motion-dx* root-x
+;;	  *motion-dy* root-y)))
+;;
+;;
+;;(defun release-resize-selected-group (root-x root-y)
+;;  "Release button"
+;;  (when *motion-object*
+;;    (resize-group *motion-object* 0 0))
+;;  (init-motion-vars)
+;;  (select-group-under-mouse root-x root-y))
+;;
+;;
+;;
+;;(defun move-selected-window (root-x root-y)
+;;  "Move selected window"
+;;  (xgrab-pointer *root* 50 51)
+;;  (select-group-under-mouse root-x root-y)
+;;  (setf *motion-object* (current-window)
+;;	*motion-action* :move-window)
+;;  (when *motion-object*
+;;    (setf *motion-start-group* (current-group))))
+;;
+;;
+;;(defun release-move-selected-window (root-x root-y)
+;;  "Release button"
+;;  (xgrab-pointer *root* 66 67)
+;;  (select-group-under-mouse root-x root-y)
+;;  (when *motion-object*
+;;    (remove-window-in-group *motion-object* *motion-start-group*)
+;;    (add-window-in-group *motion-object* (current-group)))
+;;  (init-motion-vars)
+;;  (select-group-under-mouse root-x root-y)
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;
+;;(defun copy-selected-window (root-x root-y)
+;;  "Copy selected window"
+;;  (move-selected-window root-x root-y)
+;;  (setf *motion-action* :copy-window))
+;;
+;;(defun release-copy-selected-window (root-x root-y)
+;;  "Release button"
+;;  (xgrab-pointer *root* 66 67)
+;;  (select-group-under-mouse root-x root-y)
+;;  (when *motion-object*
+;;    (unless (window-already-in-workspace *motion-object* (current-workspace))
+;;      (add-window-in-group *motion-object* (current-group))))
+;;  (init-motion-vars)
+;;  (select-group-under-mouse root-x root-y)
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;
+;;
+;;
+;;
+;;(define-mouse-action (1) 'move-selected-group 'release-move-selected-group)
+;;(define-mouse-action (1 :mod-1) 'resize-selected-group 'release-resize-selected-group)
+;;(define-mouse-action (1 :control) 'copy-selected-group 'release-copy-selected-group)
+;;
+;;(define-mouse-action (2) nil 'mouse-leave-second-mode-maximize)
+;;(define-mouse-action (2 :control) nil 'mouse-leave-second-mode)
+;;
+;;(define-mouse-action (3) 'move-selected-window 'release-move-selected-window)
+;;(define-mouse-action (3  :control) 'copy-selected-window 'release-copy-selected-window)
+;;
+;;
+;;(define-mouse-action (4) 'mouse-circulate-window-up nil)
+;;(define-mouse-action (5) 'mouse-circulate-window-down nil)
+;;
+;;(define-mouse-action (4 :mod-1) 'mouse-circulate-workspace-up nil)
+;;(define-mouse-action (5 :mod-1) 'mouse-circulate-workspace-down nil)
+;;
+;;(define-mouse-action ('Motion) 'mouse-motion nil)
+

Added: bindings-second-mode.lisp.bak
==============================================================================
--- (empty file)
+++ bindings-second-mode.lisp.bak	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,573 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Sat Dec 22 23:31:58 2007
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Bindings keys and mouse for second mode
+;;;
+;;; Note: Mod-1 is the Alt or Meta key, Mod-2 is the Numlock key.
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+;;;,-----
+;;;| Second keys
+;;;|
+;;;| CONFIG - Second mode bindings
+;;;`-----
+(defun leave-second-mode-maximize ()
+  "Leave second mode and maximize current group"
+  (maximize-group (current-group))
+  (banish-pointer)
+  (show-all-windows-in-workspace (current-workspace))
+  (throw 'exit-second-loop nil))
+
+(defun leave-second-mode ()
+  "Leave second mode"
+  (banish-pointer)
+  (show-all-windows-in-workspace (current-workspace))
+  (throw 'exit-second-loop nil))
+
+
+(define-second-key ("F1" :mod-1) 'help-on-second-mode)
+
+(define-second-key (#\g :control) 'stop-all-pending-actions)
+
+(define-second-key (#\i) 'identify-key)
+
+(define-second-key (#\:) 'eval-from-query-string)
+
+
+(defun run-program-from-query-string ()
+  "Run a program from the query input"
+  (let ((program (query-string "Run:")))
+    (when (and program (not (equal program "")))
+      (do-shell program)
+      (leave-second-mode))))
+
+(define-second-key (#\!) 'run-program-from-query-string)
+
+
+(define-second-key (#\t) 'leave-second-mode-maximize)
+(define-second-key (#\Return) 'leave-second-mode-maximize)
+(define-second-key ("Escape") 'leave-second-mode)
+
+
+(define-second-key (#\< :control) 'leave-second-mode)
+(define-second-key (#\Return :control) 'leave-second-mode)
+
+;; Escape
+(define-second-key ("Escape" :control :shift) 'delete-current-window)
+(define-second-key ("Escape" :mod-1 :control :shift) 'destroy-current-window)
+(define-second-key ("Escape" :control) 'remove-current-window)
+(define-second-key ("Escape" :shift) 'unhide-all-windows-in-current-group)
+
+
+;; Up
+(define-second-key ("Up" :mod-1) 'circulate-group-up)
+(define-second-key ("Up" :mod-1 :shift) 'circulate-group-up-move-window)
+(define-second-key ("Up" :mod-1 :shift :control) 'circulate-group-up-copy-window)
+
+
+;; Down
+(define-second-key ("Down" :mod-1) 'circulate-group-down)
+(define-second-key ("Down" :mod-1 :shift) 'circulate-group-down-move-window)
+(define-second-key ("Down" :mod-1 :shift :control) 'circulate-group-down-copy-window)
+
+
+;; Right
+(define-second-key ("Right" :mod-1) 'circulate-workspace-up)
+(define-second-key ("Right" :mod-1 :shift) 'circulate-workspace-up-move-group)
+(define-second-key ("Right" :mod-1 :shift :control) 'circulate-workspace-up-copy-group)
+
+
+;; Left
+(define-second-key ("Left" :mod-1) 'circulate-workspace-down)
+(define-second-key ("Left" :mod-1 :shift) 'circulate-workspace-down-move-group)
+(define-second-key ("Left" :mod-1 :shift :control) 'circulate-workspace-down-copy-group)
+
+
+(defmacro define-second-focus-workspace-by-number (key number)
+  "Define a second key to focus a workspace by its number"
+  `(define-second-key ,key
+    (defun ,(create-symbol (format nil "b-second-focus-workspace-~A" number)) ()
+      ,(format nil "Focus workspace ~A" number)
+      (circulate-workspace-by-number ,number))))
+
+(define-second-focus-workspace-by-number (#\1 :mod-1) 1)
+(define-second-focus-workspace-by-number (#\2 :mod-1) 2)
+(define-second-focus-workspace-by-number (#\3 :mod-1) 3)
+(define-second-focus-workspace-by-number (#\4 :mod-1) 4)
+(define-second-focus-workspace-by-number (#\5 :mod-1) 5)
+(define-second-focus-workspace-by-number (#\6 :mod-1) 6)
+(define-second-focus-workspace-by-number (#\7 :mod-1) 7)
+(define-second-focus-workspace-by-number (#\8 :mod-1) 8)
+(define-second-focus-workspace-by-number (#\9 :mod-1) 9)
+(define-second-focus-workspace-by-number (#\0 :mod-1) 10)
+
+(define-second-key (#\1 :control :mod-1) 'renumber-workspaces)
+(define-second-key (#\2 :control :mod-1) 'sort-workspaces)
+
+
+
+
+
+(define-second-key (#\Tab :mod-1) 'rotate-window-up)
+(define-second-key (#\Tab :mod-1 :shift) 'rotate-window-down)
+
+(define-second-key (#\b) 'banish-pointer)
+
+(define-second-key (#\b :mod-1) 'toggle-maximize-current-group)
+
+(define-second-key (#\x) 'pager-mode)
+
+
+(define-second-key (#\k :mod-1) 'destroy-current-window)
+(define-second-key (#\k) 'remove-current-window)
+
+
+(define-second-key (#\g) 'create-new-default-group)
+(define-second-key (#\g :mod-1) 'remove-current-group)
+
+(define-second-key (#\w) 'create-new-default-workspace)
+(define-second-key (#\w :mod-1) 'remove-current-workspace)
+
+(define-second-key (#\o)
+    (defun b-open-next-window-in-new-workspace ()
+      "Open the next window in a new workspace"
+      (setf *open-next-window-in-new-workspace* t)
+      (leave-second-mode)))
+
+(define-second-key (#\o :control)
+    (defun b-open-next-window-in-workspace-numbered ()
+      "Open the next window in a numbered workspace"
+      (let ((number (parse-integer (or (query-string "Open next window in workspace:") "")
+				   :junk-allowed t)))
+	(when (numberp number)
+	  (setf *open-next-window-in-new-workspace* number)))
+      (leave-second-mode)))
+
+
+(define-second-key (#\o :mod-1)
+    (defun b-open-next-window-in-new-group-once ()
+      "Open the next window in a new group and all others in the same group"
+      (setf *open-next-window-in-new-group* :once)
+      (leave-second-mode)))
+
+(define-second-key (#\o :mod-1 :control)
+    (defun b-open-next-window-in-new-group ()
+      "Open each next window in a new group"
+      (setf *open-next-window-in-new-group* t)
+      (leave-second-mode)))
+
+
+
+(defmacro define-shell (key name docstring cmd)
+  "Define a second key to start a shell command"
+  `(define-second-key ,key
+    (defun ,name ()
+      ,docstring
+      (do-shell ,cmd)
+      (leave-second-mode))))
+
+(define-shell (#\c) b-start-xterm "start an xterm" "exec xterm")
+(define-shell (#\e) b-start-emacs "start emacs" "exec emacs")
+(define-shell (#\e :control) b-start-emacsremote
+  "start an emacs for another user"
+  "exec emacsremote-Eterm")
+(define-shell (#\h) b-start-xclock "start an xclock" "exec xclock -d")
+
+
+(define-second-key (#\a) 'force-window-center-in-group)
+(define-second-key (#\a :mod-1) 'force-window-in-group)
+
+
+(define-second-key (#\d :mod-1)
+    (defun b-show-debuging-info ()
+      "Show debuging info"
+      (dbg *workspace-list*)
+      (dbg *screen*)
+      (dbg (query-tree *root*))))
+
+(define-second-key (#\t :control) 'tile-current-workspace-vertically)
+(define-second-key (#\t :shift :control) 'tile-current-workspace-horizontally)
+
+(define-second-key (#\y) 'tile-current-workspace-to)
+(define-second-key (#\y :mod-1) 'reconfigure-tile-workspace)
+(define-second-key (#\y :control) 'explode-current-group)
+(define-second-key (#\y :control :shift) 'implode-current-group)
+    
+;;;,-----
+;;;| Moving/Resizing groups
+;;;`-----
+(define-second-key (#\p)
+    (defun b-pack-group-on-next-arrow ()
+      "Pack group on next arrow action"
+      (setf *arrow-action* :pack)))
+
+
+(defun fill-group-in-all-directions ()
+  "Fill group in all directions"
+  (fill-current-group-up)
+  (fill-current-group-left)
+  (fill-current-group-right)
+  (fill-current-group-down))
+
+
+(define-second-key (#\f)
+    (defun b-fill-group ()
+      "Fill group on next arrow action (fill in all directions on second f keypress)"
+      (case *arrow-action*
+	(:fill (fill-group-in-all-directions)
+	       (setf *arrow-action* nil))
+	(t (setf *arrow-action* :fill)))))
+
+(define-second-key (#\f :mod-1) 'fill-group-in-all-directions)
+
+(define-second-key (#\f :shift)
+    (defun b-fill-group-vert ()
+      "Fill group vertically"
+      (fill-current-group-up)
+      (fill-current-group-down)))
+
+(define-second-key (#\f :control)
+    (defun b-fill-group-horiz ()
+      "Fill group horizontally"
+      (fill-current-group-left)
+      (fill-current-group-right)))
+
+
+(define-second-key (#\r)
+    (defun b-resize-half ()
+      "Resize group to its half width or heigth on next arraw action"
+      (setf *arrow-action* :resize-half)))
+
+
+(define-second-key (#\l) 'resize-minimal-current-group)
+(define-second-key (#\l :mod-1) 'resize-down-current-group)
+
+
+(define-second-key (#\m) 'center-current-group)
+   
+
+(define-second-key ("Up")
+    (defun b-move-or-pack-up ()
+      "Move, pack, fill or resize group up"
+      (case *arrow-action*
+	(:pack (pack-current-group-up))
+	(:fill (fill-current-group-up))
+	(:resize-half (resize-half-height-up-current-group))
+	(t (move-group (current-group) 0 -10)))
+      (setf *arrow-action* nil)))
+
+(define-second-key ("Down")
+    (defun b-move-or-pack-down ()
+      "Move, pack, fill or resize group down"
+      (case *arrow-action*
+	(:pack (pack-current-group-down))
+	(:fill (fill-current-group-down))
+	(:resize-half (resize-half-height-down-current-group))
+	(t (move-group (current-group) 0 +10)))
+      (setf *arrow-action* nil)))
+
+(define-second-key ("Right")
+    (defun b-move-or-pack-right ()
+      "Move, pack, fill or resize group right"
+      (case *arrow-action*
+	(:pack (pack-current-group-right))
+	(:fill (fill-current-group-right))
+	(:resize-half (resize-half-width-right-current-group))
+	(t (move-group (current-group) +10 0)))
+      (setf *arrow-action* nil)))
+
+(define-second-key ("Left")
+    (defun b-move-or-pack-left ()
+      "Move, pack, fill or resize group left"
+      (case *arrow-action*
+	(:pack (pack-current-group-left))
+	(:fill (fill-current-group-left))
+	(:resize-half (resize-half-width-left-current-group))
+	(t (move-group (current-group) -10 0)))
+      (setf *arrow-action* nil)))
+
+
+(define-second-key ("Up" :shift)
+    (defun b-resize-up ()
+      "Resize group up"
+      (resize-group (current-group) 0 -10)))
+
+(define-second-key ("Down" :shift)
+    (defun b-resize-down ()
+      "Resize group down"
+      (resize-group (current-group) 0 +10)))
+
+(define-second-key ("Right" :shift)
+    (defun b-resize-right ()
+      "Resize group right"
+      (resize-group (current-group) +10 0)))
+
+(define-second-key ("Left" :shift)
+    (defun b-resize-left ()
+      "Resize group left"
+      (resize-group (current-group) -10 0)))
+
+
+;;;,-----
+;;;| Mouse second mode functions
+;;;`-----
+(defun select-group-under-mouse (root-x root-y)
+  (let ((group (find-group-under-mouse root-x root-y)))
+    (when group
+      (no-focus)
+      (focus-group group (current-workspace))
+      (focus-window (current-window))
+      (show-all-group (current-workspace)))))
+
+(defun mouse-leave-second-mode-maximize (root-x root-y)
+  "Leave second mode and maximize current group"
+  (select-group-under-mouse root-x root-y)
+  (maximize-group (current-group))
+  (show-all-windows-in-workspace (current-workspace))
+  (throw 'exit-second-loop nil))
+
+(defun mouse-leave-second-mode (root-x root-y)
+  "Leave second mode"
+  (select-group-under-mouse root-x root-y)
+  (show-all-windows-in-workspace (current-workspace))
+  (throw 'exit-second-loop nil))
+
+
+
+
+(defun mouse-circulate-window-up (root-x root-y)
+  "Rotate window up" 
+  (declare (ignore root-x root-y))
+  (rotate-window-up))
+
+
+(defun mouse-circulate-window-down (root-x root-y)
+  "Rotate window down" 
+  (declare (ignore root-x root-y))
+  (rotate-window-down))
+
+
+
+(defun mouse-circulate-workspace-up (root-x root-y)
+  "Circulate up in workspaces" 
+  (declare (ignore root-x root-y))
+  (circulate-workspace-up))
+
+
+(defun mouse-circulate-workspace-down (root-x root-y)
+  "Circulate down in workspaces" 
+  (declare (ignore root-x root-y))
+  (circulate-workspace-down))
+
+
+
+(defparameter *motion-action* nil)
+(defparameter *motion-object* nil)
+(defparameter *motion-start-group* nil)
+(defparameter *motion-dx* nil)
+(defparameter *motion-dy* nil)
+
+
+
+(let ((accept-motion t)
+      (selected-group nil))
+  (defun mouse-motion (root-x root-y)
+    "Move or resize group. Move window from a group to another.
+Go to top left or rigth corner to change workspaces."
+    (let ((group (find-group-under-mouse root-x root-y)))
+      (unless (equal selected-group group)
+	(select-group-under-mouse root-x root-y)
+	(setf selected-group group)))
+    (if (<= root-y 5)
+	(cond ((and accept-motion (<= root-x 5))
+	       (case *motion-action*
+		 (:move-group
+		  (remove-group-in-workspace *motion-object* (current-workspace))))
+	       (circulate-workspace-down)
+	       (minimize-group (current-group))
+	       (case *motion-action*
+		 (:move-group
+		  (add-group-in-workspace *motion-object* (current-workspace))))
+	       (warp-pointer *root* (1- (screen-width *screen*)) 100)
+	       (setf accept-motion nil))
+	      ((and accept-motion (>= root-x (- (screen-width *screen*) 5)))
+	       (case *motion-action*
+		 (:move-group
+		  (remove-group-in-workspace *motion-object* (current-workspace))))
+	       (circulate-workspace-up)
+	       (minimize-group (current-group))
+	       (case *motion-action*
+		 (:move-group
+		  (add-group-in-workspace *motion-object* (current-workspace))))
+	       (warp-pointer *root* 0 100)
+	       (setf accept-motion nil))
+	      (t (setf accept-motion t)))
+	(setf accept-motion t))
+    (case *motion-action*
+      (:move-group
+       (setf (group-x *motion-object*) (+ root-x *motion-dx*)
+	     (group-y *motion-object*) (+ root-y *motion-dy*))
+       (adapt-all-window-in-group *motion-object*)
+       (show-all-group (current-workspace)))
+      (:resize-group
+       (setf (group-width *motion-object*) (max (+ (group-width *motion-object*) (- root-x *motion-dx*)) 100)
+	     (group-height *motion-object*) (max (+ (group-height *motion-object*) (- root-y *motion-dy*)) 100)
+	     *motion-dx* root-x *motion-dy* root-y)
+       (adapt-all-window-in-group *motion-object*)
+       (show-all-group (current-workspace))))))
+
+
+
+(defun move-selected-group (root-x root-y)
+  "Move selected group or create a new group on the root window"
+  (select-group-under-mouse root-x root-y)
+  (setf *motion-object* (find-group-under-mouse root-x root-y))
+  (if *motion-object*
+      (setf *motion-action* :move-group
+	    *motion-dx* (- (group-x *motion-object*) root-x)
+	    *motion-dy* (- (group-y *motion-object*) root-y))
+      (progn
+	(setf *motion-object* (make-group :x root-x :y root-y :width 100 :height 100 :fullscreenp nil))
+	(warp-pointer *root* (+ root-x 100) (+ root-y 100))
+	(add-group-in-workspace *motion-object* (current-workspace))
+	(show-all-group (current-workspace))
+	(setf *motion-action* :resize-group
+	      *motion-dx* (+ root-x 100)
+	      *motion-dy* (+ root-y 100)))))
+
+
+
+(defun copy-selected-group (root-x root-y)
+  "Copy selected group"
+  (select-group-under-mouse root-x root-y)
+  (setf *motion-object* (find-group-under-mouse root-x root-y))
+  (when *motion-object*
+    (setf *motion-action* :move-group
+	  *motion-object* (copy-group *motion-object*)
+	  *motion-dx* (- (group-x *motion-object*) root-x)
+	  *motion-dy* (- (group-y *motion-object*) root-y))
+    (add-group-in-workspace *motion-object* (current-workspace))))
+
+
+
+(defun release-move-selected-group (root-x root-y)
+  "Release button"
+  (when *motion-object*
+    (case *motion-action*
+      (:move-group
+       (move-group-to *motion-object* (+ root-x *motion-dx*) (+ root-y *motion-dy*)))
+      (:resize-group
+       (resize-group *motion-object* 0 0))))
+  (setf *motion-action* nil
+	*motion-object* nil
+	*motion-dx* nil
+	*motion-dy* nil)
+  (select-group-under-mouse root-x root-y))
+
+
+
+(defun resize-selected-group (root-x root-y)
+  "Resize selected group"
+  (select-group-under-mouse root-x root-y)
+  (setf *motion-object* (find-group-under-mouse root-x root-y))
+  (when *motion-object*
+    (setf *motion-action* :resize-group
+	  *motion-dx* root-x
+	  *motion-dy* root-y)))
+
+
+(defun release-resize-selected-group (root-x root-y)
+  "Release button"
+  (when *motion-object*
+    (resize-group *motion-object* 0 0))
+  (setf *motion-action* nil
+	*motion-object* nil
+	*motion-dx* nil
+	*motion-dy* nil)
+  (select-group-under-mouse root-x root-y))
+
+
+
+(defun move-selected-window (root-x root-y)
+  "Move selected window"
+  (xgrab-pointer *root* 50 51)
+  (select-group-under-mouse root-x root-y)
+  (setf *motion-object* (current-window))
+  (when *motion-object*
+    (setf *motion-start-group* (current-group))))
+
+
+(defun release-move-selected-window (root-x root-y)
+  "Release button"
+  (xgrab-pointer *root* 66 67)
+  (setf *motion-action* nil)
+  (select-group-under-mouse root-x root-y)
+  (when *motion-object*
+    (remove-window-in-group *motion-object* *motion-start-group*)
+    (add-window-in-group *motion-object* (current-group)))
+  (select-group-under-mouse root-x root-y)
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+
+(defun copy-selected-window (root-x root-y)
+  "Copy selected window"
+  (move-selected-window root-x root-y))
+
+(defun release-copy-selected-window (root-x root-y)
+  "Release button"
+  (xgrab-pointer *root* 66 67)
+  (setf *motion-action* nil)
+  (select-group-under-mouse root-x root-y)
+  (when *motion-object*
+    (add-window-in-group *motion-object* (current-group)))
+  (select-group-under-mouse root-x root-y)
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+
+
+
+
+(define-mouse-action (1) 'move-selected-group 'release-move-selected-group)
+(define-mouse-action (1 :mod-1) 'resize-selected-group 'release-resize-selected-group)
+(define-mouse-action (1 :control) 'copy-selected-group 'release-move-selected-group)
+
+(define-mouse-action (2) nil 'mouse-leave-second-mode-maximize)
+(define-mouse-action (2 :control) nil 'mouse-leave-second-mode)
+
+(define-mouse-action (3) 'move-selected-window 'release-move-selected-window)
+(define-mouse-action (3  :control) 'copy-selected-window 'release-copy-selected-window)
+
+
+(define-mouse-action (4) 'mouse-circulate-window-up nil)
+(define-mouse-action (5) 'mouse-circulate-window-down nil)
+
+(define-mouse-action (4 :mod-1) 'mouse-circulate-workspace-up nil)
+(define-mouse-action (5 :mod-1) 'mouse-circulate-workspace-down nil)
+
+(define-mouse-action ('Motion) 'mouse-motion nil)
+

Added: bindings.fas
==============================================================================
--- (empty file)
+++ bindings.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,101 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 30 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 37 (DEFINE-MAIN-KEY ("F1" :MOD-1) 'HELP-ON-CLFSWM)-2|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("F1" 8. |CLFSWM|::|HELP-ON-CLFSWM| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|39 41 (DEFUN QUIT-CLFSWM NIL ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|QUIT-CLFSWM| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|QUIT-CLFSWM| #13Y(00 00 00 00 00 00 00 00 06 01 DA 00 52)
+       (|CLFSWM|::|EXIT-MAIN-LOOP|)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Quit clfswm"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|43 43 (DEFINE-MAIN-KEY ("Home" :MOD-1 :CONTROL ...) 'QUIT-CLFSWM)-4|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Home" 13. |CLFSWM|::|QUIT-CLFSWM| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|45 45 (DEFINE-MAIN-KEY ("Right" :MOD-1) 'SELECT-NEXT-BROTHER)-5|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Right" 8. |CLFSWM|::|SELECT-NEXT-BROTHER| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|46 46 (DEFINE-MAIN-KEY ("Left" :MOD-1) 'SELECT-PREVIOUS-BROTHER)-6|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Left" 8. |CLFSWM|::|SELECT-PREVIOUS-BROTHER|
+    |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|48 48 (DEFINE-MAIN-KEY ("Down" :MOD-1) 'SELECT-NEXT-LEVEL)-7|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Down" 8. |CLFSWM|::|SELECT-NEXT-LEVEL| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|49 49 (DEFINE-MAIN-KEY ("Up" :MOD-1) 'SELECT-PREVIOUS-LEVEL)-8|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Up" 8. |CLFSWM|::|SELECT-PREVIOUS-LEVEL| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|51 51 (DEFINE-MAIN-KEY ("Tab" :MOD-1) 'SELECT-NEXT-CHILD)-9|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Tab" 8. |CLFSWM|::|SELECT-NEXT-CHILD| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|52 52 (DEFINE-MAIN-KEY ("Tab" :MOD-1 :SHIFT) 'SELECT-PREVIOUS-CHILD)-10|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Tab" 9. |CLFSWM|::|SELECT-PREVIOUS-CHILD| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|54 54 (DEFINE-MAIN-KEY ("Return" :MOD-1) 'ENTER-GROUP)-11|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Return" 8. |CLFSWM|::|ENTER-GROUP| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|55 55 (DEFINE-MAIN-KEY ("Return" :MOD-1 :SHIFT) 'LEAVE-GROUP)-12|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Return" 9. |CLFSWM|::|LEAVE-GROUP| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|57 57 (DEFINE-MAIN-KEY ("Home" :MOD-1) 'SWITCH-TO-ROOT-GROUP)-13|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Home" 8. |CLFSWM|::|SWITCH-TO-ROOT-GROUP| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|58 58 (DEFINE-MAIN-KEY ("Home" :MOD-1 :SHIFT) 'SWITCH-AND-SELECT-ROOT-GROUP)-14|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Home" 9. |CLFSWM|::|SWITCH-AND-SELECT-ROOT-GROUP|
+    |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|60 60 (DEFINE-MAIN-KEY ("Menu") 'TOGGLE-SHOW-ROOT-GROUP)-15|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Menu" 0. |CLFSWM|::|TOGGLE-SHOW-ROOT-GROUP|
+    |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|62 62 (DEFINE-MAIN-KEY (#\\b :MOD-1) 'BANISH-POINTER)-16|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\b 8. |CLFSWM|::|BANISH-POINTER| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|65 66 (DEFINE-MAIN-KEY ("Escape" :CONTROL :SHIFT) 'DELETE-FOCUS-WINDOW)-17|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 5. |CLFSWM|::|DELETE-FOCUS-WINDOW|
+    |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|67 67 (DEFINE-MAIN-KEY ("Escape" :MOD-1 :CONTROL ...) 'DESTROY-FOCUS-WINDOW)-18|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 13. |CLFSWM|::|DESTROY-FOCUS-WINDOW|
+    |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|68 68 (DEFINE-MAIN-KEY ("Escape" :CONTROL) 'REMOVE-FOCUS-WINDOW)-19|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 4. |CLFSWM|::|REMOVE-FOCUS-WINDOW|
+    |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|69 69 (DEFINE-MAIN-KEY ("Escape" :SHIFT) 'UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD)-20|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 1. |CLFSWM|::|UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD|
+    |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|72 72 (DEFINE-MAIN-KEY (#\\t :MOD-1) 'SECOND-KEY-MODE)-21|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\t 8. |CLFSWM|::|SECOND-KEY-MODE| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|73 73 (DEFINE-MAIN-KEY ("less" :CONTROL) 'SECOND-KEY-MODE)-22|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("less" 4. |CLFSWM|::|SECOND-KEY-MODE| |CLFSWM|::|DEFINE-MAIN-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: bindings.fasl
==============================================================================
Binary file. No diff available.

Added: bindings.lib
==============================================================================
--- (empty file)
+++ bindings.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,5 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|QUIT-CLFSWM|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: bindings.lisp
==============================================================================
--- (empty file)
+++ bindings.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,173 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Sun Feb 24 21:34:48 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Bindings keys and mouse
+;;;
+;;; Note: Mod-1 is the Alt or Meta key, Mod-2 is the Numlock key.
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+;;;,-----
+;;;| CONFIG - Bindings main mode
+;;;`-----
+
+
+(define-main-key ("F1" :mod-1) 'help-on-clfswm)
+
+(defun quit-clfswm ()
+  "Quit clfswm"
+  (throw 'exit-main-loop nil))
+
+(define-main-key ("Home" :mod-1 :control :shift) 'quit-clfswm)
+
+(define-main-key ("Right" :mod-1) 'select-next-brother)
+(define-main-key ("Left" :mod-1) 'select-previous-brother)
+
+(define-main-key ("Down" :mod-1) 'select-next-level)
+(define-main-key ("Up" :mod-1) 'select-previous-level)
+
+(define-main-key ("Tab" :mod-1) 'select-next-child)
+(define-main-key ("Tab" :mod-1 :shift) 'select-previous-child)
+
+(define-main-key ("Return" :mod-1) 'enter-group)
+(define-main-key ("Return" :mod-1 :shift) 'leave-group)
+
+(define-main-key ("Home" :mod-1) 'switch-to-root-group)
+(define-main-key ("Home" :mod-1 :shift) 'switch-and-select-root-group)
+
+(define-main-key ("Menu") 'toggle-show-root-group)
+
+(define-main-key (#\b :mod-1) 'banish-pointer)
+
+
+;;;; Escape
+(define-main-key ("Escape" :control :shift) 'delete-focus-window)
+(define-main-key ("Escape" :mod-1 :control :shift) 'destroy-focus-window)
+(define-main-key ("Escape" :control) 'remove-focus-window)
+(define-main-key ("Escape" :shift) 'unhide-all-windows-in-current-child)
+
+
+(define-main-key (#\t :mod-1) 'second-key-mode)
+(define-main-key ("less" :control) 'second-key-mode)
+
+
+;;(define-main-key ("a") (lambda ()
+;;			 (dbg 'key-a)
+;;			 (show-all-childs *root-group*)))
+;;
+;;(define-main-key ("b") (lambda ()
+;;			 (dbg 'key-b)
+;;			   (let* ((window (xlib:create-window :parent *root*
+;;							 :x 300
+;;							 :y 200
+;;							 :width 400
+;;							 :height 300
+;;							 :background (get-color "Black")
+;;							 :colormap (xlib:screen-default-colormap *screen*)
+;;							 :border-width 1
+;;							 :border (get-color "Red")
+;;							 :class :input-output
+;;							 :event-mask '(:exposure)))
+;;				  (gc (xlib:create-gcontext :drawable window
+;;						       :foreground (get-color "Green")
+;;						       :background (get-color "Red")
+;;						       :font *default-font*
+;;						       :line-style :solid)))
+;;			     (xlib:map-window window)
+;;			     (draw-line window gc 10 10 200 200)
+;;			     (xlib:display-finish-output *display*)
+;;			     (xlib:draw-glyphs window gc 10 10 (format nil "~A" 10))
+;;			     (dbg 'ici))))
+;;    
+;;
+;;;;(define-main-key ("F1" :mod-1) 'help-on-clfswm)
+;;;;
+;;(defun quit-clfswm ()
+;;  "Quit clfswm"
+;;  (throw 'exit-main-loop nil))
+;;
+;;
+;;
+;;(define-main-key ("Home" :mod-1 :control :shift) 'quit-clfswm)
+;;
+;;(define-main-key (#\t :mod-1) 'second-key-mode)
+;;(define-main-key ("less" :control) 'second-key-mode)
+;;
+;;(define-main-key ("Tab" :mod-1) 'rotate-window-up)
+;;(define-main-key ("Tab" :mod-1 :shift) 'rotate-window-down)
+;;
+;;(define-main-key (#\b :mod-1) 'banish-pointer)
+;;(define-main-key (#\b :mod-1 :control) 'toggle-maximize-current-group)
+;;
+;;;; Escape
+;;(define-main-key ("Escape" :control :shift) 'delete-current-window)
+;;(define-main-key ("Escape" :mod-1 :control :shift) 'destroy-current-window)
+;;(define-main-key ("Escape" :control) 'remove-current-window)
+;;(define-main-key ("Escape" :shift) 'unhide-all-windows-in-current-group)
+;;
+;;
+;;;; Up
+;;(define-main-key ("Up" :mod-1) 'circulate-group-up)
+;;(define-main-key ("Up" :mod-1 :shift) 'circulate-group-up-move-window)
+;;(define-main-key ("Up" :mod-1 :shift :control) 'circulate-group-up-copy-window)
+;;
+;;
+;;;; Down
+;;(define-main-key ("Down" :mod-1) 'circulate-group-down)
+;;(define-main-key ("Down" :mod-1 :shift) 'circulate-group-down-move-window)
+;;(define-main-key ("Down" :mod-1 :shift :control) 'circulate-group-down-copy-window)
+;;
+;;
+;;;; Right
+;;(define-main-key ("Right" :mod-1) 'circulate-workspace-up)
+;;(define-main-key ("Right" :mod-1 :shift) 'circulate-workspace-up-move-group)
+;;(define-main-key ("Right" :mod-1 :shift :control) 'circulate-workspace-up-copy-group)
+;;
+;;
+;;;; Left
+;;(define-main-key ("Left" :mod-1) 'circulate-workspace-down)
+;;(define-main-key ("Left" :mod-1 :shift) 'circulate-workspace-down-move-group)
+;;(define-main-key ("Left" :mod-1 :shift :control) 'circulate-workspace-down-copy-group)
+;;
+;;
+;;
+;;(defmacro define-main-focus-workspace-by-number (key number)
+;;  "Define a main key to focus a workspace by its number"
+;;  `(define-main-key ,key
+;;    (defun ,(create-symbol (format nil "b-main-focus-workspace-~A" number)) ()
+;;      ,(format nil "Focus workspace ~A" number)
+;;      (circulate-workspace-by-number ,number))))
+;;
+;;(define-main-focus-workspace-by-number (#\1 :mod-1) 1)
+;;(define-main-focus-workspace-by-number (#\2 :mod-1) 2)
+;;(define-main-focus-workspace-by-number (#\3 :mod-1) 3)
+;;(define-main-focus-workspace-by-number (#\4 :mod-1) 4)
+;;(define-main-focus-workspace-by-number (#\5 :mod-1) 5)
+;;(define-main-focus-workspace-by-number (#\6 :mod-1) 6)
+;;(define-main-focus-workspace-by-number (#\7 :mod-1) 7)
+;;(define-main-focus-workspace-by-number (#\8 :mod-1) 8)
+;;(define-main-focus-workspace-by-number (#\9 :mod-1) 9)
+;;(define-main-focus-workspace-by-number (#\0 :mod-1) 10)
+

Added: check-diff.sh
==============================================================================
--- (empty file)
+++ check-diff.sh	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+DIR=../clfswm2
+
+for i in *
+do
+    diff $i $DIR/$i > /dev/null
+    if [ $? = 1 ]; then
+	echo $i
+	#cp $DIR/$i .
+    fi
+done

Added: clfswm-info.fas
==============================================================================
--- (empty file)
+++ clfswm-info.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,970 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|30 30 (DEFSTRUCT INFO WINDOW ...)-2|
+   #1207Y(00 00 00 00 00 00 00 00 00 01 00 2B 01 DA DB DC 38 01 72 85 2F 03 5D
+          0B 00 00 DA 2F 04 DA DF 32 8A DA 68 01 00 E0 63 E1 E2 6B 09 E4 E5 E6
+          E7 E8 64 E9 EA EB 01 02 6F 12 70 13 EE EF F0 F1 F2 63 6E 11 19 6B 09
+          E4 F4 E6 F5 E8 64 E9 EA EB 01 02 6F 12 70 13 EE F6 F0 F7 F2 63 6E 11
+          19 6B 09 E4 65 1E E6 65 1F E8 64 E9 EA EB 01 02 6F 12 70 13 EE 65 20
+          F0 65 21 F2 63 6E 11 19 6B 09 E4 65 22 E6 65 23 E8 64 E9 EA EB 01 02
+          6F 12 70 13 EE 65 24 F0 65 25 F2 63 6E 11 19 6B 09 E4 65 26 E6 65 27
+          E8 64 E9 EA EB 01 02 6F 12 70 13 EE 65 28 F0 65 29 F2 63 6E 11 19 6B
+          09 E4 65 2A E6 65 2B E8 64 E9 EA EB 01 02 6F 12 70 13 EE 65 2C F0 65
+          2D F2 63 6E 11 19 6B 09 E4 65 2E E6 65 2F E8 64 E9 EA EB 01 02 6F 12
+          70 13 EE 65 30 F0 65 31 F2 63 6E 11 19 6B 09 E4 65 32 E6 65 33 E8 64
+          E9 EA EB 01 02 6F 12 70 13 EE 65 34 F0 65 35 F2 63 6E 11 19 7B 08 6B
+          36 E4 E5 E6 E7 E8 64 E9 EA EB 01 02 6F 12 70 13 EE 65 37 65 38 65 39
+          65 3A 65 3B 6E 11 3C 6B 36 E4 F4 E6 F5 E8 64 E9 EA EB 01 02 6F 12 70
+          13 EE 65 3D 65 38 65 3E 65 3A 65 3F 6E 11 3C 6B 36 E4 65 1E E6 65 1F
+          E8 64 E9 EA EB 01 02 6F 12 70 13 EE 65 40 65 38 65 41 65 3A 65 42 6E
+          11 3C 6B 36 E4 65 22 E6 65 23 E8 64 E9 EA EB 01 02 6F 12 70 13 EE 65
+          43 65 38 65 44 65 3A 65 45 6E 11 3C 6B 36 E4 65 26 E6 65 27 E8 64 E9
+          EA EB 01 02 6F 12 70 13 EE 65 46 65 38 65 47 65 3A 65 48 6E 11 3C 6B
+          36 E4 65 2A E6 65 2B E8 64 E9 EA EB 01 02 6F 12 70 13 EE 65 49 65 38
+          65 4A 65 3A 65 4B 6E 11 3C 6B 36 E4 65 2E E6 65 2F E8 64 E9 EA EB 01
+          02 6F 12 70 13 EE 65 4C 65 38 65 4D 65 3A 65 4E 6E 11 3C 6B 36 E4 65
+          32 E6 65 33 E8 64 E9 EA EB 01 02 6F 12 70 13 EE 65 4F 65 38 65 50 65
+          3A 65 51 6E 11 3C 7B 08 2D 08 52 E0 2F 53 E0 AD 6D 54 01 32 83 16 01
+          65 55 31 5A E2 2F 53 E2 65 56 65 57 32 89 E2 65 58 32 83 65 59 31 5A
+          E1 2F 53 E1 65 56 65 5A 32 89 E1 65 5B 32 83 65 5C 31 5A 65 5D 31 5A
+          65 5E 2F 53 65 5E 65 56 65 5F 32 89 65 5E 65 60 32 83 65 5E 65 61 DA
+          32 89 65 62 31 5A 65 63 31 5A 65 64 2F 53 65 64 65 56 65 65 32 89 65
+          64 65 66 32 83 65 64 65 61 DA 32 89 65 67 31 5A 65 68 31 5A 65 69 2F
+          53 65 69 65 56 65 6A 32 89 65 69 65 6B 32 83 65 69 65 61 DA 32 89 65
+          6C 31 5A 65 6D 31 5A 65 6E 2F 53 65 6E 65 56 65 6F 32 89 65 6E 65 70
+          32 83 65 6E 65 61 DA 32 89 65 71 31 5A 65 72 31 5A 65 73 2F 53 65 73
+          65 56 65 74 32 89 65 73 65 75 32 83 65 73 65 61 DA 32 89 65 76 31 5A
+          65 77 31 5A 65 78 2F 53 65 78 65 56 65 79 32 89 65 78 65 7A 32 83 65
+          78 65 61 DA 32 89 65 7B 31 5A 65 7C 31 5A 65 7D 2F 53 65 7D 65 56 65
+          7E 32 89 65 7D 65 7F 32 83 65 7D 65 61 DA 32 89 65 80 80 31 5A 65 80
+          81 31 5A 65 80 82 2F 53 65 80 82 65 56 65 80 83 32 89 65 80 82 65 80
+          84 32 83 65 80 82 65 61 DA 32 89 65 80 85 31 5A 65 80 86 31 5A 65 80
+          87 2F 53 65 80 87 65 56 65 80 88 32 89 65 80 87 65 80 89 32 83 65 5E
+          65 80 8A DA 32 89 65 80 8B 31 5A 65 80 8C 31 5A 65 80 8D 2F 53 65 80
+          8D 65 56 65 80 8E 32 89 65 80 8D 65 80 8F 32 83 65 64 65 80 8A DA 32
+          89 65 80 90 31 5A 65 80 91 31 5A 65 80 92 2F 53 65 80 92 65 56 65 80
+          93 32 89 65 80 92 65 80 94 32 83 65 69 65 80 8A DA 32 89 65 80 95 31
+          5A 65 80 96 31 5A 65 80 97 2F 53 65 80 97 65 56 65 80 98 32 89 65 80
+          97 65 80 99 32 83 65 6E 65 80 8A DA 32 89 65 80 9A 31 5A 65 80 9B 31
+          5A 65 80 9C 2F 53 65 80 9C 65 56 65 80 9D 32 89 65 80 9C 65 80 9E 32
+          83 65 73 65 80 8A DA 32 89 65 80 9F 31 5A 65 80 A0 31 5A 65 80 A1 2F
+          53 65 80 A1 65 56 65 80 A2 32 89 65 80 A1 65 80 A3 32 83 65 78 65 80
+          8A DA 32 89 65 80 A4 31 5A 65 80 A5 31 5A 65 80 A6 2F 53 65 80 A6 65
+          56 65 80 A7 32 89 65 80 A6 65 80 A8 32 83 65 7D 65 80 8A DA 32 89 65
+          80 A9 31 5A 65 80 AA 31 5A 65 80 AB 2F 53 65 80 AB 65 56 65 80 AC 32
+          89 65 80 AB 65 80 AD 32 83 65 80 82 65 80 8A DA 32 89 DA 65 80 AE 63
+          2D 03 80 AF DA 2F 80 B0 C5 19 01)
+   (|CLFSWM|::|INFO| |COMMON-LISP|::|STRUCTURE-OBJECT| |CLOS|::|CLOSCLASS|
+    |CLOS|::|CLASS-NAMES| |SYSTEM|::|STRUCTURE-UNDEFINE-ACCESSORIES|
+    |SYSTEM|::|DEFSTRUCT-DESCRIPTION| |CLFSWM|::|MAKE-INFO|
+    |CLFSWM|::|COPY-INFO| |CLFSWM|::|INFO-P|
+    |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME| |CLFSWM|::|WINDOW|
+    :|INITARGS| (:|WINDOW|) :|TYPE| :|ALLOCATION| :|INSTANCE|
+    |CLOS|::|INHERITABLE-INITER| |SYSTEM|::|MAKE-CONSTANT-INITFUNCTION|
+    |CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| |CLOS|::|INHERITABLE-DOC|
+    (|COMMON-LISP|::|NIL|) |CLOS|::|LOCATION| 1. |CLOS|::|READONLY|
+    |CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+    |CLFSWM|::|GC| (:|GC|) (|COMMON-LISP|::|NIL|) 2. |CLFSWM|::|FONT| (:|FONT|)
+    (|COMMON-LISP|::|NIL|) 3. |COMMON-LISP|::|LIST| (:|LIST|)
+    (|COMMON-LISP|::|NIL|) 4. |CLFSWM|::|ILW| (:|ILW|) (|COMMON-LISP|::|NIL|)
+    5. |CLFSWM|::|ILH| (:|ILH|) (|COMMON-LISP|::|NIL|) 6. |CLFSWM|::|X| (:|X|)
+    (|COMMON-LISP|::|NIL|) 7. |CLFSWM|::|Y| (:|Y|) (|COMMON-LISP|::|NIL|) 8.
+    |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| (|COMMON-LISP|::|NIL|)
+    :|READERS| (|CLFSWM|::|INFO-WINDOW|) :|WRITERS|
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|))
+    |CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+    (|COMMON-LISP|::|NIL|) (|CLFSWM|::|INFO-GC|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)) (|COMMON-LISP|::|NIL|)
+    (|CLFSWM|::|INFO-FONT|) ((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|))
+    (|COMMON-LISP|::|NIL|) (|CLFSWM|::|INFO-LIST|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)) (|COMMON-LISP|::|NIL|)
+    (|CLFSWM|::|INFO-ILW|) ((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|))
+    (|COMMON-LISP|::|NIL|) (|CLFSWM|::|INFO-ILH|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)) (|COMMON-LISP|::|NIL|)
+    (|CLFSWM|::|INFO-X|) ((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|))
+    (|COMMON-LISP|::|NIL|) (|CLFSWM|::|INFO-Y|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|))
+    |CLOS|::|DEFINE-STRUCTURE-CLASS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MAKE-INFO|
+       #87Y(00 00 00 00 00 00 00 00 86 1B 08 00 01 00 3D 08 3D 07 3D 06 3D 05
+            3D 04 3D 03 3D 02 3D 01 69 00 01 E3 72 31 E4 AD E5 B8 32 30 E4 AD
+            E6 B7 32 30 E4 AD E7 B6 32 30 E4 AD E8 B5 32 30 E4 AD E9 B4 32 30
+            E4 AD EA B3 32 30 E4 AD EB B2 32 30 E4 AD EC B1 32 30 15 19 09)
+       (|COMMON-LISP|::|NIL| :|WINDOW| :|GC| :|FONT| :|LIST| :|ILW| :|ILH| :|X|
+        :|Y| 9. |CLFSWM|::|INFO| 1. 2. 3. 4. 5. 6. 7. 8.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&KEY| (#:|WINDOW| |COMMON-LISP|::|NIL|)
+        (#:|GC| |COMMON-LISP|::|NIL|) (#:|FONT| |COMMON-LISP|::|NIL|)
+        (#:|LIST| |COMMON-LISP|::|NIL|) (#:|ILW| |COMMON-LISP|::|NIL|)
+        (#:|ILH| |COMMON-LISP|::|NIL|) (#:|X| |COMMON-LISP|::|NIL|)
+        (#:|Y| |COMMON-LISP|::|NIL|))
+       |COMMON-LISP|::|NIL|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-P|) |SYSTEM|::|INLINE-EXPANSION|
+    ((|SYSTEM|::|OBJECT|)
+     (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-P|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-P|
+      (|SYSTEM|::|%STRUCTURE-TYPE-P| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT|)))
+    #Y(|CLFSWM|::|INFO-P| #16Y(00 00 00 00 01 00 00 00 00 02 DA AE 32 33 19 02)
+       (|CLFSWM|::|INFO|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|COPY-INFO|)
+    (#1=(|COMMON-LISP|::|STRUCTURE|)
+     (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|COPY-INFO|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|COPY-INFO|
+      (|COMMON-LISP|::|COPY-STRUCTURE| |COMMON-LISP|::|STRUCTURE|)))
+    #Y(|CLFSWM|::|COPY-INFO| #15Y(00 00 00 00 01 00 00 00 06 02 AD 32 32 19 02)
+       () (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|STRUCTURE|) |COMMON-LISP|::|NIL|)
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-WINDOW| (|CLFSWM|::|INFO|)
+     |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-WINDOW|) |CLFSWM|::|INFO-WINDOW|
+    (#2=(|SYSTEM|::|OBJECT|)
+     (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-WINDOW|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-WINDOW|
+      (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+       (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 1.))))
+    #Y(|CLFSWM|::|INFO-WINDOW|
+       #17Y(00 00 00 00 01 00 00 00 00 02 DA AE DB 32 2F 19 02)
+       (|CLFSWM|::|INFO| 1.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    |SYSTEM|::|DEFSTRUCT-READER|
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-GC| (|CLFSWM|::|INFO|)
+     |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-GC|) |CLFSWM|::|INFO-GC|
+    (#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-GC|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-GC|
+      (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+       (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 2.))))
+    #Y(|CLFSWM|::|INFO-GC|
+       #17Y(00 00 00 00 01 00 00 00 00 02 DA AE DB 32 2F 19 02)
+       (|CLFSWM|::|INFO| 2.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-FONT| (|CLFSWM|::|INFO|)
+     |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-FONT|) |CLFSWM|::|INFO-FONT|
+    (#2#
+     (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-FONT|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-FONT|
+      (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+       (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 3.))))
+    #Y(|CLFSWM|::|INFO-FONT|
+       #17Y(00 00 00 00 01 00 00 00 00 02 DA AE DB 32 2F 19 02)
+       (|CLFSWM|::|INFO| 3.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-LIST| (|CLFSWM|::|INFO|)
+     |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-LIST|) |CLFSWM|::|INFO-LIST|
+    (#2#
+     (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-LIST|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-LIST|
+      (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+       (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 4.))))
+    #Y(|CLFSWM|::|INFO-LIST|
+       #17Y(00 00 00 00 01 00 00 00 00 02 DA AE DB 32 2F 19 02)
+       (|CLFSWM|::|INFO| 4.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-ILW| (|CLFSWM|::|INFO|)
+     |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-ILW|) |CLFSWM|::|INFO-ILW|
+    (#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-ILW|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-ILW|
+      (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+       (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 5.))))
+    #Y(|CLFSWM|::|INFO-ILW|
+       #17Y(00 00 00 00 01 00 00 00 00 02 DA AE DB 32 2F 19 02)
+       (|CLFSWM|::|INFO| 5.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-ILH| (|CLFSWM|::|INFO|)
+     |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-ILH|) |CLFSWM|::|INFO-ILH|
+    (#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-ILH|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-ILH|
+      (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+       (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 6.))))
+    #Y(|CLFSWM|::|INFO-ILH|
+       #17Y(00 00 00 00 01 00 00 00 00 02 DA AE DB 32 2F 19 02)
+       (|CLFSWM|::|INFO| 6.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-X| (|CLFSWM|::|INFO|)
+     |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-X|) |CLFSWM|::|INFO-X|
+    (#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-X|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-X|
+      (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+       (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 7.))))
+    #Y(|CLFSWM|::|INFO-X|
+       #17Y(00 00 00 00 01 00 00 00 00 02 DA AE DB 32 2F 19 02)
+       (|CLFSWM|::|INFO| 7.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-Y| (|CLFSWM|::|INFO|)
+     |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-Y|) |CLFSWM|::|INFO-Y|
+    (#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-Y|))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-Y|
+      (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+       (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 8.))))
+    #Y(|CLFSWM|::|INFO-Y|
+       #17Y(00 00 00 00 01 00 00 00 00 02 DA AE DB 32 2F 19 02)
+       (|CLFSWM|::|INFO| 8.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    (|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)
+     (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|))
+    #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|INFO-WINDOW|)
+    (#3=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|)
+     (|COMMON-LISP|::|DECLARE|
+      (|SYSTEM|::|IN-DEFUN|
+       #4=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-WINDOW|
+      (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 1.
+       |SYSTEM|::|VALUE|)))
+    #Y(#4# #18Y(00 00 00 00 02 00 00 00 00 03 DA AE DB B1 32 30 19 03)
+       (|CLFSWM|::|INFO| 1.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|DEFSTRUCT-WRITER|
+    (|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)
+     (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|))
+    #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|INFO-GC|)
+    (#3#
+     (|COMMON-LISP|::|DECLARE|
+      (|SYSTEM|::|IN-DEFUN| #5=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-GC|
+      (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 2.
+       |SYSTEM|::|VALUE|)))
+    #Y(#5# #18Y(00 00 00 00 02 00 00 00 00 03 DA AE DB B1 32 30 19 03)
+       (|CLFSWM|::|INFO| 2.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    (|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|)
+     (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|))
+    #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|INFO-FONT|)
+    (#3#
+     (|COMMON-LISP|::|DECLARE|
+      (|SYSTEM|::|IN-DEFUN| #6=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|)))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-FONT|
+      (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 3.
+       |SYSTEM|::|VALUE|)))
+    #Y(#6# #18Y(00 00 00 00 02 00 00 00 00 03 DA AE DB B1 32 30 19 03)
+       (|CLFSWM|::|INFO| 3.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    (|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)
+     (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|))
+    #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|INFO-LIST|)
+    (#3#
+     (|COMMON-LISP|::|DECLARE|
+      (|SYSTEM|::|IN-DEFUN| #7=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-LIST|
+      (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 4.
+       |SYSTEM|::|VALUE|)))
+    #Y(#7# #18Y(00 00 00 00 02 00 00 00 00 03 DA AE DB B1 32 30 19 03)
+       (|CLFSWM|::|INFO| 4.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    (|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|)
+     (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|))
+    #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|INFO-ILW|)
+    (#3#
+     (|COMMON-LISP|::|DECLARE|
+      (|SYSTEM|::|IN-DEFUN| #8=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|)))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-ILW|
+      (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 5.
+       |SYSTEM|::|VALUE|)))
+    #Y(#8# #18Y(00 00 00 00 02 00 00 00 00 03 DA AE DB B1 32 30 19 03)
+       (|CLFSWM|::|INFO| 5.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    (|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)
+     (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|))
+    #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|INFO-ILH|)
+    (#3#
+     (|COMMON-LISP|::|DECLARE|
+      (|SYSTEM|::|IN-DEFUN| #9=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-ILH|
+      (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 6.
+       |SYSTEM|::|VALUE|)))
+    #Y(#9# #18Y(00 00 00 00 02 00 00 00 00 03 DA AE DB B1 32 30 19 03)
+       (|CLFSWM|::|INFO| 6.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    (|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|)
+     (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|))
+    #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|INFO-X|)
+    (#3#
+     (|COMMON-LISP|::|DECLARE|
+      (|SYSTEM|::|IN-DEFUN| #10=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|)))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-X|
+      (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 7.
+       |SYSTEM|::|VALUE|)))
+    #Y(#10# #18Y(00 00 00 00 02 00 00 00 00 03 DA AE DB B1 32 30 19 03)
+       (|CLFSWM|::|INFO| 7.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    (|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|)
+     (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|)
+    (|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|))
+    #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|INFO-Y|)
+    (#3#
+     (|COMMON-LISP|::|DECLARE|
+      (|SYSTEM|::|IN-DEFUN| #11=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|)))
+     (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-Y|
+      (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 8.
+       |SYSTEM|::|VALUE|)))
+    #Y(#11# #18Y(00 00 00 00 02 00 00 00 00 03 DA AE DB B1 32 30 19 03)
+       (|CLFSWM|::|INFO| 8.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |COMMON-LISP|::|TYPE| |SYSTEM|::|%SET-DOCUMENTATION|
+    |CLOS|::|DEFSTRUCT-REMOVE-PRINT-OBJECT-METHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|33 36 (DEFUN LEAVE-INFO-MODE (INFO) ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|LEAVE-INFO-MODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|LEAVE-INFO-MODE| #13Y(00 00 00 00 01 00 00 00 06 02 DA 00 52)
+       (|CLFSWM|::|EXIT-INFO-LOOP|)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Leave the info mode"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|38 41 (DEFUN MOUSE-LEAVE-INFO-MODE (ROOT-X ROOT-Y INFO) ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MOUSE-LEAVE-INFO-MODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MOUSE-LEAVE-INFO-MODE|
+       #13Y(00 00 00 00 03 00 00 00 06 04 DA 00 52)
+       (|CLFSWM|::|EXIT-INFO-LOOP|)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)
+       "Leave the info mode"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|45 53 (DEFUN DRAW-INFO-WINDOW (INFO) ...)-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DRAW-INFO-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DRAW-INFO-WINDOW|
+       #118Y(00 00 00 00 01 00 00 00 06 02 DA AE DB 72 2F 2F 02 DA AE DD 72 2F
+             6B 04 6F 05 30 06 DA AE E1 72 2F 01 02 CD F8 1B 80 46 87 02 01 DA
+             B1 DB 72 2F DA B2 DD 72 2F DA B3 E3 72 2F DA B4 E4 72 2F 73 01 36
+             DA B4 E5 72 2F B0 73 02 37 DA B5 E5 72 2F 73 02 35 DA B5 E6 72 2F
+             73 01 36 38 02 72 76 B2 AD 31 86 AC 81 77 00 2D 05 0D 83 02 85 00
+             AE 8D 94 FF B5 00 19 05)
+       (|CLFSWM|::|INFO| 1. |XLIB|::|CLEAR-AREA| 2.
+        |CLFSWM|::|*INFO-FOREGROUND*| |CLFSWM|::|GET-COLOR|
+        |XLIB|::|SET-GCONTEXT-FOREGROUND| 4. 0. 5. 7. 6. 8.
+        |XLIB|::|DRAW-IMAGE-GLYPHS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|56 78 (DEFUN DRAW-INFO-WINDOW-PARTIAL (INFO) ...)-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DRAW-INFO-WINDOW-PARTIAL| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DRAW-INFO-WINDOW-PARTIAL|
+       #273Y(00 00 00 00 01 00 00 00 06 02 DA AE DB 72 2F DA AF DC 72 2F 6B 03
+             6F 04 30 05 DA AF E0 72 2F DA B0 DC 72 2F E1 E1 DA B3 E0 72 2F 6F
+             08 DA B4 DB 72 2F 73 00 36 DA B5 E3 72 2F 6F 0A 73 02 35 E1 73 01
+             33 64 2D 07 0B DA AF E6 72 2F 01 02 CC F8 1B 80 8C 87 02 01 DA B2
+             E7 72 2F AD 73 02 37 DA B3 E7 72 2F 73 02 35 DA B3 DB 72 2F 82 01
+             36 03 DA B2 DC 72 2F 6B 03 6F 04 30 05 DA B2 E0 72 2F DA B3 DC 72
+             2F E1 B2 DA B6 E7 72 2F 73 00 36 DA B7 E3 72 2F 6F 0E 73 03 35 DA
+             B6 E0 72 2F 6F 08 DA B7 E7 72 2F 64 2D 07 0B DA B2 DC 72 2F 6B 0F
+             6F 04 30 05 DA B2 E0 72 2F DA B3 DC 72 2F DA B4 EA 72 2F DA B5 EB
+             72 2F 73 01 36 B2 38 02 72 76 B2 AD 31 86 AC 81 77 00 2D 05 12 83
+             02 85 00 AE 8D 94 FF 6F 16 03 DA AF DC 72 2F 6B 03 6F 04 30 05 DA
+             AF E0 72 2F DA B0 DC 72 2F E1 AF DA B3 E0 72 2F 6F 08 DA B4 E0 72
+             2F 6F 13 64 2D 07 0B 19 03)
+       (|CLFSWM|::|INFO| 8. 2. |CLFSWM|::|*INFO-BACKGROUND*|
+        |CLFSWM|::|GET-COLOR| |XLIB|::|SET-GCONTEXT-FOREGROUND| 1. 0.
+        |XLIB|::|DRAWABLE-WIDTH| 3. |XLIB|::|MAX-CHAR-ASCENT|
+        |XLIB|::|DRAW-RECTANGLE| 4. 6. |XLIB|::|MAX-CHAR-DESCENT|
+        |CLFSWM|::|*INFO-FOREGROUND*| 5. 7. |XLIB|::|DRAW-IMAGE-GLYPHS|
+        |XLIB|::|DRAWABLE-HEIGHT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|81 85 (DEFINE-INFO-KEY (#\\q) 'LEAVE-INFO-MODE)-7|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\q 0. |CLFSWM|::|LEAVE-INFO-MODE| |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 86 (DEFINE-INFO-KEY ("Return") 'LEAVE-INFO-MODE)-8|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Return" 0. |CLFSWM|::|LEAVE-INFO-MODE| |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|87 87 (DEFINE-INFO-KEY ("Escape") 'LEAVE-INFO-MODE)-9|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   ("Escape" 0. |CLFSWM|::|LEAVE-INFO-MODE| |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|88 88 (DEFINE-INFO-KEY (#\\ ) 'LEAVE-INFO-MODE)-10|
+   #21Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 2D 03 03 19 01)
+   (#\  0. |CLFSWM|::|LEAVE-INFO-MODE| |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|90 94 (DEFINE-INFO-KEY ("twosuperior") (DEFUN INFO-BANISH-POINTER # ...))-11|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("twosuperior" 0. |CLFSWM|::|INFO-BANISH-POINTER|
+    |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-BANISH-POINTER|
+       #14Y(00 00 00 00 01 00 00 00 06 02 2E 00 19 02)
+       (|CLFSWM|::|BANISH-POINTER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|)
+       "Move the pointer to the lower right corner of the screen")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|96 100 (DEFINE-INFO-KEY ("Down") (DEFUN INFO-NEXT-LINE # ...))-12|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("Down" 0. |CLFSWM|::|INFO-NEXT-LINE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-NEXT-LINE|
+       #37Y(00 00 00 00 01 00 00 00 06 02 DA AE DB 72 2F DA AF DC 72 2F AD 73
+            02 35 DA B0 DC AF 32 30 16 02 AD 2F 03 19 02)
+       (|CLFSWM|::|INFO| 6. 8. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Move one line down")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|102 106 (DEFINE-INFO-KEY ("Up") (DEFUN INFO-PREVIOUS-LINE # ...))-13|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("Up" 0. |CLFSWM|::|INFO-PREVIOUS-LINE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-PREVIOUS-LINE|
+       #37Y(00 00 00 00 01 00 00 00 06 02 DA AE DB 72 2F DA AF DC 72 2F AD 73
+            01 36 DA B0 DC AF 32 30 16 02 AD 2F 03 19 02)
+       (|CLFSWM|::|INFO| 6. 8. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Move one line up")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|108 112 (DEFINE-INFO-KEY ("Left") (DEFUN INFO-PREVIOUS-CHAR # ...))-14|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("Left" 0. |CLFSWM|::|INFO-PREVIOUS-CHAR| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-PREVIOUS-CHAR|
+       #37Y(00 00 00 00 01 00 00 00 06 02 DA AE DB 72 2F DA AF DC 72 2F AD 73
+            01 36 DA B0 DC AF 32 30 16 02 AD 2F 03 19 02)
+       (|CLFSWM|::|INFO| 5. 7. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Move one char left")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|114 118 (DEFINE-INFO-KEY ("Right") (DEFUN INFO-NEXT-CHAR # ...))-15|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("Right" 0. |CLFSWM|::|INFO-NEXT-CHAR| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-NEXT-CHAR|
+       #37Y(00 00 00 00 01 00 00 00 06 02 DA AE DB 72 2F DA AF DC 72 2F AD 73
+            02 35 DA B0 DC AF 32 30 16 02 AD 2F 03 19 02)
+       (|CLFSWM|::|INFO| 5. 7. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Move one char right")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|121 126 (DEFINE-INFO-KEY ("Home") (DEFUN INFO-FIRST-LINE # ...))-16|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("Home" 0. |CLFSWM|::|INFO-FIRST-LINE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-FIRST-LINE|
+       #27Y(00 00 00 00 01 00 00 00 06 02 DA AE DB DC 32 30 DA AE DD DC 32 30
+            AD 2F 04 19 02)
+       (|CLFSWM|::|INFO| 7. 0. 8. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Move to first line")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|128 133 (DEFINE-INFO-KEY ("End") (DEFUN INFO-END-LINE # ...))-17|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("End" 0. |CLFSWM|::|INFO-END-LINE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-END-LINE|
+       #54Y(00 00 00 00 01 00 00 00 06 02 DA AE DB DC 32 30 DA AE DD 72 2F 72
+            48 DA AF DE 72 2F 73 02 37 DA AF DF 72 2F 6F 06 73 01 36 DA AF E1
+            AF 32 30 16 01 AD 2F 08 19 02)
+       (|CLFSWM|::|INFO| 7. 0. 4. 6. 1. |XLIB|::|DRAWABLE-HEIGHT| 8.
+        |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Move to last line")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|136 140 (DEFINE-INFO-KEY ("Page_Down") (DEFUN INFO-NEXT-TEN-LINES # ...))-18|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("Page_Down" 0. |CLFSWM|::|INFO-NEXT-TEN-LINES|
+    |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-NEXT-TEN-LINES|
+       #41Y(00 00 00 00 01 00 00 00 06 02 DA DB AF DC 72 2F 73 02 37 DB AF DD
+            72 2F AD 73 02 35 DB B0 DD AF 32 30 16 02 AD 2F 04 19 02)
+       (10. |CLFSWM|::|INFO| 6. 8. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Move ten lines down")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|142 146 (DEFINE-INFO-KEY ("Page_Up") (DEFUN INFO-PREVIOUS-TEN-LINES # ...))-19|
+   #28Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 2F 03 DC DE 32 83 DC 63 2D
+        03 05 19 01)
+   ("Page_Up" 0. |CLFSWM|::|INFO-PREVIOUS-TEN-LINES|
+    |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-PREVIOUS-TEN-LINES|
+       #41Y(00 00 00 00 01 00 00 00 06 02 DA DB AF DC 72 2F 73 02 37 DB AF DD
+            72 2F AD 73 01 36 DB B0 DD AF 32 30 16 02 AD 2F 04 19 02)
+       (10. |CLFSWM|::|INFO| 6. 8. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO|) "Move ten lines up")
+    |CLFSWM|::|DEFINE-INFO-KEY-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|151 151 (DEFPARAMETER *INFO-START-GRAB-X* NIL)-20|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-START-GRAB-X*|)
+    |CLFSWM|::|*INFO-START-GRAB-X*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|152 152 (DEFPARAMETER *INFO-START-GRAB-Y* NIL)-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-START-GRAB-Y*|)
+    |CLFSWM|::|*INFO-START-GRAB-Y*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|155 159 (DEFUN INFO-BEGIN-GRAB (ROOT-X ROOT-Y INFO) ...)-22|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-BEGIN-GRAB| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-BEGIN-GRAB|
+       #37Y(00 00 00 00 03 00 00 00 06 04 AF DA AF DB 72 2F 33 02 35 0F 02 AE
+            DA AF DD 72 2F 33 02 35 0F 04 AD 2F 05 19 04)
+       (|CLFSWM|::|INFO| 7. |CLFSWM|::|*INFO-START-GRAB-X*| 8.
+        |CLFSWM|::|*INFO-START-GRAB-Y*| |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)
+       "Begin grab text"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|161 167 (DEFUN INFO-END-GRAB (ROOT-X ROOT-Y INFO) ...)-23|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-END-GRAB| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-END-GRAB|
+       #48Y(00 00 00 00 03 00 00 00 06 04 6B 00 B0 73 01 36 DB AF DC AF 32 30
+            16 01 6B 03 AF 73 01 36 DB AF DE AF 32 30 16 01 00 0F 00 0F 03 AD
+            2F 05 19 04)
+       (|CLFSWM|::|*INFO-START-GRAB-X*| |CLFSWM|::|INFO| 7.
+        |CLFSWM|::|*INFO-START-GRAB-Y*| 8. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|) "End grab"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|169 173 (DEFUN INFO-MOUSE-NEXT-LINE (ROOT-X ROOT-Y INFO) ...)-24|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-MOUSE-NEXT-LINE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-MOUSE-NEXT-LINE|
+       #37Y(00 00 00 00 03 00 00 00 06 04 DA AE DB 72 2F DA AF DC 72 2F AD 73
+            02 35 DA B0 DC AF 32 30 16 02 AD 2F 03 19 04)
+       (|CLFSWM|::|INFO| 6. 8. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)
+       "Move one line down"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|175 179 (DEFUN INFO-MOUSE-PREVIOUS-LINE (ROOT-X ROOT-Y INFO) ...)-25|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-MOUSE-PREVIOUS-LINE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-MOUSE-PREVIOUS-LINE|
+       #37Y(00 00 00 00 03 00 00 00 06 04 DA AE DB 72 2F DA AF DC 72 2F AD 73
+            01 36 DA B0 DC AF 32 30 16 02 AD 2F 03 19 04)
+       (|CLFSWM|::|INFO| 6. 8. |CLFSWM|::|DRAW-INFO-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)
+       "Move one line up"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|182 187 (DEFUN INFO-MOUSE-MOTION (ROOT-X ROOT-Y INFO) ...)-26|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-MOUSE-MOTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-MOUSE-MOTION|
+       #53Y(00 00 00 00 03 00 00 00 06 04 0E 00 1F 25 0E 01 1F 21 6B 00 B0 73
+            01 36 DC AF DD AF 32 30 16 01 6B 01 AF 73 01 36 DC AF DE AF 32 30
+            16 01 AD 2F 05 19 04 19 04)
+       (|CLFSWM|::|*INFO-START-GRAB-X*| |CLFSWM|::|*INFO-START-GRAB-Y*|
+        |CLFSWM|::|INFO| 7. 8. |CLFSWM|::|DRAW-INFO-WINDOW-PARTIAL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|) "Grab text"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|193 193 (DEFINE-INFO-MOUSE-ACTION (1) 'INFO-BEGIN-GRAB ...)-27|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 63 DD 2D 04 04 19 01)
+   (1. 0. |CLFSWM|::|INFO-BEGIN-GRAB| |CLFSWM|::|INFO-END-GRAB|
+    |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|194 194 (DEFINE-INFO-MOUSE-ACTION (2) 'MOUSE-LEAVE-INFO-MODE)-28|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 01 02 2D 04 03 19 01)
+   (2. 0. |CLFSWM|::|MOUSE-LEAVE-INFO-MODE|
+    |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|195 195 (DEFINE-INFO-MOUSE-ACTION (4) 'INFO-MOUSE-PREVIOUS-LINE)-29|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 01 02 2D 04 03 19 01)
+   (4. 0. |CLFSWM|::|INFO-MOUSE-PREVIOUS-LINE|
+    |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|196 196 (DEFINE-INFO-MOUSE-ACTION (5) 'INFO-MOUSE-NEXT-LINE)-30|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 01 02 2D 04 03 19 01)
+   (5. 0. |CLFSWM|::|INFO-MOUSE-NEXT-LINE|
+    |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|197 197 (DEFINE-INFO-MOUSE-ACTION ('MOTION) 'INFO-MOUSE-MOTION ...)-31|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA DB 7B 02 DC 01 02 2D 04 03 19 01)
+   (|CLFSWM|::|MOTION| 0. |CLFSWM|::|INFO-MOUSE-MOTION|
+    |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|200 287 (DEFUN INFO-MODE (INFO-LIST &KEY # ...) ...)-32|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-MODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-MODE|
+       #406Y(04 00 02 00 01 00 00 00 86 1C 04 00 00 00 3B 04 02 C9 FC 3B 03 02
+             C9 FB 3D 02 3B 01 08 7D 01 A2 1F 81 71 1B 04 A2 1F 81 6B 00 2B 01
+             2E 05 14 2E 06 14 6B 07 6B 08 70 09 AC 6F 0A E5 AE 6F 0C AF 6F 0D
+             73 03 35 E8 6B 0F DA B9 DB BA DC 92 0F 31 EA BF 01 02 1B 0C 87 02
+             01 14 72 48 AD 30 11 F8 83 02 AE 8D 94 70 15 16 01 F8 73 02 35 B5
+             73 02 37 6B 12 ED AD EA 81 2F 00 EA C0 73 02 36 33 01 34 14 DD 92
+             10 1F C0 72 48 B6 73 02 37 EE B7 73 02 37 73 02 35 6B 12 ED AD EF
+             81 2F 00 EA C1 73 02 36 33 01 34 14 F0 6B 17 6F 18 F3 6B 12 ED AD
+             F4 81 2F 00 F5 E5 F6 6B 1D 6F 18 65 1E 65 1F 6E 14 20 65 21 AD 65
+             22 6B 23 6F 18 F0 6B 17 6F 18 65 24 B6 65 25 65 26 6E 0A 27 65 28
+             AE 65 29 AF DA DE DB DE 65 2A C2 65 24 BB 65 2B BC 65 2C BD 2D 10
+             2D 0B 07 00 A4 2B 06 AC 2C 2E 01 0B 00 00 AC 2C 2F 01 0B 00 01 AC
+             2C 30 01 0B 00 02 AC 2C 31 01 0B 00 03 AC 2C 32 01 0B 00 04 AC 2C
+             33 01 0B 00 05 AC 6D 34 01 AF 2F 35 68 09 00 2F 36 6B 0F 65 37 65
+             38 2D 03 39 92 07 04 6B 0F 2F 3A 53 2A 03 3B 50 0E 6B 07 2F 3C 6B
+             07 65 3D B3 2D 03 3E 1B 72 54 05 00 00 08 1D 17 6B 0F 65 3F 65 40
+             2D 03 39 05 00 00 07 1D 10 1B 10 05 00 00 08 1C 69 2E 41 05 00 00
+             07 1C 02 2E 42 67 00 00 02 2F 43 67 00 00 03 2F 44 67 00 00 06 2F
+             45 2E 46 2E 47 55 19 10 19 06)
+       (:|X| :|Y| :|WIDTH| :|HEIGHT| 0. |CLFSWM|::|XGRAB-POINTER-P|
+        |CLFSWM|::|XGRAB-KEYBOARD-P| |CLFSWM|::|*DISPLAY*|
+        |CLFSWM|::|*INFO-FONT-STRING*| |XLIB|::|OPEN-FONT|
+        |XLIB|::|MAX-CHAR-WIDTH| 1. |XLIB|::|MAX-CHAR-ASCENT|
+        |XLIB|::|MAX-CHAR-DESCENT| :|PARENT| |CLFSWM|::|*ROOT*| 2.
+        |SYSTEM|::|MAX-IF| |CLFSWM|::|*SCREEN*| |XLIB|::|SCREEN| #10r1/2 3.
+        :|BACKGROUND| |CLFSWM|::|*INFO-BACKGROUND*| |CLFSWM|::|GET-COLOR|
+        :|COLORMAP| 9. :|BORDER-WIDTH| :|BORDER| |CLFSWM|::|*INFO-BORDER*|
+        :|EVENT-MASK| (:|EXPOSURE|) |XLIB|::|CREATE-WINDOW| :|DRAWABLE|
+        :|FOREGROUND| |CLFSWM|::|*INFO-FOREGROUND*| :|FONT| :|LINE-STYLE|
+        :|SOLID| |XLIB|::|CREATE-GCONTEXT| :|WINDOW| :|GC| :|LIST| :|ILW|
+        :|ILH| |CLFSWM|::|MAKE-INFO|
+        #Y(|CLFSWM|::|INFO-MODE-HANDLE-KEY|
+           #30Y(00 00 00 00 00 00 00 00 C7 00 03 00 01 00 3D 02 3D 01 6B 04 AF
+                AF 69 01 01 2D 04 05 19 05)
+           (|COMMON-LISP|::|NIL| :|ROOT| :|CODE| :|STATE|
+            |CLFSWM|::|*INFO-KEYS*| |CLFSWM|::|FUNCALL-KEY-FROM-CODE|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|ROOT| |CLFSWM|::|CODE|
+            |CLFSWM|::|STATE| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|INFO-MODE-HANDLE-MOTION-NOTIFY|
+           #137Y(04 00 01 00 00 00 00 00 C7 00 02 00 01 00 3D 02 3D 01 6B 03 AC
+                 2F 04 42 04 AF A0 13 1B 2A 00 16 02 1B 80 4D 00 19 04 16 01 7D
+                 02 3E 54 67 03 00 04 67 00 00 02 63 67 03 00 01 67 03 00 00 67
+                 00 00 00 2D 06 0C 55 16 03 67 00 00 04 DF 64 67 00 00 01 2D 04
+                 06 42 02 93 01 44 64 53 50 6B 07 E2 B2 E3 32 2F 5F 14 AC 25 0A
+                 FF BC 02 16 01 56 16 03 11 18 01 00 16 05 1C FF AA 6B 0D E8 DF
+                 B1 B1 E9 69 01 01 2D 07 10 19 04)
+           (|COMMON-LISP|::|NIL| :|ROOT-X| :|ROOT-Y| |CLFSWM|::|*DISPLAY*|
+            |XLIB|::|EVENT-LOOP-SETUP| 0. |XLIB|::|EVENT-LOOP-STEP-BEFORE|
+            |XLIB|::|*EVENT-KEY-VECTOR*| |XLIB|::|REPLY-BUFFER| 1.
+            :|MOTION-NOTIFY| |XLIB|::|DISCARD-CURRENT-EVENT|
+            |XLIB|::|EVENT-LOOP-STEP-AFTER| |CLFSWM|::|*INFO-MOUSE-ACTION*|
+            |CLFSWM|::|MOTION| #.#'|COMMON-LISP|::|FIRST|
+            |CLFSWM|::|FUNCALL-BUTTON-FROM-CODE|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y|
+            |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|INFO-MODE-HANDLE-BUTTON-PRESS|
+           #37Y(00 00 00 00 00 00 00 00 C7 00 04 00 01 00 3D 04 3D 03 3D 02 3D
+                01 6B 05 AF AF B3 B3 E0 69 01 01 2D 07 07 19 06)
+           (|COMMON-LISP|::|NIL| :|ROOT-X| :|ROOT-Y| :|CODE| :|STATE|
+            |CLFSWM|::|*INFO-MOUSE-ACTION*| #.#'|COMMON-LISP|::|FIRST|
+            |CLFSWM|::|FUNCALL-BUTTON-FROM-CODE|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y|
+            |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+            |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|INFO-MODE-HANDLE-BUTTON-RELEASE|
+           #37Y(00 00 00 00 00 00 00 00 C7 00 04 00 01 00 3D 04 3D 03 3D 02 3D
+                01 6B 05 AF AF B3 B3 E0 69 01 01 2D 07 07 19 06)
+           (|COMMON-LISP|::|NIL| :|ROOT-X| :|ROOT-Y| :|CODE| :|STATE|
+            |CLFSWM|::|*INFO-MOUSE-ACTION*| #.#'|COMMON-LISP|::|THIRD|
+            |CLFSWM|::|FUNCALL-BUTTON-FROM-CODE|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y|
+            |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+            |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|INFO-MODE-INFO-HANDLE-UNMAP-NOTIFY|
+           #22Y(00 00 00 00 00 00 00 00 07 16 99 01 9F 37 00 69 01 01 2F 02 19
+                02)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|HANDLE-UNMAP-NOTIFY|
+            |CLFSWM|::|DRAW-INFO-WINDOW|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|INFO-MODE-INFO-HANDLE-DESTROY-NOTIFY|
+           #22Y(00 00 00 00 00 00 00 00 07 16 99 01 9F 37 00 69 01 01 2F 02 19
+                02)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|HANDLE-DESTROY-NOTIFY|
+            |CLFSWM|::|DRAW-INFO-WINDOW|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|INFO-MODE-HANDLE-EVENTS|
+           #66Y(00 00 00 00 00 00 00 00 C7 00 02 00 01 00 3D 01 9E 26 03 2B 07
+                00 01 1B 0D 07 00 03 1B 08 07 00 04 1B 03 07 00 02 14 A1 37 00
+                1B 13 AF 07 00 05 34 1B 0C AF 07 00 06 34 1B 05 69 01 01 2F 04
+                02 19 04)
+           (|COMMON-LISP|::|NIL| :|DISPLAY| :|EVENT-KEY|
+            #S(|COMMON-LISP|::|HASH-TABLE| :|TEST| |EXT|::|STABLEHASH-EQ|
+               (:|EXPOSURE| . 39.) (:|ENTER-NOTIFY| . 44.)
+               (:|CREATE-NOTIFY| . 44.) (:|PROPERTY-NOTIFY| . 44.)
+               (:|MAPPING-NOTIFY| . 44.) (:|DESTROY-NOTIFY| . 32.)
+               (:|UNMAP-NOTIFY| . 25.) (:|MAP-REQUEST| . 44.)
+               (:|MOTION-NOTIFY| . 16.) (:|BUTTON-RELEASE| . 11.)
+               (:|BUTTON-PRESS| . 6.) (:|KEY-PRESS| . 1.))
+            |CLFSWM|::|DRAW-INFO-WINDOW|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|DISPLAY| |CLFSWM|::|EVENT-KEY|
+            |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        |XLIB|::|MAP-WINDOW| |CLFSWM|::|DRAW-INFO-WINDOW| 68. 69.
+        |CLFSWM|::|XGRAB-POINTER| |CLFSWM|::|XGRAB-KEYBOARD|
+        |CLFSWM|::|EXIT-INFO-LOOP| |XLIB|::|DISPLAY-FINISH-OUTPUT| :|HANDLER|
+        |XLIB|::|PROCESS-EVENT| 66. 67. |CLFSWM|::|XUNGRAB-POINTER|
+        |CLFSWM|::|XUNGRAB-KEYBOARD| |XLIB|::|FREE-GCONTEXT|
+        |XLIB|::|DESTROY-WINDOW| |XLIB|::|CLOSE-FONT|
+        |CLFSWM|::|SHOW-ALL-CHILDS| |CLFSWM|::|WAIT-NO-KEY-OR-BUTTON-PRESS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|INFO-LIST| |COMMON-LISP|::|&KEY| (|CLFSWM|::|X| 0.)
+        (|CLFSWM|::|Y| 0.) (|CLFSWM|::|WIDTH| |COMMON-LISP|::|NIL|)
+        (|CLFSWM|::|HEIGHT| |COMMON-LISP|::|NIL|))
+       "Open the info mode. Info-list is a list of info: One string per line"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|294 314 (DEFUN INFO-MODE-MENU (ITEM-LIST &KEY # ...) ...)-33|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-MODE-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-MODE-MENU|
+       #178Y(00 00 00 00 01 00 00 00 86 1C 04 00 00 00 3B 04 02 C9 FC 3B 03 02
+             C9 FB 3D 02 3D 01 00 2B 01 63 00 0B 01 00 B3 63 1B 80 4C AC E1 30
+             08 1B 80 43 87 01 00 14 DF DF 63 2D 04 06 1D 6D A0 2B 01 94 01 9F
+             5C 5B 0B 01 00 38 02 72 76 68 02 00 E3 70 0A AE AE 31 86 E5 AE 38
+             02 31 8B AC AE 31 86 16 01 AC 81 77 00 84 04 AC DE 7B 02 AE 6D 0C
+             01 30 0D 16 02 83 01 AD 8D 94 FF B6 16 02 AC 72 4A DA B4 DB B5 DC
+             B6 DD B7 2D 09 0E B3 63 1B 0E 87 01 00 78 AC DE 7B 02 2F 0F 16 01
+             83 01 AD 8D 94 6E 16 02 68 01 00 31 50 1F 07 68 01 00 36 00 19 08
+             19 08)
+       (:|X| :|Y| :|WIDTH| :|HEIGHT| 0. 2. |SYSTEM|::|LIST-LENGTH-IN-BOUNDS-P|
+        (2. . 2.) |SYSTEM|::|DESTRUCTURING-ERROR| |COMMON-LISP|::|FUNCTION|
+        |CLOS|::|DOCUMENTATION| ": "
+        #Y(|CLFSWM|::|INFO-MODE-MENU-1|
+           #19Y(00 00 00 00 00 00 01 00 06 07 07 00 01 0C 01 01 DB 00 52)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|EXIT-INFO-LOOP|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|ARGS|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|DEFINE-INFO-KEY-FUN| |CLFSWM|::|INFO-MODE|
+        |CLFSWM|::|UNDEFINE-INFO-KEY-FUN|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ITEM-LIST| |COMMON-LISP|::|&KEY| (|CLFSWM|::|X| 0.)
+        (|CLFSWM|::|Y| 0.) (|CLFSWM|::|WIDTH| |COMMON-LISP|::|NIL|)
+        (|CLFSWM|::|HEIGHT| |COMMON-LISP|::|NIL|))
+       "Open an info help menu.
+Item-list is: '((key function) (key function))
+key is a character, a keycode or a keysym"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|320 329 (DEFUN APPEND-SPACE (STRING) ...)-34|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|APPEND-SPACE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|APPEND-SPACE|
+       #64Y(03 00 01 00 01 00 00 00 06 02 DA 38 01 72 76 53 26 DB 63 1B 14 B2
+            AE 82 01 01 00 14 25 02 04 DD B1 31 86 AC B1 31 86 85 01 AD B3 72
+            48 91 01 32 64 16 02 AE 32 77 54 67 00 00 00 2F 04 55 19 03)
+       (|COMMON-LISP|::|CHARACTER| 0. #\Newline " " |COMMON-LISP|::|CLOSE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|STRING|) "Append spaces before Newline on each line"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|332 337 (DEFUN SHOW-KEY-BINDING (&REST HASH-TABLE-KEY) ...)-35|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-KEY-BINDING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-KEY-BINDING|
+       #43Y(03 00 01 00 00 00 00 00 07 16 DA 38 01 72 76 53 09 B0 AF 30 01 AE
+            32 77 3F 54 67 00 00 00 2F 02 55 F8 6F 03 DE 70 05 2F 06 19 02)
+       (|COMMON-LISP|::|CHARACTER| |CLFSWM|::|PRODUCE-DOC|
+        |COMMON-LISP|::|CLOSE| |CLFSWM|::|APPEND-SPACE| #\Newline
+        |TOOLS|::|SPLIT-STRING| |CLFSWM|::|INFO-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|HASH-TABLE-KEY|)
+       "Show the binding of each hash-table-key"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|340 343 (DEFUN SHOW-GLOBAL-KEY-BINDING NIL ...)-36|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-GLOBAL-KEY-BINDING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-GLOBAL-KEY-BINDING|
+       #25Y(00 00 00 00 00 00 00 00 06 01 6B 00 6B 01 6B 02 6B 03 6B 04 2D 05
+            05 19 01)
+       (|CLFSWM|::|*MAIN-KEYS*| |CLFSWM|::|*SECOND-KEYS*|
+        |CLFSWM|::|*MOUSE-ACTION*| |CLFSWM|::|*INFO-KEYS*|
+        |CLFSWM|::|*INFO-MOUSE-ACTION*| |CLFSWM|::|SHOW-KEY-BINDING|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show all key binding"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|345 347 (DEFUN SHOW-MAIN-MODE-KEY-BINDING NIL ...)-37|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-MAIN-MODE-KEY-BINDING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-MAIN-MODE-KEY-BINDING|
+       #16Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 19 01)
+       (|CLFSWM|::|*MAIN-KEYS*| |CLFSWM|::|SHOW-KEY-BINDING|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show the main mode binding"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|349 351 (DEFUN SHOW-SECOND-MODE-KEY-BINDING NIL ...)-38|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-SECOND-MODE-KEY-BINDING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-SECOND-MODE-KEY-BINDING|
+       #18Y(00 00 00 00 00 00 00 00 06 01 6B 00 6B 01 30 02 19 01)
+       (|CLFSWM|::|*SECOND-KEYS*| |CLFSWM|::|*MOUSE-ACTION*|
+        |CLFSWM|::|SHOW-KEY-BINDING|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show the second mode key binding"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|354 362 (LET (# #) (DEFUN DATE-STRING NIL ...))-39|
+   #23Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA 63 6D 02 01 32 83 C5 19 01)
+   (|CLFSWM|::|DATE-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DATE-STRING|
+       #128Y(00 00 00 00 00 00 00 00 06 01 2E 01 42 07 38 02 72 76 AD DC 71 96
+             97 04 DD 71 96 DE AF 38 02 31 8B AE 01 02 DF E0 01 02 BA 2D 08 07
+             E2 AF 31 8A AE 01 02 DF E0 01 02 BB 2D 08 07 E2 AF 31 8A AE 01 02
+             DF E0 01 02 BC 2D 08 07 E3 AF 38 02 31 8B AD AF 31 86 E4 AF 31 8A
+             AE 01 02 DF E0 01 02 B9 2D 08 07 E4 AF 31 8A AC AF 31 86 E4 AF 31
+             8A B0 AF 31 86 E5 AF 38 02 31 8B 16 02 AC 32 77 19 09)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|GET-DECODED-TIME|
+        ("Lundi" "Mardi" "Mercredi" "Jeudi" "Vendredi" "Samedi" "Dimanche")
+        ("Janvier" "Fevrier" "Mars" "Avril" "Mai" "Juin" "Juillet" "Aout"
+         "Septembre" "Octobre" "Novembre" "Decembre")
+        "   " 2. #\0 |SYSTEM|::|DO-FORMAT-DECIMAL| #\: "    " #\  "   ")
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|365 367 (DEFUN SHOW-DATE NIL ...)-40|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-DATE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-DATE|
+       #19Y(00 00 00 00 00 00 00 00 06 01 2E 00 14 7B 01 2F 01 19 01)
+       (|CLFSWM|::|DATE-STRING| |CLFSWM|::|INFO-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show the current time and date"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|374 378 (DEFUN INFO-ON-SHELL (PROGRAM) ...)-41|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-ON-SHELL| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-ON-SHELL|
+       #43Y(00 00 00 00 01 00 00 00 06 02 AD 63 64 6E 03 00 01 02 1B 03 AD 84
+            00 AE 01 02 38 01 80 79 01 1C 73 AC 31 A6 16 01 F8 2F 01 19 03)
+       (|TOOLS|::|DO-SHELL| |CLFSWM|::|INFO-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|PROGRAM|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|381 383 (DEFUN SHOW-CPU-PROC NIL ...)-42|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-CPU-PROC| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-CPU-PROC|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       ("ps --cols=1000 --sort='-%cpu,uid,pgid,ppid,pid' -e -o user,pid,stime,pcpu,pmem,args"
+        |CLFSWM|::|INFO-ON-SHELL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show current processes sorted by CPU usage"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|385 387 (DEFUN SHOW-MEM-PROC NIL ...)-43|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-MEM-PROC| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-MEM-PROC|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       ("ps --cols=1000 --sort='-vsz,uid,pgid,ppid,pid' -e -o user,pid,stime,pcpu,pmem,args"
+        |CLFSWM|::|INFO-ON-SHELL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show current processes sorted by memory usage"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|389 391 (DEFUN SHOW-XMMS-STATUS NIL ...)-44|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-XMMS-STATUS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-XMMS-STATUS|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       ("xmms-shell -e status" |CLFSWM|::|INFO-ON-SHELL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show the current xmms status"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|393 395 (DEFUN SHOW-XMMS-PLAYLIST NIL ...)-45|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-XMMS-PLAYLIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-XMMS-PLAYLIST|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       ("xmms-shell -e list" |CLFSWM|::|INFO-ON-SHELL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show the current xmms playlist"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|398 401 (DEFUN XMMS-INFO-MENU NIL ...)-46|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|XMMS-INFO-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|XMMS-INFO-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\s |CLFSWM|::|SHOW-XMMS-STATUS|)
+         (#\l |CLFSWM|::|SHOW-XMMS-PLAYLIST|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Open the xmms menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|405 407 (DEFUN SHOW-CD-INFO NIL ...)-47|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-CD-INFO| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-CD-INFO|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       ("pcd i" |CLFSWM|::|INFO-ON-SHELL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show the current CD track"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|409 411 (DEFUN SHOW-CD-PLAYLIST NIL ...)-48|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-CD-PLAYLIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-CD-PLAYLIST|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       ("pcd mi" |CLFSWM|::|INFO-ON-SHELL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show the current CD playlist"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|413 416 (DEFUN INFO-ON-CD-MENU NIL ...)-49|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INFO-ON-CD-MENU| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INFO-ON-CD-MENU|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\i |CLFSWM|::|SHOW-CD-INFO|) (#\l |CLFSWM|::|SHOW-CD-PLAYLIST|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Open the CD info menu"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|420 428 (DEFUN HELP-ON-CLFSWM NIL ...)-50|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HELP-ON-CLFSWM| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HELP-ON-CLFSWM|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\h |CLFSWM|::|SHOW-GLOBAL-KEY-BINDING|)
+         (#\b |CLFSWM|::|SHOW-MAIN-MODE-KEY-BINDING|)
+         (#\t |CLFSWM|::|SHOW-DATE|) (#\c |CLFSWM|::|SHOW-CPU-PROC|)
+         (#\m |CLFSWM|::|SHOW-MEM-PROC|) (#\x |CLFSWM|::|XMMS-INFO-MENU|)
+         (#\d |CLFSWM|::|INFO-ON-CD-MENU|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Open the help and info window"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|431 439 (DEFUN HELP-ON-SECOND-MODE NIL ...)-51|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HELP-ON-SECOND-MODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HELP-ON-SECOND-MODE|
+       #15Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 19 01)
+       (((#\h |CLFSWM|::|SHOW-GLOBAL-KEY-BINDING|)
+         (#\b |CLFSWM|::|SHOW-SECOND-MODE-KEY-BINDING|)
+         (#\t |CLFSWM|::|SHOW-DATE|) (#\c |CLFSWM|::|SHOW-CPU-PROC|)
+         (#\m |CLFSWM|::|SHOW-MEM-PROC|) (#\x |CLFSWM|::|XMMS-INFO-MENU|)
+         (#\d |CLFSWM|::|INFO-ON-CD-MENU|))
+        |CLFSWM|::|INFO-MODE-MENU|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Open the help and info window"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: clfswm-info.fasl
==============================================================================
Binary file. No diff available.

Added: clfswm-info.lib
==============================================================================
--- (empty file)
+++ clfswm-info.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,612 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|COMMON-LISP|::|LET| |COMMON-LISP|::|NIL|
+ (|COMMON-LISP|::|LET|
+  ((#1=#:|G49499|
+    (|COMMON-LISP|::|CONS| '|CLFSWM|::|INFO|
+     (|CLOS|::|CLASS-NAMES|
+      (|COMMON-LISP|::|GET| '|COMMON-LISP|::|STRUCTURE-OBJECT|
+       '|CLOS|::|CLOSCLASS|)))))
+  (|SYSTEM|::|STRUCTURE-UNDEFINE-ACCESSORIES| '|CLFSWM|::|INFO|)
+  (|COMMON-LISP|::|REMPROP| '|CLFSWM|::|INFO|
+   '|SYSTEM|::|DEFSTRUCT-DESCRIPTION|)
+  (|CLOS|::|DEFINE-STRUCTURE-CLASS| '|CLFSWM|::|INFO| #1#
+   '|CLFSWM|::|MAKE-INFO| '|COMMON-LISP|::|NIL| '|CLFSWM|::|COPY-INFO|
+   '|CLFSWM|::|INFO-P|
+   (|COMMON-LISP|::|LIST|
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME|
+     '|CLFSWM|::|WINDOW| :|INITARGS| '#2=(:|WINDOW|) :|TYPE|
+     '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE|
+     #3='|CLOS|::|INHERITABLE-INITER|
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #4=(|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+     #5='|CLOS|::|INHERITABLE-DOC| '(|COMMON-LISP|::|NIL|)
+     #6='|CLOS|::|LOCATION| '1. #7='|CLOS|::|READONLY| '|COMMON-LISP|::|NIL|)
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|GC|
+     :|INITARGS| '#8=(:|GC|) :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION|
+     ':|INSTANCE| #3#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #9=(|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+     #5# '(|COMMON-LISP|::|NIL|) #6# '2. #7# '|COMMON-LISP|::|NIL|)
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|FONT|
+     :|INITARGS| '#10=(:|FONT|) :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION|
+     ':|INSTANCE| #3#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #11=(|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+     #5# '(|COMMON-LISP|::|NIL|) #6# '3. #7# '|COMMON-LISP|::|NIL|)
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME|
+     '|COMMON-LISP|::|LIST| :|INITARGS| '#12=(:|LIST|) :|TYPE|
+     '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE| #3#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #13=(|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+     #5# '(|COMMON-LISP|::|NIL|) #6# '4. #7# '|COMMON-LISP|::|NIL|)
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|ILW|
+     :|INITARGS| '#14=(:|ILW|) :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION|
+     ':|INSTANCE| #3#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #15=(|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+     #5# '(|COMMON-LISP|::|NIL|) #6# '5. #7# '|COMMON-LISP|::|NIL|)
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|ILH|
+     :|INITARGS| '#16=(:|ILH|) :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION|
+     ':|INSTANCE| #3#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #17=(|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+     #5# '(|COMMON-LISP|::|NIL|) #6# '6. #7# '|COMMON-LISP|::|NIL|)
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|X|
+     :|INITARGS| '#18=(:|X|) :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION|
+     ':|INSTANCE| #3#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #19=(|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+     #5# '(|COMMON-LISP|::|NIL|) #6# '7. #7# '|COMMON-LISP|::|NIL|)
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-EFFECTIVE-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|Y|
+     :|INITARGS| '#20=(:|Y|) :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION|
+     ':|INSTANCE| #3#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #21=(|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+     #5# '(|COMMON-LISP|::|NIL|) #6# '8. #7# '|COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|LIST|
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|WINDOW|
+     :|INITARGS| '#2# :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE|
+     #22='|CLOS|::|INHERITABLE-INITER|
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #4#)
+     #23='|CLOS|::|INHERITABLE-DOC| '(|COMMON-LISP|::|NIL|) :|READERS|
+     '(|CLFSWM|::|INFO-WINDOW|) :|WRITERS|
+     '((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)))
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|GC|
+     :|INITARGS| '#8# :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE|
+     #22#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #9#)
+     #23# '(|COMMON-LISP|::|NIL|) :|READERS| '(|CLFSWM|::|INFO-GC|) :|WRITERS|
+     '((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)))
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|FONT|
+     :|INITARGS| '#10# :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE|
+     #22#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #11#)
+     #23# '(|COMMON-LISP|::|NIL|) :|READERS| '(|CLFSWM|::|INFO-FONT|)
+     :|WRITERS| '((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|)))
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| :|NAME|
+     '|COMMON-LISP|::|LIST| :|INITARGS| '#12# :|TYPE| '|COMMON-LISP|::|T|
+     :|ALLOCATION| ':|INSTANCE| #22#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #13#)
+     #23# '(|COMMON-LISP|::|NIL|) :|READERS| '(|CLFSWM|::|INFO-LIST|)
+     :|WRITERS| '((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)))
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|ILW|
+     :|INITARGS| '#14# :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE|
+     #22#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #15#)
+     #23# '(|COMMON-LISP|::|NIL|) :|READERS| '(|CLFSWM|::|INFO-ILW|) :|WRITERS|
+     '((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|)))
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|ILH|
+     :|INITARGS| '#16# :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE|
+     #22#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #17#)
+     #23# '(|COMMON-LISP|::|NIL|) :|READERS| '(|CLFSWM|::|INFO-ILH|) :|WRITERS|
+     '((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)))
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|X|
+     :|INITARGS| '#18# :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE|
+     #22#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #19#)
+     #23# '(|COMMON-LISP|::|NIL|) :|READERS| '(|CLFSWM|::|INFO-X|) :|WRITERS|
+     '((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|)))
+    (|CLOS|::|MAKE-INSTANCE-<STRUCTURE-DIRECT-SLOT-DEFINITION>|
+     |CLOS|::|<STRUCTURE-DIRECT-SLOT-DEFINITION>| :|NAME| '|CLFSWM|::|Y|
+     :|INITARGS| '#20# :|TYPE| '|COMMON-LISP|::|T| :|ALLOCATION| ':|INSTANCE|
+     #22#
+     (|CLOS|::|MAKE-INHERITABLE-SLOT-DEFINITION-INITER| '|COMMON-LISP|::|NIL|
+      #21#)
+     #23# '(|COMMON-LISP|::|NIL|) :|READERS| '(|CLFSWM|::|INFO-Y|) :|WRITERS|
+     '((|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|)))))
+  (|COMMON-LISP|::|DEFUN| |CLFSWM|::|MAKE-INFO|
+   (|COMMON-LISP|::|&KEY| (#24=#:|WINDOW| |COMMON-LISP|::|NIL|)
+    (#25=#:|GC| |COMMON-LISP|::|NIL|) (#26=#:|FONT| |COMMON-LISP|::|NIL|)
+    (#27=#:|LIST| |COMMON-LISP|::|NIL|) (#28=#:|ILW| |COMMON-LISP|::|NIL|)
+    (#29=#:|ILH| |COMMON-LISP|::|NIL|) (#30=#:|X| |COMMON-LISP|::|NIL|)
+    (#31=#:|Y| |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|LET|
+    ((|SYSTEM|::|OBJECT| (|SYSTEM|::|%MAKE-STRUCTURE| #1# 9.)))
+    (|COMMON-LISP|::|SETF|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 1.)
+     (|COMMON-LISP|::|THE| |COMMON-LISP|::|T| #24#))
+    (|COMMON-LISP|::|SETF|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 2.)
+     (|COMMON-LISP|::|THE| |COMMON-LISP|::|T| #25#))
+    (|COMMON-LISP|::|SETF|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 3.)
+     (|COMMON-LISP|::|THE| |COMMON-LISP|::|T| #26#))
+    (|COMMON-LISP|::|SETF|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 4.)
+     (|COMMON-LISP|::|THE| |COMMON-LISP|::|T| #27#))
+    (|COMMON-LISP|::|SETF|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 5.)
+     (|COMMON-LISP|::|THE| |COMMON-LISP|::|T| #28#))
+    (|COMMON-LISP|::|SETF|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 6.)
+     (|COMMON-LISP|::|THE| |COMMON-LISP|::|T| #29#))
+    (|COMMON-LISP|::|SETF|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 7.)
+     (|COMMON-LISP|::|THE| |COMMON-LISP|::|T| #30#))
+    (|COMMON-LISP|::|SETF|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 8.)
+     (|COMMON-LISP|::|THE| |COMMON-LISP|::|T| #31#))
+    |SYSTEM|::|OBJECT|)))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-P|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-P| (|SYSTEM|::|OBJECT|)
+  (|SYSTEM|::|%STRUCTURE-TYPE-P| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|COPY-INFO|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|COPY-INFO| (|COMMON-LISP|::|STRUCTURE|)
+  (|COMMON-LISP|::|COPY-STRUCTURE| |COMMON-LISP|::|STRUCTURE|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-WINDOW| (|CLFSWM|::|INFO|)
+    |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-WINDOW|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-WINDOW| #32=(|SYSTEM|::|OBJECT|)
+  (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+   (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 1.)))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-WINDOW| #33='|SYSTEM|::|DEFSTRUCT-READER|
+  '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-GC| (|CLFSWM|::|INFO|)
+    |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-GC|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-GC| #32#
+  (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+   (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 2.)))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-GC| #33# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-FONT| (|CLFSWM|::|INFO|)
+    |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-FONT|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-FONT| #32#
+  (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+   (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 3.)))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-FONT| #33# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-LIST| (|CLFSWM|::|INFO|)
+    |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-LIST|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-LIST| #32#
+  (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+   (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 4.)))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-LIST| #33# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-ILW| (|CLFSWM|::|INFO|)
+    |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-ILW|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-ILW| #32#
+  (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+   (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 5.)))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-ILW| #33# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-ILH| (|CLFSWM|::|INFO|)
+    |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-ILH|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-ILH| #32#
+  (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+   (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 6.)))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-ILH| #33# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-X| (|CLFSWM|::|INFO|)
+    |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-X|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-X| #32#
+  (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+   (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 7.)))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-X| #33# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-Y| (|CLFSWM|::|INFO|)
+    |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-Y|))
+ (|COMMON-LISP|::|DEFUN| |CLFSWM|::|INFO-Y| #32#
+  (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+   (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 8.)))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-Y| #33# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)
+    (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)))
+ (|COMMON-LISP|::|DEFUN| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)
+  #34=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|)
+  (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 1.
+   |SYSTEM|::|VALUE|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-WINDOW| #35='|SYSTEM|::|DEFSTRUCT-WRITER|
+  '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)
+    (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)))
+ (|COMMON-LISP|::|DEFUN| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|) #34#
+  (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 2.
+   |SYSTEM|::|VALUE|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-GC| #35# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|)
+    (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|)))
+ (|COMMON-LISP|::|DEFUN| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|) #34#
+  (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 3.
+   |SYSTEM|::|VALUE|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-FONT| #35# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)
+    (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)))
+ (|COMMON-LISP|::|DEFUN| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|) #34#
+  (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 4.
+   |SYSTEM|::|VALUE|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-LIST| #35# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|)
+    (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|)))
+ (|COMMON-LISP|::|DEFUN| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|) #34#
+  (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 5.
+   |SYSTEM|::|VALUE|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-ILW| #35# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)
+    (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)))
+ (|COMMON-LISP|::|DEFUN| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|) #34#
+  (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 6.
+   |SYSTEM|::|VALUE|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-ILH| #35# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|)
+    (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|)))
+ (|COMMON-LISP|::|DEFUN| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|) #34#
+  (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 7.
+   |SYSTEM|::|VALUE|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-X| #35# '|CLFSWM|::|INFO|)
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|)
+    (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+ (|COMMON-LISP|::|PROCLAIM|
+  '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|)))
+ (|COMMON-LISP|::|DEFUN| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|) #34#
+  (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 8.
+   |SYSTEM|::|VALUE|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|INFO-Y| #35# '|CLFSWM|::|INFO|)
+ (|SYSTEM|::|%SET-DOCUMENTATION| '|CLFSWM|::|INFO| '|COMMON-LISP|::|TYPE|
+  |COMMON-LISP|::|NIL|)
+ (|CLOS|::|DEFSTRUCT-REMOVE-PRINT-OBJECT-METHOD| '|CLFSWM|::|INFO|)
+ '|CLFSWM|::|INFO|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MAKE-INFO|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&KEY| (#:|WINDOW| |COMMON-LISP|::|NIL|)
+    (#:|GC| |COMMON-LISP|::|NIL|) (#:|FONT| |COMMON-LISP|::|NIL|)
+    (#:|LIST| |COMMON-LISP|::|NIL|) (#:|ILW| |COMMON-LISP|::|NIL|)
+    (#:|ILH| |COMMON-LISP|::|NIL|) (#:|X| |COMMON-LISP|::|NIL|)
+    (#:|Y| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-P|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-P|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-P|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-P|
+    (|SYSTEM|::|%STRUCTURE-TYPE-P| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT|))))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|COPY-INFO|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|COPY-INFO|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|COMMON-LISP|::|STRUCTURE|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|COPY-INFO|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|COPY-INFO|
+    (|COMMON-LISP|::|COPY-STRUCTURE| |COMMON-LISP|::|STRUCTURE|))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-WINDOW| (|CLFSWM|::|INFO|)
+   |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-WINDOW|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1#
+   (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-WINDOW|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-WINDOW|
+    (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 1.)))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-GC| (|CLFSWM|::|INFO|)
+   |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-GC|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-GC|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-GC|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-GC|
+    (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 2.)))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-FONT| (|CLFSWM|::|INFO|)
+   |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-FONT|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-FONT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-FONT|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-FONT|
+    (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 3.)))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-LIST| (|CLFSWM|::|INFO|)
+   |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-LIST|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-LIST|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-LIST|
+    (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 4.)))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-ILW| (|CLFSWM|::|INFO|)
+   |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-ILW|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-ILW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-ILW|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-ILW|
+    (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 5.)))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-ILH| (|CLFSWM|::|INFO|)
+   |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-ILH|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-ILH|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-ILH|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-ILH|
+    (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 6.)))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-X| (|CLFSWM|::|INFO|)
+   |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-X|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-X|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-X|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-X|
+    (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 7.)))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| |CLFSWM|::|INFO-Y| (|CLFSWM|::|INFO|)
+   |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|INLINE| |CLFSWM|::|INFO-Y|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-Y|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '#1=(|SYSTEM|::|OBJECT|))
+ '(#1# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| |CLFSWM|::|INFO-Y|))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-Y|
+    (|COMMON-LISP|::|THE| |COMMON-LISP|::|T|
+     (|SYSTEM|::|%STRUCTURE-REF| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 8.)))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)
+   (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '#1=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-WINDOW|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '#2=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|))
+ '(#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| #1#))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-WINDOW|
+    (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 1.
+     |SYSTEM|::|VALUE|))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)
+   (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)))
+(|SYSTEM|::|C-DEFUN| '#1=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-GC|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '#2=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|))
+ '(#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| #1#))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-GC|
+    (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 2.
+     |SYSTEM|::|VALUE|))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|)
+   (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|)))
+(|SYSTEM|::|C-DEFUN| '#1=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-FONT|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '#2=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|))
+ '(#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| #1#))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-FONT|
+    (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 3.
+     |SYSTEM|::|VALUE|))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)
+   (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)))
+(|SYSTEM|::|C-DEFUN| '#1=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-LIST|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '#2=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|))
+ '(#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| #1#))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-LIST|
+    (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 4.
+     |SYSTEM|::|VALUE|))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|)
+   (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|)))
+(|SYSTEM|::|C-DEFUN| '#1=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILW|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '#2=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|))
+ '(#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| #1#))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-ILW|
+    (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 5.
+     |SYSTEM|::|VALUE|))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)
+   (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)))
+(|SYSTEM|::|C-DEFUN| '#1=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-ILH|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '#2=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|))
+ '(#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| #1#))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-ILH|
+    (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 6.
+     |SYSTEM|::|VALUE|))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|)
+   (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|)))
+(|SYSTEM|::|C-DEFUN| '#1=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-X|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '#2=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|))
+ '(#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| #1#))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-X|
+    (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 7.
+     |SYSTEM|::|VALUE|))))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|FUNCTION| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|)
+   (|COMMON-LISP|::|T| |CLFSWM|::|INFO|) |COMMON-LISP|::|T|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|INLINE| (|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|)))
+(|SYSTEM|::|C-DEFUN| '#1=(|COMMON-LISP|::|SETF| |CLFSWM|::|INFO-Y|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '#2=(|SYSTEM|::|VALUE| |SYSTEM|::|OBJECT|))
+ '(#2# (|COMMON-LISP|::|DECLARE| (|SYSTEM|::|IN-DEFUN| #1#))
+   (|COMMON-LISP|::|BLOCK| |CLFSWM|::|INFO-Y|
+    (|SYSTEM|::|%STRUCTURE-STORE| '|CLFSWM|::|INFO| |SYSTEM|::|OBJECT| 8.
+     |SYSTEM|::|VALUE|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|LEAVE-INFO-MODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MOUSE-LEAVE-INFO-MODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DRAW-INFO-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DRAW-INFO-WINDOW-PARTIAL|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-BANISH-POINTER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-NEXT-LINE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-PREVIOUS-LINE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-PREVIOUS-CHAR|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-NEXT-CHAR|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-FIRST-LINE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-END-LINE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-NEXT-TEN-LINES|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-PREVIOUS-TEN-LINES|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-START-GRAB-X*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-START-GRAB-Y*|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-BEGIN-GRAB|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-END-GRAB|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-MOUSE-NEXT-LINE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-MOUSE-PREVIOUS-LINE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-MOUSE-MOTION|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|INFO|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-MODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|INFO-LIST| |COMMON-LISP|::|&KEY| (|CLFSWM|::|X| 0.)
+    (|CLFSWM|::|Y| 0.) (|CLFSWM|::|WIDTH| |COMMON-LISP|::|NIL|)
+    (|CLFSWM|::|HEIGHT| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-MODE-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ITEM-LIST| |COMMON-LISP|::|&KEY| (|CLFSWM|::|X| 0.)
+    (|CLFSWM|::|Y| 0.) (|CLFSWM|::|WIDTH| |COMMON-LISP|::|NIL|)
+    (|CLFSWM|::|HEIGHT| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|APPEND-SPACE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|COMMON-LISP|::|STRING|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-KEY-BINDING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|HASH-TABLE-KEY|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-GLOBAL-KEY-BINDING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-MAIN-MODE-KEY-BINDING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-SECOND-MODE-KEY-BINDING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DATE-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-DATE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-ON-SHELL|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|PROGRAM|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-CPU-PROC|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-MEM-PROC|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-XMMS-STATUS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-XMMS-PLAYLIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XMMS-INFO-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-CD-INFO|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-CD-PLAYLIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INFO-ON-CD-MENU|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HELP-ON-CLFSWM|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HELP-ON-SECOND-MODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: clfswm-info.lisp
==============================================================================
--- (empty file)
+++ clfswm-info.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,444 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Tue Feb 19 21:43:15 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Info function (see the end of this file for user definition
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+(defstruct info window gc font list ilw ilh x y)
+
+
+(defun leave-info-mode (info)
+  "Leave the info mode"
+  (declare (ignore info))
+  (throw 'exit-info-loop nil))
+
+(defun mouse-leave-info-mode (root-x root-y info)
+  "Leave the info mode"
+  (declare (ignore root-x root-y info))
+  (throw 'exit-info-loop nil))
+
+
+
+(defun draw-info-window (info)
+  (xlib:clear-area (info-window info))
+  (setf (xlib:gcontext-foreground (info-gc info)) (get-color *info-foreground*))
+  (loop for line in (info-list info)
+     for y from 0 do
+     (xlib:draw-image-glyphs (info-window info) (info-gc info)
+			     (- (info-ilw info) (info-x info))
+			     (- (+ (* (info-ilh info) y) (info-ilh info)) (info-y info))
+			     (format nil "~A" line))))
+
+
+(defun draw-info-window-partial (info)
+  (let ((last-y (info-y info)))
+    (setf (xlib:gcontext-foreground (info-gc info)) (get-color *info-background*))
+    (xlib:draw-rectangle (info-window info) (info-gc info) 0 0
+			 (xlib:drawable-width (info-window info))
+			 (max (+ (- (info-y info)) (xlib:max-char-ascent (info-font info))) 0) t)
+    (loop for line in (info-list info)
+       for y from 0 do
+       (setf last-y (- (+ (* (info-ilh info) y) (info-ilh info)) (info-y info)))
+       (setf (xlib:gcontext-foreground (info-gc info)) (get-color *info-background*))
+       (xlib:draw-rectangle (info-window info) (info-gc info)
+			    0 (+ last-y (- (info-ilh info)) (xlib:max-char-descent (info-font info)))
+			    (xlib:drawable-width (info-window info)) (info-ilh info) t)
+       (setf (xlib:gcontext-foreground (info-gc info)) (get-color *info-foreground*))
+       (xlib:draw-image-glyphs (info-window info) (info-gc info)
+			       (- (info-ilw info) (info-x info))
+			       last-y
+			       (format nil "~A" line)))
+    (setf (xlib:gcontext-foreground (info-gc info)) (get-color *info-background*))
+    (xlib:draw-rectangle (info-window info) (info-gc info) 0 last-y
+			 (xlib:drawable-width (info-window info))
+			 (xlib:drawable-height (info-window info))
+			 t)))
+
+
+;;;,-----
+;;;| Key binding
+;;;`-----
+
+(define-info-key (#\q) 'leave-info-mode)
+(define-info-key ("Return") 'leave-info-mode)
+(define-info-key ("Escape") 'leave-info-mode)
+(define-info-key (#\Space) 'leave-info-mode)
+
+(define-info-key ("twosuperior")
+    (defun info-banish-pointer (info)
+      "Move the pointer to the lower right corner of the screen"
+      (declare (ignore info))
+      (banish-pointer)))
+
+(define-info-key ("Down")
+    (defun info-next-line (info)
+      "Move one line down"
+      (incf (info-y info) (info-ilh info))
+      (draw-info-window info)))
+
+(define-info-key ("Up")
+    (defun info-previous-line (info)
+      "Move one line up"
+      (decf (info-y info) (info-ilh info))
+      (draw-info-window info)))
+
+(define-info-key ("Left")
+    (defun info-previous-char (info)
+      "Move one char left"
+      (decf (info-x info) (info-ilw info))
+      (draw-info-window info)))
+
+(define-info-key ("Right")
+    (defun info-next-char (info)
+      "Move one char right"
+      (incf (info-x info) (info-ilw info))
+      (draw-info-window info)))
+
+
+(define-info-key ("Home")
+    (defun info-first-line (info)
+      "Move to first line"
+      (setf (info-x info) 0
+	    (info-y info) 0)
+      (draw-info-window info)))
+
+(define-info-key ("End")
+    (defun info-end-line (info)
+      "Move to last line"
+      (setf (info-x info) 0
+	    (info-y info) (- (* (length (info-list info)) (info-ilh info)) (xlib:drawable-height (info-window info))))
+      (draw-info-window info)))
+
+
+(define-info-key ("Page_Down")
+    (defun info-next-ten-lines (info)
+      "Move ten lines down"
+      (incf (info-y info) (* (info-ilh info) 10))
+      (draw-info-window info)))
+
+(define-info-key ("Page_Up")
+    (defun info-previous-ten-lines (info)
+      "Move ten lines up"
+      (decf (info-y info) (* (info-ilh info) 10))
+      (draw-info-window info)))
+
+
+
+
+(defparameter *info-start-grab-x* nil)
+(defparameter *info-start-grab-y* nil)
+
+
+(defun info-begin-grab (root-x root-y info)
+  "Begin grab text"
+  (setf *info-start-grab-x* (+ root-x (info-x info))
+	*info-start-grab-y* (+ root-y (info-y info)))
+  (draw-info-window info))
+
+(defun info-end-grab (root-x root-y info)
+  "End grab"
+  (setf (info-x info) (- *info-start-grab-x* root-x)
+	(info-y info) (- *info-start-grab-y* root-y)
+	*info-start-grab-x* nil
+	*info-start-grab-y* nil)
+  (draw-info-window info))
+
+(defun info-mouse-next-line (root-x root-y info)
+  "Move one line down"
+  (declare (ignore root-x root-y))
+  (incf (info-y info) (info-ilh info))
+  (draw-info-window info))
+
+(defun info-mouse-previous-line (root-x root-y info)
+  "Move one line up"
+  (declare (ignore root-x root-y))
+  (decf (info-y info) (info-ilh info))
+  (draw-info-window info))
+
+
+(defun info-mouse-motion (root-x root-y info)
+  "Grab text"
+  (when (and *info-start-grab-x* *info-start-grab-y*)
+    (setf (info-x info) (- *info-start-grab-x* root-x)
+	  (info-y info) (- *info-start-grab-y* root-y))
+    (draw-info-window-partial info)))
+
+
+
+
+
+(define-info-mouse-action (1) 'info-begin-grab 'info-end-grab)
+(define-info-mouse-action (2) 'mouse-leave-info-mode)
+(define-info-mouse-action (4) 'info-mouse-previous-line)
+(define-info-mouse-action (5) 'info-mouse-next-line)
+(define-info-mouse-action ('Motion) 'info-mouse-motion nil)
+
+
+;;;,-----
+;;;| Main mode
+;;;`-----
+
+(defun info-mode (info-list &key (x 0) (y 0) (width nil) (height nil))
+  "Open the info mode. Info-list is a list of info: One string per line"
+  (when info-list
+    (let* ((pointer-grabbed (xgrab-pointer-p))
+	   (keyboard-grabbed (xgrab-keyboard-p))
+	   (font (xlib:open-font *display* *info-font-string*))
+	   (ilw (xlib:max-char-width font))
+	   (ilh (+ (xlib:max-char-ascent font) (xlib:max-char-descent font) 1))
+	   (window (xlib:create-window :parent *root*
+				       :x x :y y
+				       :width (or width
+						  (min (* (+ (loop for l in info-list maximize (length l)) 2) ilw)
+						       (- (xlib:screen-width *screen*) 2 x)))
+				       :height (or height
+						   (min (+ (* (length info-list) ilh) (/ ilh 2))
+							(- (xlib:screen-height *screen*) 2 y)))
+				       :background (get-color *info-background*)
+				       :colormap (xlib:screen-default-colormap *screen*)
+				       :border-width 1
+				       :border (get-color *info-border*)
+				       :event-mask '(:exposure)))
+	   (gc (xlib:create-gcontext :drawable window
+				     :foreground (get-color *info-foreground*)
+				     :background (get-color *info-background*)
+				     :font font
+				     :line-style :solid))
+	   (info (make-info :window window :gc gc :x 0 :y 0 :list info-list
+							    :font font :ilw ilw :ilh ilh)))
+      (labels ((handle-key (&rest event-slots &key root code state &allow-other-keys)
+		 (declare (ignore event-slots root))
+		 (funcall-key-from-code *info-keys* code state info))
+	       (handle-motion-notify (&rest event-slots &key root-x root-y &allow-other-keys)
+		 (declare (ignore event-slots))
+		 (unless (xlib:event-case (*display* :discard-p nil :peek-p t :timeout 0)
+			   (:motion-notify () t))
+		   (funcall-button-from-code *info-mouse-action* 'motion 0 root-x root-y #'first info)))
+	       (handle-button-press (&rest event-slots &key root-x root-y code state &allow-other-keys)
+		 (declare (ignore event-slots))
+		 (funcall-button-from-code *info-mouse-action* code state root-x root-y #'first info))
+	       (handle-button-release (&rest event-slots &key root-x root-y code state &allow-other-keys)
+		 (declare (ignore event-slots))
+		 (funcall-button-from-code *info-mouse-action* code state root-x root-y #'third info))
+	       (info-handle-unmap-notify (&rest event-slots)
+		 (apply #'handle-unmap-notify event-slots)
+		 (draw-info-window info))
+	       (info-handle-destroy-notify (&rest event-slots)
+		 (apply #'handle-destroy-notify event-slots)
+		 (draw-info-window info))
+	       (handle-events (&rest event-slots &key display event-key &allow-other-keys)
+		 (declare (ignore display))
+		 (case event-key
+		   (:key-press (apply #'handle-key event-slots) t)
+		   (:button-press (apply #'handle-button-press event-slots) t)
+		   (:button-release (apply #'handle-button-release event-slots) t)
+		   (:motion-notify (apply #'handle-motion-notify event-slots) t)
+		   (:map-request nil)
+		   (:unmap-notify (apply #'info-handle-unmap-notify event-slots) t)
+		   (:destroy-notify (apply #'info-handle-destroy-notify event-slots) t)
+		   (:mapping-notify nil)
+		   (:property-notify nil)
+		   (:create-notify nil)
+		   (:enter-notify nil)
+		   (:exposure (draw-info-window info)))
+		 t))
+	(xlib:map-window window)
+	(draw-info-window info)
+	(xgrab-pointer *root* 68 69)
+	(unless keyboard-grabbed
+	  (xgrab-keyboard *root*))
+	(unwind-protect
+	     (catch 'exit-info-loop
+	       (loop
+		  (xlib:display-finish-output *display*)
+		  (xlib:process-event *display* :handler #'handle-events)))
+	  (if pointer-grabbed
+	      (xgrab-pointer *root* 66 67)
+	      (xungrab-pointer))
+	  (unless keyboard-grabbed
+	    (xungrab-keyboard))
+	  (xlib:free-gcontext gc)
+	  (xlib:destroy-window window)
+	  (xlib:close-font font)
+	  (show-all-childs)
+	  (wait-no-key-or-button-press))))))
+
+
+
+
+
+
+(defun info-mode-menu (item-list &key (x 0) (y 0) (width nil) (height nil))
+  "Open an info help menu.
+Item-list is: '((key function) (key function))
+key is a character, a keycode or a keysym"
+  (let ((info-list nil)
+	(action nil))
+    (dolist (item item-list)
+      (destructuring-bind (key function) item
+	(push (format nil "~A: ~A" key (documentation function 'function))
+	      info-list)
+	(define-info-key-fun (list key 0)
+	    (lambda (&optional args)
+	      (declare (ignore args))
+	      (setf action function)
+	      (throw 'exit-info-loop nil)))))
+    (info-mode (nreverse info-list) :x x :y y :width width :height height)
+    (dolist (item item-list)
+      (let ((key (first item)))
+	(undefine-info-key-fun (list key 0))))
+    (when (fboundp action)
+      (funcall action))))
+
+
+
+
+
+;;;,-----
+;;;| CONFIG - Info mode functions
+;;;`-----
+(defun append-space (string)
+  "Append spaces before Newline on each line"
+  (with-output-to-string (stream)
+    (loop for c across string do
+	 (when (equal c #\Newline)
+	   (princ " " stream))
+	 (princ c stream))))
+
+
+(defun show-key-binding (&rest hash-table-key)
+  "Show the binding of each hash-table-key"
+  (info-mode (split-string (append-space (with-output-to-string (stream)
+					   (produce-doc hash-table-key
+							stream)))
+			   #\Newline)))
+
+
+(defun show-global-key-binding ()
+  "Show all key binding"
+  (show-key-binding *main-keys* *second-keys* *mouse-action*
+		    *info-keys* *info-mouse-action*))
+
+(defun show-main-mode-key-binding ()
+  "Show the main mode binding"
+  (show-key-binding *main-keys*))
+
+(defun show-second-mode-key-binding ()
+  "Show the second mode key binding"
+  (show-key-binding *second-keys* *mouse-action*))
+
+
+(let ((days '("Lundi" "Mardi" "Mercredi" "Jeudi" "Vendredi" "Samedi" "Dimanche"))
+      (months '("Janvier" "Fevrier" "Mars" "Avril" "Mai" "Juin" "Juillet"
+		"Aout" "Septembre" "Octobre" "Novembre" "Decembre")))
+  (defun date-string ()
+    (multiple-value-bind (second minute hour date month year day)
+	(get-decoded-time)
+      (format nil "   ~2,'0D:~2,'0D:~2,'0D    ~A ~2,'0D ~A ~A   "
+	      hour minute second
+	      (nth day days) date (nth (1- month) months) year))))
+
+      
+(defun show-date ()
+  "Show the current time and date"
+  (info-mode (list (date-string))))
+
+
+
+
+
+
+(defun info-on-shell (program)
+  (let ((lines (do-shell program nil t)))
+    (info-mode (loop for line = (read-line lines nil nil)
+		  while line
+		  collect line))))
+
+
+(defun show-cpu-proc ()
+  "Show current processes sorted by CPU usage"
+  (info-on-shell "ps --cols=1000 --sort='-%cpu,uid,pgid,ppid,pid' -e -o user,pid,stime,pcpu,pmem,args"))
+
+(defun show-mem-proc ()
+  "Show current processes sorted by memory usage"
+  (info-on-shell "ps --cols=1000 --sort='-vsz,uid,pgid,ppid,pid' -e -o user,pid,stime,pcpu,pmem,args"))
+
+(defun show-xmms-status ()
+  "Show the current xmms status"
+  (info-on-shell "xmms-shell -e status"))
+
+(defun show-xmms-playlist ()
+  "Show the current xmms playlist"
+  (info-on-shell "xmms-shell -e list"))
+
+
+(defun xmms-info-menu ()
+  "Open the xmms menu"
+  (info-mode-menu '((#\s show-xmms-status)
+		    (#\l show-xmms-playlist))))
+
+
+
+(defun show-cd-info ()
+  "Show the current CD track"
+  (info-on-shell "pcd i"))
+
+(defun show-cd-playlist ()
+  "Show the current CD playlist"
+  (info-on-shell "pcd mi"))
+
+(defun info-on-cd-menu ()
+  "Open the CD info menu"
+  (info-mode-menu '((#\i show-cd-info)
+		    (#\l show-cd-playlist))))
+
+
+
+(defun help-on-clfswm ()
+  "Open the help and info window"
+  (info-mode-menu '((#\h show-global-key-binding)
+		    (#\b show-main-mode-key-binding)
+		    (#\t show-date)
+		    (#\c show-cpu-proc)
+		    (#\m show-mem-proc)
+		    (#\x xmms-info-menu)
+		    (#\d info-on-cd-menu))))
+
+
+(defun help-on-second-mode ()
+  "Open the help and info window"
+  (info-mode-menu '((#\h show-global-key-binding)
+		    (#\b show-second-mode-key-binding)
+		    (#\t show-date)
+		    (#\c show-cpu-proc)
+		    (#\m show-mem-proc)
+		    (#\x xmms-info-menu)
+		    (#\d info-on-cd-menu))))
+
+
+
+
+

Added: clfswm-internal.fas
==============================================================================
--- (empty file)
+++ clfswm-internal.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,1283 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 37 (DEFUN CALL-HOOK (HOOK &OPTIONAL ARGS) ...)-2|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|CALL-HOOK| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|CALL-HOOK|
+       #44Y(00 00 00 00 01 00 01 00 06 08 3D 01 AE 8E 0D 05 AE 9F 9B 00 03 AE
+            63 1B 0C 87 01 00 DA AD B1 61 02 37 00 83 01 AD 8D 94 70 00 19 05)
+       (|CLFSWM|::|CALL-HOOK|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|HOOK| |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|ARGS|)
+       "Call a hook (a function, a symbol or a list of function)"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|40 44 (DEFUN GROUP-DATA-SLOT (GROUP SLOT) ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-DATA-SLOT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-DATA-SLOT|
+       #29Y(00 00 00 00 02 00 00 00 06 03 AE 2F 00 1F 0C AD AF 6F 01 38 03 31
+            BD 5C 5B 19 03 19 03)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-DATA|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|GROUP| |CLFSWM|::|SLOT|)
+       "Return the value associated to data slot"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|46 52 (DEFUN SET-GROUP-DATA-SLOT (GROUP SLOT VALUE) ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-GROUP-DATA-SLOT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-GROUP-DATA-SLOT|
+       #58Y(00 00 00 00 03 00 00 00 06 04 AF 2F 00 1F 29 AF DB B0 B2 DB 72 3E
+            38 03 71 BD B2 DB 72 3E 38 07 72 4F 32 3F AE AE 7B 02 B0 DB 72 3E
+            B1 DB AF A0 7A 32 3F 16 02 9E 19 04 19 04)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|DATA|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|GROUP| |CLFSWM|::|SLOT| |CLFSWM|::|VALUE|)
+       "Set the value associated to data slot"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|54 54 (DEFSETF GROUP-DATA-SLOT SET-GROUP-DATA-SLOT)-5|
+   #42Y(00 00 00 00 00 00 00 00 00 01 DA DB 32 8A DA DC DA DD 38 01 8F 85 01 C8
+        14 2D 03 04 DA DD DF 32 89 DA E0 63 2D 03 07 C5 19 01)
+   (|CLFSWM|::|GROUP-DATA-SLOT| |SYSTEM|::|DEFSTRUCT-WRITER|
+    |COMMON-LISP|::|DEFSETF| |SYSTEM|::|SETF-EXPANDER|
+    |SYSTEM|::|CHECK-REDEFINITION| |CLFSWM|::|SET-GROUP-DATA-SLOT|
+    |COMMON-LISP|::|SETF| |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|58 58 (DEFGENERIC GROUP-P (GROUP))-6|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 01 03 B8 6F 0B 1B 24 AF 38 01 80 9E 03 14
+         AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21 63 9D
+         FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E6 6B 0D E8 BA E9 DA
+         6E 03 10 EB 63 6E 03 12 ED 63 EE 63 7B 08 33 02 22 9B 09 02)
+   (|CLFSWM|::|GROUP-P| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    |CLOS|::|<STANDARD-GENERIC-FUNCTION>| |CLOS|::|ENSURE-GENERIC-FUNCTION|
+    :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST| (|CLFSWM|::|GROUP|)
+    :|ARGUMENT-PRECEDENCE-ORDER| (|CLFSWM|::|GROUP|) |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DOCUMENTATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|59 61 (DEFMETHOD GROUP-P (#) ...)-7|
+   #43Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 7B 01 7B 08 2D 03 0B 19 01)
+   (|CLFSWM|::|GROUP-P| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|59 61 (DEFMETHOD GROUP-P (#) ...)-7-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|59 61 (DEFMETHOD GROUP-P (#) ...)-7-1-1|
+           #13Y(00 00 00 00 01 00 00 00 00 02 02 19 02) ()
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|GROUP|) |CLOS|::|SIGNATURE|
+    #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLFSWM|::|GROUP| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|62 64 (DEFMETHOD GROUP-P (GROUP) ...)-8|
+   #43Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 64 38 02 72 2A 7B 01 7B 08 2D 03 0A 19 01)
+   (|CLFSWM|::|GROUP-P| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|62 64 (DEFMETHOD GROUP-P (GROUP) ...)-8-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|62 64 (DEFMETHOD GROUP-P (GROUP) ...)-8-1-1|
+           #13Y(00 00 00 00 01 00 00 00 00 02 00 19 02) ()
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|GROUP|) |CLOS|::|SIGNATURE|
+    #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|68 68 (DEFGENERIC CHILD-NAME (CHILD))-9|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 01 03 B8 6F 0B 1B 24 AF 38 01 80 9E 03 14
+         AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21 63 9D
+         FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E6 6B 0D E8 BA E9 DA
+         6E 03 10 EB 63 6E 03 12 ED 63 EE 63 7B 08 33 02 22 9B 09 02)
+   (|CLFSWM|::|CHILD-NAME| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    |CLOS|::|<STANDARD-GENERIC-FUNCTION>| |CLOS|::|ENSURE-GENERIC-FUNCTION|
+    :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD|)
+    :|ARGUMENT-PRECEDENCE-ORDER| (|CLFSWM|::|CHILD|) |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DOCUMENTATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|70 71 (DEFMETHOD CHILD-NAME (#) ...)-10|
+   #43Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 7B 01 7B 08 2D 03 0B 19 01)
+   (|CLFSWM|::|CHILD-NAME| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|70 71 (DEFMETHOD CHILD-NAME (#) ...)-10-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|70 71 (DEFMETHOD CHILD-NAME (#) ...)-10-1-1|
+           #15Y(00 00 00 00 01 00 00 00 00 02 AD 2F 00 19 02)
+           (|XLIB|::|WM-NAME|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD|) |CLOS|::|SIGNATURE|
+    #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |XLIB|::|WINDOW| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|73 74 (DEFMETHOD CHILD-NAME (#) ...)-11|
+   #43Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 7B 01 7B 08 2D 03 0B 19 01)
+   (|CLFSWM|::|CHILD-NAME| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|73 74 (DEFMETHOD CHILD-NAME (#) ...)-11-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|73 74 (DEFMETHOD CHILD-NAME (#) ...)-11-1-1|
+           #15Y(00 00 00 00 01 00 00 00 00 02 AD 2F 00 19 02)
+           (|CLFSWM|::|GROUP-NAME|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD|) |CLOS|::|SIGNATURE|
+    #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLFSWM|::|GROUP| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|76 78 (DEFMETHOD CHILD-NAME (CHILD) ...)-12|
+   #43Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 64 38 02 72 2A 7B 01 7B 08 2D 03 0A 19 01)
+   (|CLFSWM|::|CHILD-NAME| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|76 78 (DEFMETHOD CHILD-NAME (CHILD) ...)-12-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|76 78 (DEFMETHOD CHILD-NAME (CHILD) ...)-12-1-1|
+           #13Y(00 00 00 00 01 00 00 00 00 02 C5 19 02) ("???")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD|) |CLOS|::|SIGNATURE|
+    #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|82 91 (DEFMACRO WITH-ALL-CHILDS (# &BODY BODY) ...)-13|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|WITH-ALL-CHILDS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WITH-ALL-CHILDS|
+       #108Y(00 00 00 00 02 00 00 00 00 03 AE DA 8B 01 80 49 9F 5C 78 AC DA DA
+             2D 03 01 1D 80 42 AC 94 00 9E 5C 78 A3 5C 79 38 01 72 90 38 01 72
+             90 E4 AE B1 7B 01 B1 E5 E6 B5 7B 02 E7 B3 E8 B8 7B 02 7B 02 B5 B5
+             7B 02 7B 03 7B 03 7B 01 33 02 22 5D 7A 7B 01 AF B3 7B 02 61 03 19
+             0A AE 2F 02 19 03 DD DE B1 DF B0 E0 6F 07 E2 B3 E3 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|WITH-ALL-CHILDS|
+        (|CLFSWM|::|ROOT| |CLFSWM|::|CHILD|) |COMMON-LISP|::|LABELS|
+        |COMMON-LISP|::|WHEN| |CLFSWM|::|GROUP-P| |COMMON-LISP|::|DOLIST|
+        |CLFSWM|::|GROUP-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|94 103 (DEFMACRO WITH-ALL-GROUPS (# &BODY BODY) ...)-14|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|WITH-ALL-GROUPS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WITH-ALL-GROUPS|
+       #108Y(00 00 00 00 02 00 00 00 00 03 AE DA 8B 01 80 49 9F 5C 78 AC DA DA
+             2D 03 01 1D 80 42 AC 94 00 9E 5C 78 A3 5C 79 38 01 72 90 38 01 72
+             90 E4 AE B1 7B 01 E5 E6 B4 7B 02 B3 E7 B3 E8 B8 7B 02 7B 02 B5 B5
+             7B 02 7B 03 7B 01 33 02 22 5D 7A 7B 03 7B 01 AF B3 7B 02 61 03 19
+             0A AE 2F 02 19 03 DD DE B1 DF B0 E0 6F 07 E2 B3 E3 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|WITH-ALL-GROUPS|
+        (|CLFSWM|::|ROOT| |CLFSWM|::|GROUP|) |COMMON-LISP|::|LABELS|
+        |COMMON-LISP|::|WHEN| |CLFSWM|::|GROUP-P| |COMMON-LISP|::|DOLIST|
+        |CLFSWM|::|GROUP-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|106 116 (DEFMACRO WITH-ALL-WINDOWS (# &BODY BODY) ...)-15|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|WITH-ALL-WINDOWS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WITH-ALL-WINDOWS|
+       #110Y(00 00 00 00 02 00 00 00 00 03 AE DA 8B 01 80 4B 9F 5C 78 AC DA DA
+             2D 03 01 1D 80 44 AC 94 00 9E 5C 78 A3 5C 79 38 01 72 90 38 01 72
+             90 E4 AE B1 7B 01 E5 E6 B4 7B 02 A4 5D 7A E5 E7 B5 7B 02 E8 B3 E9
+             B8 7B 02 7B 02 B5 B5 7B 02 7B 03 7B 03 7B 04 7B 01 AF B3 7B 02 61
+             03 19 0A AE 2F 02 19 03 DD DE B1 DF B0 E0 6F 07 E2 B3 E3 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|WITH-ALL-WINDOWS|
+        (|CLFSWM|::|ROOT| |CLFSWM|::|WINDOW|) |COMMON-LISP|::|LABELS|
+        |COMMON-LISP|::|WHEN| |XLIB|::|WINDOW-P| |CLFSWM|::|GROUP-P|
+        |COMMON-LISP|::|DOLIST| |CLFSWM|::|GROUP-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|120 130 (DEFMACRO WITH-ALL-WINDOWS-GROUPS (# BODY-WINDOW BODY-GROUP) ...)-16|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|WITH-ALL-WINDOWS-GROUPS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WITH-ALL-WINDOWS-GROUPS|
+       #116Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 80 4E 9F 5C 78
+             AC DD DD 2D 03 01 1D 80 47 AC 94 00 9E 5C 78 A3 5C 5C 78 A4 5C 5C
+             5C 78 38 01 72 90 38 01 72 90 E5 AE B2 7B 01 E6 B4 E7 B5 7B 02 E8
+             B5 E9 B5 EA BB 7B 02 7B 02 B7 B7 7B 02 7B 03 7B 03 7B 04 7B 03 7B
+             01 AF B4 7B 02 61 03 19 0B AE 2F 02 19 03 DE DF B1 E0 B0 E1 6F 08
+             E3 B3 E4 33 07 1E)
+       (4. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 2. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|WITH-ALL-WINDOWS-GROUPS|
+        (|CLFSWM|::|ROOT| |CLFSWM|::|CHILD|) |COMMON-LISP|::|LABELS|
+        |COMMON-LISP|::|TYPECASE| |XLIB|::|WINDOW| |CLFSWM|::|GROUP|
+        |COMMON-LISP|::|DOLIST| |CLFSWM|::|GROUP-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|134 138 (DEFUN GROUP-FIND-FREE-NUMBER NIL ...)-17|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GROUP-FIND-FREE-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GROUP-FIND-FREE-NUMBER|
+       #34Y(00 00 00 00 00 00 00 00 06 01 00 2B 01 00 0B 00 00 AC 6D 00 01 6B
+            01 9E 34 16 01 68 00 00 2F 02 19 02)
+       (#Y(|CLFSWM|::|GROUP-FIND-FREE-NUMBER-G47649|
+           #48Y(00 00 00 00 01 00 00 00 06 02 AD 2F 01 1F 1F AD 6F 02 07 00 01
+                5D 0C 00 01 AD 6F 03 63 1B 08 87 01 00 14 28 65 83 01 AD 8D 94
+                74 00 19 04 19 02)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-NUMBER|
+            |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|*ROOT-GROUP*| |TOOLS|::|FIND-FREE-NUMBER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|142 159 (DEFUN CREATE-GROUP (&KEY NAME # ...) ...)-18|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|CREATE-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|CREATE-GROUP|
+       #131Y(00 00 00 00 00 00 00 00 86 1B 07 00 00 00 3D 07 3B 06 03 2E 07 FE
+             3B 05 02 CD FD 3B 04 02 CD FC 3B 03 02 CE FB 3B 02 02 CE FA 3D 01
+             E4 6B 0B DC E6 DD E6 E7 E8 E9 E8 EA EB 6F 12 ED 6B 14 EF AD F0 81
+             2F 00 F1 F2 F3 F4 6F 12 F5 F6 6E 14 1D 65 1E AD 65 1F 65 20 6F 12
+             EA 65 21 6F 12 65 22 6B 23 65 24 65 25 6E 0A 26 65 27 DA B7 DB B8
+             DC B9 DD BA DE BB DF BC 65 28 BB 65 29 BC E0 C1 2D 13 2A 19 0A)
+       (:|NAME| :|NUMBER| :|X| :|Y| :|W| :|H| :|LAYOUT|
+        |CLFSWM|::|GROUP-FIND-FREE-NUMBER| #1=0.1f0 #2=0.8f0 :|PARENT|
+        |CLFSWM|::|*ROOT*| 0. :|WIDTH| 200. :|HEIGHT| :|BACKGROUND| "Black"
+        |CLFSWM|::|GET-COLOR| :|COLORMAP| |CLFSWM|::|*SCREEN*| |XLIB|::|SCREEN|
+        9. :|BORDER-WIDTH| 1. :|BORDER| "Red" :|EVENT-MASK|
+        (:|EXPOSURE| :|BUTTON-PRESS|) |XLIB|::|CREATE-WINDOW| :|DRAWABLE|
+        :|FOREGROUND| "Green" "Black" :|FONT| |CLFSWM|::|*DEFAULT-FONT*|
+        :|LINE-STYLE| :|SOLID| |XLIB|::|CREATE-GCONTEXT| |CLFSWM|::|GROUP|
+        :|WINDOW| :|GC| |CLOS|::|MAKE-INSTANCE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&KEY| |CLFSWM|::|NAME|
+        (|COMMON-LISP|::|NUMBER| (|CLFSWM|::|GROUP-FIND-FREE-NUMBER|))
+        (|CLFSWM|::|X| #1#) (|CLFSWM|::|Y| 0.1f0) (|CLFSWM|::|W| #2#)
+        (|CLFSWM|::|H| 0.8f0) |CLFSWM|::|LAYOUT|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|162 163 (DEFUN ADD-GROUP (GROUP FATHER) ...)-19|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|ADD-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|ADD-GROUP|
+       #22Y(00 00 00 00 02 00 00 00 06 03 AD 6F 00 AF 9E 7A AC B0 30 01 19 05)
+       (|CLFSWM|::|GROUP-CHILD|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|GROUP| |CLFSWM|::|FATHER|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|170 177 (DEFUN GET-CURRENT-CHILD NIL ...)-20|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GET-CURRENT-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GET-CURRENT-CHILD|
+       #59Y(00 00 00 00 00 00 00 00 06 01 6B 00 6B 01 8E 04 1D 6B 00 DC AD 8E
+            33 12 AC DD 8B 04 1B 6B 00 2F 05 78 DC AD 32 33 16 01 1C 07 0E 00
+            19 02 00 19 01 6B 00 2F 05 5B 19 02 00 19 02)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|*ROOT-GROUP*| |XLIB|::|WINDOW|
+        #.(|CLOS|::|FIND-CLASS| '|CLFSWM|::|GROUP|) |CLOS|::|TYPEP-CLASS|
+        |CLFSWM|::|GROUP-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Return the current focused child"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|180 184 (DEFUN FIND-CHILD (TO-FIND ROOT) ...)-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FIND-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FIND-CHILD|
+       #35Y(02 00 01 00 02 00 00 00 06 03 00 2B 01 7F 03 00 00 47 00 0D AF AF
+            6D 01 02 B2 9E 34 16 01 48 19 04 19 04)
+       (|CLFSWM|::|FIND-CHILD|
+        #Y(|CLFSWM|::|FIND-CHILD-G47727|
+           #48Y(00 00 00 00 01 00 00 00 06 02 AD 69 00 01 8E 04 0B AD 2F 02 1F
+                18 AD 6F 03 63 1B 0B 02 49 01 87 01 00 14 28 65 83 01 AD 8D 94
+                74 00 19 04 19 02)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P|
+            |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|CHILD|) |COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|TO-FIND| |CLFSWM|::|ROOT|)
+       "Find to-find in root or in its childs"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|188 192 (DEFUN FIND-FATHER-GROUP (TO-FIND &OPTIONAL #) ...)-22|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FIND-FATHER-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FIND-FATHER-GROUP|
+       #41Y(02 00 01 00 01 00 01 00 06 08 00 2B 01 7F 03 00 00 3B 02 03 0E 00
+            FA 47 01 0D AF AF 6D 02 02 B2 9E 34 16 01 48 19 04 19 04)
+       (|CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|FIND-FATHER-GROUP|
+        #Y(|CLFSWM|::|FIND-FATHER-GROUP-G47754|
+           #52Y(00 00 00 00 01 00 00 00 06 02 AD 2F 02 1F 23 69 00 01 AE 6F 03
+                38 03 8C B6 06 AD 6F 03 63 1B 0B 9E 49 01 87 01 00 14 28 61 83
+                01 AD 8D 94 74 00 19 04 19 02)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P|
+            |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|TO-FIND| |COMMON-LISP|::|&OPTIONAL|
+        (|CLFSWM|::|ROOT| |CLFSWM|::|*ROOT-GROUP*|))
+       "Return the father group of to-find"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|196 200 (DEFUN FIND-GROUP-WINDOW (WINDOW &OPTIONAL #) ...)-23|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FIND-GROUP-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FIND-GROUP-WINDOW|
+       #41Y(02 00 01 00 01 00 01 00 06 08 00 2B 01 7F 03 00 00 3B 02 03 0E 00
+            FA 47 01 0D AF AF 6D 02 02 B2 9E 34 16 01 48 19 04 19 04)
+       (|CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|FIND-GROUP-WINDOW|
+        #Y(|CLFSWM|::|FIND-GROUP-WINDOW-G47782|
+           #50Y(00 00 00 00 01 00 00 00 06 02 AD 2F 02 1F 21 69 00 01 AE 6F 03
+                8A 04 06 AD 6F 05 63 1B 0B 9E 49 01 87 01 00 14 28 63 83 01 AD
+                8D 94 74 00 19 04 19 02)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P|
+            |CLFSWM|::|GROUP-WINDOW| |XLIB|::|WINDOW-EQUAL|
+            |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW| |COMMON-LISP|::|&OPTIONAL|
+        (|CLFSWM|::|ROOT| |CLFSWM|::|*ROOT-GROUP*|))
+       "Return the group with the window window"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|203 208 (DEFUN FIND-GROUP-BY-NAME (NAME) ...)-24|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FIND-GROUP-BY-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FIND-GROUP-BY-NAME|
+       #41Y(02 00 01 00 01 00 00 00 06 02 00 2B 01 7F 02 00 00 47 00 13 06 03
+            00 1F 0B AF AF 6D 01 02 6B 02 9E 34 16 01 48 19 03 19 03)
+       (|CLFSWM|::|FIND-GROUP-BY-NAME|
+        #Y(|CLFSWM|::|FIND-GROUP-BY-NAME-G47809|
+           #52Y(00 00 00 00 01 00 00 00 06 02 AD 2F 02 1F 23 69 00 01 AE 6F 03
+                38 04 8C 3B 06 AD 6F 04 63 1B 0B 9E 49 01 87 01 00 14 28 61 83
+                01 AD 8D 94 74 00 19 04 19 02)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P|
+            |CLFSWM|::|GROUP-NAME| |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|*ROOT-GROUP*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|NAME|) "Find a group from its name"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|210 215 (DEFUN FIND-GROUP-BY-NUMBER (NUMBER) ...)-25|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FIND-GROUP-BY-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FIND-GROUP-BY-NUMBER|
+       #43Y(02 00 01 00 01 00 00 00 06 02 00 2B 01 7F 02 00 00 47 00 15 68 03
+            00 32 0A 1F 0B AF AF 6D 01 02 6B 02 9E 34 16 01 48 19 03 19 03)
+       (|CLFSWM|::|FIND-GROUP-BY-NUMBER|
+        #Y(|CLFSWM|::|FIND-GROUP-BY-NUMBER-G47838|
+           #51Y(00 00 00 00 01 00 00 00 06 02 AD 2F 02 1F 22 69 00 01 AE 6F 03
+                90 01 2D 06 AD 6F 04 63 1B 0B 9E 49 01 87 01 00 14 28 62 83 01
+                AD 8D 94 74 00 19 04 19 02)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P|
+            |CLFSWM|::|GROUP-NUMBER| |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|*ROOT-GROUP*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|NUMBER|) "Find a group from its number"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|220 225 (DEFUN GET-ALL-WINDOWS (&OPTIONAL #) ...)-26|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GET-ALL-WINDOWS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GET-ALL-WINDOWS|
+       #37Y(00 00 00 00 00 00 01 00 06 07 3B 01 03 0E 00 F9 00 2B 01 00 0B 00
+            00 AC 6D 01 01 AF 9E 34 16 01 06 00 00 19 03)
+       (|CLFSWM|::|*ROOT-GROUP*|
+        #Y(|CLFSWM|::|GET-ALL-WINDOWS-G47867|
+           #51Y(00 00 00 00 01 00 00 00 06 02 DB AE 8F 33 08 AD 07 00 01 5D 0C
+                00 01 AD 2F 02 1F 15 AD 6F 03 63 1B 08 87 01 00 14 28 62 83 01
+                AD 8D 94 74 00 19 04 19 02)
+           (|COMMON-LISP|::|NIL| |XLIB|::|WINDOW| |CLFSWM|::|GROUP-P|
+            |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&OPTIONAL| (|CLFSWM|::|ROOT| |CLFSWM|::|*ROOT-GROUP*|))
+       "Return all windows in root and in its childs"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|228 233 (DEFUN GET-HIDDEN-WINDOWS NIL ...)-27|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GET-HIDDEN-WINDOWS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GET-HIDDEN-WINDOWS|
+       #31Y(00 00 00 00 00 00 00 00 06 01 2E 00 14 99 01 6B 02 6F 03 71 A0 38
+            05 72 51 AC AE 30 04 19 03)
+       (|CLFSWM|::|GET-ALL-WINDOWS| |CLFSWM|::|WINDOW-HIDDEN-P|
+        |CLFSWM|::|*ROOT*| |XLIB|::|QUERY-TREE|
+        |COMMON-LISP|::|SET-DIFFERENCE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Return all hiddens windows"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|238 266 (DEFUN DISPLAY-GROUP-INFO (GROUP) ...)-28|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DISPLAY-GROUP-INFO| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DISPLAY-GROUP-INFO|
+       #430Y(05 00 02 00 01 00 00 00 06 02 6B 00 6F 01 6B 00 6F 02 73 02 35 AE
+             6B 03 8F 04 06 AE DE 72 3E 2F 05 AE E0 72 3E E1 30 08 42 04 53 81
+             45 B4 6B 03 8F 04 07 B4 6B 09 8E 04 80 9F D0 14 6F 0C 93 00 04 B2
+             AD 30 0D 16 01 B4 DE 72 3E B5 E0 72 3E E8 B5 38 02 72 76 B9 E9 72
+             3E BA EA 8E 3E 80 7E D7 14 ED AF 38 02 31 8B AD AF 31 86 AC AF 31
+             86 EE AF 38 02 31 8B 16 02 AC 81 77 00 2D 05 15 B2 B5 6B 03 8F 04
+             80 BA B5 DE 72 3E B6 E0 72 3E E8 AF B7 82 02 35 03 14 38 02 72 76
+             2E 16 14 72 48 AC AE 31 86 F1 AE 38 02 31 8B 16 01 AC 81 77 00 2D
+             05 15 0E 18 1D 80 89 B5 DE 72 3E B6 E0 72 3E E8 AF B7 82 02 35 03
+             14 F3 38 01 72 76 53 80 66 AE F4 30 1B 6B 18 63 1B 80 4C CF 1B FF
+             5E 38 02 72 76 BB EA 72 3E EB AE 38 02 31 8B AC AE 31 86 16 01 AC
+             32 77 16 01 1B FF 67 B0 F7 AE 6F 1E 2D 03 1B 1B 20 87 01 00 F6 AD
+             8E 33 6E AC 65 1F 8B 20 12 B0 65 21 AE 6F 22 AF 6F 23 92 00 02 03
+             24 F8 2D 04 1B 83 01 AD 8D 94 5A 16 02 AE 65 25 30 1B AE 32 77 3F
+             54 67 00 00 00 2F 26 55 F8 2D 05 15 B5 65 27 72 3E 63 1B 22 87 01
+             00 F6 AD 8F 33 18 B7 DE 72 3E B8 E0 72 3E E8 B1 B9 82 02 35 05 14
+             B0 6F 1E 6F 28 2D 05 29 83 01 AD 8D 94 5A 00 16 03 54 65 2A 67 00
+             00 03 65 2B 72 2F 67 00 00 02 03 2C 5F 14 AD 03 2C 60 65 2D AD 03
+             2E 60 16 01 05 00 00 00 1D 0F 67 00 00 03 67 00 00 01 67 00 00 00
+             2D 03 2F 67 00 00 02 2F 30 55 19 07)
+       (|CLFSWM|::|*DEFAULT-FONT*| |XLIB|::|MAX-CHAR-ASCENT|
+        |XLIB|::|MAX-CHAR-DESCENT| |CLFSWM|::|*CURRENT-ROOT*|
+        |CLFSWM|::|WINDOW| |XLIB|::|CLEAR-AREA| |CLFSWM|::|GC| (2.)
+        |XLIB|::|COPY-GCONTEXT-LOCAL-STATE| |CLFSWM|::|*CURRENT-CHILD*| "Red"
+        "Green" |CLFSWM|::|GET-COLOR| |XLIB|::|SET-GCONTEXT-FOREGROUND| 5.
+        |COMMON-LISP|::|NUMBER| |CLFSWM|::|NAME| " - " "" "Group: "
+        "                                                  "
+        |XLIB|::|DRAW-IMAGE-GLYPHS| |CLFSWM|::|GET-HIDDEN-WINDOWS|
+        " hidden windows             " |CLFSWM|::|*CHILD-SELECTION*|
+        |COMMON-LISP|::|CHARACTER|
+        #Y(|CLFSWM|::|DISPLAY-GROUP-INFO-1|
+           #19Y(00 00 00 00 01 00 00 00 01 17 DA AF 38 02 31 8B 9E 19 03)
+           ("Selection: ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|FORMAT| |XLIB|::|WINDOW|
+        #Y(|CLFSWM|::|DISPLAY-GROUP-INFO-2|
+           #21Y(00 00 00 00 02 00 00 00 01 18 AE B0 31 86 DA B0 31 8A 9E 19 04)
+           (#\ ) (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |XLIB|::|WM-NAME| #.(|CLOS|::|FIND-CLASS| '|CLFSWM|::|GROUP|)
+        |CLOS|::|TYPEP-CLASS|
+        #Y(|CLFSWM|::|DISPLAY-GROUP-INFO-3|
+           #37Y(00 00 00 00 03 00 00 00 01 19 DA B1 38 02 31 8B AF B1 31 86 DB
+                B1 31 8A AE B1 31 86 DC B1 38 02 31 8B 9E 19 05)
+           ("group:" #\[ "] ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |CLFSWM|::|GROUP-NUMBER| |CLFSWM|::|GROUP-NAME| ""
+        #Y(|CLFSWM|::|DISPLAY-GROUP-INFO-4|
+           #19Y(00 00 00 00 01 00 00 00 01 17 DA AF 38 02 31 8B 9E 19 03)
+           ("                                                   ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|CLOSE| |CLFSWM|::|CHILD| |TOOLS|::|ENSURE-PRINTABLE|
+        |XLIB|::|DRAW-GLYPHS| |XLIB|::|GCONTEXT| 6. 2. 0. 26.
+        |XLIB|::|RESTORE-GCONTEXT-TEMP-STATE|
+        |XLIB|::|DEALLOCATE-GCONTEXT-STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|277 282 (DEFUN GET-FATHER-LAYOUT (CHILD FATHER) ...)-29|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GET-FATHER-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GET-FATHER-LAYOUT|
+       #37Y(00 00 00 00 02 00 00 00 06 03 AD 88 00 0B 2E 03 19 03 14 B0 B0 36
+            02 19 04 AD 6F 01 92 00 73 AF AF 30 02 19 04)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-LAYOUT| |CLFSWM|::|NO-LAYOUT|
+        |CLFSWM|::|GET-FULLSCREEN-SIZE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|285 285 (DEFGENERIC ADAPT-CHILD-TO-FATHER (CHILD FATHER))-30|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 01 03 B8 6F 0B 1B 24 AF 38 01 80 9E 03 14
+         AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21 63 9D
+         FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E6 6B 0D E8 BA E9 DA
+         6E 03 10 EB 63 6E 03 12 ED 63 EE 63 7B 08 33 02 22 9B 09 02)
+   (|CLFSWM|::|ADAPT-CHILD-TO-FATHER| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1| |CLOS|::|<STANDARD-GENERIC-FUNCTION>|
+    |CLOS|::|ENSURE-GENERIC-FUNCTION| :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DOCUMENTATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|287 295 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-31|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0B 19
+        01)
+   (|CLFSWM|::|ADAPT-CHILD-TO-FATHER| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1|
+    #Y(#:|287 295 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-31-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|287 295 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-31-1-1|
+           #68Y(02 00 01 00 02 00 00 00 00 03 00 2B 02 7F 03 00 00 7F 02 00 01
+                9D 2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03
+                B0 36 00 16 06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19
+                02 00 4D 19 05)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(#:|287 295 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-31-1-1-1|
+               #18Y(00 00 00 00 00 00 00 00 00 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(#:|287 295 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-31-1-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 00 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+            #Y(#:|287 295 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-31-1-1-2|
+               #47Y(00 00 00 00 00 00 00 00 00 01 69 01 01 69 01 02 30 01 42 05
+                    69 01 01 B1 30 02 69 01 01 B0 30 03 69 01 01 AF 30 04 69 01
+                    01 AE 30 05 15 19 05)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|GET-FATHER-LAYOUT|
+                |XLIB|::|SET-DRAWABLE-X| |XLIB|::|SET-DRAWABLE-Y|
+                |XLIB|::|SET-DRAWABLE-WIDTH| |XLIB|::|SET-DRAWABLE-HEIGHT|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR|
+                |XLIB|::|WINDOW-ERROR| |XLIB|::|DRAWABLE-ERROR|)
+               39.)
+             1. . 1.))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|WINDOW| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |XLIB|::|WINDOW| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|297 307 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-32|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0B 19
+        01)
+   (|CLFSWM|::|ADAPT-CHILD-TO-FATHER| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1|
+    #Y(#:|297 307 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-32-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|297 307 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-32-1-1|
+           #68Y(02 00 01 00 02 00 00 00 00 03 00 2B 02 7F 03 00 00 7F 02 00 01
+                9D 2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03
+                B0 36 00 16 06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19
+                02 00 4D 19 05)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(#:|297 307 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-32-1-1-1|
+               #18Y(00 00 00 00 00 00 00 00 00 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(#:|297 307 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-32-1-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 00 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+            #Y(#:|297 307 (DEFMETHOD ADAPT-CHILD-TO-FATHER (# FATHER) ...)-32-1-1-2|
+               #86Y(00 00 00 00 00 00 00 00 00 01 69 01 01 69 01 02 30 01 42 05
+                    69 01 01 AC DC B3 32 3F AC DD B2 32 3F AC DE B1 32 3F AC DF
+                    B0 32 3F AC E0 72 3E AD DC 72 3E 30 07 AC E0 72 3E AD DD 72
+                    3E 30 08 AC E0 72 3E AD DE 72 3E 30 09 AC E0 72 3E AD DF 72
+                    3E 30 0A 9E 19 07)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|GET-FATHER-LAYOUT|
+                |CLFSWM|::|RX| |CLFSWM|::|RY| |CLFSWM|::|RW| |CLFSWM|::|RH|
+                |CLFSWM|::|WINDOW| |XLIB|::|SET-DRAWABLE-X|
+                |XLIB|::|SET-DRAWABLE-Y| |XLIB|::|SET-DRAWABLE-WIDTH|
+                |XLIB|::|SET-DRAWABLE-HEIGHT|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR|
+                |XLIB|::|WINDOW-ERROR| |XLIB|::|DRAWABLE-ERROR|)
+               39.)
+             1. . 1.))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|GROUP| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLFSWM|::|GROUP| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|311 311 (DEFGENERIC SHOW-CHILD (CHILD FATHER))-33|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 01 03 B8 6F 0B 1B 24 AF 38 01 80 9E 03 14
+         AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21 63 9D
+         FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E6 6B 0D E8 BA E9 DA
+         6E 03 10 EB 63 6E 03 12 ED 63 EE 63 7B 08 33 02 22 9B 09 02)
+   (|CLFSWM|::|SHOW-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    |CLOS|::|<STANDARD-GENERIC-FUNCTION>| |CLOS|::|ENSURE-GENERIC-FUNCTION|
+    :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DOCUMENTATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|312 312 (DEFGENERIC HIDE-CHILD (CHILD))-34|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 01 03 B8 6F 0B 1B 24 AF 38 01 80 9E 03 14
+         AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21 63 9D
+         FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E6 6B 0D E8 BA E9 DA
+         6E 03 10 EB 63 6E 03 12 ED 63 EE 63 7B 08 33 02 22 9B 09 02)
+   (|CLFSWM|::|HIDE-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    |CLOS|::|<STANDARD-GENERIC-FUNCTION>| |CLOS|::|ENSURE-GENERIC-FUNCTION|
+    :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD|)
+    :|ARGUMENT-PRECEDENCE-ORDER| (|CLFSWM|::|CHILD|) |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DOCUMENTATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|314 323 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-35|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0B 19
+        01)
+   (|CLFSWM|::|SHOW-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|314 323 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-35-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|314 323 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-35-1-1|
+           #68Y(02 00 01 00 02 00 00 00 00 03 00 2B 02 7F 03 00 00 7F 02 00 01
+                9D 2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03
+                B0 36 00 16 06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19
+                02 00 4D 19 05)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(#:|314 323 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-35-1-1-1|
+               #18Y(00 00 00 00 00 00 00 00 00 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(#:|314 323 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-35-1-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 00 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+            #Y(#:|314 323 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-35-1-1-2|
+               #68Y(00 00 00 00 00 00 00 00 00 01 69 01 01 69 01 01 69 01 02 70
+                    01 0E 02 1C 0A 69 01 01 6B 03 32 04 59 1F 1F AD DE 72 3E DF
+                    6F 06 30 07 AD DE 72 3E 2F 08 93 00 06 AD DE 72 3E 2F 09 69
+                    01 01 2F 0A 19 03 19 03)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|ADAPT-CHILD-TO-FATHER|
+                |CLFSWM|::|*SHOW-ROOT-GROUP-P*| |CLFSWM|::|*CURRENT-ROOT*|
+                |CLFSWM|::|WINDOW| "Black" |CLFSWM|::|GET-COLOR|
+                |XLIB|::|SET-WINDOW-BACKGROUND| |XLIB|::|MAP-WINDOW|
+                |CLFSWM|::|RAISE-WINDOW| |CLFSWM|::|DISPLAY-GROUP-INFO|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR|
+                |XLIB|::|WINDOW-ERROR| |XLIB|::|DRAWABLE-ERROR|)
+               39.)
+             1. . 1.))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|GROUP| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLFSWM|::|GROUP| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|326 329 (DEFMETHOD HIDE-CHILD (#) ...)-36|
+   #43Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 7B 01 7B 08 2D 03 0B 19 01)
+   (|CLFSWM|::|HIDE-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|326 329 (DEFMETHOD HIDE-CHILD (#) ...)-36-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|326 329 (DEFMETHOD HIDE-CHILD (#) ...)-36-1-1|
+           #64Y(02 00 01 00 01 00 00 00 00 02 00 2B 01 7F 02 00 00 9D 2B 01 00
+                0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03 B0 36 00 16
+                06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19 02 00 4D 19
+                04)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(#:|326 329 (DEFMETHOD HIDE-CHILD (#) ...)-36-1-1-1|
+               #18Y(00 00 00 00 00 00 00 00 00 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(#:|326 329 (DEFMETHOD HIDE-CHILD (#) ...)-36-1-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 00 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+            #Y(#:|326 329 (DEFMETHOD HIDE-CHILD (#) ...)-36-1-1-2|
+               #21Y(00 00 00 00 00 00 00 00 00 01 69 01 01 AC DB 72 3E 2F 02 19
+                    02)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|WINDOW| |XLIB|::|UNMAP-WINDOW|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR|
+                |XLIB|::|WINDOW-ERROR| |XLIB|::|DRAWABLE-ERROR|)
+               35.)
+             1. . 1.))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|GROUP|) |CLOS|::|SIGNATURE|
+    #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLFSWM|::|GROUP| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|332 339 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-37|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0B 19
+        01)
+   (|CLFSWM|::|SHOW-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|332 339 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-37-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|332 339 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-37-1-1|
+           #68Y(02 00 01 00 02 00 00 00 00 03 00 2B 02 7F 03 00 00 7F 02 00 01
+                9D 2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03
+                B0 36 00 16 06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19
+                02 00 4D 19 05)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(#:|332 339 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-37-1-1-1|
+               #18Y(00 00 00 00 00 00 00 00 00 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(#:|332 339 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-37-1-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 00 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+            #Y(#:|332 339 (DEFMETHOD SHOW-CHILD (# FATHER) ...)-37-1-1-2|
+               #45Y(00 00 00 00 00 00 00 00 00 01 63 69 01 01 6F 01 25 02 09 69
+                    01 01 69 01 02 30 03 F8 69 01 01 2F 04 9D 1F 07 69 01 01 2F
+                    05 19 02 19 02)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|WINDOW-TYPE| :|NORMAL|
+                |CLFSWM|::|ADAPT-CHILD-TO-FATHER| |XLIB|::|MAP-WINDOW|
+                |CLFSWM|::|RAISE-WINDOW|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR|
+                |XLIB|::|WINDOW-ERROR| |XLIB|::|DRAWABLE-ERROR|)
+               39.)
+             1. . 1.))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|WINDOW| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |XLIB|::|WINDOW| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|341 342 (DEFMETHOD HIDE-CHILD (#) ...)-38|
+   #43Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 7B 01 7B 08 2D 03 0B 19 01)
+   (|CLFSWM|::|HIDE-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|341 342 (DEFMETHOD HIDE-CHILD (#) ...)-38-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|341 342 (DEFMETHOD HIDE-CHILD (#) ...)-38-1-1|
+           #15Y(00 00 00 00 01 00 00 00 00 02 AD 2F 00 19 02)
+           (|CLFSWM|::|HIDE-WINDOW|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|WINDOW|) |CLOS|::|SIGNATURE|
+    #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |XLIB|::|WINDOW| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|349 349 (DEFGENERIC SELECT-CHILD (CHILD SELECTED))-39|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 01 03 B8 6F 0B 1B 24 AF 38 01 80 9E 03 14
+         AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21 63 9D
+         FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E6 6B 0D E8 BA E9 DA
+         6E 03 10 EB 63 6E 03 12 ED 63 EE 63 7B 08 33 02 22 9B 09 02)
+   (|CLFSWM|::|SELECT-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    |CLOS|::|<STANDARD-GENERIC-FUNCTION>| |CLOS|::|ENSURE-GENERIC-FUNCTION|
+    :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|SELECTED|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|SELECTED|) |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DOCUMENTATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|351 357 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-40|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0B 19
+        01)
+   (|CLFSWM|::|SELECT-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|351 357 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-40-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|351 357 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-40-1-1|
+           #68Y(02 00 01 00 02 00 00 00 00 03 00 2B 02 7F 03 00 00 7F 02 00 01
+                9D 2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03
+                B0 36 00 16 06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19
+                02 00 4D 19 05)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(#:|351 357 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-40-1-1-1|
+               #18Y(00 00 00 00 00 00 00 00 00 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(#:|351 357 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-40-1-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 00 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+            #Y(#:|351 357 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-40-1-1-2|
+               #67Y(00 00 00 00 00 00 00 00 00 01 69 01 01 2F 01 1F 30 69 01 01
+                    2F 02 1F 29 69 01 01 6F 02 69 01 02 24 03 12 07 01 02 1D 11
+                    07 01 02 1C 10 00 14 6F 07 30 08 19 01 0E 04 1B 75 0E 05 1B
+                    71 0E 06 1B 6D 19 01)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P|
+                |CLFSWM|::|GROUP-WINDOW| :|MAYBE|
+                |CLFSWM|::|*COLOR-MAYBE-SELECTED*|
+                |CLFSWM|::|*COLOR-UNSELECTED*| |CLFSWM|::|*COLOR-SELECTED*|
+                |CLFSWM|::|GET-COLOR| |XLIB|::|SET-WINDOW-BORDER|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR|
+                |XLIB|::|WINDOW-ERROR| |XLIB|::|DRAWABLE-ERROR|)
+               39.)
+             1. . 1.))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|GROUP| |CLFSWM|::|SELECTED|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLFSWM|::|GROUP| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|359 364 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-41|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0B 19
+        01)
+   (|CLFSWM|::|SELECT-CHILD| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|359 364 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-41-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|359 364 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-41-1-1|
+           #68Y(02 00 01 00 02 00 00 00 00 03 00 2B 02 7F 03 00 00 7F 02 00 01
+                9D 2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03
+                B0 36 00 16 06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19
+                02 00 4D 19 05)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(#:|359 364 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-41-1-1-1|
+               #18Y(00 00 00 00 00 00 00 00 00 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(#:|359 364 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-41-1-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 00 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+            #Y(#:|359 364 (DEFMETHOD SELECT-CHILD (# SELECTED) ...)-41-1-1-2|
+               #49Y(00 00 00 00 00 00 00 00 00 01 69 01 01 69 01 02 24 01 12 07
+                    01 02 1D 11 07 01 02 1C 10 00 14 6F 05 30 06 19 01 0E 02 1B
+                    75 0E 03 1B 71 0E 04 1B 6D)
+               (|COMMON-LISP|::|NIL| :|MAYBE|
+                |CLFSWM|::|*COLOR-MAYBE-SELECTED*|
+                |CLFSWM|::|*COLOR-UNSELECTED*| |CLFSWM|::|*COLOR-SELECTED*|
+                |CLFSWM|::|GET-COLOR| |XLIB|::|SET-WINDOW-BORDER|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR|
+                |XLIB|::|WINDOW-ERROR| |XLIB|::|DRAWABLE-ERROR|)
+               39.)
+             1. . 1.))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|WINDOW| |CLFSWM|::|SELECTED|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |XLIB|::|WINDOW| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|366 367 (DEFUN SELECT-CURRENT-GROUP (SELECTED) ...)-42|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-CURRENT-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-CURRENT-GROUP|
+       #17Y(00 00 00 00 01 00 00 00 06 02 6B 00 AE 30 01 19 02)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|SELECT-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|SELECTED|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|371 377 (DEFUN SET-FOCUS-TO-CURRENT-CHILD NIL ...)-43|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-FOCUS-TO-CURRENT-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-FOCUS-TO-CURRENT-CHILD|
+       #55Y(00 00 00 00 00 00 00 00 06 01 2E 00 6B 01 89 02 14 6B 01 2F 03 78
+            DE AD 32 33 16 01 1D 07 6B 01 2F 03 78 2F 05 6B 01 DE AD 32 33 16
+            01 1F 06 6B 01 2F 05 19 01 19 01)
+       (|CLFSWM|::|NO-FOCUS| |CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|GROUP-P|
+        |CLFSWM|::|GROUP-CHILD| |XLIB|::|WINDOW| |CLFSWM|::|FOCUS-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|383 394 (DEFUN SHOW-ALL-CHILDS NIL ...)-44|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SHOW-ALL-CHILDS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SHOW-ALL-CHILDS|
+       #20Y(00 00 00 00 00 00 00 00 06 01 6B 00 63 64 C6 34 2E 02 19 01)
+       (|CLFSWM|::|*CURRENT-ROOT*|
+        #Y(|CLFSWM|::|SHOW-ALL-CHILDS-REC|
+           #74Y(00 00 00 00 03 00 00 00 06 04 AF AF 30 00 AF B0 6B 01 8E 04 18
+                93 02 01 C7 14 30 03 AF 2F 04 1F 27 AF 2F 05 78 B0 6F 05 72 49
+                63 1B 14 02 1B 69 87 01 00 14 B3 93 06 04 AE B1 32 04 14 28 4B
+                83 01 AD 8D 94 6B 00 19 07 19 04)
+           (|CLFSWM|::|SHOW-CHILD| |CLFSWM|::|*CURRENT-CHILD*| :|MAYBE|
+            |CLFSWM|::|SELECT-CHILD| |CLFSWM|::|GROUP-P|
+            |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|ROOT| |CLFSWM|::|FATHER| |CLFSWM|::|FIRST-P|)
+           |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|SET-FOCUS-TO-CURRENT-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show all childs from *current-root*"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|399 403 (DEFUN HIDE-ALL-CHILDS (ROOT) ...)-45|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HIDE-ALL-CHILDS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HIDE-ALL-CHILDS|
+       #41Y(00 00 00 00 01 00 00 00 06 02 AD 2F 00 AD 2F 01 1F 15 AD 6F 02 63
+            1B 08 87 01 00 14 28 6C 83 01 AD 8D 94 74 00 19 04 19 02)
+       (|CLFSWM|::|HIDE-CHILD| |CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|408 422 (DEFUN SELECT-NEXT/PREVIOUS-BROTHER (FUN-ROTATE) ...)-46|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-NEXT/PREVIOUS-BROTHER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-NEXT/PREVIOUS-BROTHER|
+       #76Y(00 00 00 00 01 00 00 00 06 02 6B 00 6B 01 8F 04 07 6B 00 6B 02 32
+            04 59 14 92 00 2A 63 2F 04 6B 01 6F 05 AC 89 06 12 AC E1 B1 AF E1
+            72 3E 76 01 32 3F AC E1 32 3E 5B 0F 01 16 01 93 00 04 0E 01 0F 00
+            2E 08 19 03 6B 00 2F 03 1B 53)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|*CURRENT-CHILD*|
+        |CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|HIDE-ALL-CHILDS|
+        |CLFSWM|::|SELECT-CURRENT-GROUP| |CLFSWM|::|FIND-FATHER-GROUP|
+        |CLFSWM|::|GROUP-P| |CLFSWM|::|CHILD| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|FUN-ROTATE|) "Select the next/previous brother group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|425 427 (DEFUN SELECT-NEXT-BROTHER NIL ...)-47|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-NEXT-BROTHER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-NEXT-BROTHER|
+       #16Y(00 00 00 00 00 00 00 00 06 01 99 00 2F 01 19 01)
+       (|TOOLS|::|ANTI-ROTATE-LIST| |CLFSWM|::|SELECT-NEXT/PREVIOUS-BROTHER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Select the next brother group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|429 431 (DEFUN SELECT-PREVIOUS-BROTHER NIL ...)-48|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-PREVIOUS-BROTHER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-PREVIOUS-BROTHER|
+       #16Y(00 00 00 00 00 00 00 00 06 01 99 00 2F 01 19 01)
+       (|TOOLS|::|ROTATE-LIST| |CLFSWM|::|SELECT-NEXT/PREVIOUS-BROTHER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Select the previous brother group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|434 440 (DEFUN SELECT-NEXT-LEVEL NIL ...)-49|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-NEXT-LEVEL| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-NEXT-LEVEL|
+       #38Y(00 00 00 00 00 00 00 00 06 01 63 2F 00 6B 01 89 02 0A 6B 01 2F 03
+            78 92 00 06 16 01 2E 04 19 01 0F 01 16 01 1B 76)
+       (|CLFSWM|::|SELECT-CURRENT-GROUP| |CLFSWM|::|*CURRENT-CHILD*|
+        |CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-CHILD|
+        |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Select the next level in group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|442 448 (DEFUN SELECT-PREVIOUS-LEVEL NIL ...)-50|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-PREVIOUS-LEVEL| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-PREVIOUS-LEVEL|
+       #38Y(00 00 00 00 00 00 00 00 06 01 6B 00 6B 01 8E 04 12 63 2F 02 6B 00
+            6F 03 93 00 02 0F 00 16 01 2E 04 19 01 00 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|*CURRENT-ROOT*|
+        |CLFSWM|::|SELECT-CURRENT-GROUP| |CLFSWM|::|FIND-FATHER-GROUP|
+        |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Select the previous level in group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|451 456 (DEFUN SELECT-NEXT/PREVIOUS-CHILD (FUN-ROTATE) ...)-51|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-NEXT/PREVIOUS-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-NEXT/PREVIOUS-CHILD|
+       #37Y(00 00 00 00 01 00 00 00 06 02 6B 00 2F 01 1F 13 6B 00 AC DC B0 AF
+            DC 72 3E 76 01 32 3F 16 01 2E 03 19 02 19 02)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|GROUP-P| |CLFSWM|::|CHILD|
+        |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|FUN-ROTATE|) "Select the next/previous child"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|459 461 (DEFUN SELECT-NEXT-CHILD NIL ...)-52|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-NEXT-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-NEXT-CHILD|
+       #16Y(00 00 00 00 00 00 00 00 06 01 99 00 2F 01 19 01)
+       (|TOOLS|::|ANTI-ROTATE-LIST| |CLFSWM|::|SELECT-NEXT/PREVIOUS-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Select the next child"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|463 465 (DEFUN SELECT-PREVIOUS-CHILD NIL ...)-53|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SELECT-PREVIOUS-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SELECT-PREVIOUS-CHILD|
+       #16Y(00 00 00 00 00 00 00 00 06 01 99 00 2F 01 19 01)
+       (|TOOLS|::|ROTATE-LIST| |CLFSWM|::|SELECT-NEXT/PREVIOUS-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Select the previous child"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|469 473 (DEFUN ENTER-GROUP NIL ...)-54|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|ENTER-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|ENTER-GROUP|
+       #22Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 0E 02 0F 00 2E 03 19 01)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|HIDE-ALL-CHILDS|
+        |CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Enter in the selected group - ie make it the root group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|475 481 (DEFUN LEAVE-GROUP NIL ...)-55|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|LEAVE-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|LEAVE-GROUP|
+       #34Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 6B 00 6F 02 93 00 07 14
+            89 03 03 9D 0F 00 16 01 2E 04 19 01)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|HIDE-ALL-CHILDS|
+        |CLFSWM|::|FIND-FATHER-GROUP| |CLFSWM|::|GROUP-P|
+        |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Leave the selected group - ie make its father the root group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|484 488 (DEFUN SWITCH-TO-ROOT-GROUP NIL ...)-56|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SWITCH-TO-ROOT-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SWITCH-TO-ROOT-GROUP|
+       #22Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 0E 02 0F 00 2E 03 19 01)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|HIDE-ALL-CHILDS|
+        |CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Switch to the root group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|490 495 (DEFUN SWITCH-AND-SELECT-ROOT-GROUP NIL ...)-57|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SWITCH-AND-SELECT-ROOT-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SWITCH-AND-SELECT-ROOT-GROUP|
+       #24Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 0E 02 0F 00 0F 03 2E 04
+            19 01)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|HIDE-ALL-CHILDS|
+        |CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|*CURRENT-CHILD*|
+        |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Switch and select the root group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|498 502 (DEFUN TOGGLE-SHOW-ROOT-GROUP NIL ...)-58|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|TOGGLE-SHOW-ROOT-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|TOGGLE-SHOW-ROOT-GROUP|
+       #23Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 0E 02 59 0F 02 2E 03 19
+            01)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|HIDE-ALL-CHILDS|
+        |CLFSWM|::|*SHOW-ROOT-GROUP-P*| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Show/Hide the root group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|505 512 (DEFUN FOCUS-CHILD (CHILD FATHER) ...)-59|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FOCUS-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FOCUS-CHILD|
+       #61Y(00 00 00 00 02 00 00 00 06 03 AD 2F 00 1F 2C AE AE 6F 01 38 03 31
+            B6 1F 22 AE AE 2F 01 78 32 04 59 1F 18 1B 0B AD 6F 01 6F 02 AC AF
+            30 03 16 01 AE AE 2F 01 78 8F 04 6D 02 19 03 19 03)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-CHILD| |TOOLS|::|ROTATE-LIST|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+       "Focus child - Return true if something has change"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|514 523 (DEFUN FOCUS-CHILD-REC (CHILD FATHER) ...)-60|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FOCUS-CHILD-REC| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FOCUS-CHILD-REC|
+       #32Y(00 00 00 00 02 00 00 00 06 03 00 2B 01 00 0B 00 00 AC 6D 00 01 B0
+            B0 9F 34 16 01 06 00 00 19 04)
+       (#Y(|CLFSWM|::|FOCUS-CHILD-REC-REC|
+           #37Y(00 00 00 00 02 00 00 00 06 03 AE AE 8A 01 0B 9E 1F 11 14 AE 6F
+                02 29 02 05 70 02 0C 00 01 9E 1F 02 1B 6F 19 03)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|FOCUS-CHILD|
+            |CLFSWM|::|FIND-FATHER-GROUP|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) |COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+       "Focus child and its fathers - Return true if something has change"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|525 532 (DEFUN SET-CURRENT-CHILD (CHILD FATHER) ...)-61|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-CURRENT-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-CURRENT-CHILD|
+       #42Y(00 00 00 00 02 00 00 00 06 03 AE 89 00 06 6B 01 AF 8F 04 10 AD 89
+            00 0F 6B 01 AE 8E 04 09 9E 0F 01 02 19 03 9F 1B 78 00 19 03)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|*CURRENT-CHILD*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+       "Set *current-child* to child - Return t if something has change"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|534 537 (DEFUN SET-CURRENT-ROOT (FATHER) ...)-62|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-CURRENT-ROOT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-CURRENT-ROOT|
+       #24Y(00 00 00 00 01 00 00 00 06 02 AD 6B 00 8A 01 05 9E 0F 00 19 02 00
+            19 02)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|FIND-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|FATHER|)
+       "Set current root if father is not in current root"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|540 545 (DEFUN FOCUS-ALL-CHILDS (CHILD FATHER) ...)-63|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FOCUS-ALL-CHILDS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FOCUS-ALL-CHILDS|
+       #32Y(00 00 00 00 02 00 00 00 06 03 AE AE 70 00 AF AF 70 01 AF 6F 02 9F
+            1E 06 9E 1E 03 15 19 05 19 06)
+       (|CLFSWM|::|FOCUS-CHILD-REC| |CLFSWM|::|SET-CURRENT-CHILD|
+        |CLFSWM|::|SET-CURRENT-ROOT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+       "Focus child and its fathers - Set current group to father"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|549 552 (DEFUN REMOVE-CHILD-IN-GROUP (CHILD GROUP) ...)-64|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|REMOVE-CHILD-IN-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|REMOVE-CHILD-IN-GROUP|
+       #33Y(00 00 00 00 02 00 00 00 06 03 AD 2F 00 1F 10 AE AE 6F 01 38 07 C7
+            FA 72 4F AC AF 30 03 19 04 19 03)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-CHILD| #.#'|COMMON-LISP|::|EQUAL|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|GROUP|) "Remove the child in group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|554 559 (DEFUN REMOVE-CHILD-IN-GROUPS (CHILD ROOT) ...)-65|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|REMOVE-CHILD-IN-GROUPS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|REMOVE-CHILD-IN-GROUPS|
+       #46Y(00 00 00 00 02 00 00 00 06 03 00 2B 01 7F 03 00 00 AC 6D 00 01 AF
+            9E 34 16 01 68 00 00 DB AD 32 33 16 01 1F 07 68 00 00 2F 02 19 04
+            19 04)
+       (#Y(|CLFSWM|::|REMOVE-CHILD-IN-GROUPS-G48725|
+           #44Y(00 00 00 00 01 00 00 00 06 02 AD 2F 01 1F 1B 69 00 01 AE 30 02
+                AD 6F 03 63 1B 08 87 01 00 14 28 69 83 01 AD 8D 94 74 00 19 04
+                19 02)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P|
+            |CLFSWM|::|REMOVE-CHILD-IN-GROUP| |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|)
+        |XLIB|::|WINDOW| |CLFSWM|::|NETWM-REMOVE-IN-CLIENT-LIST|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|ROOT|)
+       "Remove child in the group root and in all its childs"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|563 569 (DEFUN REMOVE-CHILD-IN-ALL-GROUPS (CHILD) ...)-66|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|REMOVE-CHILD-IN-ALL-GROUPS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|REMOVE-CHILD-IN-ALL-GROUPS|
+       #38Y(00 00 00 00 01 00 00 00 06 02 AD 6B 00 8F 04 05 AD 2F 01 0F 00 AD
+            6B 02 8F 04 04 0E 00 0F 02 AD 6B 03 30 04 19 02)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|FIND-FATHER-GROUP|
+        |CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|*ROOT-GROUP*|
+        |CLFSWM|::|REMOVE-CHILD-IN-GROUPS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD|) "Remove child in all groups from *root-group*"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|576 615 (DEFUN PROCESS-NEW-WINDOW (WINDOW) ...)-67|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PROCESS-NEW-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PROCESS-NEW-WINDOW|
+       #64Y(02 00 01 00 01 00 00 00 06 02 00 2B 01 7F 02 00 00 9D 2B 01 00 0B
+            00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03 B0 36 00 16 06 1B
+            10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19 02 00 4D 19 04)
+       (#(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|PROCESS-NEW-WINDOW-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|PROCESS-NEW-WINDOW-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|PROCESS-NEW-WINDOW-2|
+           #325Y(00 00 00 00 00 00 00 00 06 01 69 01 01 6B 01 AD DC AE 6F 03 2D
+                 03 04 16 02 69 01 01 DF 30 06 69 01 01 69 01 01 2F 07 26 08 13
+                 CA 1B 11 CA 1B 0E CA 1B 0B 69 01 01 6B 0C 30 14 1B 80 FF CE 14
+                 30 0A 69 01 01 2F 0B 6B 0C E7 AD 32 33 16 01 1D 04 2E 0E 2E 0F
+                 69 01 01 6B 0C AC 6F 10 AE AD 38 03 71 BA AC AF 30 11 16 04 69
+                 01 01 2F 12 69 01 01 6F 07 AC 24 13 FF BC 69 01 01 6F 15 93 00
+                 06 F0 AD F1 8E 2F 01 CE 14 93 01 06 F0 AE F2 8E 2F 01 CE 14 93
+                 02 06 F0 AF F3 8E 2F 04 6B 1A 2F 1B 14 93 03 06 F0 B0 F6 8E 2F
+                 04 6B 1A 2F 1D 14 93 04 0E F0 B1 65 1E 8E 2F 0C F0 B1 65 1F 8E
+                 2F 05 69 01 01 2F 1B 14 93 05 0E F0 B2 65 20 8E 2F 0C F0 B2 65
+                 21 8E 2F 05 69 01 01 2F 1D 14 69 01 01 B2 AF 73 01 33 B1 73 01
+                 34 30 22 69 01 01 B1 AE 73 01 33 B0 73 01 34 30 23 69 01 01 6B
+                 0C 6F 24 65 25 6B 0C 6F 26 69 01 01 6F 1B 73 01 36 73 02 37 73
+                 02 35 38 01 72 B6 30 27 69 01 01 6B 0C 6F 28 65 25 6B 0C 6F 29
+                 69 01 01 6F 1D 73 01 36 73 02 37 73 02 35 38 01 72 B6 30 2A 16
+                 07 16 01 69 01 01 2F 2B 19 01)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|*WINDOW-EVENTS*| 11.
+            |XLIB|::|ENCODE-EVENT-MASK| |XLIB|::|CHANGE-WINDOW-ATTRIBUTE|
+            #.|CLFSWM|::|+NORMAL-STATE+| |CLFSWM|::|SET-WINDOW-STATE|
+            |CLFSWM|::|WINDOW-TYPE|
+            #S(|COMMON-LISP|::|HASH-TABLE| :|TEST| |EXT|::|STABLEHASH-EQ|
+               (:|TRANSIENT| . 7.) (:|MAXSIZE| . 4.) (:|NORMAL| . 1.))
+            0. |XLIB|::|SET-DRAWABLE-BORDER-WIDTH| |CLFSWM|::|GRAB-ALL-BUTTONS|
+            |CLFSWM|::|*CURRENT-CHILD*| |XLIB|::|WINDOW|
+            |CLFSWM|::|LEAVE-GROUP| |CLFSWM|::|SELECT-PREVIOUS-LEVEL|
+            |CLFSWM|::|GROUP-CHILD|
+            #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|)
+            |CLFSWM|::|UNHIDE-WINDOW| :|NORMAL|
+            |CLFSWM|::|ADAPT-CHILD-TO-FATHER| |XLIB|::|WM-NORMAL-HINTS|
+            |XLIB|::|WM-SIZE-HINTS| 7. 8. 9. |CLFSWM|::|*ROOT*|
+            |XLIB|::|DRAWABLE-WIDTH| 10. |XLIB|::|DRAWABLE-HEIGHT| 5. 15. 6.
+            16. |XLIB|::|SET-DRAWABLE-WIDTH| |XLIB|::|SET-DRAWABLE-HEIGHT|
+            |CLFSWM|::|GROUP-RX| #10r1/2 |CLFSWM|::|GROUP-RW|
+            |XLIB|::|SET-DRAWABLE-X| |CLFSWM|::|GROUP-RY| |CLFSWM|::|GROUP-RH|
+            |XLIB|::|SET-DRAWABLE-Y| |CLFSWM|::|NETWM-ADD-IN-CLIENT-LIST|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           35.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|)
+       "When a new window is created (or when we are scanning initial
+windows), this function dresses the window up and gets it ready to be
+managed."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|620 642 (DEFUN PROCESS-EXISTING-WINDOWS (SCREEN) ...)-68|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PROCESS-EXISTING-WINDOWS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PROCESS-EXISTING-WINDOWS|
+       #112Y(00 00 00 00 01 00 00 00 06 02 63 2E 00 14 DB B0 DC 72 2F 6F 03 63
+             1B 80 4C E5 6B 0C B0 6F 0D B1 6F 0E B2 33 04 15 AE 2F 0F AE 2F 10
+             EB AF DC 72 2F B2 38 03 80 BA 05 16 02 1B 28 87 01 00 14 AF 38 03
+             8C B6 1E AC 6F 04 AD 6F 05 AE 6F 06 24 07 10 AE 6B 08 8E 03 0A AD
+             24 09 FF BD AC 24 0A FF B8 16 02 83 01 AD 8D 94 52 16 02 AD 2F 12
+             19 04)
+       (|CLFSWM|::|GET-ALL-WINDOWS| |XLIB|::|SCREEN| 1. |XLIB|::|QUERY-TREE|
+        |XLIB|::|WINDOW-MAP-STATE| |CLFSWM|::|WINDOW-STATE|
+        |XLIB|::|WINDOW-OVERRIDE-REDIRECT| :|ON| |CLFSWM|::|*NO-FOCUS-WINDOW*|
+        :|VIEWABLE| #.|CLFSWM|::|+ICONIC-STATE+|
+        #Y(|CLFSWM|::|PROCESS-EXISTING-WINDOWS-1|
+           #62Y(00 00 00 00 04 00 00 00 01 1A DA B2 38 02 31 8B B1 2F 01 10 02
+                B3 B5 31 83 11 B1 2F 03 DE B2 38 02 31 8B AF B2 31 86 DF B2 31
+                8A B1 2F 01 10 02 B1 B5 31 83 11 B1 2F 03 B1 31 8D 9E 19 06)
+           ("Processing " |SYSTEM|::|STREAM-START-S-EXPRESSION|
+            |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+            |SYSTEM|::|STREAM-END-S-EXPRESSION| ": type=" #\ )
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|*STANDARD-OUTPUT*| |XLIB|::|WM-NAME|
+        |CLFSWM|::|WINDOW-TYPE| |CLFSWM|::|PROCESS-NEW-WINDOW|
+        |XLIB|::|MAP-WINDOW| |XLIB|::|WINDOW|
+        |CLFSWM|::|NETWM-SET-CLIENT-LIST|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|SCREEN|)
+       "Windows present when clfswm starts up must be absorbed by clfswm."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: clfswm-internal.fasl
==============================================================================
Binary file. No diff available.

Added: clfswm-internal.lib
==============================================================================
--- (empty file)
+++ clfswm-internal.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,355 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CALL-HOOK|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|HOOK| |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|ARGS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-DATA-SLOT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|GROUP| |CLFSWM|::|SLOT|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-GROUP-DATA-SLOT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|GROUP| |CLFSWM|::|SLOT| |CLFSWM|::|VALUE|)))
+(|COMMON-LISP|::|LET| |COMMON-LISP|::|NIL|
+ (|COMMON-LISP|::|REMPROP| '|CLFSWM|::|GROUP-DATA-SLOT|
+  '|SYSTEM|::|DEFSTRUCT-WRITER|)
+ (|SYSTEM|::|CHECK-REDEFINITION| '|CLFSWM|::|GROUP-DATA-SLOT|
+  '|COMMON-LISP|::|DEFSETF|
+  (|COMMON-LISP|::|AND|
+   (|COMMON-LISP|::|GET| '|CLFSWM|::|GROUP-DATA-SLOT|
+    '|SYSTEM|::|SETF-EXPANDER|)
+   '|SYSTEM|::|SETF-EXPANDER|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|GROUP-DATA-SLOT| '|SYSTEM|::|SETF-EXPANDER|
+  '|CLFSWM|::|SET-GROUP-DATA-SLOT|)
+ (|SYSTEM|::|%SET-DOCUMENTATION| '|CLFSWM|::|GROUP-DATA-SLOT|
+  '|COMMON-LISP|::|SETF| |COMMON-LISP|::|NIL|)
+ '|CLFSWM|::|GROUP-DATA-SLOT|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-P|
+ '#(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-P|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-P|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CHILD-NAME|
+ '#(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CHILD-NAME|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CHILD-NAME|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CHILD-NAME|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|WITH-ALL-CHILDS|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|WITH-ALL-CHILDS|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|WITH-ALL-CHILDS|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G47589| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G47590|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 2. 2.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|WITH-ALL-CHILDS| #1#
+          '(|CLFSWM|::|ROOT| |CLFSWM|::|CHILD|))
+         #1#))
+       (|CLFSWM|::|ROOT| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|CHILD| (|COMMON-LISP|::|CADR| #3#))
+       (|CLFSWM|::|BODY| (|COMMON-LISP|::|CDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|WITH-ALL-CHILDS|
+       (|COMMON-LISP|::|LET|
+        ((|CLFSWM|::|REC| (|COMMON-LISP|::|GENSYM|))
+         (|CLFSWM|::|SUB-CHILD| (|COMMON-LISP|::|GENSYM|)))
+        `(|COMMON-LISP|::|LABELS|
+          ((,|CLFSWM|::|REC| (,|CLFSWM|::|CHILD|) ,@|CLFSWM|::|BODY|
+            (|COMMON-LISP|::|WHEN| (|CLFSWM|::|GROUP-P| ,|CLFSWM|::|CHILD|)
+             (|COMMON-LISP|::|DOLIST|
+              (,|CLFSWM|::|SUB-CHILD|
+               (|CLFSWM|::|GROUP-CHILD| ,|CLFSWM|::|CHILD|))
+              (,|CLFSWM|::|REC| ,|CLFSWM|::|SUB-CHILD|)))))
+          (,|CLFSWM|::|REC| ,|CLFSWM|::|ROOT|))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|WITH-ALL-GROUPS|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|WITH-ALL-GROUPS|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|WITH-ALL-GROUPS|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G47603| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G47604|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 2. 2.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|WITH-ALL-GROUPS| #1#
+          '(|CLFSWM|::|ROOT| |CLFSWM|::|GROUP|))
+         #1#))
+       (|CLFSWM|::|ROOT| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|GROUP| (|COMMON-LISP|::|CADR| #3#))
+       (|CLFSWM|::|BODY| (|COMMON-LISP|::|CDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|WITH-ALL-GROUPS|
+       (|COMMON-LISP|::|LET|
+        ((|CLFSWM|::|REC| (|COMMON-LISP|::|GENSYM|))
+         (|CLFSWM|::|CHILD| (|COMMON-LISP|::|GENSYM|)))
+        `(|COMMON-LISP|::|LABELS|
+          ((,|CLFSWM|::|REC| (,|CLFSWM|::|GROUP|)
+            (|COMMON-LISP|::|WHEN| (|CLFSWM|::|GROUP-P| ,|CLFSWM|::|GROUP|)
+             ,@|CLFSWM|::|BODY|
+             (|COMMON-LISP|::|DOLIST|
+              (,|CLFSWM|::|CHILD| (|CLFSWM|::|GROUP-CHILD| ,|CLFSWM|::|GROUP|))
+              (,|CLFSWM|::|REC| ,|CLFSWM|::|CHILD|)))))
+          (,|CLFSWM|::|REC| ,|CLFSWM|::|ROOT|))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|WITH-ALL-WINDOWS|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|WITH-ALL-WINDOWS|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|WITH-ALL-WINDOWS|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G47617| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G47618|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 2. 2.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|WITH-ALL-WINDOWS| #1#
+          '(|CLFSWM|::|ROOT| |CLFSWM|::|WINDOW|))
+         #1#))
+       (|CLFSWM|::|ROOT| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|WINDOW| (|COMMON-LISP|::|CADR| #3#))
+       (|CLFSWM|::|BODY| (|COMMON-LISP|::|CDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|WITH-ALL-WINDOWS|
+       (|COMMON-LISP|::|LET|
+        ((|CLFSWM|::|REC| (|COMMON-LISP|::|GENSYM|))
+         (|CLFSWM|::|CHILD| (|COMMON-LISP|::|GENSYM|)))
+        `(|COMMON-LISP|::|LABELS|
+          ((,|CLFSWM|::|REC| (,|CLFSWM|::|WINDOW|)
+            (|COMMON-LISP|::|WHEN| (|XLIB|::|WINDOW-P| ,|CLFSWM|::|WINDOW|)
+             ,@|CLFSWM|::|BODY|)
+            (|COMMON-LISP|::|WHEN| (|CLFSWM|::|GROUP-P| ,|CLFSWM|::|WINDOW|)
+             (|COMMON-LISP|::|DOLIST|
+              (,|CLFSWM|::|CHILD|
+               (|CLFSWM|::|GROUP-CHILD| ,|CLFSWM|::|WINDOW|))
+              (,|CLFSWM|::|REC| ,|CLFSWM|::|CHILD|)))))
+          (,|CLFSWM|::|REC| ,|CLFSWM|::|ROOT|))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|WITH-ALL-WINDOWS-GROUPS|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|WITH-ALL-WINDOWS-GROUPS|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|WITH-ALL-WINDOWS-GROUPS|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 4.
+       4.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G47631| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G47632|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 2. 2.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|WITH-ALL-WINDOWS-GROUPS| #1#
+          '(|CLFSWM|::|ROOT| |CLFSWM|::|CHILD|))
+         #1#))
+       (|CLFSWM|::|ROOT| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|CHILD| (|COMMON-LISP|::|CADR| #3#))
+       (|CLFSWM|::|BODY-WINDOW| (|COMMON-LISP|::|CADDR| . #2#))
+       (|CLFSWM|::|BODY-GROUP| (|COMMON-LISP|::|CADDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|WITH-ALL-WINDOWS-GROUPS|
+       (|COMMON-LISP|::|LET|
+        ((|CLFSWM|::|REC| (|COMMON-LISP|::|GENSYM|))
+         (|CLFSWM|::|SUB-CHILD| (|COMMON-LISP|::|GENSYM|)))
+        `(|COMMON-LISP|::|LABELS|
+          ((,|CLFSWM|::|REC| (,|CLFSWM|::|CHILD|)
+            (|COMMON-LISP|::|TYPECASE| ,|CLFSWM|::|CHILD|
+             (|XLIB|::|WINDOW| ,|CLFSWM|::|BODY-WINDOW|)
+             (|CLFSWM|::|GROUP| ,|CLFSWM|::|BODY-GROUP|
+              (|COMMON-LISP|::|DOLIST|
+               (,|CLFSWM|::|SUB-CHILD|
+                (|CLFSWM|::|GROUP-CHILD| ,|CLFSWM|::|CHILD|))
+               (,|CLFSWM|::|REC| ,|CLFSWM|::|SUB-CHILD|))))))
+          (,|CLFSWM|::|REC| ,|CLFSWM|::|ROOT|))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-FIND-FREE-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CREATE-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&KEY| |CLFSWM|::|NAME|
+    (|COMMON-LISP|::|NUMBER| (|CLFSWM|::|GROUP-FIND-FREE-NUMBER|))
+    (|CLFSWM|::|X| 0.1f0) (|CLFSWM|::|Y| 0.1f0) (|CLFSWM|::|W| 0.8f0)
+    (|CLFSWM|::|H| 0.8f0) |CLFSWM|::|LAYOUT|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ADD-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|GROUP| |CLFSWM|::|FATHER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GET-CURRENT-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FIND-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|TO-FIND| |CLFSWM|::|ROOT|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FIND-FATHER-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|TO-FIND| |COMMON-LISP|::|&OPTIONAL|
+    (|CLFSWM|::|ROOT| |CLFSWM|::|*ROOT-GROUP*|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FIND-GROUP-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|WINDOW| |COMMON-LISP|::|&OPTIONAL|
+    (|CLFSWM|::|ROOT| |CLFSWM|::|*ROOT-GROUP*|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FIND-GROUP-BY-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|NAME|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FIND-GROUP-BY-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|COMMON-LISP|::|NUMBER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GET-ALL-WINDOWS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&OPTIONAL| (|CLFSWM|::|ROOT| |CLFSWM|::|*ROOT-GROUP*|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GET-HIDDEN-WINDOWS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DISPLAY-GROUP-INFO|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|GROUP|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GET-FATHER-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ADAPT-CHILD-TO-FATHER|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ADAPT-CHILD-TO-FATHER|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ADAPT-CHILD-TO-FATHER|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-CHILD|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HIDE-CHILD|
+ '#(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-CHILD|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HIDE-CHILD|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-CHILD|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HIDE-CHILD|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-CHILD|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-CHILD|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-CHILD|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-CURRENT-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|SELECTED|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-FOCUS-TO-CURRENT-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SHOW-ALL-CHILDS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HIDE-ALL-CHILDS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|ROOT|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-NEXT/PREVIOUS-BROTHER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|FUN-ROTATE|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-NEXT-BROTHER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-PREVIOUS-BROTHER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-NEXT-LEVEL|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-PREVIOUS-LEVEL|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-NEXT/PREVIOUS-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|FUN-ROTATE|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-NEXT-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SELECT-PREVIOUS-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ENTER-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|LEAVE-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SWITCH-TO-ROOT-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SWITCH-AND-SELECT-ROOT-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TOGGLE-SHOW-ROOT-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FOCUS-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FOCUS-CHILD-REC|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-CURRENT-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-CURRENT-ROOT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|FATHER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FOCUS-ALL-CHILDS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|REMOVE-CHILD-IN-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|CHILD| |CLFSWM|::|GROUP|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|REMOVE-CHILD-IN-GROUPS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|CHILD| |CLFSWM|::|ROOT|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|REMOVE-CHILD-IN-ALL-GROUPS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|CHILD|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PROCESS-NEW-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PROCESS-EXISTING-WINDOWS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|SCREEN|)))

Added: clfswm-internal.lisp
==============================================================================
--- (empty file)
+++ clfswm-internal.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,642 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Sat Mar  1 00:03:14 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Main functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+;;; Minimal hook
+(defun call-hook (hook &optional args)
+  "Call a hook (a function, a symbol or a list of function)"
+  (typecase hook
+    (list (dolist (h hook)
+	    (apply 'call-hook (list h args))))
+    (t (apply hook args))))
+
+
+;;; Group data manipulation functions
+(defun group-data-slot (group slot)
+  "Return the value associated to data slot"
+  (when (group-p group)
+    (second (assoc slot (group-data group)))))
+
+(defun set-group-data-slot (group slot value)
+  "Set the value associated to data slot"
+  (when (group-p group)
+    (with-slots (data) group
+      (setf data (remove (assoc slot data) data))
+      (push (list slot value) data))
+    value))
+
+(defsetf group-data-slot set-group-data-slot)
+
+
+
+(defgeneric group-p (group))
+(defmethod group-p ((group group))
+  (declare (ignore group))
+  t)
+(defmethod group-p (group)
+  (declare (ignore group))
+  nil)
+
+
+
+(defgeneric child-name (child))
+
+(defmethod child-name ((child xlib:window))
+  (xlib:wm-name child))
+
+(defmethod child-name ((child group))
+  (group-name child))
+
+(defmethod child-name (child)
+  (declare (ignore child))
+  "???")
+
+
+
+;; (with-all-childs (*root-group* child) (typecase child (xlib:window (print child)) (group (print (group-number child)))))
+(defmacro with-all-childs ((root child) &body body)
+  (let ((rec (gensym))
+	(sub-child (gensym)))
+    `(labels ((,rec (,child)
+		, at body
+		(when (group-p ,child)
+		  (dolist (,sub-child (group-child ,child))
+		    (,rec ,sub-child)))))
+       (,rec ,root))))
+
+
+;; (with-all-group (*root-group* group) (print (group-number group)))
+(defmacro with-all-groups ((root group) &body body)
+  (let ((rec (gensym))
+	(child (gensym)))
+    `(labels ((,rec (,group)
+		(when (group-p ,group)
+		  , at body
+		  (dolist (,child (group-child ,group))
+		    (,rec ,child)))))
+       (,rec ,root))))
+
+
+;; (with-all-windows (*root-group* window) (print window))
+(defmacro with-all-windows ((root window) &body body)
+  (let ((rec (gensym))
+	(child (gensym)))
+    `(labels ((,rec (,window)
+		(when (xlib:window-p ,window)
+		  , at body)
+		(when (group-p ,window)
+		  (dolist (,child (group-child ,window))
+		    (,rec ,child)))))
+       (,rec ,root))))
+
+
+
+;; (with-all-groups-windows (*root-group* child) (print child) (print (group-number child)))
+(defmacro with-all-windows-groups ((root child) body-window body-group)
+  (let ((rec (gensym))
+	(sub-child (gensym)))
+    `(labels ((,rec (,child)
+		(typecase ,child
+		  (xlib:window ,body-window)
+		  (group ,body-group
+			 (dolist (,sub-child (group-child ,child))
+			   (,rec ,sub-child))))))
+       (,rec ,root))))
+
+
+
+(defun group-find-free-number ()
+  (let ((all-numbers nil))
+    (with-all-groups (*root-group* group)
+      (push (group-number group) all-numbers))
+    (find-free-number all-numbers)))
+
+
+
+(defun create-group (&key name (number (group-find-free-number)) (x 0.1) (y 0.1) (w 0.8) (h 0.8) layout)
+  (let* ((window (xlib:create-window :parent *root*
+				     :x 0
+				     :y 0
+				     :width 200
+				     :height 200
+				     :background (get-color "Black")
+				     :colormap (xlib:screen-default-colormap *screen*)
+				     :border-width 1
+				     :border (get-color "Red")
+				     :event-mask '(:exposure :button-press)))
+	 (gc (xlib:create-gcontext :drawable window
+				   :foreground (get-color "Green")
+				   :background (get-color "Black")
+				   :font *default-font*
+				   :line-style :solid)))
+    (make-instance 'group :name name :number number
+		   :x x :y y :w w :h h :window window :gc gc :layout layout)))
+
+
+(defun add-group (group father)
+  (push group (group-child father)))
+
+
+
+
+
+
+(defun get-current-child ()
+  "Return the current focused child"
+  (unless (equal *current-child* *root-group*)
+    (typecase *current-child*
+      (xlib:window *current-child*)
+      (group (if (xlib:window-p (first (group-child *current-child*)))
+		 (first (group-child *current-child*))
+		 *current-child*)))))
+
+
+(defun find-child (to-find root)
+  "Find to-find in root or in its childs"
+  (with-all-childs (root child)
+    (when (equal child to-find)
+      (return-from find-child t))))
+
+
+
+(defun find-father-group (to-find &optional (root *root-group*))
+  "Return the father group of to-find"
+  (with-all-groups (root group)
+    (when (member to-find (group-child group))
+      (return-from find-father-group group))))
+
+  
+
+(defun find-group-window (window &optional (root *root-group*))
+  "Return the group with the window window"
+  (with-all-groups (root group)
+    (when (xlib:window-equal window (group-window group))
+      (return-from find-group-window group))))
+
+
+(defun find-group-by-name (name)
+  "Find a group from its name"
+  (when name
+    (with-all-groups (*root-group* group)
+      (when (string-equal name (group-name group))
+	(return-from find-group-by-name group)))))
+
+(defun find-group-by-number (number)
+  "Find a group from its number"
+  (when (numberp number)
+    (with-all-groups (*root-group* group)
+      (when (= number (group-number group))
+	(return-from find-group-by-number group)))))
+
+
+
+
+(defun get-all-windows (&optional (root *root-group*))
+  "Return all windows in root and in its childs"
+  (let ((acc nil))
+    (with-all-windows (root window)
+      (push window acc))
+    acc))
+
+
+(defun get-hidden-windows ()
+  "Return all hiddens windows"
+  (let ((all-windows (get-all-windows))
+	(hidden-windows (remove-if-not #'window-hidden-p
+				       (copy-list (xlib:query-tree *root*)))))
+    (set-difference hidden-windows all-windows)))
+
+
+
+
+(defun display-group-info (group)
+  (let ((dy (+ (xlib:max-char-ascent *default-font*) (xlib:max-char-descent *default-font*))))
+    (with-slots (name number gc window child) group
+      (when (equal group *current-root*)
+	(xlib:clear-area window))
+      (xlib:with-gcontext (gc :foreground (get-color (if (and (equal group *current-root*)
+							      (equal group *current-child*))
+							 "Red" "Green")))
+	(xlib:draw-image-glyphs window gc 5 dy		 
+				(format nil "Group: ~A~A                                                  "
+					number
+					(if name  (format nil " - ~A" name) "")))
+	(let ((pos dy))
+	  (when (equal group *current-root*)
+	    (xlib:draw-image-glyphs window gc 5 (incf pos dy)
+				    (format nil "~A hidden windows             " (length (get-hidden-windows))))
+	    (when *child-selection*
+	      (xlib:draw-image-glyphs window gc 5 (incf pos dy)
+				      (with-output-to-string (str)
+					(format str "Selection: ")
+					(dolist (child *child-selection*)
+					  (typecase child
+					    (xlib:window (format str "~A " (xlib:wm-name child)))
+					    (group (format str "group:~A[~A] " (group-number child)
+							   (aif (group-name child) it "")))))
+					(format str "                                                   ")))))
+	  (dolist (ch child)
+	    (when (xlib:window-p ch)
+	      (xlib:draw-glyphs window gc 5 (incf pos dy) (ensure-printable (xlib:wm-name ch))))))))))
+
+
+
+
+
+
+
+
+
+
+(defun get-father-layout (child father)
+  (if (group-p father)
+      (aif (group-layout father)
+	   (funcall it child father)
+	   (no-layout child father))
+      (get-fullscreen-size)))
+
+
+(defgeneric adapt-child-to-father (child father))
+
+(defmethod adapt-child-to-father ((window xlib:window) father)
+  (with-xlib-protect
+      (multiple-value-bind (nx ny nw nh raise-p)
+	  (get-father-layout window father)
+	(setf (xlib:drawable-x window) nx
+	      (xlib:drawable-y window) ny
+	      (xlib:drawable-width window) nw
+	      (xlib:drawable-height window) nh)
+	raise-p)))
+
+(defmethod adapt-child-to-father ((group group) father)
+  (with-xlib-protect
+      (multiple-value-bind (nx ny nw nh raise-p)
+	  (get-father-layout group father)
+	(with-slots (rx ry rw rh window) group
+	  (setf rx nx  ry ny  rw nw  rh nh)
+	  (setf (xlib:drawable-x window) rx
+		(xlib:drawable-y window) ry
+		(xlib:drawable-width window) rw
+		(xlib:drawable-height window) rh)
+	  raise-p))))
+   
+  
+
+(defgeneric show-child (child father))
+(defgeneric hide-child (child))
+
+(defmethod show-child ((group group) father)
+  (with-xlib-protect
+      (with-slots (window) group
+	(let ((raise-p (adapt-child-to-father group father)))
+	  (when (or *show-root-group-p* (not (equal group *current-root*)))
+	    (setf (xlib:window-background window) (get-color "Black"))
+	    (xlib:map-window window)
+	    (when raise-p
+	      (raise-window window))
+	    (display-group-info group))))))
+
+
+(defmethod hide-child ((group group))
+  (with-xlib-protect
+      (with-slots (window) group
+	(xlib:unmap-window window))))
+
+
+(defmethod show-child ((window xlib:window) father)
+  (with-xlib-protect
+      (let ((raise-p nil))
+	(when (eql (window-type window) :normal)
+	  (setf raise-p (adapt-child-to-father window father)))
+	(xlib:map-window window)
+	(when raise-p
+	  (raise-window window)))))
+
+(defmethod hide-child ((window xlib:window))
+  (hide-window window))
+
+
+
+
+
+
+(defgeneric select-child (child selected))
+
+(defmethod select-child ((group group) selected)
+  (with-xlib-protect
+      (when (and (group-p group) (group-window group))
+	(setf (xlib:window-border (group-window group))
+	      (get-color (cond ((equal selected :maybe) *color-maybe-selected*)
+			       ((equal selected nil) *color-unselected*)
+			       (selected *color-selected*)))))))
+
+(defmethod select-child ((window xlib:window) selected)
+  (with-xlib-protect
+      (setf (xlib:window-border window)
+	    (get-color (cond ((equal selected :maybe) *color-maybe-selected*)
+			     ((equal selected nil) *color-unselected*)
+			     (selected *color-selected*))))))
+
+(defun select-current-group (selected)
+  (select-child *current-child* selected))
+
+
+
+(defun set-focus-to-current-child ()
+  (no-focus) 
+  (when (group-p *current-child*)
+    (when (xlib:window-p (first (group-child *current-child*)))
+      (focus-window (first (group-child *current-child*)))))
+  (when (xlib:window-p *current-child*)
+    (focus-window *current-child*)))
+
+
+
+
+
+(defun show-all-childs ()
+  "Show all childs from *current-root*"
+  (labels ((rec (root father first-p)
+	     (show-child root father)
+	     (select-child root (if (equal root *current-child*) t
+				    (if first-p :maybe nil)))
+	     (when (group-p root)
+	       (let ((first-child (first (group-child root))))
+		 (dolist (child (reverse (group-child root)))
+		   (rec child root (and first-p (equal child first-child))))))))
+    (rec *current-root* nil t)
+    (set-focus-to-current-child)))
+
+
+
+
+(defun hide-all-childs (root)
+  (hide-child root)
+  (when (group-p root)
+    (dolist (child (group-child root))
+      (hide-all-childs child))))
+
+
+
+
+(defun select-next/previous-brother (fun-rotate)
+  "Select the next/previous brother group"
+  (let ((group-is-root? (and (equal *current-root* *current-child*)
+			     (not (equal *current-root* *root-group*)))))
+    (if group-is-root?
+	(hide-all-childs *current-root*)
+	(select-current-group nil))
+    (let ((father (find-father-group *current-child*)))
+      (when (group-p father)
+	(with-slots (child) father
+	  (setf child (funcall fun-rotate child))
+	  (setf *current-child* (first child)))))
+    (when group-is-root?
+      (setf *current-root* *current-child*))
+    (show-all-childs)))
+
+
+(defun select-next-brother ()
+  "Select the next brother group"
+  (select-next/previous-brother #'anti-rotate-list))
+
+(defun select-previous-brother ()
+  "Select the previous brother group"
+  (select-next/previous-brother #'rotate-list))
+
+
+(defun select-next-level ()
+  "Select the next level in group"
+  (select-current-group nil)
+  (when (group-p *current-child*)
+    (awhen (first (group-child *current-child*))
+	   (setf *current-child* it)))
+  (show-all-childs))
+
+(defun select-previous-level ()
+  "Select the previous level in group"
+  (unless (equal *current-child* *current-root*)
+    (select-current-group nil)
+    (awhen (find-father-group *current-child*)
+	   (setf *current-child* it))
+    (show-all-childs)))
+
+
+(defun select-next/previous-child (fun-rotate)
+  "Select the next/previous child"
+  (when (group-p *current-child*)
+    (with-slots (child) *current-child*
+      (setf child (funcall fun-rotate child)))
+    (show-all-childs)))
+
+
+(defun select-next-child ()
+  "Select the next child"
+  (select-next/previous-child #'anti-rotate-list))
+
+(defun select-previous-child ()
+  "Select the previous child"
+  (select-next/previous-child #'rotate-list))
+
+
+
+(defun enter-group ()
+  "Enter in the selected group - ie make it the root group"
+  (hide-all-childs *current-root*)
+  (setf *current-root* *current-child*)
+  (show-all-childs))
+
+(defun leave-group ()
+  "Leave the selected group - ie make its father the root group"
+  (hide-all-childs *current-root*)
+  (awhen (find-father-group *current-root*)
+	 (when (group-p it)
+	   (setf *current-root* it)))
+  (show-all-childs))
+
+
+(defun switch-to-root-group ()
+  "Switch to the root group"
+  (hide-all-childs *current-root*)
+  (setf *current-root* *root-group*)
+  (show-all-childs))
+
+(defun switch-and-select-root-group ()
+  "Switch and select the root group"
+  (hide-all-childs *current-root*)
+  (setf *current-root* *root-group*)
+  (setf *current-child* *current-root*)
+  (show-all-childs))
+
+
+(defun toggle-show-root-group ()
+  "Show/Hide the root group"
+  (hide-all-childs *current-root*)
+  (setf *show-root-group-p* (not *show-root-group-p*))
+  (show-all-childs))
+
+
+(defun focus-child (child father)
+  "Focus child - Return true if something has change"
+  (when (and (group-p father)
+	     (member child (group-child father)))
+    (when (not (equal child (first (group-child father))))
+      (loop until (equal child (first (group-child father)))
+	 do (setf (group-child father) (rotate-list (group-child father))))
+      t)))
+
+(defun focus-child-rec (child father)
+  "Focus child and its fathers - Return true if something has change"
+  (let ((change nil))
+    (labels ((rec (child father)
+	       (when (focus-child child father)
+		 (setf change t))
+	       (when father
+		 (rec father (find-father-group father)))))
+      (rec child father))
+    change))
+
+(defun set-current-child (child father)
+  "Set *current-child* to child - Return t if something has change"
+  (cond ((and (group-p child) (not (equal *current-child* child)))
+	 (setf *current-child* child)
+	 t)
+	((and (group-p father) (not (equal *current-child* father)))
+	 (setf *current-child* father)
+	 t)))
+
+(defun set-current-root (father)
+  "Set current root if father is not in current root"
+  (unless (find-child father *current-root*)
+    (setf *current-root* father)))
+
+
+(defun focus-all-childs (child father)
+  "Focus child and its fathers - Set current group to father"
+  (let ((new-focus (focus-child-rec child father))
+	(new-current-child (set-current-child child father))
+	(new-root (set-current-root father)))
+    (or new-focus new-current-child new-root)))
+
+
+
+(defun remove-child-in-group (child group)
+  "Remove the child in group"
+  (when (group-p group)
+    (setf (group-child group) (remove child (group-child group) :test #'equal))))
+
+(defun remove-child-in-groups (child root)
+  "Remove child in the group root and in all its childs"
+  (with-all-groups (root group)
+    (remove-child-in-group child group))
+  (when (xlib:window-p child)
+    (netwm-remove-in-client-list child)))
+
+
+
+(defun remove-child-in-all-groups (child)
+  "Remove child in all groups from *root-group*"
+  (when (equal child *current-root*)
+    (setf *current-root* (find-father-group child)))
+  (when (equal child *current-child*)
+    (setf *current-child* *current-root*))
+  (remove-child-in-groups child *root-group*))
+
+
+
+
+
+
+(defun process-new-window (window)
+  "When a new window is created (or when we are scanning initial
+windows), this function dresses the window up and gets it ready to be
+managed."
+  ;; Listen for events
+  ;;(create-workspace-on-request)
+  ;;(create-group-on-request)
+  ;; PHIL: TODO: add a hook here
+  (with-xlib-protect
+      (setf (xlib:window-event-mask window) *window-events*)
+    (set-window-state window +normal-state+)
+    (setf (xlib:drawable-border-width window) (case (window-type window)
+						(:normal 1)
+						(:maxsize 1)
+						(:transient 1)
+						(t 0)))
+    (grab-all-buttons window)
+    (when (xlib:window-p *current-child*)
+      (leave-group)
+      (select-previous-level))
+    ;;(unless (eql (window-type window) :maxsize) ;; PHIL: this is sufficient for the ROX panel
+    (pushnew window (group-child *current-child*)) ;)
+    (unhide-window window)
+    ;;(dbg (xlib:wm-name window) (xlib:get-wm-class window) (window-type window)) ;;; PHIL
+    (case (window-type window)
+      (:normal (adapt-child-to-father window *current-child*))
+      (t (let* ((hints (xlib:wm-normal-hints window))
+		(min-width (or (and hints (xlib:wm-size-hints-min-width hints)) 0))
+		(min-height (or (and hints (xlib:wm-size-hints-min-height hints)) 0))
+		(max-width (or (and hints (xlib:wm-size-hints-max-width hints)) (xlib:drawable-width *root*)))
+		(max-height (or (and hints (xlib:wm-size-hints-max-height hints)) (xlib:drawable-height *root*)))
+		(rwidth (or (and hints (or (xlib:wm-size-hints-width hints) (xlib:wm-size-hints-base-width hints)))
+			    (xlib:drawable-width window)))
+		(rheight (or (and hints (or (xlib:wm-size-hints-height hints) (xlib:wm-size-hints-base-height hints)))
+			     (xlib:drawable-height window))))
+	   (setf (xlib:drawable-width window) (min (max min-width rwidth) max-width)
+		 (xlib:drawable-height window) (min (max min-height rheight) max-height))
+	   (setf (xlib:drawable-x window) (truncate (+ (group-rx *current-child*) (/ (- (group-rw *current-child*) (xlib:drawable-width window)) 2)))
+		 (xlib:drawable-y window) (truncate (+ (group-ry *current-child*) (/ (- (group-rh *current-child*) (xlib:drawable-height window)) 2)))))))
+    (netwm-add-in-client-list window)))
+
+
+
+
+;;(defun hide-existing-windows (screen)
+;;  "Hide all existing windows in screen"
+;;  (dolist (win (xlib:query-tree (xlib:screen-root screen)))
+;;    (hide-window win)))
+
+(defun process-existing-windows (screen)
+  "Windows present when clfswm starts up must be absorbed by clfswm."
+  (let ((id-list nil)
+	(all-windows (get-all-windows)))
+    (dolist (win (xlib:query-tree (xlib:screen-root screen)))
+      (unless (member win all-windows)
+	(let ((map-state (xlib:window-map-state win))
+	      (wm-state (window-state win)))
+	  (unless (or (eql (xlib:window-override-redirect win) :on)
+		      (eql win *no-focus-window*))
+	    (when (or (eql map-state :viewable)
+		      (eql wm-state +iconic-state+))
+	      (format t "Processing ~S: type=~A ~S~%" (xlib:wm-name win) (window-type win)win)
+	      ;;	    (unhide-window win)
+	      (process-new-window win)
+	      (xlib:map-window win)
+	      (pushnew (xlib:window-id win) id-list))))))
+    (netwm-set-client-list id-list)))

Added: clfswm-internal.lisp.bak
==============================================================================
--- (empty file)
+++ clfswm-internal.lisp.bak	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,384 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Fri Dec 21 23:00:08 2007
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Main functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+;;; Minimal hook
+(defun call-hook (hook args)
+  "Call a hook (a function, a symbol or a list of function)"
+  (typecase hook
+    (list (dolist (h hook)
+	    (apply 'call-hook (list h args))))
+    (t (apply hook args))))
+
+
+
+;;; CLFSWM internal functions
+(defun create-default-workspace (&optional number)
+  (make-workspace :number (or number (incf *current-workspace-number*))))
+
+
+(defun get-group-size (group)
+  (if (group-fullscreenp group)
+      (destructuring-bind (x y width height) *fullscreen*
+	(values x y width height))
+      (values (group-x group)
+	      (group-y group)
+	      (group-width group)
+	      (group-height group))))
+
+
+(defun select-minimum-workspace ()
+  "Rotate the workspace list until the smallest workspace is selected"
+  (let ((min-number (loop for w in *workspace-list*
+			  minimize (workspace-number w))))
+      (when min-number
+	(loop while (and (workspace-p (first *workspace-list*))
+			 (/= (workspace-number (first *workspace-list*)) min-number))
+	      do (setf *workspace-list* (rotate-list *workspace-list*))))))
+
+
+
+
+(defun adapt-window-to-group (window group)
+  (handler-case
+      (when (and window group)
+	(unhide-window window)
+	(multiple-value-bind (x y width height)
+	    (get-group-size group)
+	  (case (window-type window)
+	    (:normal
+	     ;;(dbg "adapt 1" (wm-name window) (drawable-height window)) ;;; PHIL
+	     (setf (drawable-x window) x
+		   (drawable-y window) y
+		   (drawable-width window) width
+		   (drawable-height window) height)
+	     ;;(dbg "adapt 2" (drawable-height window))
+	     )
+	    (t (let* ((hints (xlib:wm-normal-hints window))
+		      (hints-width (or (and hints (xlib:wm-size-hints-max-width hints))
+				       most-positive-fixnum))
+		      (hints-height (or (and hints (xlib:wm-size-hints-max-height hints))
+					most-positive-fixnum)))
+		 ;;; Adapt only windows with width and heigth outside group
+		 (when (> hints-width width)
+		   (setf (drawable-width window) width
+			 (drawable-x window) x))
+		 (when (> hints-height height)
+		   (setf (drawable-height window) height
+			 (drawable-y window) y)))))))
+    ((or match-error window-error drawable-error) (c)
+      (declare (ignore c)))))
+  ;;(dbg "Adapt error" c))))
+
+
+  
+
+(defun adapt-all-window-in-group (group)
+  (when group
+    (dolist (window (group-window-list group))
+      (adapt-window-to-group window group))))
+
+
+(defun add-window-in-group (window group)
+  (when (and window group)
+    (pushnew window (group-window-list group))
+    (adapt-window-to-group window group)
+    window))
+
+(defun add-group-in-workspace (group workspace)
+  (when group
+    (pushnew group (workspace-group-list workspace))
+    group))
+
+
+
+(defun add-workspace (workspace)
+  (when workspace
+    (select-minimum-workspace)
+    (setf *workspace-list* (anti-rotate-list (append *workspace-list* (list workspace))))
+    (netwm-update-desktop-property)
+    workspace))
+
+
+
+(defun remove-window-in-group (window group)
+  (setf (group-window-list group)
+	(remove window (group-window-list group))))
+
+(defun remove-window-in-workspace (window workspace)
+  (dolist (group (workspace-group-list workspace))
+    (remove-window-in-group window group)))
+
+(defun remove-window-in-all-workspace (window)
+  (dolist (workspace *workspace-list*)
+    (remove-window-in-workspace window workspace))
+  (netwm-remove-in-client-list window))
+
+
+(defun remove-group-in-workspace (group workspace)
+  (setf (workspace-group-list workspace)
+	(remove group (workspace-group-list workspace))))
+
+(defun remove-group-in-all-workspace (group)
+  (dolist (workspace *workspace-list*)
+    (remove-group-in-workspace group workspace)))
+
+(defun remove-workspace (workspace)
+  (setf *workspace-list* (remove workspace *workspace-list*))
+  (netwm-update-desktop-property))
+
+
+(defun current-workspace ()
+  (if (consp *workspace-list*)
+      (first *workspace-list*)
+      (add-workspace (create-default-workspace))))
+
+
+(defun current-group ()
+  (let ((current-workspace (current-workspace)))
+    (when current-workspace
+      (let ((group-list (workspace-group-list current-workspace)))
+	(if (consp group-list)
+	    (first group-list)
+	    (add-group-in-workspace (copy-group *default-group*) current-workspace))))))
+
+(defun current-window ()
+  (let ((current-group (current-group)))
+    (when current-group
+      (let ((window-list (group-window-list current-group)))
+	(when (consp window-list)
+	  (first window-list))))))
+
+
+
+
+
+
+(defun show-group (root gc group)
+  (when (and gc group)
+    (handler-case
+	(multiple-value-bind (x y width height)
+	    (get-group-size group)
+	  (setf (gcontext-foreground gc)
+		(get-color (if (eql group (current-group))
+			       *color-selected*
+			       *color-unselected*)))
+	  (draw-rectangle root gc (1- x) (1- y) (1+ width) (1+ height))
+	  (draw-line root gc x y (+ x width) (+ y height))
+	  (draw-line root gc x (+ y height) (+ x width) y))
+      ((or match-error window-error drawable-error) (c)
+	(declare (ignore c))))))
+
+
+
+(defun show-all-group (workspace &optional (root *root*) (gc *root-gc*))
+  "Show all groups in workspace"
+  (handler-case
+      (progn
+	(clear-area root)
+	(dolist (group (reverse (workspace-group-list workspace)))
+	  (show-group root gc group)))
+    ((or match-error window-error drawable-error) (c)
+      (declare (ignore c)))))
+;;(dbg "Show all group" c))))
+
+
+
+
+(defun hide-all-windows-in-workspace (workspace)
+  "Hide all windows in a workspace"
+  (no-focus)
+  (setf *open-next-window-in-new-workspace* nil)
+  (dolist (group (workspace-group-list workspace))
+    (dolist (window (group-window-list group))
+      (hide-window window))))
+
+(defun show-all-windows-in-workspace (workspace)
+  "Show all windows in a workspace"
+  (dolist (group (workspace-group-list workspace))
+    (dolist (window (group-window-list group))
+      (unhide-window window)
+      (adapt-window-to-group window group))
+    (raise-window (first (group-window-list group))))
+  (adapt-window-to-group (current-window) (current-group))
+  (focus-window (current-window))
+  (show-all-group (current-workspace)))
+
+
+
+(defun get-all-windows ()
+  "Return a list with all known windows in all workspace"
+  (let ((acc nil))
+    (dolist (workspace *workspace-list*)
+      (dolist (group (workspace-group-list workspace))
+	(dolist (window (group-window-list group))
+	  (pushnew window acc))))
+    (reverse acc)))
+
+(defun get-all-windows-in-workspace (workspace)
+  "Return a list with all known windows in workspace"
+  (let ((acc nil))
+    (dolist (group (workspace-group-list workspace))
+      (dolist (window (group-window-list group))
+	(pushnew window acc)))
+    acc))
+
+
+
+(defun create-workspace-on-request ()
+  (when *open-next-window-in-new-workspace*
+    (let ((action *open-next-window-in-new-workspace*))
+      (setf *open-next-window-in-new-workspace* nil)
+      (hide-all-windows-in-workspace (current-workspace))
+      (typecase action
+	(number (let ((new-workspace (find-if #'(lambda (w)
+						  (= (workspace-number w) action))
+					      *workspace-list*)))
+	  (if new-workspace
+	      (loop while (/= (workspace-number (current-workspace)) action)
+		    do (setf *workspace-list* (rotate-list *workspace-list*)))
+	    (add-workspace (create-default-workspace action)))))
+	(t (add-workspace (create-default-workspace))))
+      (show-all-windows-in-workspace (current-workspace)))))
+
+
+
+(defun create-group-on-request ()
+  (when *open-next-window-in-new-group*
+    (minimize-group (current-group))
+    (unless (null (group-window-list (current-group)))
+      (add-group-in-workspace (copy-group *default-group*) (current-workspace)))
+    (case *open-next-window-in-new-group*
+      (:once (setf *open-next-window-in-new-group* nil)))
+    (show-all-windows-in-workspace (current-workspace))))
+
+
+(defun process-new-window (window)
+  "When a new window is created (or when we are scanning initial
+windows), this function dresses the window up and gets it ready to be
+managed."
+  ;; Listen for events
+  (create-workspace-on-request)
+  (create-group-on-request)
+  (setf (window-event-mask window) *window-events*)
+  (set-window-state window +normal-state+)
+  (setf (drawable-border-width window) (case (window-type window)
+					 (:normal 0)
+					 (:maxsize 1)
+					 (:transient 1)
+					 (t 0)))
+  (if (equal (window-type window) :normal)
+      (adapt-window-to-group window (current-group))
+      (let* ((hints (xlib:wm-normal-hints window))
+	     (hints-width (or (and hints (xlib:wm-size-hints-max-width hints))
+			      most-positive-fixnum))
+	     (hints-height (or (and hints (xlib:wm-size-hints-max-height hints))
+			       most-positive-fixnum)))
+	(multiple-value-bind (x y width height)
+	    (get-group-size (current-group))
+	  (setf (drawable-width window) (min hints-width width)
+		(drawable-height window) (min hints-height height))
+	  (setf (drawable-x window) (truncate (+ x (/ (- width (drawable-width window)) 2)))
+		(drawable-y window) (truncate (+ y (/ (- height (drawable-height window)) 2)))))))
+  (add-window-in-group window (current-group))
+  (netwm-add-in-client-list window))
+
+
+(defun focus-group (group workspace)
+  "Push group on top of workspace group list"
+  (remove-group-in-workspace group workspace)
+  (add-group-in-workspace group workspace))
+
+
+(defun focus-workspace (workspace)
+  "Push workspace on top of workspace list"
+  (remove-workspace workspace)
+  (add-workspace workspace))
+
+
+(defun find-group-under-mouse (root-x root-y)
+  "Find the group under the mouse pointer"
+  (dolist (group (workspace-group-list (current-workspace)))
+    (when (and (<= (group-x group) root-x (+ (group-x group) (group-width group)))
+	       (<= (group-y group) root-y (+ (group-y group) (group-height group))))
+      (return group))))
+
+(defun focus-group-under-mouse (root-x root-y)
+  "Focus the group under the mouse pointer"
+  (when (or (<= root-x (- (screen-width *screen*) 100))
+	    (<= root-y (- (screen-height *screen*) 100)))
+    (let ((group (find-group-under-mouse root-x root-y)))
+      (when (and group (not (equal group (current-group))))
+	(no-focus)
+	(focus-group group (current-workspace))
+	(focus-window (current-window))
+	(show-all-group (current-workspace))))))
+
+
+
+
+
+
+(defun funcall-key-from-code (hash-table-key code state &optional args)
+  (labels ((funcall-from (key)
+	     (multiple-value-bind (function foundp)
+		 (gethash (list key state) hash-table-key)
+	       (when (and foundp (first function))
+		 (if args
+		     (funcall (first function) args)
+		     (funcall (first function)))
+		 t)))
+	   (from-code ()
+	     (funcall-from code))
+	   (from-char ()
+	     (let ((char (keycode->char code state)))
+	       (funcall-from char)))
+	   (from-string ()
+	     (let ((string (keysym->keysym-name (keycode->keysym *display* code 0))))
+	       (funcall-from string))))
+    (cond ((from-code))
+	  ((from-char))
+	  ((from-string)))))
+
+
+
+(defun funcall-button-from-code (hash-table-key code state root-x root-y
+				 &optional (action #'first) args)
+  "Action: first=press third=release"
+  (let ((state (modifiers->state (set-difference (state->modifiers state)
+						     '(:button-1 :button-2 :button-3 :button-4 :button-5)))))
+    (multiple-value-bind (function foundp)
+	(gethash (list code state) hash-table-key)
+      (if (and foundp (funcall action function))
+	  (if args
+	      (funcall (funcall action function) root-x root-y args)
+	      (funcall (funcall action function) root-x root-y))
+	  t))))
+
+

Added: clfswm-keys.fas
==============================================================================
--- (empty file)
+++ clfswm-keys.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,907 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|30 31 (DEFUN DEFINE-HASH-TABLE-KEY-NAME (HASH-TABLE NAME) ...)-2|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|
+       #17Y(00 00 00 00 02 00 00 00 06 03 DA AF AF 31 66 19 03)
+       (|CLFSWM|::|NAME|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|HASH-TABLE| |CLFSWM|::|NAME|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|33 35 (DEFINE-HASH-TABLE-KEY-NAME *MAIN-KEYS* "Main mode keys")-3|
+   #17Y(00 00 00 00 00 00 00 00 00 01 6B 00 DB 30 02 19 01)
+   (|CLFSWM|::|*MAIN-KEYS*| "Main mode keys"
+    |CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|36 36 (DEFINE-HASH-TABLE-KEY-NAME *SECOND-KEYS* "Second mode keys")-4|
+   #17Y(00 00 00 00 00 00 00 00 00 01 6B 00 DB 30 02 19 01)
+   (|CLFSWM|::|*SECOND-KEYS*| "Second mode keys"
+    |CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|37 37 (DEFINE-HASH-TABLE-KEY-NAME *MOUSE-ACTION* "Mouse buttons actions in second mode")-5|
+   #17Y(00 00 00 00 00 00 00 00 00 01 6B 00 DB 30 02 19 01)
+   (|CLFSWM|::|*MOUSE-ACTION*| "Mouse buttons actions in second mode"
+    |CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|38 38 (DEFINE-HASH-TABLE-KEY-NAME *PAGER-KEYS* "Pager mode keys")-6|
+   #17Y(00 00 00 00 00 00 00 00 00 01 6B 00 DB 30 02 19 01)
+   (|CLFSWM|::|*PAGER-KEYS*| "Pager mode keys"
+    |CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|39 39 (DEFINE-HASH-TABLE-KEY-NAME *PAGER-MOUSE-ACTION* "Mouse buttons actions in pager mode")-7|
+   #17Y(00 00 00 00 00 00 00 00 00 01 6B 00 DB 30 02 19 01)
+   (|CLFSWM|::|*PAGER-MOUSE-ACTION*| "Mouse buttons actions in pager mode"
+    |CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|40 40 (DEFINE-HASH-TABLE-KEY-NAME *INFO-KEYS* "Info mode keys")-8|
+   #17Y(00 00 00 00 00 00 00 00 00 01 6B 00 DB 30 02 19 01)
+   (|CLFSWM|::|*INFO-KEYS*| "Info mode keys"
+    |CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|41 41 (DEFINE-HASH-TABLE-KEY-NAME *INFO-MOUSE-ACTION* "Mouse buttons actions in info mode")-9|
+   #17Y(00 00 00 00 00 00 00 00 00 01 6B 00 DB 30 02 19 01)
+   (|CLFSWM|::|*INFO-MOUSE-ACTION*| "Mouse buttons actions in info mode"
+    |CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|44 63 (DEFMACRO DEFINE-DEFINE-KEY (NAME HASHTABLE) ...)-10|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|DEFINE-DEFINE-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-DEFINE-KEY|
+       #141Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 80 75 9F 5C 78
+             A0 5C 5C 78 DD AE DE 6E 03 05 E0 AF E1 6E 03 05 E2 B0 E3 6E 03 05
+             E4 B1 E5 6E 03 05 E6 E7 B1 E8 E9 EA EB EC B8 7B 03 D8 5D 7A 7B 05
+             EE B1 EF F0 F1 B6 7B 02 03 18 5D 7A 7B 04 EE B1 F3 F4 F5 F4 F6 F1
+             BB 7B 01 7B 02 7B 03 7B 03 7B 04 EE B1 F7 F4 65 1E 65 1F 65 20 65
+             21 65 22 65 23 65 24 F0 F1 BE 7B 02 03 25 5D 7A 7B 07 7B 03 7B 04
+             61 05 19 09 AE 2F 02 19 03)
+       (3. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| "define-" "-key-fun"
+        |TOOLS|::|CREATE-SYMBOL| "define-" "-key" "undefine-" "-key"
+        "undefine-" "-multi-keys" |COMMON-LISP|::|PROGN| |COMMON-LISP|::|DEFUN|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+         |CLFSWM|::|KEYSTRING|)
+        "Define a new key, a key is '(char '(modifier list))"
+        |COMMON-LISP|::|SETF| |COMMON-LISP|::|GETHASH| |CLFSWM|::|KEY|
+        ((|COMMON-LISP|::|LIST| |COMMON-LISP|::|FUNCTION|
+          |CLFSWM|::|KEYSTRING|))
+        |COMMON-LISP|::|DEFMACRO|
+        ((|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+         |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+         |CLFSWM|::|KEYSTRING|)
+        |COMMON-LISP|::|LIST| |COMMON-LISP|::|QUOTE|
+        ((|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         |COMMON-LISP|::|FUNCTION| |CLFSWM|::|KEYSTRING|)
+        ((|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+        |COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+        (|COMMON-LISP|::|&REST| |CLFSWM|::|KEYS|) '|COMMON-LISP|::|PROGN|
+        |COMMON-LISP|::|LOOP| |CLFSWM|::|FOR| |CLFSWM|::|K| |CLFSWM|::|IN|
+        |CLFSWM|::|KEYS| |CLFSWM|::|COLLECT| (|CLFSWM|::|K|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|66 79 (DEFMACRO DEFINE-DEFINE-MOUSE (NAME HASHTABLE) ...)-11|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|DEFINE-DEFINE-MOUSE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-DEFINE-MOUSE|
+       #97Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 80 49 9F 5C 78
+            A0 5C 5C 78 DD AE DE 6E 03 05 E0 AF 70 05 E1 B0 70 05 E2 E3 B0 E4
+            E5 E6 E7 E8 B7 7B 03 D4 5D 7A 7B 05 EA B0 EB EC ED B5 7B 02 D9 5D
+            7A 7B 04 EA B0 EF F0 F1 F0 F2 ED BA 7B 01 7B 02 7B 03 7B 03 7B 04
+            61 04 19 08 AE 2F 02 19 03)
+       (3. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| "define-" "-fun" |TOOLS|::|CREATE-SYMBOL|
+        "define-" "undefine-" |COMMON-LISP|::|PROGN| |COMMON-LISP|::|DEFUN|
+        (|CLFSWM|::|BUTTON| |CLFSWM|::|FUNCTION-PRESS|
+         |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|KEYSTRING|
+         |CLFSWM|::|FUNCTION-RELEASE|)
+        "Define a new mouse button action, a button is '(button number '(modifier list))"
+        |COMMON-LISP|::|SETF| |COMMON-LISP|::|GETHASH| |CLFSWM|::|BUTTON|
+        ((|COMMON-LISP|::|LIST| |CLFSWM|::|FUNCTION-PRESS|
+          |CLFSWM|::|KEYSTRING| |CLFSWM|::|FUNCTION-RELEASE|))
+        |COMMON-LISP|::|DEFMACRO|
+        ((|CLFSWM|::|BUTTON| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+         |CLFSWM|::|FUNCTION-PRESS| |COMMON-LISP|::|&OPTIONAL|
+         |CLFSWM|::|FUNCTION-RELEASE| |CLFSWM|::|KEYSTRING|)
+        |COMMON-LISP|::|LIST| |COMMON-LISP|::|QUOTE|
+        ((|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|BUTTON|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         |CLFSWM|::|FUNCTION-PRESS| |CLFSWM|::|KEYSTRING|
+         |CLFSWM|::|FUNCTION-RELEASE|)
+        ((|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+        |COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|)))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|83 83 (DEFINE-DEFINE-KEY "main" *MAIN-KEYS*)-12-1|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-MAIN-KEY-FUN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-MAIN-KEY-FUN|
+       #25Y(00 00 00 00 02 00 01 00 06 09 3D 01 6B 00 AF AF 7B 02 B1 AE AE 31
+            66 19 06)
+       (|CLFSWM|::|*MAIN-KEYS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+        |CLFSWM|::|KEYSTRING|)
+       "Define a new key, a key is '(char '(modifier list))"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|83 83 (DEFINE-DEFINE-KEY "main" *MAIN-KEYS*)-12-2|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-MAIN-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-MAIN-KEY|
+       #73Y(00 00 00 00 02 00 00 00 00 03 AE DA DB 2D 03 02 1D 24 9F 5C 78 AC
+            DE 8B 02 21 AC 94 00 95 01 A3 5C 5C 78 A4 5C 5C 5C 78 E6 E7 B1 B1
+            6F 0E 7B 03 AF AF 61 04 19 09 AE 2F 03 19 03 DF E0 B1 E1 B0 E2 6F
+            09 E4 B3 E5 33 07 1E)
+       (3. 4. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|DEFINE-MAIN-KEY|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |CLFSWM|::|DEFINE-MAIN-KEY-FUN| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|83 83 (DEFINE-DEFINE-KEY "main" *MAIN-KEYS*)-12-3|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|UNDEFINE-MAIN-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-MAIN-KEY|
+       #63Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 1A 9F 5C 78 AC
+            DD 8B 01 17 AC 94 00 95 01 E5 E6 AF AF 6F 0D 7B 03 D3 5D 5D 19 07
+            AE 2F 02 19 03 DE DF B1 E0 B0 E1 6F 08 E3 B3 E4 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|UNDEFINE-MAIN-KEY|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |COMMON-LISP|::|REMHASH| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE| (|CLFSWM|::|*MAIN-KEYS*|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|83 83 (DEFINE-DEFINE-KEY "main" *MAIN-KEYS*)-12-4|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|UNDEFINE-MAIN-MULTI-KEYS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-MAIN-MULTI-KEYS|
+       #50Y(00 00 00 00 02 00 00 00 00 03 AE 89 00 08 95 02 DC AD 01 02 1B 10
+            AE 2F 01 19 03 87 02 01 DD AE 7B 02 84 00 83 02 AE 8D 94 71 AC 31
+            A6 16 03 5D 19 04)
+       (|EXT|::|PROPER-LIST-P| |SYSTEM|::|MACRO-CALL-ERROR|
+        |COMMON-LISP|::|PROGN| |CLFSWM|::|UNDEFINE-MAIN-KEY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|84 84 (DEFINE-DEFINE-KEY "second" *SECOND-KEYS*)-13-1|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-SECOND-KEY-FUN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-SECOND-KEY-FUN|
+       #25Y(00 00 00 00 02 00 01 00 06 09 3D 01 6B 00 AF AF 7B 02 B1 AE AE 31
+            66 19 06)
+       (|CLFSWM|::|*SECOND-KEYS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+        |CLFSWM|::|KEYSTRING|)
+       "Define a new key, a key is '(char '(modifier list))"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|84 84 (DEFINE-DEFINE-KEY "second" *SECOND-KEYS*)-13-2|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-SECOND-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-SECOND-KEY|
+       #73Y(00 00 00 00 02 00 00 00 00 03 AE DA DB 2D 03 02 1D 24 9F 5C 78 AC
+            DE 8B 02 21 AC 94 00 95 01 A3 5C 5C 78 A4 5C 5C 5C 78 E6 E7 B1 B1
+            6F 0E 7B 03 AF AF 61 04 19 09 AE 2F 03 19 03 DF E0 B1 E1 B0 E2 6F
+            09 E4 B3 E5 33 07 1E)
+       (3. 4. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|DEFINE-SECOND-KEY|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |CLFSWM|::|DEFINE-SECOND-KEY-FUN| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|84 84 (DEFINE-DEFINE-KEY "second" *SECOND-KEYS*)-13-3|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|UNDEFINE-SECOND-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-SECOND-KEY|
+       #63Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 1A 9F 5C 78 AC
+            DD 8B 01 17 AC 94 00 95 01 E5 E6 AF AF 6F 0D 7B 03 D3 5D 5D 19 07
+            AE 2F 02 19 03 DE DF B1 E0 B0 E1 6F 08 E3 B3 E4 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|UNDEFINE-SECOND-KEY|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |COMMON-LISP|::|REMHASH| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE| (|CLFSWM|::|*SECOND-KEYS*|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|84 84 (DEFINE-DEFINE-KEY "second" *SECOND-KEYS*)-13-4|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|UNDEFINE-SECOND-MULTI-KEYS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-SECOND-MULTI-KEYS|
+       #50Y(00 00 00 00 02 00 00 00 00 03 AE 89 00 08 95 02 DC AD 01 02 1B 10
+            AE 2F 01 19 03 87 02 01 DD AE 7B 02 84 00 83 02 AE 8D 94 71 AC 31
+            A6 16 03 5D 19 04)
+       (|EXT|::|PROPER-LIST-P| |SYSTEM|::|MACRO-CALL-ERROR|
+        |COMMON-LISP|::|PROGN| |CLFSWM|::|UNDEFINE-SECOND-KEY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|85 85 (DEFINE-DEFINE-KEY "pager" *PAGER-KEYS*)-14-1|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-PAGER-KEY-FUN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-PAGER-KEY-FUN|
+       #25Y(00 00 00 00 02 00 01 00 06 09 3D 01 6B 00 AF AF 7B 02 B1 AE AE 31
+            66 19 06)
+       (|CLFSWM|::|*PAGER-KEYS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+        |CLFSWM|::|KEYSTRING|)
+       "Define a new key, a key is '(char '(modifier list))"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|85 85 (DEFINE-DEFINE-KEY "pager" *PAGER-KEYS*)-14-2|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-PAGER-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-PAGER-KEY|
+       #73Y(00 00 00 00 02 00 00 00 00 03 AE DA DB 2D 03 02 1D 24 9F 5C 78 AC
+            DE 8B 02 21 AC 94 00 95 01 A3 5C 5C 78 A4 5C 5C 5C 78 E6 E7 B1 B1
+            6F 0E 7B 03 AF AF 61 04 19 09 AE 2F 03 19 03 DF E0 B1 E1 B0 E2 6F
+            09 E4 B3 E5 33 07 1E)
+       (3. 4. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|DEFINE-PAGER-KEY|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |CLFSWM|::|DEFINE-PAGER-KEY-FUN| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|85 85 (DEFINE-DEFINE-KEY "pager" *PAGER-KEYS*)-14-3|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|UNDEFINE-PAGER-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-PAGER-KEY|
+       #63Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 1A 9F 5C 78 AC
+            DD 8B 01 17 AC 94 00 95 01 E5 E6 AF AF 6F 0D 7B 03 D3 5D 5D 19 07
+            AE 2F 02 19 03 DE DF B1 E0 B0 E1 6F 08 E3 B3 E4 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|UNDEFINE-PAGER-KEY|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |COMMON-LISP|::|REMHASH| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE| (|CLFSWM|::|*PAGER-KEYS*|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|85 85 (DEFINE-DEFINE-KEY "pager" *PAGER-KEYS*)-14-4|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|UNDEFINE-PAGER-MULTI-KEYS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-PAGER-MULTI-KEYS|
+       #50Y(00 00 00 00 02 00 00 00 00 03 AE 89 00 08 95 02 DC AD 01 02 1B 10
+            AE 2F 01 19 03 87 02 01 DD AE 7B 02 84 00 83 02 AE 8D 94 71 AC 31
+            A6 16 03 5D 19 04)
+       (|EXT|::|PROPER-LIST-P| |SYSTEM|::|MACRO-CALL-ERROR|
+        |COMMON-LISP|::|PROGN| |CLFSWM|::|UNDEFINE-PAGER-KEY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 86 (DEFINE-DEFINE-KEY "info" *INFO-KEYS*)-15-1|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-INFO-KEY-FUN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-INFO-KEY-FUN|
+       #25Y(00 00 00 00 02 00 01 00 06 09 3D 01 6B 00 AF AF 7B 02 B1 AE AE 31
+            66 19 06)
+       (|CLFSWM|::|*INFO-KEYS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+        |CLFSWM|::|KEYSTRING|)
+       "Define a new key, a key is '(char '(modifier list))"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 86 (DEFINE-DEFINE-KEY "info" *INFO-KEYS*)-15-2|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-INFO-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-INFO-KEY|
+       #73Y(00 00 00 00 02 00 00 00 00 03 AE DA DB 2D 03 02 1D 24 9F 5C 78 AC
+            DE 8B 02 21 AC 94 00 95 01 A3 5C 5C 78 A4 5C 5C 5C 78 E6 E7 B1 B1
+            6F 0E 7B 03 AF AF 61 04 19 09 AE 2F 03 19 03 DF E0 B1 E1 B0 E2 6F
+            09 E4 B3 E5 33 07 1E)
+       (3. 4. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|DEFINE-INFO-KEY|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |CLFSWM|::|DEFINE-INFO-KEY-FUN| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 86 (DEFINE-DEFINE-KEY "info" *INFO-KEYS*)-15-3|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|UNDEFINE-INFO-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-INFO-KEY|
+       #63Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 1A 9F 5C 78 AC
+            DD 8B 01 17 AC 94 00 95 01 E5 E6 AF AF 6F 0D 7B 03 D3 5D 5D 19 07
+            AE 2F 02 19 03 DE DF B1 E0 B0 E1 6F 08 E3 B3 E4 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|UNDEFINE-INFO-KEY|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |COMMON-LISP|::|REMHASH| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE| (|CLFSWM|::|*INFO-KEYS*|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 86 (DEFINE-DEFINE-KEY "info" *INFO-KEYS*)-15-4|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|UNDEFINE-INFO-MULTI-KEYS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-INFO-MULTI-KEYS|
+       #50Y(00 00 00 00 02 00 00 00 00 03 AE 89 00 08 95 02 DC AD 01 02 1B 10
+            AE 2F 01 19 03 87 02 01 DD AE 7B 02 84 00 83 02 AE 8D 94 71 AC 31
+            A6 16 03 5D 19 04)
+       (|EXT|::|PROPER-LIST-P| |SYSTEM|::|MACRO-CALL-ERROR|
+        |COMMON-LISP|::|PROGN| |CLFSWM|::|UNDEFINE-INFO-KEY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|91 96 (DEFUN UNDEFINE-INFO-KEY-FUN (KEY) ...)-16|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|UNDEFINE-INFO-KEY-FUN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-INFO-KEY-FUN|
+       #17Y(00 00 00 00 01 00 00 00 06 02 AD 6B 00 31 67 19 02)
+       (|CLFSWM|::|*INFO-KEYS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|KEY|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|98 98 (DEFINE-DEFINE-MOUSE "mouse-action" *MOUSE-ACTION*)-17-1|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-MOUSE-ACTION-FUN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-MOUSE-ACTION-FUN|
+       #28Y(00 00 00 00 02 00 02 00 06 0E 3D 02 3D 01 6B 00 B0 B0 B0 7B 03 B2
+            AE AE 31 66 19 07)
+       (|CLFSWM|::|*MOUSE-ACTION*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|BUTTON| |CLFSWM|::|FUNCTION-PRESS|
+        |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|KEYSTRING|
+        |CLFSWM|::|FUNCTION-RELEASE|)
+       "Define a new mouse button action, a button is '(button number '(modifier list))"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|98 98 (DEFINE-DEFINE-MOUSE "mouse-action" *MOUSE-ACTION*)-17-2|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-MOUSE-ACTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-MOUSE-ACTION|
+       #77Y(00 00 00 00 02 00 00 00 00 03 AE DA DB 2D 03 02 1D 28 9F 5C 78 AC
+            DE 8B 02 25 AC 94 00 95 01 A3 5C 5C 78 A4 5C 5C 5C 78 B4 71 97 E6
+            E7 B2 B2 6F 0E 7B 03 B0 AF B1 61 05 19 0A AE 2F 03 19 03 DF E0 B1
+            E1 B0 E2 6F 09 E4 B3 E5 33 07 1E)
+       (3. 5. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|DEFINE-MOUSE-ACTION|
+        (|CLFSWM|::|BUTTON| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |CLFSWM|::|DEFINE-MOUSE-ACTION-FUN| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|98 98 (DEFINE-DEFINE-MOUSE "mouse-action" *MOUSE-ACTION*)-17-3|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|UNDEFINE-MOUSE-ACTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-MOUSE-ACTION|
+       #63Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 1A 9F 5C 78 AC
+            DD 8B 01 17 AC 94 00 95 01 E5 E6 AF AF 6F 0D 7B 03 D3 5D 5D 19 07
+            AE 2F 02 19 03 DE DF B1 E0 B0 E1 6F 08 E3 B3 E4 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|UNDEFINE-MOUSE-ACTION|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |COMMON-LISP|::|REMHASH| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE| (|CLFSWM|::|*MOUSE-ACTION*|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|99 99 (DEFINE-DEFINE-MOUSE "pager-mouse-action" *PAGER-MOUSE-ACTION*)-18-1|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION-FUN|
+    |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION-FUN|
+       #28Y(00 00 00 00 02 00 02 00 06 0E 3D 02 3D 01 6B 00 B0 B0 B0 7B 03 B2
+            AE AE 31 66 19 07)
+       (|CLFSWM|::|*PAGER-MOUSE-ACTION*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|BUTTON| |CLFSWM|::|FUNCTION-PRESS|
+        |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|KEYSTRING|
+        |CLFSWM|::|FUNCTION-RELEASE|)
+       "Define a new mouse button action, a button is '(button number '(modifier list))"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|99 99 (DEFINE-DEFINE-MOUSE "pager-mouse-action" *PAGER-MOUSE-ACTION*)-18-2|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION|
+       #77Y(00 00 00 00 02 00 00 00 00 03 AE DA DB 2D 03 02 1D 28 9F 5C 78 AC
+            DE 8B 02 25 AC 94 00 95 01 A3 5C 5C 78 A4 5C 5C 5C 78 B4 71 97 E6
+            E7 B2 B2 6F 0E 7B 03 B0 AF B1 61 05 19 0A AE 2F 03 19 03 DF E0 B1
+            E1 B0 E2 6F 09 E4 B3 E5 33 07 1E)
+       (3. 5. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION|
+        (|CLFSWM|::|BUTTON| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION-FUN| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|99 99 (DEFINE-DEFINE-MOUSE "pager-mouse-action" *PAGER-MOUSE-ACTION*)-18-3|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|UNDEFINE-PAGER-MOUSE-ACTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-PAGER-MOUSE-ACTION|
+       #63Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 1A 9F 5C 78 AC
+            DD 8B 01 17 AC 94 00 95 01 E5 E6 AF AF 6F 0D 7B 03 D3 5D 5D 19 07
+            AE 2F 02 19 03 DE DF B1 E0 B0 E1 6F 08 E3 B3 E4 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|UNDEFINE-PAGER-MOUSE-ACTION|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |COMMON-LISP|::|REMHASH| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE| (|CLFSWM|::|*PAGER-MOUSE-ACTION*|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|100 100 (DEFINE-DEFINE-MOUSE "info-mouse-action" *INFO-MOUSE-ACTION*)-19-1|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN|
+       #28Y(00 00 00 00 02 00 02 00 06 0E 3D 02 3D 01 6B 00 B0 B0 B0 7B 03 B2
+            AE AE 31 66 19 07)
+       (|CLFSWM|::|*INFO-MOUSE-ACTION*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|BUTTON| |CLFSWM|::|FUNCTION-PRESS|
+        |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|KEYSTRING|
+        |CLFSWM|::|FUNCTION-RELEASE|)
+       "Define a new mouse button action, a button is '(button number '(modifier list))"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|100 100 (DEFINE-DEFINE-MOUSE "info-mouse-action" *INFO-MOUSE-ACTION*)-19-2|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 3E 19 01)
+   (|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION|
+       #77Y(00 00 00 00 02 00 00 00 00 03 AE DA DB 2D 03 02 1D 28 9F 5C 78 AC
+            DE 8B 02 25 AC 94 00 95 01 A3 5C 5C 78 A4 5C 5C 5C 78 B4 71 97 E6
+            E7 B2 B2 6F 0E 7B 03 B0 AF B1 61 05 19 0A AE 2F 03 19 03 DF E0 B1
+            E1 B0 E2 6F 09 E4 B3 E5 33 07 1E)
+       (3. 5. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION|
+        (|CLFSWM|::|BUTTON| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|100 100 (DEFINE-DEFINE-MOUSE "info-mouse-action" *INFO-MOUSE-ACTION*)-19-3|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|UNDEFINE-INFO-MOUSE-ACTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNDEFINE-INFO-MOUSE-ACTION|
+       #63Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 1A 9F 5C 78 AC
+            DD 8B 01 17 AC 94 00 95 01 E5 E6 AF AF 6F 0D 7B 03 D3 5D 5D 19 07
+            AE 2F 02 19 03 DE DF B1 E0 B0 E1 6F 08 E3 B3 E4 33 07 1E)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 1. |EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+        :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |CLFSWM|::|UNDEFINE-INFO-MOUSE-ACTION|
+        (|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+        |COMMON-LISP|::|REMHASH| |COMMON-LISP|::|LIST|
+        |CLFSWM|::|MODIFIERS->STATE| (|CLFSWM|::|*INFO-MOUSE-ACTION*|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|106 125 (DEFMACRO DEFINE-UNGRAB/GRAB (NAME FUNCTION HASHTABLE) ...)-20|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|DEFINE-UNGRAB/GRAB| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DEFINE-UNGRAB/GRAB|
+       #77Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 36 9F 5C 78 A0
+            5C 5C 78 A1 5C 5C 5C 78 DD AF 63 DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8
+            E9 BC D5 7A D6 5D 5D 7A 7B 03 D7 5D 7A D8 5D 5D 7A 7B 04 7B 02 B1
+            7B 03 61 04 19 06 AE 2F 02 19 03)
+       (4. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| |COMMON-LISP|::|DEFUN|
+        |COMMON-LISP|::|MAPHASH| |COMMON-LISP|::|FUNCTION|
+        |COMMON-LISP|::|LAMBDA| (|CLFSWM|::|K| |CLFSWM|::|V|)
+        (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |CLFSWM|::|V|))
+        |COMMON-LISP|::|WHEN| (|COMMON-LISP|::|CONSP| |CLFSWM|::|K|)
+        |COMMON-LISP|::|HANDLER-CASE| |COMMON-LISP|::|LET*|
+        ((|CLFSWM|::|KEY| (|COMMON-LISP|::|FIRST| |CLFSWM|::|K|))
+         (|CLFSWM|::|KEYCODE|
+          (|COMMON-LISP|::|TYPECASE| |CLFSWM|::|KEY|
+           (|COMMON-LISP|::|CHARACTER|
+            (|CLFSWM|::|CHAR->KEYCODE| |CLFSWM|::|KEY|))
+           (|COMMON-LISP|::|NUMBER| |CLFSWM|::|KEY|)
+           (|COMMON-LISP|::|STRING|
+            (|COMMON-LISP|::|LET|
+             ((|CLFSWM|::|KEYSYM|
+               (|CLFSWM|::|KEYSYM-NAME->KEYSYM| |CLFSWM|::|KEY|)))
+             (|COMMON-LISP|::|AND| |CLFSWM|::|KEYSYM|
+              (|XLIB|::|KEYSYM->KEYCODES| |CLFSWM|::|*DISPLAY*|
+               |CLFSWM|::|KEYSYM|)))))))
+        |COMMON-LISP|::|IF| |CLFSWM|::|KEYCODE|
+        (|CLFSWM|::|*ROOT*| |CLFSWM|::|KEYCODE| :|MODIFIERS|
+         (|COMMON-LISP|::|SECOND| |CLFSWM|::|K|))
+        ((|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T|
+          "~&Grabbing error: Can't find key '~A'~%" |CLFSWM|::|KEY|))
+        ((|COMMON-LISP|::|ERROR| (|CLFSWM|::|C|)
+          (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T|
+           "~&Grabbing error: Can't grab key '~A' (~A)~%" |CLFSWM|::|K|
+           |CLFSWM|::|C|)))
+        ((|COMMON-LISP|::|FORCE-OUTPUT|)))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|127 127 (DEFINE-UNGRAB/GRAB GRAB-MAIN-KEYS XLIB:GRAB-KEY ...)-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GRAB-MAIN-KEYS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GRAB-MAIN-KEYS|
+       #17Y(00 00 00 00 00 00 00 00 06 01 DA 6B 01 31 68 19 01)
+       (#Y(|CLFSWM|::|GRAB-MAIN-KEYS-1|
+           #92Y(02 00 01 00 02 00 00 00 06 03 00 2B 01 7F 03 00 00 14 32 06 1F
+                80 43 9D 2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01
+                57 03 B0 36 00 16 06 1B 1E 58 67 00 00 01 76 00 AD 36 01 18 02
+                01 19 02 68 04 00 DE 6B 05 68 08 00 AF 33 03 15 16 01 4D 16 01
+                38 01 31 90 19 04 19 04)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(|CLFSWM|::|GRAB-MAIN-KEYS-1-1|
+               #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(|CLFSWM|::|GRAB-MAIN-KEYS-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+                   (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               () |COMMON-LISP|::|NIL|)
+            #Y(|CLFSWM|::|GRAB-MAIN-KEYS-1-2|
+               #81Y(00 00 00 00 00 00 00 00 06 01 07 01 01 78 AC 8E 1E 16 AC 8E
+                    0A 17 AC 8E 09 1F 00 14 92 00 24 E2 6B 09 AF 33 02 15 19 03
+                    AC 2F 01 1B 6E 9D 1B 6B 6B 03 AD 30 04 16 01 1B 62 AC 6F 02
+                    92 00 71 16 01 1B 58 6B 05 AD E0 07 01 01 5C 78 2D 04 07 19
+                    03)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|CHAR->KEYCODE|
+                |CLFSWM|::|KEYSYM-NAME->KEYSYM| |CLFSWM|::|*DISPLAY*|
+                |XLIB|::|KEYSYM->KEYCODES| |CLFSWM|::|*ROOT*| :|MODIFIERS|
+                |XLIB|::|GRAB-KEY|
+                #Y(|CLFSWM|::|GRAB-MAIN-KEYS-1-2-1|
+                   #32Y(00 00 00 00 02 00 00 00 01 18 AF 31 8E DA B0 38 02 31
+                        8B AE B0 31 86 DB B0 38 02 31 8B 9E 19 04)
+                   ("Grabbing error: Can't find key '"
+                    "'
+")
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+                |COMMON-LISP|::|*STANDARD-OUTPUT*|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+               |COMMON-LISP|::|NIL|)
+            (#(|COMMON-LISP|::|ERROR| 41.) 1. . 1.)
+            #Y(|CLFSWM|::|GRAB-MAIN-KEYS-1-3|
+               #42Y(00 00 00 00 03 00 00 00 01 19 B0 31 8E DA B1 38 02 31 8B AF
+                    B1 31 86 DB B1 38 02 31 8B AE B1 31 86 DC B1 38 02 31 8B 9E
+                    19 05)
+               ("Grabbing error: Can't grab key '" "' ("
+                ")
+")
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            |COMMON-LISP|::|*STANDARD-OUTPUT*|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|K| |CLFSWM|::|V|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|*MAIN-KEYS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|128 128 (DEFINE-UNGRAB/GRAB UNGRAB-MAIN-KEYS XLIB:UNGRAB-KEY ...)-22|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|UNGRAB-MAIN-KEYS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNGRAB-MAIN-KEYS|
+       #17Y(00 00 00 00 00 00 00 00 06 01 DA 6B 01 31 68 19 01)
+       (#Y(|CLFSWM|::|UNGRAB-MAIN-KEYS-1|
+           #92Y(02 00 01 00 02 00 00 00 06 03 00 2B 01 7F 03 00 00 14 32 06 1F
+                80 43 9D 2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01
+                57 03 B0 36 00 16 06 1B 1E 58 67 00 00 01 76 00 AD 36 01 18 02
+                01 19 02 68 04 00 DE 6B 05 68 08 00 AF 33 03 15 16 01 4D 16 01
+                38 01 31 90 19 04 19 04)
+           (#(|COMMON-LISP|::|NIL|)
+            #Y(|CLFSWM|::|UNGRAB-MAIN-KEYS-1-1|
+               #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+                #Y(|CLFSWM|::|UNGRAB-MAIN-KEYS-1-1-1|
+                   #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+                   (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+                   (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               () |COMMON-LISP|::|NIL|)
+            #Y(|CLFSWM|::|UNGRAB-MAIN-KEYS-1-2|
+               #81Y(00 00 00 00 00 00 00 00 06 01 07 01 01 78 AC 8E 1E 16 AC 8E
+                    0A 17 AC 8E 09 1F 00 14 92 00 24 E2 6B 09 AF 33 02 15 19 03
+                    AC 2F 01 1B 6E 9D 1B 6B 6B 03 AD 30 04 16 01 1B 62 AC 6F 02
+                    92 00 71 16 01 1B 58 6B 05 AD E0 07 01 01 5C 78 2D 04 07 19
+                    03)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|CHAR->KEYCODE|
+                |CLFSWM|::|KEYSYM-NAME->KEYSYM| |CLFSWM|::|*DISPLAY*|
+                |XLIB|::|KEYSYM->KEYCODES| |CLFSWM|::|*ROOT*| :|MODIFIERS|
+                |XLIB|::|UNGRAB-KEY|
+                #Y(|CLFSWM|::|UNGRAB-MAIN-KEYS-1-2-1|
+                   #32Y(00 00 00 00 02 00 00 00 01 18 AF 31 8E DA B0 38 02 31
+                        8B AE B0 31 86 DB B0 38 02 31 8B 9E 19 04)
+                   ("Grabbing error: Can't find key '"
+                    "'
+")
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+                |COMMON-LISP|::|*STANDARD-OUTPUT*|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+               |COMMON-LISP|::|NIL|)
+            (#(|COMMON-LISP|::|ERROR| 41.) 1. . 1.)
+            #Y(|CLFSWM|::|UNGRAB-MAIN-KEYS-1-3|
+               #42Y(00 00 00 00 03 00 00 00 01 19 B0 31 8E DA B1 38 02 31 8B AF
+                    B1 31 86 DB B1 38 02 31 8B AE B1 31 86 DC B1 38 02 31 8B 9E
+                    19 05)
+               ("Grabbing error: Can't grab key '" "' ("
+                ")
+")
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            |COMMON-LISP|::|*STANDARD-OUTPUT*|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|K| |CLFSWM|::|V|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|*MAIN-KEYS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|143 162 (DEFUN FUNCALL-KEY-FROM-CODE (HASH-TABLE-KEY CODE STATE ...) ...)-23|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FUNCALL-KEY-FROM-CODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FUNCALL-KEY-FROM-CODE|
+       #69Y(00 00 00 00 03 00 01 00 06 0A 00 2B 04 7F 05 00 00 7F 04 00 01 7F
+            03 00 02 3B 02 01 00 0B 00 03 9D 2B 01 AC 2C 00 01 0B 00 00 AC 6D
+            01 01 AD 6D 02 01 AE 6D 03 01 9F 34 1E 09 9E 34 1E 05 9D 34 3F 19
+            0A 19 0A)
+       (#Y(|CLFSWM|::|FUNCALL-KEY-FROM-CODE-FUNCALL-FROM|
+           #55Y(00 00 00 00 01 00 00 00 06 02 AD 69 01 03 7B 02 69 01 01 38 01
+                31 65 42 02 9D 1F 19 9E 5B 1F 15 07 01 04 1C 07 94 01 36 00 02
+                19 04 94 01 69 01 04 36 01 1B 74 19 04)
+           (|COMMON-LISP|::|NIL|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|KEY|) |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|FUNCALL-KEY-FROM-CODE-FROM-CODE|
+           #19Y(00 00 00 00 00 00 00 00 06 01 69 01 02 07 00 01 34 19 01)
+           (|COMMON-LISP|::|NIL|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|FUNCALL-KEY-FROM-CODE-FROM-CHAR|
+           #25Y(00 00 00 00 00 00 00 00 06 01 69 01 02 69 01 03 70 01 AC 07 00
+                01 34 19 02)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|KEYCODE->CHAR|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|FUNCALL-KEY-FROM-CODE-FROM-STRING|
+           #28Y(00 00 00 00 00 00 00 00 06 01 6B 01 69 01 02 DC 6E 03 03 6F 04
+                AC 07 00 01 34 19 02)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|*DISPLAY*| 0.
+            |XLIB|::|KEYCODE->KEYSYM| |CLFSWM|::|KEYSYM->KEYSYM-NAME|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|HASH-TABLE-KEY| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+        |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|ARGS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|166 177 (DEFUN FUNCALL-BUTTON-FROM-CODE (HASH-TABLE-KEY CODE STATE ...) ...)-24|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FUNCALL-BUTTON-FROM-CODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FUNCALL-BUTTON-FROM-CODE|
+       #72Y(00 00 00 00 05 00 02 00 06 00 3B 02 02 C5 FA 3D 01 B1 6F 01 DC 70
+            03 6F 04 B3 AD 7B 02 B5 38 01 31 65 42 02 93 00 06 B1 AE 36 01 1C
+            0E 02 19 0B B1 AE 76 01 B4 B4 B3 36 03 19 0B 92 04 72 B1 AE 76 01
+            B4 B4 36 02 19 0B)
+       (#.#'|COMMON-LISP|::|FIRST| |CLFSWM|::|STATE->MODIFIERS|
+        (:|BUTTON-1| :|BUTTON-2| :|BUTTON-3| :|BUTTON-4| :|BUTTON-5|)
+        |COMMON-LISP|::|SET-DIFFERENCE| |CLFSWM|::|MODIFIERS->STATE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|HASH-TABLE-KEY| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+        |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |COMMON-LISP|::|&OPTIONAL|
+        (|CLFSWM|::|ACTION| #'|COMMON-LISP|::|FIRST|) |CLFSWM|::|ARGS|)
+       "Action: first=press third=release"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|182 228 (DEFUN PRODUCE-DOC-HTML (HASH-TABLE-KEY-LIST &OPTIONAL #) ...)-25|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PRODUCE-DOC-HTML| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PRODUCE-DOC-HTML|
+       #76Y(00 00 00 00 01 00 01 00 06 08 3B 01 02 7E 01 63 6D 00 01 DB DC DD
+            DE DF 63 B5 63 1B 18 87 01 00 E0 E1 E2 AF 38 01 71 65 7B 02 7B 02
+            84 02 AC A6 74 84 02 83 01 AD 8D 94 64 16 02 AC 32 4A 16 01 5D 5D
+            7A 7B 03 E3 B0 2D 03 0A 19 04)
+       (#Y(|CLFSWM|::|PRODUCE-DOC-HTML-PRODUCE-KEYS|
+           #37Y(00 00 00 00 01 00 00 00 06 02 DB DC 2A 2B 01 00 0B 00 00 AC 6D
+                03 01 B1 31 68 68 00 00 32 4A 16 01 5D 5D 19 02)
+           (|COMMON-LISP|::|NIL|
+            "table class=\"ex\" cellspacing=\"5\" border=\"0\" width=\"100%\""
+            (|CLFSWM|::|TR| ("th align=\"right\" width=\"10%\"" "Modifiers")
+             ("th align=\"center\" width=\"10%\"" "Key/Button")
+             ("th align=\"left\"" "Function"))
+            #Y(|CLFSWM|::|PRODUCE-DOC-HTML-PRODUCE-KEYS-1|
+               #180Y(00 00 00 00 02 00 00 00 06 03 AE 32 06 1F 80 A2 DB DC 38
+                     02 72 76 A2 5C 78 6F 03 AC 1B 27 38 01 AF 71 92 72 76 AC
+                     2F 04 10 05 94 04 83 05 B0 31 83 11 AC 2F 06 E1 AD 31 8A
+                     AC 72 77 6F 08 B0 38 02 31 8B 16 01 AC 8D 94 55 16 02 AC
+                     81 77 00 CE 74 7B 02 E4 38 02 72 76 A2 5C 5B 1C 12 94 06
+                     8F 09 0B 94 06 38 02 71 46 38 01 8C D6 02 A3 5B 14 38 01
+                     AE 71 92 72 76 AC 2F 04 10 05 B0 B0 31 83 11 AC 2F 06 AC
+                     72 77 6F 08 AF 38 02 31 8B 16 02 AC 81 77 00 CE 74 7B 02
+                     E5 A2 5B 1C 04 A2 5C 5C 5B 14 E6 70 0D 7B 02 7B 04 07 00
+                     01 5D 0C 00 01 19 03 19 03)
+               (|COMMON-LISP|::|NIL| |CLFSWM|::|TR|
+                "td align=\"right\" style=\"color:#FF0000\" nowrap"
+                |CLFSWM|::|STATE->MODIFIERS|
+                |SYSTEM|::|STREAM-START-S-EXPRESSION|
+                |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+                |SYSTEM|::|STREAM-END-S-EXPRESSION| #\ 
+                |SYSTEM|::|NSTRING-CAPITALIZE1|
+                #Y(|CLFSWM|::|PRODUCE-DOC-HTML-CLEAN-STRING|
+                   #61Y(00 00 00 00 01 00 00 00 06 02 AD DA 38 04 8C 3B 23 AD
+                        DC 38 04 8C 3B 1F AD DE 38 04 8C 3B 1B E0 E1 E0 E2 E0
+                        E3 B3 38 07 72 57 38 07 72 57 38 07 32 57 19 02 C6 19
+                        02 C8 19 02 CA 19 02)
+                   ("#\\:" ":" "#\\#" "#" "#\\\\" "\\" #\  #\# #\\ #\:)
+                   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+                   (|CLFSWM|::|STR|) |COMMON-LISP|::|NIL|)
+                "td align=\"center\" nowrap"
+                "td style=\"color:#0000FF\" nowrap" |COMMON-LISP|::|FUNCTION|
+                |CLOS|::|DOCUMENTATION|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|CLFSWM|::|K| |CLFSWM|::|V|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|HK|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|HTML| (|CLFSWM|::|HEAD| (|CLFSWM|::|TITLE| "CLFSWM Keys"))
+        |CLFSWM|::|BODY| (|CLFSWM|::|H1| "CLFSWM Keys")
+        (|CLFSWM|::|P|
+         (|CLFSWM|::|SMALL| "Note: Mod-1 is the Meta or Alt key"))
+        |CLFSWM|::|H3| |CLFSWM|::|U| |CLFSWM|::|NAME| 0.
+        |MY-HTML|::|PRODUCE-HTML|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|HASH-TABLE-KEY-LIST| |COMMON-LISP|::|&OPTIONAL|
+        (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|T|))
+       "Produce an html doc from a hash-table key"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|231 236 (DEFUN PRODUCE-DOC-HTML-IN-FILE (FILENAME) ...)-26|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PRODUCE-DOC-HTML-IN-FILE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PRODUCE-DOC-HTML-IN-FILE|
+       #78Y(03 00 01 00 01 00 00 00 06 02 AD DA 38 05 C6 FB C7 FA 71 FB 53 29
+            C8 45 6B 04 6B 05 6B 06 6B 07 6B 08 6B 09 6B 0A 7B 07 B0 30 0B 41
+            05 00 00 02 1D 03 14 2F 0C 46 54 05 00 00 00 1D 0E 1B 06 05 00 00
+            00 1D 06 14 E7 64 2D 03 0C 55 19 03)
+       (:|OUTPUT| :|SUPERSEDE| :|CREATE| #.#'|COMMON-LISP|::|VALUES|
+        |CLFSWM|::|*MAIN-KEYS*| |CLFSWM|::|*SECOND-KEYS*|
+        |CLFSWM|::|*MOUSE-ACTION*| |CLFSWM|::|*PAGER-KEYS*|
+        |CLFSWM|::|*PAGER-MOUSE-ACTION*| |CLFSWM|::|*INFO-KEYS*|
+        |CLFSWM|::|*INFO-MOUSE-ACTION*| |CLFSWM|::|PRODUCE-DOC-HTML|
+        |COMMON-LISP|::|CLOSE| :|ABORT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|FILENAME|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|240 260 (DEFUN PRODUCE-DOC (HASH-TABLE-KEY-LIST &OPTIONAL #) ...)-27|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PRODUCE-DOC| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PRODUCE-DOC|
+       #113Y(00 00 00 00 01 00 01 00 06 08 00 2B 01 3B 02 01 02 0B 00 00 14 DA
+             30 01 68 00 00 DC 30 01 68 00 00 DD 30 01 AF 63 1B 80 40 87 01 00
+             68 02 00 DE DF AF 38 01 71 65 2D 03 01 E0 DF AE 38 01 71 65 72 48
+             1B 08 68 04 00 E1 30 01 85 01 AD AD 91 01 32 72 16 02 68 02 00 E2
+             30 01 AE 6D 09 01 AD 31 68 68 02 00 E4 30 01 83 01 AD 8D 94 FF BB
+             00 19 06)
+       (#Y(|CLFSWM|::|PRODUCE-DOC-1|
+           #19Y(00 00 00 00 01 00 00 00 01 17 DA AF 38 02 31 8B 9E 19 03)
+           ("    * CLFSWM Keys *
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|FORMAT|
+        #Y(|CLFSWM|::|PRODUCE-DOC-2|
+           #19Y(00 00 00 00 01 00 00 00 01 17 DA AF 38 02 31 8B 9E 19 03)
+           ("      -----------
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|CLFSWM|::|PRODUCE-DOC-3|
+           #19Y(00 00 00 00 01 00 00 00 01 17 DA AF 38 02 31 8B 9E 19 03)
+           ("
+Note: Mod-1 is the Meta or Alt key
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|CLFSWM|::|PRODUCE-DOC-4|
+           #30Y(00 00 00 00 02 00 00 00 01 18 AF 01 02 DA 2D 04 01 AE B0 31 86
+                DC B0 38 02 31 8B 9E 19 04)
+           (2. |SYSTEM|::|FORMAT-FRESH-LINE|
+            ":
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |CLFSWM|::|NAME| 0.
+        #Y(|CLFSWM|::|PRODUCE-DOC-5|
+           #17Y(00 00 00 00 01 00 00 00 01 17 DA AF 31 8A 9E 19 03) (#\-)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|CLFSWM|::|PRODUCE-DOC-6|
+           #20Y(00 00 00 00 01 00 00 00 01 17 AE 01 02 DA 2D 04 01 9E 19 03)
+           (2. |SYSTEM|::|FORMAT-TERPRI|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|CLFSWM|::|PRODUCE-DOC-7|
+           #101Y(00 00 00 00 02 00 00 00 06 03 AE 32 06 1F 80 53 69 00 01 DB A1
+                 5C 78 6F 02 DD DE 38 02 72 76 A4 5C 5B 1C 12 94 08 8F 09 0B 94
+                 08 38 02 71 46 38 01 8C D6 02 A5 5B 14 AD 2F 05 10 06 AF B1 31
+                 83 11 AD 2F 07 16 01 AC 81 77 00 38 07 72 4F 38 07 72 4F A2 5B
+                 1C 04 A2 5C 5C 5B 14 E2 70 09 2D 05 0A 19 03 19 03)
+           (|COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|PRODUCE-DOC-7-1|
+               #149Y(00 00 00 00 04 00 00 00 01 1A B1 31 8E B1 71 92 38 01 AD
+                     72 76 B3 63 64 DA 01 03 B4 01 04 BE 1B 1E 38 01 BA 71 92
+                     72 76 94 01 83 02 AD 31 86 AC 72 77 6F 01 BB 38 02 31 8B
+                     16 01 DC BA 31 8A AC 8D 94 5E 16 01 B8 72 77 7B 01 2D 0D
+                     03 16 02 DC B2 31 8A B1 71 92 38 01 AD 72 76 B3 63 64 DE
+                     01 03 B4 01 04 38 01 B9 71 92 72 76 BE AD 31 86 AC 72 77
+                     6F 01 BA 38 02 31 8B 16 01 B8 72 77 7B 01 2D 0D 03 16 02
+                     DF B2 38 02 31 8B AE B2 31 86 B1 31 8D 9E 19 06)
+               (20. |SYSTEM|::|NSTRING-CAPITALIZE1| #\ 
+                |SYSTEM|::|DO-FORMAT-JUSTIFICATION| 13. "   ")
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            |CLFSWM|::|STATE->MODIFIERS| #\# #\\
+            |SYSTEM|::|STREAM-START-S-EXPRESSION|
+            |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+            |SYSTEM|::|STREAM-END-S-EXPRESSION| |COMMON-LISP|::|FUNCTION|
+            |CLOS|::|DOCUMENTATION| |COMMON-LISP|::|FORMAT|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|K| |CLFSWM|::|V|) |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|PRODUCE-DOC-8|
+           #20Y(00 00 00 00 01 00 00 00 01 17 AE 01 02 DA 2D 04 01 9E 19 03)
+           (2. |SYSTEM|::|FORMAT-FRESH-LINE|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|HASH-TABLE-KEY-LIST| |COMMON-LISP|::|&OPTIONAL|
+        (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|T|))
+       "Produce a text doc from a hash-table key"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|264 269 (DEFUN PRODUCE-DOC-IN-FILE (FILENAME) ...)-28|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PRODUCE-DOC-IN-FILE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PRODUCE-DOC-IN-FILE|
+       #78Y(03 00 01 00 01 00 00 00 06 02 AD DA 38 05 C6 FB C7 FA 71 FB 53 29
+            C8 45 6B 04 6B 05 6B 06 6B 07 6B 08 6B 09 6B 0A 7B 07 B0 30 0B 41
+            05 00 00 02 1D 03 14 2F 0C 46 54 05 00 00 00 1D 0E 1B 06 05 00 00
+            00 1D 06 14 E7 64 2D 03 0C 55 19 03)
+       (:|OUTPUT| :|SUPERSEDE| :|CREATE| #.#'|COMMON-LISP|::|VALUES|
+        |CLFSWM|::|*MAIN-KEYS*| |CLFSWM|::|*SECOND-KEYS*|
+        |CLFSWM|::|*MOUSE-ACTION*| |CLFSWM|::|*PAGER-KEYS*|
+        |CLFSWM|::|*PAGER-MOUSE-ACTION*| |CLFSWM|::|*INFO-KEYS*|
+        |CLFSWM|::|*INFO-MOUSE-ACTION*| |CLFSWM|::|PRODUCE-DOC|
+        |COMMON-LISP|::|CLOSE| :|ABORT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|FILENAME|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|272 275 (DEFUN PRODUCE-ALL-DOCS NIL ...)-29|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PRODUCE-ALL-DOCS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PRODUCE-ALL-DOCS|
+       #18Y(00 00 00 00 00 00 00 00 06 01 DA 2F 01 DC 2F 03 19 01)
+       ("keys.txt" |CLFSWM|::|PRODUCE-DOC-IN-FILE| "keys.html"
+        |CLFSWM|::|PRODUCE-DOC-HTML-IN-FILE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Produce all docs in keys.html and keys.txt"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: clfswm-keys.fasl
==============================================================================
Binary file. No diff available.

Added: clfswm-keys.lib
==============================================================================
--- (empty file)
+++ clfswm-keys.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,752 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DEFINE-HASH-TABLE-KEY-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|HASH-TABLE| |CLFSWM|::|NAME|)))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-DEFINE-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-DEFINE-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-DEFINE-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       3.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|CLFSWM|::|NAME|
+        (|COMMON-LISP|::|CADR| . #1=(|SYSTEM|::|<MACRO-FORM>|)))
+       (|CLFSWM|::|HASHTABLE| (|COMMON-LISP|::|CADDR| . #1#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-DEFINE-KEY|
+       (|COMMON-LISP|::|LET|
+        ((|CLFSWM|::|NAME-KEY-FUN|
+          (|TOOLS|::|CREATE-SYMBOL| "define-" |CLFSWM|::|NAME| "-key-fun"))
+         (|CLFSWM|::|NAME-KEY|
+          (|TOOLS|::|CREATE-SYMBOL| "define-" |CLFSWM|::|NAME| "-key"))
+         (|CLFSWM|::|UNDEFINE-NAME|
+          (|TOOLS|::|CREATE-SYMBOL| "undefine-" |CLFSWM|::|NAME| "-key"))
+         (|CLFSWM|::|UNDEFINE-MULTI-NAME|
+          (|TOOLS|::|CREATE-SYMBOL| "undefine-" |CLFSWM|::|NAME|
+           "-multi-keys")))
+        `(|COMMON-LISP|::|PROGN|
+          (|COMMON-LISP|::|DEFUN| ,|CLFSWM|::|NAME-KEY-FUN|
+           (|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION|
+            |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|KEYSTRING|)
+           "Define a new key, a key is '(char '(modifier list))"
+           (|COMMON-LISP|::|SETF|
+            (|COMMON-LISP|::|GETHASH| |CLFSWM|::|KEY| ,|CLFSWM|::|HASHTABLE|)
+            (|COMMON-LISP|::|LIST| |COMMON-LISP|::|FUNCTION|
+             |CLFSWM|::|KEYSTRING|)))
+          (|COMMON-LISP|::|DEFMACRO| ,|CLFSWM|::|NAME-KEY|
+           ((|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+            |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+            |CLFSWM|::|KEYSTRING|)
+           `(,',|CLFSWM|::|NAME-KEY-FUN|
+             (|COMMON-LISP|::|LIST| ,|CLFSWM|::|KEY|
+              ,(|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+             ,|COMMON-LISP|::|FUNCTION| ,|CLFSWM|::|KEYSTRING|))
+          (|COMMON-LISP|::|DEFMACRO| ,|CLFSWM|::|UNDEFINE-NAME|
+           ((|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+           `(|COMMON-LISP|::|REMHASH|
+             (|COMMON-LISP|::|LIST| ,|CLFSWM|::|KEY|
+              ,(|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+             ,',|CLFSWM|::|HASHTABLE|))
+          (|COMMON-LISP|::|DEFMACRO| ,|CLFSWM|::|UNDEFINE-MULTI-NAME|
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|KEYS|)
+           `(|COMMON-LISP|::|PROGN|
+             ,@(|COMMON-LISP|::|LOOP| |CLFSWM|::|FOR| |CLFSWM|::|K|
+                |CLFSWM|::|IN| |CLFSWM|::|KEYS| |CLFSWM|::|COLLECT|
+                `(,',|CLFSWM|::|UNDEFINE-NAME| ,|CLFSWM|::|K|)))))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-DEFINE-MOUSE|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-DEFINE-MOUSE|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-DEFINE-MOUSE|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       3.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|CLFSWM|::|NAME|
+        (|COMMON-LISP|::|CADR| . #1=(|SYSTEM|::|<MACRO-FORM>|)))
+       (|CLFSWM|::|HASHTABLE| (|COMMON-LISP|::|CADDR| . #1#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-DEFINE-MOUSE|
+       (|COMMON-LISP|::|LET|
+        ((|CLFSWM|::|NAME-MOUSE-FUN|
+          (|TOOLS|::|CREATE-SYMBOL| "define-" |CLFSWM|::|NAME| "-fun"))
+         (|CLFSWM|::|NAME-MOUSE|
+          (|TOOLS|::|CREATE-SYMBOL| "define-" |CLFSWM|::|NAME|))
+         (|CLFSWM|::|UNDEFINE-NAME|
+          (|TOOLS|::|CREATE-SYMBOL| "undefine-" |CLFSWM|::|NAME|)))
+        `(|COMMON-LISP|::|PROGN|
+          (|COMMON-LISP|::|DEFUN| ,|CLFSWM|::|NAME-MOUSE-FUN|
+           (|CLFSWM|::|BUTTON| |CLFSWM|::|FUNCTION-PRESS|
+            |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|KEYSTRING|
+            |CLFSWM|::|FUNCTION-RELEASE|)
+           "Define a new mouse button action, a button is '(button number '(modifier list))"
+           (|COMMON-LISP|::|SETF|
+            (|COMMON-LISP|::|GETHASH| |CLFSWM|::|BUTTON|
+             ,|CLFSWM|::|HASHTABLE|)
+            (|COMMON-LISP|::|LIST| |CLFSWM|::|FUNCTION-PRESS|
+             |CLFSWM|::|KEYSTRING| |CLFSWM|::|FUNCTION-RELEASE|)))
+          (|COMMON-LISP|::|DEFMACRO| ,|CLFSWM|::|NAME-MOUSE|
+           ((|CLFSWM|::|BUTTON| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|)
+            |CLFSWM|::|FUNCTION-PRESS| |COMMON-LISP|::|&OPTIONAL|
+            |CLFSWM|::|FUNCTION-RELEASE| |CLFSWM|::|KEYSTRING|)
+           `(,',|CLFSWM|::|NAME-MOUSE-FUN|
+             (|COMMON-LISP|::|LIST| ,|CLFSWM|::|BUTTON|
+              ,(|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+             ,|CLFSWM|::|FUNCTION-PRESS| ,|CLFSWM|::|KEYSTRING|
+             ,|CLFSWM|::|FUNCTION-RELEASE|))
+          (|COMMON-LISP|::|DEFMACRO| ,|CLFSWM|::|UNDEFINE-NAME|
+           ((|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+           `(|COMMON-LISP|::|REMHASH|
+             (|COMMON-LISP|::|LIST| ,|CLFSWM|::|KEY|
+              ,(|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+             ,',|CLFSWM|::|HASHTABLE|)))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DEFINE-MAIN-KEY-FUN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+    |CLFSWM|::|KEYSTRING|)))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-MAIN-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-MAIN-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-MAIN-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       4.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46621| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G46622|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|DEFINE-MAIN-KEY| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #3#))
+       #'(|COMMON-LISP|::|CADDR| . #2#)
+       (|CLFSWM|::|KEYSTRING| (|COMMON-LISP|::|CADDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-MAIN-KEY|
+       (|COMMON-LISP|::|LIST| '|CLFSWM|::|DEFINE-MAIN-KEY-FUN|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+        |COMMON-LISP|::|FUNCTION| |CLFSWM|::|KEYSTRING|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-MAIN-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-MAIN-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-MAIN-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.
+       2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46635| (|COMMON-LISP|::|CADR| |SYSTEM|::|<MACRO-FORM>|))
+       (#2=#:|G46636|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|UNDEFINE-MAIN-KEY| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #2#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-MAIN-KEY|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|CONS|
+         (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         '(|CLFSWM|::|*MAIN-KEYS*|))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-MAIN-MULTI-KEYS|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-MAIN-MULTI-KEYS|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-MAIN-MULTI-KEYS|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT| (|EXT|::|PROPER-LIST-P| |SYSTEM|::|<MACRO-FORM>|))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|CLFSWM|::|KEYS| (|COMMON-LISP|::|CDR| |SYSTEM|::|<MACRO-FORM>|)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-MAIN-MULTI-KEYS|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|PROGN|
+        (|COMMON-LISP|::|LOOP| |CLFSWM|::|FOR| |CLFSWM|::|K| |CLFSWM|::|IN|
+         |CLFSWM|::|KEYS| |CLFSWM|::|COLLECT|
+         (|COMMON-LISP|::|LIST| '|CLFSWM|::|UNDEFINE-MAIN-KEY|
+          |CLFSWM|::|K|))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DEFINE-SECOND-KEY-FUN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+    |CLFSWM|::|KEYSTRING|)))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-SECOND-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-SECOND-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-SECOND-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       4.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46680| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G46681|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|DEFINE-SECOND-KEY| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #3#))
+       #'(|COMMON-LISP|::|CADDR| . #2#)
+       (|CLFSWM|::|KEYSTRING| (|COMMON-LISP|::|CADDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-SECOND-KEY|
+       (|COMMON-LISP|::|LIST| '|CLFSWM|::|DEFINE-SECOND-KEY-FUN|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+        |COMMON-LISP|::|FUNCTION| |CLFSWM|::|KEYSTRING|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-SECOND-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-SECOND-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-SECOND-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.
+       2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46694| (|COMMON-LISP|::|CADR| |SYSTEM|::|<MACRO-FORM>|))
+       (#2=#:|G46695|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|UNDEFINE-SECOND-KEY| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #2#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-SECOND-KEY|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|CONS|
+         (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         '(|CLFSWM|::|*SECOND-KEYS*|))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-SECOND-MULTI-KEYS|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-SECOND-MULTI-KEYS|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-SECOND-MULTI-KEYS|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT| (|EXT|::|PROPER-LIST-P| |SYSTEM|::|<MACRO-FORM>|))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|CLFSWM|::|KEYS| (|COMMON-LISP|::|CDR| |SYSTEM|::|<MACRO-FORM>|)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-SECOND-MULTI-KEYS|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|PROGN|
+        (|COMMON-LISP|::|LOOP| |CLFSWM|::|FOR| |CLFSWM|::|K| |CLFSWM|::|IN|
+         |CLFSWM|::|KEYS| |CLFSWM|::|COLLECT|
+         (|COMMON-LISP|::|LIST| '|CLFSWM|::|UNDEFINE-SECOND-KEY|
+          |CLFSWM|::|K|))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DEFINE-PAGER-KEY-FUN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+    |CLFSWM|::|KEYSTRING|)))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-PAGER-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-PAGER-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-PAGER-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       4.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46739| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G46740|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|DEFINE-PAGER-KEY| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #3#))
+       #'(|COMMON-LISP|::|CADDR| . #2#)
+       (|CLFSWM|::|KEYSTRING| (|COMMON-LISP|::|CADDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-PAGER-KEY|
+       (|COMMON-LISP|::|LIST| '|CLFSWM|::|DEFINE-PAGER-KEY-FUN|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+        |COMMON-LISP|::|FUNCTION| |CLFSWM|::|KEYSTRING|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-PAGER-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-PAGER-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-PAGER-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.
+       2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46753| (|COMMON-LISP|::|CADR| |SYSTEM|::|<MACRO-FORM>|))
+       (#2=#:|G46754|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|UNDEFINE-PAGER-KEY| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #2#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-PAGER-KEY|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|CONS|
+         (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         '(|CLFSWM|::|*PAGER-KEYS*|))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-PAGER-MULTI-KEYS|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-PAGER-MULTI-KEYS|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-PAGER-MULTI-KEYS|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT| (|EXT|::|PROPER-LIST-P| |SYSTEM|::|<MACRO-FORM>|))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|CLFSWM|::|KEYS| (|COMMON-LISP|::|CDR| |SYSTEM|::|<MACRO-FORM>|)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-PAGER-MULTI-KEYS|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|PROGN|
+        (|COMMON-LISP|::|LOOP| |CLFSWM|::|FOR| |CLFSWM|::|K| |CLFSWM|::|IN|
+         |CLFSWM|::|KEYS| |CLFSWM|::|COLLECT|
+         (|COMMON-LISP|::|LIST| '|CLFSWM|::|UNDEFINE-PAGER-KEY|
+          |CLFSWM|::|K|))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DEFINE-INFO-KEY-FUN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|KEY| |COMMON-LISP|::|FUNCTION| |COMMON-LISP|::|&OPTIONAL|
+    |CLFSWM|::|KEYSTRING|)))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-INFO-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-INFO-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-INFO-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       4.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46798| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G46799|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|DEFINE-INFO-KEY| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #3#))
+       #'(|COMMON-LISP|::|CADDR| . #2#)
+       (|CLFSWM|::|KEYSTRING| (|COMMON-LISP|::|CADDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-INFO-KEY|
+       (|COMMON-LISP|::|LIST| '|CLFSWM|::|DEFINE-INFO-KEY-FUN|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+        |COMMON-LISP|::|FUNCTION| |CLFSWM|::|KEYSTRING|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-INFO-KEY|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-INFO-KEY|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-INFO-KEY|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.
+       2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46812| (|COMMON-LISP|::|CADR| |SYSTEM|::|<MACRO-FORM>|))
+       (#2=#:|G46813|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|UNDEFINE-INFO-KEY| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #2#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-INFO-KEY|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|CONS|
+         (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         '(|CLFSWM|::|*INFO-KEYS*|))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-INFO-MULTI-KEYS|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-INFO-MULTI-KEYS|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-INFO-MULTI-KEYS|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT| (|EXT|::|PROPER-LIST-P| |SYSTEM|::|<MACRO-FORM>|))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|CLFSWM|::|KEYS| (|COMMON-LISP|::|CDR| |SYSTEM|::|<MACRO-FORM>|)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-INFO-MULTI-KEYS|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|PROGN|
+        (|COMMON-LISP|::|LOOP| |CLFSWM|::|FOR| |CLFSWM|::|K| |CLFSWM|::|IN|
+         |CLFSWM|::|KEYS| |CLFSWM|::|COLLECT|
+         (|COMMON-LISP|::|LIST| '|CLFSWM|::|UNDEFINE-INFO-KEY|
+          |CLFSWM|::|K|))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|UNDEFINE-INFO-KEY-FUN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|KEY|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DEFINE-MOUSE-ACTION-FUN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|BUTTON| |CLFSWM|::|FUNCTION-PRESS| |COMMON-LISP|::|&OPTIONAL|
+    |CLFSWM|::|KEYSTRING| |CLFSWM|::|FUNCTION-RELEASE|)))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-MOUSE-ACTION|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-MOUSE-ACTION|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-MOUSE-ACTION|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       5.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46864| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G46865|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|DEFINE-MOUSE-ACTION| #1#
+          '(|CLFSWM|::|BUTTON| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|BUTTON| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #3#))
+       (|CLFSWM|::|FUNCTION-PRESS| (|COMMON-LISP|::|CADDR| . #2#))
+       (|CLFSWM|::|FUNCTION-RELEASE| (|COMMON-LISP|::|CADDDR| . #2#))
+       (|CLFSWM|::|KEYSTRING| (|COMMON-LISP|::|FIFTH| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-MOUSE-ACTION|
+       (|COMMON-LISP|::|LIST| '|CLFSWM|::|DEFINE-MOUSE-ACTION-FUN|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|BUTTON|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+        |CLFSWM|::|FUNCTION-PRESS| |CLFSWM|::|KEYSTRING|
+        |CLFSWM|::|FUNCTION-RELEASE|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-MOUSE-ACTION|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-MOUSE-ACTION|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-MOUSE-ACTION|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.
+       2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46878| (|COMMON-LISP|::|CADR| |SYSTEM|::|<MACRO-FORM>|))
+       (#2=#:|G46879|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|UNDEFINE-MOUSE-ACTION| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #2#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-MOUSE-ACTION|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|CONS|
+         (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         '(|CLFSWM|::|*MOUSE-ACTION*|))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION-FUN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|BUTTON| |CLFSWM|::|FUNCTION-PRESS| |COMMON-LISP|::|&OPTIONAL|
+    |CLFSWM|::|KEYSTRING| |CLFSWM|::|FUNCTION-RELEASE|)))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       5.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46905| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G46906|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION| #1#
+          '(|CLFSWM|::|BUTTON| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|BUTTON| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #3#))
+       (|CLFSWM|::|FUNCTION-PRESS| (|COMMON-LISP|::|CADDR| . #2#))
+       (|CLFSWM|::|FUNCTION-RELEASE| (|COMMON-LISP|::|CADDDR| . #2#))
+       (|CLFSWM|::|KEYSTRING| (|COMMON-LISP|::|FIFTH| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION|
+       (|COMMON-LISP|::|LIST| '|CLFSWM|::|DEFINE-PAGER-MOUSE-ACTION-FUN|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|BUTTON|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+        |CLFSWM|::|FUNCTION-PRESS| |CLFSWM|::|KEYSTRING|
+        |CLFSWM|::|FUNCTION-RELEASE|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-PAGER-MOUSE-ACTION|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-PAGER-MOUSE-ACTION|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-PAGER-MOUSE-ACTION|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.
+       2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46919| (|COMMON-LISP|::|CADR| |SYSTEM|::|<MACRO-FORM>|))
+       (#2=#:|G46920|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|UNDEFINE-PAGER-MOUSE-ACTION| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #2#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-PAGER-MOUSE-ACTION|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|CONS|
+         (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         '(|CLFSWM|::|*PAGER-MOUSE-ACTION*|))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|BUTTON| |CLFSWM|::|FUNCTION-PRESS| |COMMON-LISP|::|&OPTIONAL|
+    |CLFSWM|::|KEYSTRING| |CLFSWM|::|FUNCTION-RELEASE|)))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       5.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46946| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G46947|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION| #1#
+          '(|CLFSWM|::|BUTTON| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|BUTTON| (|COMMON-LISP|::|CAR| #3#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #3#))
+       (|CLFSWM|::|FUNCTION-PRESS| (|COMMON-LISP|::|CADDR| . #2#))
+       (|CLFSWM|::|FUNCTION-RELEASE| (|COMMON-LISP|::|CADDDR| . #2#))
+       (|CLFSWM|::|KEYSTRING| (|COMMON-LISP|::|FIFTH| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-INFO-MOUSE-ACTION|
+       (|COMMON-LISP|::|LIST| '|CLFSWM|::|DEFINE-INFO-MOUSE-ACTION-FUN|
+        (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|BUTTON|
+         (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+        |CLFSWM|::|FUNCTION-PRESS| |CLFSWM|::|KEYSTRING|
+        |CLFSWM|::|FUNCTION-RELEASE|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|UNDEFINE-INFO-MOUSE-ACTION|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|UNDEFINE-INFO-MOUSE-ACTION|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|UNDEFINE-INFO-MOUSE-ACTION|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.
+       2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46960| (|COMMON-LISP|::|CADR| |SYSTEM|::|<MACRO-FORM>|))
+       (#2=#:|G46961|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|CLFSWM|::|UNDEFINE-INFO-MOUSE-ACTION| #1#
+          '(|CLFSWM|::|KEY| |COMMON-LISP|::|&REST| |CLFSWM|::|MODIFIERS|))
+         #1#))
+       (|CLFSWM|::|KEY| (|COMMON-LISP|::|CAR| #2#))
+       (|CLFSWM|::|MODIFIERS| (|COMMON-LISP|::|CDR| #2#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|UNDEFINE-INFO-MOUSE-ACTION|
+       (|COMMON-LISP|::|CONS| '|COMMON-LISP|::|REMHASH|
+        (|COMMON-LISP|::|CONS|
+         (|COMMON-LISP|::|LIST| '|COMMON-LISP|::|LIST| |CLFSWM|::|KEY|
+          (|CLFSWM|::|MODIFIERS->STATE| |CLFSWM|::|MODIFIERS|))
+         '(|CLFSWM|::|*INFO-MOUSE-ACTION*|))))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|DEFINE-UNGRAB/GRAB|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|DEFINE-UNGRAB/GRAB|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFINE-UNGRAB/GRAB|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 4.
+       4.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|CLFSWM|::|NAME|
+        (|COMMON-LISP|::|CADR| . #1=(|SYSTEM|::|<MACRO-FORM>|)))
+       #'(|COMMON-LISP|::|CADDR| . #1#)
+       (|CLFSWM|::|HASHTABLE| (|COMMON-LISP|::|CADDDR| . #1#)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|DEFINE-UNGRAB/GRAB|
+       `(|COMMON-LISP|::|DEFUN| ,|CLFSWM|::|NAME| |COMMON-LISP|::|NIL|
+         (|COMMON-LISP|::|MAPHASH|
+          #'(|COMMON-LISP|::|LAMBDA| (|CLFSWM|::|K| |CLFSWM|::|V|)
+             (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |CLFSWM|::|V|))
+             (|COMMON-LISP|::|WHEN| (|COMMON-LISP|::|CONSP| |CLFSWM|::|K|)
+              (|COMMON-LISP|::|HANDLER-CASE|
+               (|COMMON-LISP|::|LET*|
+                ((|CLFSWM|::|KEY| (|COMMON-LISP|::|FIRST| |CLFSWM|::|K|))
+                 (|CLFSWM|::|KEYCODE|
+                  (|COMMON-LISP|::|TYPECASE| |CLFSWM|::|KEY|
+                   (|COMMON-LISP|::|CHARACTER|
+                    (|CLFSWM|::|CHAR->KEYCODE| |CLFSWM|::|KEY|))
+                   (|COMMON-LISP|::|NUMBER| |CLFSWM|::|KEY|)
+                   (|COMMON-LISP|::|STRING|
+                    (|COMMON-LISP|::|LET|
+                     ((|CLFSWM|::|KEYSYM|
+                       (|CLFSWM|::|KEYSYM-NAME->KEYSYM| |CLFSWM|::|KEY|)))
+                     (|COMMON-LISP|::|AND| |CLFSWM|::|KEYSYM|
+                      (|XLIB|::|KEYSYM->KEYCODES| |CLFSWM|::|*DISPLAY*|
+                       |CLFSWM|::|KEYSYM|)))))))
+                (|COMMON-LISP|::|IF| |CLFSWM|::|KEYCODE|
+                 (,|COMMON-LISP|::|FUNCTION| |CLFSWM|::|*ROOT*|
+                  |CLFSWM|::|KEYCODE| :|MODIFIERS|
+                  (|COMMON-LISP|::|SECOND| |CLFSWM|::|K|))
+                 (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T|
+                  "~&Grabbing error: Can't find key '~A'~%" |CLFSWM|::|KEY|)))
+               (|COMMON-LISP|::|ERROR| (|CLFSWM|::|C|)
+                (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T|
+                 "~&Grabbing error: Can't grab key '~A' (~A)~%" |CLFSWM|::|K|
+                 |CLFSWM|::|C|)))
+              (|COMMON-LISP|::|FORCE-OUTPUT|)))
+          ,|CLFSWM|::|HASHTABLE|)))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GRAB-MAIN-KEYS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|UNGRAB-MAIN-KEYS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FUNCALL-KEY-FROM-CODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|HASH-TABLE-KEY| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+    |COMMON-LISP|::|&OPTIONAL| |CLFSWM|::|ARGS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FUNCALL-BUTTON-FROM-CODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|HASH-TABLE-KEY| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+    |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |COMMON-LISP|::|&OPTIONAL|
+    (|CLFSWM|::|ACTION| #'|COMMON-LISP|::|FIRST|) |CLFSWM|::|ARGS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PRODUCE-DOC-HTML|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|HASH-TABLE-KEY-LIST| |COMMON-LISP|::|&OPTIONAL|
+    (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|T|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PRODUCE-DOC-HTML-IN-FILE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|FILENAME|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PRODUCE-DOC|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|HASH-TABLE-KEY-LIST| |COMMON-LISP|::|&OPTIONAL|
+    (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|T|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PRODUCE-DOC-IN-FILE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|FILENAME|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PRODUCE-ALL-DOCS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: clfswm-keys.lisp
==============================================================================
--- (empty file)
+++ clfswm-keys.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,276 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Tue Feb 12 19:23:14 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Keys functions definition
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+(defun define-hash-table-key-name (hash-table name)
+  (setf (gethash 'name hash-table) name))
+
+;;; CONFIG - Key mode names
+
+(define-hash-table-key-name *main-keys* "Main mode keys")
+(define-hash-table-key-name *second-keys* "Second mode keys")
+(define-hash-table-key-name *mouse-action* "Mouse buttons actions in second mode")
+(define-hash-table-key-name *pager-keys* "Pager mode keys")
+(define-hash-table-key-name *pager-mouse-action* "Mouse buttons actions in pager mode")
+(define-hash-table-key-name *info-keys* "Info mode keys")
+(define-hash-table-key-name *info-mouse-action* "Mouse buttons actions in info mode")
+
+
+(defmacro define-define-key (name hashtable)
+  (let ((name-key-fun (create-symbol "define-" name "-key-fun"))
+	(name-key (create-symbol "define-" name "-key"))
+	(undefine-name (create-symbol "undefine-" name "-key"))
+	(undefine-multi-name (create-symbol "undefine-" name "-multi-keys")))
+    `(progn
+       (defun ,name-key-fun (key function &optional keystring)
+	 "Define a new key, a key is '(char '(modifier list))"
+	 (setf (gethash key ,hashtable) (list function keystring)))
+      
+       (defmacro ,name-key ((key &rest modifiers) function &optional keystring)
+	 `(,',name-key-fun (list ,key ,(modifiers->state modifiers)) ,function ,keystring))
+      
+       (defmacro ,undefine-name ((key &rest modifiers))
+	 `(remhash (list ,key ,(modifiers->state modifiers)) ,',hashtable))
+
+       (defmacro ,undefine-multi-name (&rest keys)
+	 `(progn
+	    ,@(loop for k in keys
+		 collect `(,',undefine-name ,k)))))))
+
+
+(defmacro define-define-mouse (name hashtable)
+  (let ((name-mouse-fun (create-symbol "define-" name "-fun"))
+	(name-mouse (create-symbol "define-" name))
+	(undefine-name (create-symbol "undefine-" name)))
+    `(progn
+       (defun ,name-mouse-fun (button function-press &optional keystring function-release)
+	 "Define a new mouse button action, a button is '(button number '(modifier list))"
+	 (setf (gethash button ,hashtable) (list function-press keystring function-release)))
+      
+       (defmacro ,name-mouse ((button &rest modifiers) function-press &optional function-release keystring)
+	 `(,',name-mouse-fun (list ,button ,(modifiers->state modifiers)) ,function-press ,keystring ,function-release))
+
+       (defmacro ,undefine-name ((key &rest modifiers))
+	 `(remhash (list ,key ,(modifiers->state modifiers)) ,',hashtable)))))
+
+
+
+(define-define-key "main" *main-keys*)
+(define-define-key "second" *second-keys*)
+(define-define-key "pager" *pager-keys*)
+(define-define-key "info" *info-keys*)
+
+
+
+  
+;;(defun undefine-main-keys (&rest keys)
+;;  (dolist (k keys)
+;;    (undefine-main-key k)))
+
+(defun undefine-info-key-fun (key)
+  (remhash key *info-keys*))
+
+(define-define-mouse "mouse-action" *mouse-action*)
+(define-define-mouse "pager-mouse-action" *pager-mouse-action*)
+(define-define-mouse "info-mouse-action" *info-mouse-action*)
+
+
+
+
+
+(defmacro define-ungrab/grab (name function hashtable)
+  `(defun ,name ()
+     (maphash #'(lambda (k v)
+		  (declare (ignore v))
+		  (when (consp k)
+		    (handler-case 
+			(let* ((key (first k))
+			       (keycode (typecase key
+					  (character (char->keycode key))
+					  (number key)
+					  (string (let ((keysym (keysym-name->keysym key)))
+						    (and keysym (xlib:keysym->keycodes *display* keysym)))))))
+			  (if keycode
+			      (,function *root* keycode :modifiers (second k))
+			      (format t "~&Grabbing error: Can't find key '~A'~%" key)))
+		      (error (c)
+			;;(declare (ignore c))
+			(format t "~&Grabbing error: Can't grab key '~A' (~A)~%" k c)))
+		    (force-output)))
+	      ,hashtable)))
+
+(define-ungrab/grab grab-main-keys xlib:grab-key *main-keys*)
+(define-ungrab/grab ungrab-main-keys xlib:ungrab-key *main-keys*)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+(defun funcall-key-from-code (hash-table-key code state &optional args)
+  (labels ((funcall-from (key)
+	     (multiple-value-bind (function foundp)
+		 (gethash (list key state) hash-table-key)
+	       (when (and foundp (first function))
+		 (if args
+		     (funcall (first function) args)
+		     (funcall (first function)))
+		 t)))
+	   (from-code ()
+	     (funcall-from code))
+	   (from-char ()
+	     (let ((char (keycode->char code state)))
+	       (funcall-from char)))
+	   (from-string ()
+	     (let ((string (keysym->keysym-name (xlib:keycode->keysym *display* code 0))))
+	       (funcall-from string))))
+    (cond ((from-code))
+	  ((from-char))
+	  ((from-string)))))
+
+
+
+(defun funcall-button-from-code (hash-table-key code state root-x root-y
+				 &optional (action #'first) args)
+  "Action: first=press third=release"
+  (let ((state (modifiers->state (set-difference (state->modifiers state)
+						 '(:button-1 :button-2 :button-3 :button-4 :button-5)))))
+    (multiple-value-bind (function foundp)
+	(gethash (list code state) hash-table-key)
+      (if (and foundp (funcall action function))
+	  (if args
+	      (funcall (funcall action function) root-x root-y args)
+	      (funcall (funcall action function) root-x root-y))
+	  t))))
+
+
+
+
+;;;,-----
+;;;| Auto documentation tools
+;;;`-----
+
+(defun produce-doc-html (hash-table-key-list &optional (stream t))
+  "Produce an html doc from a hash-table key"
+  (labels ((clean-string (str)
+	     (cond ((string-equal str "#\\:") ":")
+		   ((string-equal str "#\\#") "#")
+		   ((string-equal str "#\\\\") "\\")
+		   (t (substitute #\Space #\#
+				  (substitute #\Space #\\
+					      (substitute #\Space #\: str))))))
+	   (produce-keys (hk)
+	     `("table class=\"ex\" cellspacing=\"5\" border=\"0\" width=\"100%\""
+	       (tr ("th align=\"right\" width=\"10%\"" "Modifiers")
+		   ("th align=\"center\" width=\"10%\"" "Key/Button")
+		   ("th align=\"left\"" "Function"))
+	       ,@(let ((acc nil))
+		      (maphash #'(lambda (k v)
+				   (when (consp k)
+				     (push `(tr
+					     ("td align=\"right\" style=\"color:#FF0000\" nowrap"
+					      ,(clean-string (format nil "~{~@(~S ~)~}" (state->modifiers (second k)))))
+					     ("td align=\"center\" nowrap"
+					      ,(clean-string (format nil "~@(~S~)"
+								     (or (second v)
+									 (and (stringp (first k))
+									      (intern (string-upcase (first k))))
+									 (first k)))))
+					     ("td style=\"color:#0000FF\" nowrap" ,(documentation (or (first v) (third v)) 'function)))
+					   acc)))
+			       hk)
+		      (nreverse acc)))))
+    (produce-html
+     `(html
+       (head
+	(title "CLFSWM Keys"))
+       (body
+	(h1 "CLFSWM Keys")
+	(p (small "Note: Mod-1 is the Meta or Alt key"))
+	,@(let ((acc nil))
+	       (dolist (hk hash-table-key-list)
+		 (push `(h3 (u ,(gethash 'name hk))) acc)
+		 (push (produce-keys hk) acc))
+	       (nreverse acc))))
+     0 stream)))
+
+
+(defun produce-doc-html-in-file (filename)
+  (with-open-file (stream filename :direction :output
+			  :if-exists :supersede :if-does-not-exist :create)
+    (produce-doc-html (list *main-keys* *second-keys* *mouse-action* *pager-keys* *pager-mouse-action*
+			    *info-keys* *info-mouse-action*)
+		      stream)))
+
+
+
+(defun produce-doc (hash-table-key-list &optional (stream t))
+  "Produce a text doc from a hash-table key"
+  (format stream "    * CLFSWM Keys *~%")
+  (format stream "      -----------~%")
+  (format stream "~%Note: Mod-1 is the Meta or Alt key~%")
+  (dolist (hk hash-table-key-list)
+    (format stream "~2&~A:~%" (gethash 'name hk))
+    (dotimes (i (length (gethash 'name hk)))
+      (format stream "-"))
+    (format stream "~2%")
+    (maphash #'(lambda (k v)
+		 (when (consp k)
+		   (format stream "~&~20@<~{~@(~A~) ~}~> ~13@<~@(~A~)~>   ~A~%"
+			   (state->modifiers (second k))
+			   (remove #\# (remove #\\ (format nil "~S" (or (second v)
+									(and (stringp (first k))
+									     (intern (string-upcase (first k))))
+									(first k)))))
+			   (documentation (or (first v) (third v)) 'function))))
+	     hk)
+    (format stream "~2&")))
+
+			   
+
+(defun produce-doc-in-file (filename)
+  (with-open-file (stream filename :direction :output
+			  :if-exists :supersede :if-does-not-exist :create)
+    (produce-doc (list *main-keys* *second-keys* *mouse-action* *pager-keys* *pager-mouse-action*
+		       *info-keys* *info-mouse-action*)
+		 stream)))
+
+
+(defun produce-all-docs ()
+  "Produce all docs in keys.html and keys.txt"
+  (produce-doc-in-file "keys.txt")
+  (produce-doc-html-in-file "keys.html"))
+

Added: clfswm-layout.fas
==============================================================================
--- (empty file)
+++ clfswm-layout.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,491 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 49 (DEFUN SET-LAYOUT (LAYOUT) ...)-2|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-LAYOUT|
+       #30Y(00 00 00 00 01 00 00 00 06 02 6B 00 2F 01 1F 0C 6B 00 AE AD 30 02
+            16 01 2E 03 19 02 19 02)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|GROUP-P|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-LAYOUT|)
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|LAYOUT|) "Set the layout of the current child"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|50 57 (DEFUN GET-MANAGED-CHILD (FATHER) ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GET-MANAGED-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GET-MANAGED-CHILD|
+       #27Y(00 00 00 00 01 00 00 00 06 02 AD 2F 00 1F 0A DB AE 6F 02 38 05 32
+            50 19 02 19 02)
+       (|CLFSWM|::|GROUP-P|
+        #Y(|CLFSWM|::|GET-MANAGED-CHILD-1|
+           #26Y(00 00 00 00 01 00 00 00 06 02 DA AE 32 33 1F 08 AD 6F 01 C7 5A
+                59 19 02 19 02)
+           (|XLIB|::|WINDOW| |CLFSWM|::|WINDOW-TYPE| :|NORMAL|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|X|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|GROUP-CHILD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|FATHER|)
+       "Return only window in normal mode who can be tiled"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|59 60 (DEFUN REGISTER-LAYOUT (LAYOUT) ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|REGISTER-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|REGISTER-LAYOUT|
+       #22Y(00 00 00 00 01 00 00 00 06 02 6B 00 AE 7B 01 33 02 22 0F 00 19 02)
+       (|CLFSWM|::|*LAYOUT-LIST*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|LAYOUT|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|64 66 (DEFGENERIC NO-LAYOUT (CHILD FATHER) ...)-5|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 E5 E6 01 03 BA 6F 0D 1B 24 AF 38 01 80 9E
+         03 14 AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21
+         63 9D FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E8 6B 0F EA BC
+         EB DA 6E 03 12 ED 63 6E 03 14 EF 63 7B 06 33 02 22 9B 0B 02)
+   (|CLFSWM|::|NO-LAYOUT| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    |CLOS|::|<STANDARD-GENERIC-FUNCTION>| |CLOS|::|ENSURE-GENERIC-FUNCTION|
+    :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|DOCUMENTATION|
+    "Maximize windows in there group - leave group to there size"
+    |CLOS|::|METHODS| |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|68 70 (DEFMETHOD NO-LAYOUT (# FATHER) ...)-6|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0B 19
+        01)
+   (|CLFSWM|::|NO-LAYOUT| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|68 70 (DEFMETHOD NO-LAYOUT (# FATHER) ...)-6-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|68 70 (DEFMETHOD NO-LAYOUT (# FATHER) ...)-6-1-1|
+           #43Y(00 00 00 00 02 00 00 00 00 03 AD DA 72 3E 72 97 AE DB 72 3E 72
+                97 DC B0 DD 72 3E 73 02 35 DC B1 DE 72 3E 73 02 35 63 40 05 19
+                03)
+           (|CLFSWM|::|RX| |CLFSWM|::|RY| -2. |CLFSWM|::|RW| |CLFSWM|::|RH|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |XLIB|::|WINDOW| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|72 79 (DEFMETHOD NO-LAYOUT (# FATHER) ...)-7|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 E4 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0B 19
+        01)
+   (|CLFSWM|::|NO-LAYOUT| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|72 79 (DEFMETHOD NO-LAYOUT (# FATHER) ...)-7-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|72 79 (DEFMETHOD NO-LAYOUT (# FATHER) ...)-7-1-1|
+           #89Y(00 00 00 00 02 00 00 00 00 03 AE DA 72 3E AE DB 72 3E 73 02 37
+                AE DC 72 3E 73 02 35 38 01 72 B7 AF DD 72 3E AF DE 72 3E 73 02
+                37 AF DF 72 3E 73 02 35 38 01 72 B7 B0 E0 72 3E B0 DB 72 3E 73
+                02 37 38 01 72 B7 B1 E1 72 3E B1 DE 72 3E 73 02 37 38 01 72 B7
+                64 40 05 19 03)
+           (|CLFSWM|::|X| |CLFSWM|::|RW| |CLFSWM|::|RX| |CLFSWM|::|Y|
+            |CLFSWM|::|RH| |CLFSWM|::|RY| |CLFSWM|::|W| |CLFSWM|::|H|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLFSWM|::|GROUP| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|81 83 (DEFUN SET-NO-LAYOUT NIL ...)-8|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-NO-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-NO-LAYOUT|
+       #16Y(00 00 00 00 00 00 00 00 06 01 99 00 2F 01 19 01)
+       (|CLFSWM|::|NO-LAYOUT| |CLFSWM|::|SET-LAYOUT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Maximize windows in there group - leave group to there size"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|85 85 (REGISTER-LAYOUT 'SET-NO-LAYOUT)-9|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 19 01)
+   (|CLFSWM|::|SET-NO-LAYOUT| |CLFSWM|::|REGISTER-LAYOUT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|90 92 (DEFGENERIC TILE-LAYOUT (CHILD FATHER) ...)-10|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 E5 E6 01 03 BA 6F 0D 1B 24 AF 38 01 80 9E
+         03 14 AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21
+         63 9D FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E8 6B 0F EA BC
+         EB DA 6E 03 12 ED 63 6E 03 14 EF 63 7B 06 33 02 22 9B 0B 02)
+   (|CLFSWM|::|TILE-LAYOUT| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    |CLOS|::|<STANDARD-GENERIC-FUNCTION>| |CLOS|::|ENSURE-GENERIC-FUNCTION|
+    :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|DOCUMENTATION|
+    "Tile child in its group" |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|94 105 (DEFMETHOD TILE-LAYOUT (CHILD FATHER) ...)-11|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 64 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0A 19
+        01)
+   (|CLFSWM|::|TILE-LAYOUT| |SYSTEM|::|TRACED-DEFINITION| |SYSTEM|::|UNTRACE1|
+    #Y(#:|94 105 (DEFMETHOD TILE-LAYOUT (CHILD FATHER) ...)-11-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|94 105 (DEFMETHOD TILE-LAYOUT (CHILD FATHER) ...)-11-1-1|
+           #125Y(00 00 00 00 02 00 00 00 00 03 AD 6F 00 AF AD 38 06 72 60 AD 72
+                 48 AC 72 9D 38 01 72 B5 B1 6F 01 AD 73 01 38 B2 6F 02 AF AF 73
+                 01 38 38 01 72 B5 73 01 38 DD B4 6F 04 B2 B1 72 B8 B0 73 02 37
+                 38 01 72 B6 73 03 35 38 01 72 B7 DD B5 6F 05 B3 B2 73 01 38 38
+                 01 72 B6 B0 73 02 37 38 01 72 B6 73 03 35 38 01 72 B7 E0 B0 73
+                 02 35 38 01 72 B7 E0 B0 73 02 35 38 01 72 B7 63 40 05 19 09)
+           (|CLFSWM|::|GET-MANAGED-CHILD| |CLFSWM|::|GROUP-RW|
+            |CLFSWM|::|GROUP-RH| 1. |CLFSWM|::|GROUP-RX| |CLFSWM|::|GROUP-RY|
+            -2.)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|107 109 (DEFUN SET-TILE-LAYOUT NIL ...)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-TILE-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-TILE-LAYOUT|
+       #16Y(00 00 00 00 00 00 00 00 06 01 99 00 2F 01 19 01)
+       (|CLFSWM|::|TILE-LAYOUT| |CLFSWM|::|SET-LAYOUT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Tile child in its group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|111 111 (REGISTER-LAYOUT 'SET-TILE-LAYOUT)-13|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 19 01)
+   (|CLFSWM|::|SET-TILE-LAYOUT| |CLFSWM|::|REGISTER-LAYOUT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|114 119 (DEFUN LAYOUT-ASK-SIZE (MSG SLOT &OPTIONAL ...) ...)-14|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|LAYOUT-ASK-SIZE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|LAYOUT-ASK-SIZE|
+       #52Y(00 00 00 00 02 00 01 00 06 09 3B 01 02 C5 F9 6B 01 2F 02 1F 1D DD
+            B0 88 04 01 9F 14 73 02 37 DF AD E0 33 02 31 1F 09 6B 01 B0 AE 2D
+            03 07 19 05 19 05 19 04)
+       (80. |CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|GROUP-P| #10r1/100
+        |CLFSWM|::|QUERY-NUMBER| 0. 1. |CLFSWM|::|SET-GROUP-DATA-SLOT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|MSG| |CLFSWM|::|SLOT| |COMMON-LISP|::|&OPTIONAL|
+        (|COMMON-LISP|::|MIN| 80.))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|124 125 (DEFGENERIC TILE-LEFT-LAYOUT (CHILD FATHER) ...)-15|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 E5 E6 01 03 BA 6F 0D 1B 24 AF 38 01 80 9E
+         03 14 AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21
+         63 9D FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E8 6B 0F EA BC
+         EB DA 6E 03 12 ED 63 6E 03 14 EF 63 7B 06 33 02 22 9B 0B 02)
+   (|CLFSWM|::|TILE-LEFT-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1| |CLOS|::|<STANDARD-GENERIC-FUNCTION>|
+    |CLOS|::|ENSURE-GENERIC-FUNCTION| :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|DOCUMENTATION|
+    "Tile Left: main child on left and others on right" |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|127 144 (DEFMETHOD TILE-LEFT-LAYOUT (CHILD FATHER) ...)-16|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 64 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0A 19
+        01)
+   (|CLFSWM|::|TILE-LEFT-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1|
+    #Y(#:|127 144 (DEFMETHOD TILE-LEFT-LAYOUT (CHILD FATHER) ...)-16-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|127 144 (DEFMETHOD TILE-LEFT-LAYOUT (CHILD FATHER) ...)-16-1-1|
+           #158Y(00 00 00 00 02 00 00 00 00 03 AD 6F 00 AF AD 38 06 72 60 AD 72
+                 48 72 98 DB 73 01 33 B0 DC 72 3E AD 73 01 38 B1 DD 8A 04 01 CA
+                 14 AF 8E 92 80 4B B2 E0 72 3E B3 E3 72 3E AE 73 02 37 73 02 35
+                 38 01 72 B7 72 97 B3 E1 72 3E AF 97 06 73 02 37 73 02 35 38 01
+                 72 B7 72 97 E2 B5 E3 72 3E DB B1 73 01 36 73 02 37 38 01 72 B7
+                 73 02 35 E2 B1 38 01 32 B7 14 73 02 35 63 40 05 19 08 B2 E0 72
+                 3E 72 97 B3 E1 72 3E 72 97 E2 B5 E3 72 3E B0 73 02 37 38 01 72
+                 B7 73 02 35 E2 B6 DC 32 3E 1B 54)
+           (|CLFSWM|::|GET-MANAGED-CHILD| 1. |CLFSWM|::|RH| :|TILE-SIZE|
+            |CLFSWM|::|GROUP-DATA-SLOT| 0.8f0 |CLFSWM|::|RX| |CLFSWM|::|RY| -2.
+            |CLFSWM|::|RW|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|147 150 (DEFUN SET-TILE-LEFT-LAYOUT NIL ...)-17|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-TILE-LEFT-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-TILE-LEFT-LAYOUT|
+       #20Y(00 00 00 00 00 00 00 00 06 01 DA DB 30 02 99 03 2F 04 19 01)
+       ("Tile size in percent (%)" :|TILE-SIZE| |CLFSWM|::|LAYOUT-ASK-SIZE|
+        |CLFSWM|::|TILE-LEFT-LAYOUT| |CLFSWM|::|SET-LAYOUT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Tile Left: main child on left and others on right"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|152 152 (REGISTER-LAYOUT 'SET-TILE-LEFT-LAYOUT)-18|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 19 01)
+   (|CLFSWM|::|SET-TILE-LEFT-LAYOUT| |CLFSWM|::|REGISTER-LAYOUT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|156 158 (DEFGENERIC TILE-RIGHT-LAYOUT (CHILD FATHER) ...)-19|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 E5 E6 01 03 BA 6F 0D 1B 24 AF 38 01 80 9E
+         03 14 AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21
+         63 9D FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E8 6B 0F EA BC
+         EB DA 6E 03 12 ED 63 6E 03 14 EF 63 7B 06 33 02 22 9B 0B 02)
+   (|CLFSWM|::|TILE-RIGHT-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1| |CLOS|::|<STANDARD-GENERIC-FUNCTION>|
+    |CLOS|::|ENSURE-GENERIC-FUNCTION| :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|DOCUMENTATION|
+    "Tile Right: main child on right and others on left" |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|160 177 (DEFMETHOD TILE-RIGHT-LAYOUT (CHILD FATHER) ...)-20|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 64 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0A 19
+        01)
+   (|CLFSWM|::|TILE-RIGHT-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1|
+    #Y(#:|160 177 (DEFMETHOD TILE-RIGHT-LAYOUT (CHILD FATHER) ...)-20-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|160 177 (DEFMETHOD TILE-RIGHT-LAYOUT (CHILD FATHER) ...)-20-1-1|
+           #161Y(00 00 00 00 02 00 00 00 00 03 AD 6F 00 AF AD 38 06 72 60 AD 72
+                 48 72 98 DB 73 01 33 B0 DC 72 3E AD 73 01 38 B1 DD 8A 04 01 CA
+                 14 AF 8E 92 3C B2 E0 72 3E 72 97 B3 E2 72 3E AF 97 06 73 02 37
+                 73 02 35 38 01 72 B7 72 97 E3 B5 E1 72 3E DB B1 73 01 36 73 02
+                 37 38 01 72 B7 73 02 35 E3 B1 38 01 32 B7 14 73 02 35 63 40 05
+                 19 08 B2 E0 72 3E B3 E1 72 3E DB AF 73 01 36 73 02 37 73 02 35
+                 38 01 72 B7 72 97 B3 E2 72 3E 72 97 E3 B5 E1 72 3E B0 73 02 37
+                 38 01 72 B7 73 02 35 E3 B6 DC 32 3E 1B 41)
+           (|CLFSWM|::|GET-MANAGED-CHILD| 1. |CLFSWM|::|RH| :|TILE-SIZE|
+            |CLFSWM|::|GROUP-DATA-SLOT| 0.8f0 |CLFSWM|::|RX| |CLFSWM|::|RW|
+            |CLFSWM|::|RY| -2.)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|180 183 (DEFUN SET-TILE-RIGHT-LAYOUT NIL ...)-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-TILE-RIGHT-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-TILE-RIGHT-LAYOUT|
+       #20Y(00 00 00 00 00 00 00 00 06 01 DA DB 30 02 99 03 2F 04 19 01)
+       ("Tile size in percent (%)" :|TILE-SIZE| |CLFSWM|::|LAYOUT-ASK-SIZE|
+        |CLFSWM|::|TILE-RIGHT-LAYOUT| |CLFSWM|::|SET-LAYOUT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Tile Right: main child on right and others on left"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|186 186 (REGISTER-LAYOUT 'SET-TILE-RIGHT-LAYOUT)-22|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 19 01)
+   (|CLFSWM|::|SET-TILE-RIGHT-LAYOUT| |CLFSWM|::|REGISTER-LAYOUT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|191 193 (DEFGENERIC TILE-TOP-LAYOUT (CHILD FATHER) ...)-23|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 E5 E6 01 03 BA 6F 0D 1B 24 AF 38 01 80 9E
+         03 14 AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21
+         63 9D FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E8 6B 0F EA BC
+         EB DA 6E 03 12 ED 63 6E 03 14 EF 63 7B 06 33 02 22 9B 0B 02)
+   (|CLFSWM|::|TILE-TOP-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1| |CLOS|::|<STANDARD-GENERIC-FUNCTION>|
+    |CLOS|::|ENSURE-GENERIC-FUNCTION| :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|DOCUMENTATION|
+    "Tile Top: main child on top and others on bottom" |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|195 212 (DEFMETHOD TILE-TOP-LAYOUT (CHILD FATHER) ...)-24|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 64 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0A 19
+        01)
+   (|CLFSWM|::|TILE-TOP-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1|
+    #Y(#:|195 212 (DEFMETHOD TILE-TOP-LAYOUT (CHILD FATHER) ...)-24-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|195 212 (DEFMETHOD TILE-TOP-LAYOUT (CHILD FATHER) ...)-24-1-1|
+           #151Y(00 00 00 00 02 00 00 00 00 03 AD 6F 00 AF AD 38 06 72 60 AD 72
+                 48 72 98 DB 73 01 33 B0 DC 72 3E AD 73 01 38 B1 DD 8A 04 01 CA
+                 14 AF 8E 92 80 4B B2 E0 72 3E AE 97 05 73 02 37 73 02 35 38 01
+                 72 B7 72 97 B3 E1 72 3E B4 E3 72 3E AF 73 02 37 73 02 35 38 01
+                 72 B7 72 97 E2 B0 38 01 72 B7 73 02 35 E2 B6 E3 72 3E DB B2 33
+                 01 36 14 73 02 37 38 01 72 B7 73 02 35 63 40 05 19 08 B2 E0 72
+                 3E 72 97 B3 E1 72 3E 72 97 E2 B5 DC 72 3E 73 02 35 E2 B6 E3 72
+                 3E A2 1B 54)
+           (|CLFSWM|::|GET-MANAGED-CHILD| 1. |CLFSWM|::|RW| :|TILE-SIZE|
+            |CLFSWM|::|GROUP-DATA-SLOT| 0.8f0 |CLFSWM|::|RX| |CLFSWM|::|RY| -2.
+            |CLFSWM|::|RH|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|215 218 (DEFUN SET-TILE-TOP-LAYOUT NIL ...)-25|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-TILE-TOP-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-TILE-TOP-LAYOUT|
+       #20Y(00 00 00 00 00 00 00 00 06 01 DA DB 30 02 99 03 2F 04 19 01)
+       ("Tile size in percent (%)" :|TILE-SIZE| |CLFSWM|::|LAYOUT-ASK-SIZE|
+        |CLFSWM|::|TILE-TOP-LAYOUT| |CLFSWM|::|SET-LAYOUT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Tile Top: main child on top and others on bottom"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|220 220 (REGISTER-LAYOUT 'SET-TILE-TOP-LAYOUT)-26|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 19 01)
+   (|CLFSWM|::|SET-TILE-TOP-LAYOUT| |CLFSWM|::|REGISTER-LAYOUT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|224 226 (DEFGENERIC TILE-BOTTOM-LAYOUT (CHILD FATHER) ...)-27|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 E5 E6 01 03 BA 6F 0D 1B 24 AF 38 01 80 9E
+         03 14 AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21
+         63 9D FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E8 6B 0F EA BC
+         EB DA 6E 03 12 ED 63 6E 03 14 EF 63 7B 06 33 02 22 9B 0B 02)
+   (|CLFSWM|::|TILE-BOTTOM-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1| |CLOS|::|<STANDARD-GENERIC-FUNCTION>|
+    |CLOS|::|ENSURE-GENERIC-FUNCTION| :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|DOCUMENTATION|
+    "Tile Bottom: main child on bottom and others on top" |CLOS|::|METHODS|
+    |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|228 243 (DEFMETHOD TILE-BOTTOM-LAYOUT (CHILD FATHER) ...)-28|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 64 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0A 19
+        01)
+   (|CLFSWM|::|TILE-BOTTOM-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1|
+    #Y(#:|228 243 (DEFMETHOD TILE-BOTTOM-LAYOUT (CHILD FATHER) ...)-28-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|228 243 (DEFMETHOD TILE-BOTTOM-LAYOUT (CHILD FATHER) ...)-28-1-1|
+           #153Y(00 00 00 00 02 00 00 00 00 03 AD 6F 00 AF AD 38 06 72 60 AD 72
+                 48 72 98 DB 73 01 33 B0 DC 72 3E AD 73 01 38 B1 DD 8A 04 01 CA
+                 14 AF 8E 92 3B B2 E0 72 3E AE 97 05 73 02 37 73 02 35 38 01 72
+                 B7 72 97 B3 E1 72 3E 72 97 E3 B0 38 01 72 B7 73 02 35 E3 B6 E2
+                 72 3E DB B2 33 01 36 14 73 02 37 38 01 72 B7 73 02 35 40 04 19
+                 08 B2 E0 72 3E 72 97 B3 E1 72 3E B4 E2 72 3E DB B0 73 01 36 73
+                 02 37 73 02 35 38 01 72 B7 72 97 E3 B5 DC 72 3E 73 02 35 E3 B6
+                 E2 72 3E A2 1B 42)
+           (|CLFSWM|::|GET-MANAGED-CHILD| 1. |CLFSWM|::|RW| :|TILE-SIZE|
+            |CLFSWM|::|GROUP-DATA-SLOT| 0.8f0 |CLFSWM|::|RX| |CLFSWM|::|RY|
+            |CLFSWM|::|RH| -2.)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|247 250 (DEFUN SET-TILE-BOTTOM-LAYOUT NIL ...)-29|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-TILE-BOTTOM-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-TILE-BOTTOM-LAYOUT|
+       #20Y(00 00 00 00 00 00 00 00 06 01 DA DB 30 02 99 03 2F 04 19 01)
+       ("Tile size in percent (%)" :|TILE-SIZE| |CLFSWM|::|LAYOUT-ASK-SIZE|
+        |CLFSWM|::|TILE-BOTTOM-LAYOUT| |CLFSWM|::|SET-LAYOUT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Tile Bottom: main child on bottom and others on top"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|253 253 (REGISTER-LAYOUT 'SET-TILE-BOTTOM-LAYOUT)-30|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 19 01)
+   (|CLFSWM|::|SET-TILE-BOTTOM-LAYOUT| |CLFSWM|::|REGISTER-LAYOUT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|259 261 (DEFGENERIC TILE-SPACE-LAYOUT (CHILD FATHER) ...)-31|
+   #112Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 6B 03 99
+         04 DA DF AF E0 E1 E2 E3 E4 E5 E6 01 03 BA 6F 0D 1B 24 AF 38 01 80 9E
+         03 14 AD 31 AD 16 02 1B 14 94 00 94 00 9E 5C 5C 78 76 00 7B 02 A1 21
+         63 9D FC FB 16 02 83 00 AC 8D 94 66 16 01 9E 16 01 F8 E8 6B 0F EA BC
+         EB DA 6E 03 12 ED 63 6E 03 14 EF 63 7B 06 33 02 22 9B 0B 02)
+   (|CLFSWM|::|TILE-SPACE-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1| |CLOS|::|<STANDARD-GENERIC-FUNCTION>|
+    |CLOS|::|ENSURE-GENERIC-FUNCTION| :|GENERIC-FUNCTION-CLASS| :|LAMBDA-LIST|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|ARGUMENT-PRECEDENCE-ORDER|
+    (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|) :|DOCUMENTATION|
+    "Tile Space: tile child in its group leaving spaces between them"
+    |CLOS|::|METHODS| |CLOS|::|CLASS-DEFAULT-INITARGS| :|METHOD-CLASS|
+    |CLOS|::|<STANDARD-METHOD>| :|METHOD-COMBINATION| :|NAME|
+    |CLOS|::|MAKE-GENERIC-FUNCTION-PROTOTYPE| |CLOS|::|STANDARD|
+    |CLOS|::|FIND-METHOD-COMBINATION| :|DECLARATIONS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|263 277 (DEFMETHOD TILE-SPACE-LAYOUT (CHILD FATHER) ...)-32|
+   #48Y(00 00 00 00 00 00 00 00 00 01 DA DB 38 01 8F 85 03 DA 2F 02 DA DD DE 63
+        DF E0 E1 E2 E3 64 38 02 72 2A 64 38 02 72 2A 7B 02 7B 08 2D 03 0A 19
+        01)
+   (|CLFSWM|::|TILE-SPACE-LAYOUT| |SYSTEM|::|TRACED-DEFINITION|
+    |SYSTEM|::|UNTRACE1|
+    #Y(#:|263 277 (DEFMETHOD TILE-SPACE-LAYOUT (CHILD FATHER) ...)-32-1|
+       #15Y(00 00 00 00 01 00 00 00 00 02 DA C6 5D 19 02)
+       (#Y(#:|263 277 (DEFMETHOD TILE-SPACE-LAYOUT (CHILD FATHER) ...)-32-1-1|
+           #166Y(00 00 00 00 02 00 00 00 00 03 AD 6F 00 AF AD 38 06 72 60 AD 72
+                 48 AC 72 9D 38 01 72 B5 B1 DB 72 3E AD 73 01 38 B2 DC 72 3E AF
+                 AF 73 01 38 38 01 72 B5 73 01 38 B3 DD 8A 04 01 CA 14 AC E0 91
+                 01 30 02 CC F8 E2 B5 E3 72 3E B3 B2 72 B8 B1 73 02 37 38 01 72
+                 B6 B1 B0 73 02 37 73 04 35 38 01 72 B7 E2 B6 E4 72 3E B4 B3 73
+                 01 38 38 01 72 B6 B1 73 02 37 38 01 72 B6 B1 B1 73 02 37 73 04
+                 35 38 01 72 B7 B0 E5 E5 B3 B2 73 03 37 73 02 36 38 01 72 B7 B0
+                 E5 E5 B3 B3 73 03 37 73 02 36 38 01 72 B7 63 40 05 19 0A)
+           (|CLFSWM|::|GET-MANAGED-CHILD| |CLFSWM|::|RW| |CLFSWM|::|RH|
+            :|TILE-SPACE-SIZE| |CLFSWM|::|GROUP-DATA-SLOT| 0.1f0 0.5f0 0.45f0
+            1. |CLFSWM|::|RX| |CLFSWM|::|RY| 2.)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        (|COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+    :|QUALIFIERS| :|LAMBDA-LIST| (|CLFSWM|::|CHILD| |CLFSWM|::|FATHER|)
+    |CLOS|::|SIGNATURE|
+    #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+      |COMMON-LISP|::|NIL|)
+    :|SPECIALIZERS| |CLOS|::|DO-DEFMETHOD|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|279 282 (DEFUN SET-SPACE-TILE-LAYOUT NIL ...)-33|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-SPACE-TILE-LAYOUT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-SPACE-TILE-LAYOUT|
+       #22Y(00 00 00 00 00 00 00 00 06 01 DA DB DC 2D 03 03 99 04 2F 05 19 01)
+       ("Space size in percent (%)" :|TILE-SPACE-SIZE| 10.
+        |CLFSWM|::|LAYOUT-ASK-SIZE| |CLFSWM|::|TILE-SPACE-LAYOUT|
+        |CLFSWM|::|SET-LAYOUT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Tile Space: tile child in its group leaving spaces between them"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|284 284 (REGISTER-LAYOUT 'SET-SPACE-TILE-LAYOUT)-34|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 19 01)
+   (|CLFSWM|::|SET-SPACE-TILE-LAYOUT| |CLFSWM|::|REGISTER-LAYOUT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: clfswm-layout.fasl
==============================================================================
Binary file. No diff available.

Added: clfswm-layout.lib
==============================================================================
--- (empty file)
+++ clfswm-layout.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,87 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|LAYOUT|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GET-MANAGED-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|FATHER|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|REGISTER-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|LAYOUT|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NO-LAYOUT|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NO-LAYOUT|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NO-LAYOUT|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-NO-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-LAYOUT|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-LAYOUT|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-TILE-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|LAYOUT-ASK-SIZE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|MSG| |CLFSWM|::|SLOT| |COMMON-LISP|::|&OPTIONAL|
+    (|COMMON-LISP|::|MIN| 80.))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-LEFT-LAYOUT|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-LEFT-LAYOUT|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-TILE-LEFT-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-RIGHT-LAYOUT|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-RIGHT-LAYOUT|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-TILE-RIGHT-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-TOP-LAYOUT|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-TOP-LAYOUT|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-TILE-TOP-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-BOTTOM-LAYOUT|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-BOTTOM-LAYOUT|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-TILE-BOTTOM-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-SPACE-LAYOUT|
+ '#(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+    |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFGENERIC|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|TILE-SPACE-LAYOUT|
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-SPACE-TILE-LAYOUT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: clfswm-layout.lisp
==============================================================================
--- (empty file)
+++ clfswm-layout.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,284 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Wed Feb 27 22:19:57 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Layout functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+;;; CONFIG - Layout menu
+;;;
+;;; To add a new layout:
+;;;   1- define your own layout: a method returning the real size of the
+;;;      child in screen size (integer) as 5 values (rx, ry, rw, rh, raise-p).
+;;;      This method can use the float size of the child (x, y ,w , h).
+;;;      It can be specialised for xlib:window or group
+;;;   2- Define a seter function for your layout
+;;;   3- Register your new layout with register-layout.
+
+
+
+
+;;; Generic functions
+(defun set-layout (layout)
+  "Set the layout of the current child"
+  (when (group-p *current-child*)
+    (setf (group-layout *current-child*) layout)
+    (leave-second-mode)))
+    ;;(show-all-childs)))
+
+(defun get-managed-child (father)
+  "Return only window in normal mode who can be tiled"
+  (when (group-p father)
+    (remove-if #'(lambda (x)
+		   (and (xlib:window-p x) (not (eql (window-type x) :normal))))
+	       (group-child father))))
+
+(defun register-layout (layout)
+  (setf *layout-list* (append *layout-list* (list layout))))
+
+
+
+;;; No layout
+(defgeneric no-layout (child father)
+  (:documentation "Maximize windows in there group - leave group to there size"))
+
+(defmethod no-layout ((child xlib:window) father)
+  (with-slots (rx ry rw rh) father
+    (values (1+ rx)  (1+ ry) (- rw 2) (- rh 2) nil)))
+
+(defmethod no-layout ((child group) father)
+  (with-slots ((cx x) (cy y) (cw w) (ch h)) child
+    (with-slots ((frx rx) (fry ry) (frw rw) (frh rh)) father
+      (values (round (+ (* cx frw) frx))
+	      (round (+ (* cy frh) fry))
+	      (round (* cw frw))
+	      (round (* ch frh))
+	      t))))
+
+(defun set-no-layout ()
+  "Maximize windows in there group - leave group to there size"
+  (set-layout #'no-layout))
+
+(register-layout 'set-no-layout)
+
+
+
+
+;;; Tile layout
+(defgeneric tile-layout (child father)
+  (:documentation "Tile child in its group"))
+
+(defmethod tile-layout (child father)
+  (let* ((managed-childs (get-managed-child father))
+	 (pos (position child managed-childs))
+	 (len (length managed-childs))
+	 (n (ceiling (sqrt len)))
+	 (dx (/ (group-rw father) n))
+	 (dy (/ (group-rh father) (ceiling (/ len n)))))
+    (values (round (+ (group-rx father) (truncate (* (mod pos n) dx)) 1))
+	    (round (+ (group-ry father) (truncate (* (truncate (/ pos n)) dy)) 1))
+	    (round (- dx 2))
+	    (round (- dy 2))
+	    nil)))
+
+(defun set-tile-layout ()
+  "Tile child in its group"
+  (set-layout #'tile-layout))
+
+(register-layout 'set-tile-layout)
+
+
+;;; Tile Left
+(defun layout-ask-size (msg slot &optional (min 80))
+  (when (group-p *current-child*)
+    (let ((new-size (/ (or (query-number msg) min) 100)))
+      (when (<= 0 new-size 1)
+	(setf (group-data-slot *current-child* slot) new-size)))))
+
+
+
+
+(defgeneric tile-left-layout (child father)
+  (:documentation "Tile Left: main child on left and others on right"))
+
+(defmethod tile-left-layout (child father)
+  (with-slots (rx ry rw rh) father
+    (let* ((managed-childs (get-managed-child father))
+	   (pos (position child managed-childs))
+	   (len (max (1- (length managed-childs)) 1))
+	   (dy (/ rh len))
+	   (size (or (group-data-slot father :tile-size) 0.8)))
+	(if (= pos 0)
+	    (values (1+ rx)
+		    (1+ ry)
+		    (- (round (* rw size)) 2)
+		    (- rh 2)
+		    nil)
+	    (values (1+ (round (+ rx (* rw size))))
+		    (1+ (round (+ ry (* dy (1- pos)))))
+		    (- (round (* rw (- 1 size))) 2)
+		    (- (round dy) 2)
+		    nil)))))
+
+
+(defun set-tile-left-layout ()
+  "Tile Left: main child on left and others on right"
+  (layout-ask-size "Tile size in percent (%)" :tile-size)
+  (set-layout #'tile-left-layout))
+
+(register-layout 'set-tile-left-layout)
+
+
+
+;;; Tile right
+(defgeneric tile-right-layout (child father)
+  (:documentation "Tile Right: main child on right and others on left"))
+
+(defmethod tile-right-layout (child father)
+  (with-slots (rx ry rw rh) father
+    (let* ((managed-childs (get-managed-child father))
+	   (pos (position child managed-childs))
+	   (len (max (1- (length managed-childs)) 1))
+	   (dy (/ rh len))
+	   (size (or (group-data-slot father :tile-size) 0.8)))
+      (if (= pos 0)
+	  (values (1+ (round (+ rx (* rw (- 1 size)))))
+		  (1+ ry)
+		  (- (round (* rw size)) 2)
+		  (- rh 2)
+		  nil)
+	  (values (1+ rx)
+		  (1+ (round (+ ry (* dy (1- pos)))))
+		  (- (round (* rw (- 1 size))) 2)
+		  (- (round dy) 2)
+		  nil)))))
+
+
+(defun set-tile-right-layout ()
+  "Tile Right: main child on right and others on left"
+  (layout-ask-size "Tile size in percent (%)" :tile-size)
+  (set-layout #'tile-right-layout))
+
+
+(register-layout 'set-tile-right-layout)
+
+
+
+
+;;; Tile Top
+(defgeneric tile-top-layout (child father)
+  (:documentation "Tile Top: main child on top and others on bottom"))
+
+(defmethod tile-top-layout (child father)
+  (with-slots (rx ry rw rh) father
+    (let* ((managed-childs (get-managed-child father))
+	   (pos (position child managed-childs))
+	   (len (max (1- (length managed-childs)) 1))
+	   (dx (/ rw len))
+	   (size (or (group-data-slot father :tile-size) 0.8)))
+	(if (= pos 0)
+	    (values (1+ rx)
+		    (1+ ry)
+		    (- rw 2)
+		    (- (round (* rh size)) 2)
+		    nil)
+	    (values (1+ (round (+ rx (* dx (1- pos)))))
+		    (1+ (round (+ ry (* rh size))))
+		    (- (round dx) 2)
+		    (- (round (* rh (- 1 size))) 2)
+		    nil)))))
+
+
+(defun set-tile-top-layout ()
+  "Tile Top: main child on top and others on bottom"
+  (layout-ask-size "Tile size in percent (%)" :tile-size)
+  (set-layout #'tile-top-layout))
+
+(register-layout 'set-tile-top-layout)
+
+
+
+;;; Tile Bottom
+(defgeneric tile-bottom-layout (child father)
+  (:documentation "Tile Bottom: main child on bottom and others on top"))
+
+(defmethod tile-bottom-layout (child father)
+  (with-slots (rx ry rw rh) father
+    (let* ((managed-childs (get-managed-child father))
+	   (pos (position child managed-childs))
+	   (len (max (1- (length managed-childs)) 1))
+	   (dx (/ rw len))
+	   (size (or (group-data-slot father :tile-size) 0.8)))
+      (if (= pos 0)
+	  (values (1+ rx)
+		  (1+ (round (+ ry (* rh (- 1 size)))))
+		  (- rw 2)
+		  (- (round (* rh size)) 2))
+	  (values (1+ (round (+ rx (* dx (1- pos)))))
+		  (1+ ry)
+		  (- (round dx) 2)
+		  (- (round (* rh (- 1 size))) 2))))))
+
+
+
+(defun set-tile-bottom-layout ()
+  "Tile Bottom: main child on bottom and others on top"
+  (layout-ask-size "Tile size in percent (%)" :tile-size)
+  (set-layout #'tile-bottom-layout))
+
+
+(register-layout 'set-tile-bottom-layout)
+
+
+
+
+
+;;; Space layout
+(defgeneric tile-space-layout (child father)
+  (:documentation "Tile Space: tile child in its group leaving spaces between them"))
+
+(defmethod tile-space-layout (child father)
+  (with-slots (rx ry rw rh) father
+    (let* ((managed-childs (get-managed-child father))
+	   (pos (position child managed-childs))
+	   (len (length managed-childs))
+	   (n (ceiling (sqrt len)))
+	   (dx (/ rw n))
+	   (dy (/ rh (ceiling (/ len n))))
+	   (size (or (group-data-slot father :tile-space-size) 0.1)))
+      (when (> size 0.5) (setf size 0.45))
+      (values (round (+ rx (truncate (* (mod pos n) dx)) (* dx size) 1))
+	      (round (+ ry (truncate (* (truncate (/ pos n)) dy)) (* dy size) 1))
+	      (round (- dx (* dx size 2) 2))
+	      (round (- dy (* dy size 2) 2))
+	      nil))))
+
+(defun set-space-tile-layout ()
+  "Tile Space: tile child in its group leaving spaces between them"
+  (layout-ask-size "Space size in percent (%)" :tile-space-size 10)
+  (set-layout #'tile-space-layout))
+
+(register-layout 'set-space-tile-layout)

Added: clfswm-pack.lisp
==============================================================================
--- (empty file)
+++ clfswm-pack.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,479 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Tue Feb 12 14:02:45 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Tile, pack and fill functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+;;;,-----
+;;;| Tile functions
+;;;`-----
+(defun tile-workspace-vertically (workspace)
+  "Tile a workspace vertically"
+  (let* ((len (max (length (workspace-group-list workspace)) 1))
+	 (n (ceiling (sqrt len)))
+	 (dx (/ (xlib:screen-width *screen*) n))
+	 (dy (/ (xlib:screen-height *screen*) (ceiling (/ len n)))))
+    (loop for group in (workspace-group-list workspace)
+       for i from 0 do
+       (setf (group-x group) (1+ (truncate (* (mod i n) dx)))
+	     (group-y group) (1+ (truncate (* (truncate (/ i n)) dy)))
+	     (group-width group) (- (truncate dx) 2)
+	     (group-height group) (- (truncate dy) 2)))))
+
+
+(defun tile-current-workspace-vertically ()
+  "Tile the current workspace vertically"
+  (minimize-group (current-group))
+  (tile-workspace-vertically (current-workspace))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+
+(defun tile-workspace-horizontally (workspace)
+  "Tile a workspace horizontally"
+  (let* ((len (max (length (workspace-group-list workspace)) 1))
+	 (n (ceiling (sqrt len)))
+	 (dx (/ (xlib:screen-width *screen*) (ceiling (/ len n))))
+	 (dy (/ (xlib:screen-height *screen*) n)))
+    (loop for group in (workspace-group-list workspace)
+       for i from 0 do
+       (setf (group-x group) (1+ (truncate (* (truncate (/ i n)) dx)))
+	     (group-y group) (1+ (truncate (* (mod i n) dy)))
+	     (group-width group) (- (truncate dx) 2)
+	     (group-height group) (- (truncate dy) 2)))))
+
+
+(defun tile-current-workspace-horizontally ()
+  "Tile the current workspace horizontally"
+  (minimize-group (current-group))
+  (tile-workspace-horizontally (current-workspace))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun tile-workspace-right (workspace)
+  "Tile workspace with the current window on the left and others on the right"
+  (let ((len (length (workspace-group-list workspace)))
+	(group (first (workspace-group-list workspace))))
+    (if (<= len 1)
+	(setf (group-x group) 0
+	      (group-y group) 0
+	      (group-width group) (xlib:screen-width *screen*)
+	      (group-height group) (xlib:screen-height *screen*))
+	(let ((dy (/ (xlib:screen-height *screen*) (1- len))))
+	  (setf (group-x group) 1
+		(group-y group) 1
+		(group-width group) (- (xlib:screen-width *screen*) *tile-border-size* 1)
+		(group-height group) (- (xlib:screen-height *screen*) 1))
+	  (loop :for i :from 0
+	     :for g :in (rest (workspace-group-list workspace))
+	     :do (setf (group-x g) (- (xlib:screen-width *screen*) *tile-border-size* -1)
+		       (group-y g) (truncate (* i dy))
+		       (group-width g) (- *tile-border-size* 2)
+		       (group-height g) (truncate (- dy 1))))))))
+
+(defun tile-workspace-left (workspace)
+  "Tile workspace with the current window on the right and others on the left"
+  (let ((len (length (workspace-group-list workspace)))
+	(group (first (workspace-group-list workspace))))
+    (if (<= len 1)
+	(setf (group-x group) 0
+	      (group-y group) 0
+	      (group-width group) (xlib:screen-width *screen*)
+	      (group-height group) (xlib:screen-height *screen*))
+	(let ((dy (/ (xlib:screen-height *screen*) (1- len))))
+	  (setf (group-x group) *tile-border-size*
+		(group-y group) 1
+		(group-width group) (- (xlib:screen-width *screen*) *tile-border-size* 1)
+		(group-height group) (- (xlib:screen-height *screen*) 1))
+	  (loop :for i :from 0
+	     :for g :in (rest (workspace-group-list workspace))
+	     :do (setf (group-x g) 0
+		       (group-y g) (truncate (* i dy))
+		       (group-width g) (- *tile-border-size* 2)
+		       (group-height g) (truncate (- dy 1))))))))
+
+
+(defun tile-workspace-top (workspace)
+  "Tile workspace with the current window on the bottom and others on the top"
+  (let ((len (length (workspace-group-list workspace)))
+	(group (first (workspace-group-list workspace))))
+    (if (<= len 1)
+	(setf (group-x group) 0
+	      (group-y group) 0
+	      (group-width group) (xlib:screen-width *screen*)
+	      (group-height group) (xlib:screen-height *screen*))
+	(let ((dx (/ (xlib:screen-width *screen*) (1- len))))
+	  (setf (group-x group) 1
+		(group-y group) *tile-border-size*
+		(group-width group) (- (xlib:screen-width *screen*) 1)
+		(group-height group) (- (xlib:screen-height *screen*) *tile-border-size* 1))
+	  (loop :for i :from 0
+	     :for g :in (rest (workspace-group-list workspace))
+	     :do (setf (group-x g) (truncate (* i dx))
+		       (group-y g) 0
+		       (group-width g) (truncate (- dx 1))
+		       (group-height g) (- *tile-border-size* 2)))))))
+
+(defun tile-workspace-bottom (workspace)
+  "Tile workspace with the current window on the top and others on the bottom"
+  (let ((len (length (workspace-group-list workspace)))
+	(group (first (workspace-group-list workspace))))
+    (if (<= len 1)
+	(setf (group-x group) 0
+	      (group-y group) 0
+	      (group-width group) (xlib:screen-width *screen*)
+	      (group-height group) (xlib:screen-height *screen*))
+	(let ((dx (/ (xlib:screen-width *screen*) (1- len))))
+	  (setf (group-x group) 1
+		(group-y group) 1
+		(group-width group) (- (xlib:screen-width *screen*) 1)
+		(group-height group) (- (xlib:screen-height *screen*) *tile-border-size* 1))
+	  (loop :for i :from 0
+	     :for g :in (rest (workspace-group-list workspace))
+	     :do (setf (group-x g) (truncate (* i dx))
+		       (group-y g) (- (xlib:screen-height *screen*) *tile-border-size* -1)
+		       (group-width g) (truncate (- dx 1))
+		       (group-height g) (- *tile-border-size* 2)))))))
+
+
+(defun tile-current-workspace-to ()
+  "Tile the current workspace with the current window on one side and others on the other"
+  (funcall *tile-workspace-function* (current-workspace))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun reconfigure-tile-workspace ()
+  "Reconfigure the workspace tiling for the current session"
+  (let ((method (loop :for m = (intern (string-upcase
+					(query-string "Workspace tiling method (R)ight, (L)eft, (T)op, (B)ottom:"))
+				       :keyword)
+		   :when (member m '(:r :l :t :b)) :return m))
+	(size (loop :for s = (parse-integer (query-string "Workspace tiling border size"
+							  (format nil "~A" *tile-border-size*))
+					    :junk-allowed t)
+		 :when (numberp s) :return s)))
+    (setf *tile-workspace-function* (case method
+				      (:r 'tile-workspace-right)
+				      (:l 'tile-workspace-left)
+				      (:t 'tile-workspace-top)
+				      (:b 'tile-workspace-bottom))
+	  *tile-border-size* size)))
+
+
+
+
+;;;,-----
+;;;| Edges functions
+;;;`-----
+(defun group-x2 (group)
+  (+ (group-x group) (group-width group)))
+
+(defun group-y2 (group)
+  (+ (group-y group) (group-height group)))
+
+
+(defun find-edge-up (current-group workspace)
+  (let ((y-found 0))
+    (dolist (group (workspace-group-list workspace))
+      (when (and (not (equal group current-group))
+		 (<= (group-y2 group) (group-y current-group))
+		 (>= (group-x2 group) (group-x current-group))
+		 (<= (group-x group) (group-x2 current-group)))
+	(setf y-found (max y-found (+ (group-y2 group) 2)))))
+    y-found))
+	     
+(defun find-edge-down (current-group workspace)
+  (let ((y-found (xlib:screen-height *screen*)))
+    (dolist (group (workspace-group-list workspace))
+      (when (and (not (equal group current-group))
+		 (>= (group-y group) (group-y2 current-group))
+		 (>= (group-x2 group) (group-x current-group))
+		 (<= (group-x group) (group-x2 current-group)))
+	(setf y-found (min y-found (- (group-y group) 2)))))
+    y-found))
+	     
+(defun find-edge-right (current-group workspace)
+  (let ((x-found (xlib:screen-width *screen*)))
+    (dolist (group (workspace-group-list workspace))
+      (when (and (not (equal group current-group))
+		 (>= (group-x group) (group-x2 current-group))
+		 (>= (group-y2 group) (group-y current-group))
+		 (<= (group-y group) (group-y2 current-group)))
+	(setf x-found (min x-found (- (group-x group) 2)))))
+    x-found))
+	     
+
+(defun find-edge-left (current-group workspace)
+  (let ((x-found 0))
+    (dolist (group (workspace-group-list workspace))
+      (when (and (not (equal group current-group))
+		 (<= (group-x2 group) (group-x current-group))
+		 (>= (group-y2 group) (group-y current-group))
+		 (<= (group-y group) (group-y2 current-group)))
+	(setf x-found (max x-found (+ (group-x2 group) 2)))))
+    x-found))
+
+
+
+;;;,-----
+;;;| Pack functions
+;;;`-----
+
+
+
+(defun pack-group-up (workspace group)
+  "Pack group to up"
+  (let ((y-found (find-edge-up group workspace)))
+    (setf (group-y group) y-found)))
+
+
+(defun pack-group-down (workspace group)
+  "Pack group to down"
+  (let ((y-found (find-edge-down group workspace)))
+    (setf (group-y group) (- y-found (group-height group)))))
+
+(defun pack-group-right (workspace group)
+  "Pack group to right"
+  (let ((x-found (find-edge-right group workspace)))
+    (setf (group-x group) (- x-found (group-width group)))))
+
+
+(defun pack-group-left (workspace group)
+  "Pack group to left"
+  (let ((x-found (find-edge-left group workspace)))
+    (setf (group-x group) x-found)))
+
+
+
+
+(defun pack-current-group-up ()
+  "Pack current group to up"
+  (pack-group-up (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun pack-current-group-down ()
+  "Pack current group to down"
+  (pack-group-down (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+(defun pack-current-group-right ()
+  "Pack current group to right"
+  (pack-group-right (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun pack-current-group-left ()
+  "Pack current group to left"
+  (pack-group-left (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun center-group (group)
+  "Center group"
+  (setf (group-x group) (truncate (/ (- (xlib:screen-width *screen*) (group-width group)) 2))
+	(group-y group) (truncate (/ (- (xlib:screen-height *screen*) (group-height group)) 2))))
+
+(defun center-current-group ()
+  "Center the current group"
+  (center-group (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+;;;,-----
+;;;| Fill functions
+;;;`-----
+
+
+(defun fill-group-up (workspace group)
+  "Fill a group up"
+  (let* ((y-found (find-edge-up group workspace))
+	 (dy (- (group-y group) y-found)))
+    (setf (group-y group) y-found
+	  (group-height group) (+ (group-height group) dy))))
+
+(defun fill-group-down (workspace group)
+  "Fill a group down"
+  (let* ((y-found (find-edge-down group workspace))
+	 (dy (- y-found (group-y2 group))))
+    (setf (group-height group) (+ (group-height group) dy))))
+
+
+(defun fill-group-left (workspace group)
+  "Fill a group left"
+  (let* ((x-found (find-edge-left group workspace))
+	 (dx (- (group-x group) x-found)))
+    (setf (group-x group) x-found
+	  (group-width group) (+ (group-width group) dx))))
+
+(defun fill-group-right (workspace group)
+  "Fill a group rigth"
+  (let* ((x-found (find-edge-right group workspace))
+	 (dx (- x-found (group-x2 group))))
+    (setf (group-width group) (+ (group-width group) dx))))
+
+
+(defun fill-current-group-up ()
+  "Fill the current group up"
+  (fill-group-up (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+(defun fill-current-group-down ()
+  "Fill the current group down"
+  (fill-group-down (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun fill-current-group-left ()
+  "Fill the current group left"
+  (fill-group-left (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+(defun fill-current-group-right ()
+  "Fill the current group rigth"
+  (fill-group-right (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+
+;;;,-----
+;;;| Lower functions
+;;;`-----
+
+(defun resize-down-group (group)
+  "Resize down a group"
+  (when (> (group-width group) 100)
+    (setf (group-x group) (+ (group-x group) 10)
+	  (group-width group) (max (- (group-width group) 20))))
+  (when (> (group-height group) 100)
+    (setf (group-y group) (+ (group-y group) 10)
+	  (group-height group) (max (- (group-height group) 20)))))
+
+
+(defun resize-minimal-group (group)
+  "Resize down a group to its minimal size"
+  (loop while (> (group-width group) 100) do
+       (setf (group-x group) (+ (group-x group) 10)
+	     (group-width group) (max (- (group-width group) 20))))
+  (loop while (> (group-height group) 100) do
+       (setf (group-y group) (+ (group-y group) 10)
+	     (group-height group) (max (- (group-height group) 20)))))
+
+
+
+(defun resize-down-current-group ()
+  "Resize down the current group"
+  (resize-down-group (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun resize-minimal-current-group ()
+  "Resize down the current group to its minimal size"
+  (resize-minimal-group (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+
+
+(defun resize-half-width-left (group)
+  (setf (group-width group)
+	(max (truncate (/ (group-width group) 2))
+	     100)))
+
+(defun resize-half-width-right (group)
+  (let* ((new-size (max (truncate (/ (group-width group) 2)) 100))
+	 (dx (- (group-width group) new-size)))
+    (setf (group-width group) new-size)
+    (incf (group-x group) (max dx 0))))
+  
+
+(defun resize-half-height-up (group)
+  (setf (group-height group)
+	(max (truncate (/ (group-height group) 2))
+	     100)))
+
+(defun resize-half-height-down (group)
+  (let* ((new-size (max (truncate (/ (group-height group) 2)) 100))
+	 (dy (- (group-height group) new-size)))
+    (setf (group-height group) new-size)
+    (incf (group-y group) (max dy 0))))
+  
+
+
+
+(defun resize-half-width-left-current-group ()
+  "Resize the current group to its half width to left"
+  (resize-half-width-left (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+(defun resize-half-width-right-current-group ()
+  "Resize the current group to its half width to right"
+  (resize-half-width-right (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun resize-half-height-up-current-group ()
+  "Resize the current group to its half height to up"
+  (resize-half-height-up (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+(defun resize-half-height-down-current-group ()
+  "Resize the current group to its half height to down"
+  (resize-half-height-down (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+
+;;;,-----
+;;;| Explode/Implode functions
+;;;`-----
+(defun explode-group (workspace group)
+  "Create a new group for each window in group"
+  (dolist (w (rest (group-window-list group)))
+    (add-group-in-workspace (copy-group *default-group*) workspace)
+    (add-window-in-group w (first (workspace-group-list workspace)))
+    (remove-window-in-group w group)))
+
+(defun implode-group (workspace)
+  "Move all windows in workspace to one group and remove other groups"
+  (dolist (g (rest (workspace-group-list workspace)))
+    (dolist (w (group-window-list g))
+      (add-window-in-group w (first (workspace-group-list workspace)))
+      (remove-window-in-group w g))
+    (remove-group-in-workspace g workspace)))
+
+
+
+(defun explode-current-group ()
+  "Create a new group for each window in the current group"
+  (explode-group (current-workspace) (current-group))
+  (show-all-windows-in-workspace (current-workspace)))
+
+
+(defun implode-current-group ()
+  "Move all windows in the current workspace to one group and remove other groups"
+  (implode-group (current-workspace))
+  (show-all-windows-in-workspace (current-workspace)))
+

Added: clfswm-second-mode.fas
==============================================================================
--- (empty file)
+++ clfswm-second-mode.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,288 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|30 30 (DEFPARAMETER *SM-WINDOW* NIL)-2|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-WINDOW*|) |CLFSWM|::|*SM-WINDOW*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 31 (DEFPARAMETER *SM-FONT* NIL)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-FONT*|) |CLFSWM|::|*SM-FONT*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 32 (DEFPARAMETER *SM-GC* NIL)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-GC*|) |CLFSWM|::|*SM-GC*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|34 35 (DEFPARAMETER *SECOND-MODE-PROGRAM* NIL ...)-5|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SECOND-MODE-PROGRAM*|)
+    |CLFSWM|::|*SECOND-MODE-PROGRAM*| |COMMON-LISP|::|VARIABLE|
+    "Execute the program string if not nil" |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|38 65 (DEFUN DRAW-SECOND-MODE-WINDOW NIL ...)-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DRAW-SECOND-MODE-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DRAW-SECOND-MODE-WINDOW|
+       #86Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 38 02 72 76 DC AD 38 02
+            31 8B AC 81 77 00 AC 72 48 6B 00 6B 03 DE 6B 05 6B 06 6F 07 B1 73
+            02 37 73 01 36 73 02 37 38 01 72 B6 DE 6B 08 6B 06 6F 09 6B 06 6F
+            0A 73 01 36 73 02 35 73 02 37 38 01 72 B6 B1 2D 05 0B 19 03)
+       (|CLFSWM|::|*SM-WINDOW*| |XLIB|::|CLEAR-AREA| "Second mode"
+        |CLFSWM|::|*SM-GC*| #10r1/2 |CLFSWM|::|*SM-WIDTH*|
+        |CLFSWM|::|*SM-FONT*| |XLIB|::|MAX-CHAR-WIDTH| |CLFSWM|::|*SM-HEIGHT*|
+        |XLIB|::|FONT-ASCENT| |XLIB|::|FONT-DESCENT|
+        |XLIB|::|DRAW-IMAGE-GLYPHS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|70 74 (DEFUN SM-HANDLE-KEY-PRESS (&REST EVENT-SLOTS &KEY ...) ...)-7|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-KEY-PRESS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-KEY-PRESS|
+       #29Y(00 00 00 00 00 00 00 00 C7 00 03 00 00 00 3D 02 3D 01 6B 03 AF AF
+            2D 03 04 2E 05 19 05)
+       (:|ROOT| :|CODE| :|STATE| |CLFSWM|::|*SECOND-KEYS*|
+        |CLFSWM|::|FUNCALL-KEY-FROM-CODE| |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|ROOT| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|76 79 (DEFUN SM-HANDLE-ENTER-NOTIFY (&REST EVENT-SLOTS &KEY ...) ...)-8|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-ENTER-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-ENTER-NOTIFY|
+       #18Y(00 00 00 00 00 00 00 00 C7 00 02 00 00 00 2E 02 19 04)
+       (:|ROOT-X| :|ROOT-Y| |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|81 84 (DEFUN SM-HANDLE-MOTION-NOTIFY (&REST EVENT-SLOTS &KEY ...) ...)-9|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-MOTION-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-MOTION-NOTIFY|
+       #44Y(00 00 00 00 00 00 00 00 C7 00 02 00 00 00 3D 02 3B 01 09 7D 01 2E
+            02 1D 07 00 19 04 2E 02 1C 79 6B 03 DE DF B1 B1 E0 2D 06 07 19 04)
+       (:|ROOT-X| :|ROOT-Y| |CLFSWM|::|COMPRESS-MOTION-NOTIFY|
+        |CLFSWM|::|*MOUSE-ACTION*| |CLFSWM|::|MOTION| 0.
+        #.#'|COMMON-LISP|::|FIRST| |CLFSWM|::|FUNCALL-BUTTON-FROM-CODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 89 (DEFUN SM-HANDLE-BUTTON-PRESS (&REST EVENT-SLOTS &KEY ...) ...)-10|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-BUTTON-PRESS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-BUTTON-PRESS|
+       #36Y(00 00 00 00 00 00 00 00 C7 00 04 00 00 00 3D 04 3D 03 3D 02 3D 01
+            6B 04 AF AF B3 B3 DF 2D 06 06 2E 07 19 06)
+       (:|ROOT-X| :|ROOT-Y| :|CODE| :|STATE| |CLFSWM|::|*MOUSE-ACTION*|
+        #.#'|COMMON-LISP|::|FIRST| |CLFSWM|::|FUNCALL-BUTTON-FROM-CODE|
+        |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|CODE|
+        |CLFSWM|::|STATE| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|91 94 (DEFUN SM-HANDLE-BUTTON-RELEASE (&REST EVENT-SLOTS &KEY ...) ...)-11|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-BUTTON-RELEASE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-BUTTON-RELEASE|
+       #36Y(00 00 00 00 00 00 00 00 C7 00 04 00 00 00 3D 04 3D 03 3D 02 3D 01
+            6B 04 AF AF B3 B3 DF 2D 06 06 2E 07 19 06)
+       (:|ROOT-X| :|ROOT-Y| :|CODE| :|STATE| |CLFSWM|::|*MOUSE-ACTION*|
+        #.#'|COMMON-LISP|::|THIRD| |CLFSWM|::|FUNCALL-BUTTON-FROM-CODE|
+        |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|CODE|
+        |CLFSWM|::|STATE| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|96 98 (DEFUN SM-HANDLE-CONFIGURE-REQUEST (&REST EVENT-SLOTS) ...)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-CONFIGURE-REQUEST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-CONFIGURE-REQUEST|
+       #19Y(00 00 00 00 00 00 00 00 07 16 99 00 9F 37 00 2E 01 19 02)
+       (|CLFSWM|::|HANDLE-CONFIGURE-REQUEST|
+        |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|101 103 (DEFUN SM-HANDLE-CONFIGURE-NOTIFY (&REST EVENT-SLOTS) ...)-13|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-CONFIGURE-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-CONFIGURE-NOTIFY|
+       #19Y(00 00 00 00 00 00 00 00 07 16 99 00 9F 37 00 2E 01 19 02)
+       (|CLFSWM|::|HANDLE-CONFIGURE-NOTIFY|
+        |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|106 108 (DEFUN SM-HANDLE-DESTROY-NOTIFY (&REST EVENT-SLOTS) ...)-14|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-DESTROY-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-DESTROY-NOTIFY|
+       #19Y(00 00 00 00 00 00 00 00 07 16 99 00 9F 37 00 2E 01 19 02)
+       (|CLFSWM|::|HANDLE-DESTROY-NOTIFY| |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|110 112 (DEFUN SM-HANDLE-MAP-REQUEST (&REST EVENT-SLOTS) ...)-15|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-MAP-REQUEST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-MAP-REQUEST|
+       #19Y(00 00 00 00 00 00 00 00 07 16 99 00 9F 37 00 2E 01 19 02)
+       (|CLFSWM|::|HANDLE-MAP-REQUEST| |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|114 116 (DEFUN SM-HANDLE-UNMAP-NOTIFY (&REST EVENT-SLOTS) ...)-16|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-UNMAP-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-UNMAP-NOTIFY|
+       #19Y(00 00 00 00 00 00 00 00 07 16 99 00 9F 37 00 2E 01 19 02)
+       (|CLFSWM|::|HANDLE-UNMAP-NOTIFY| |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|118 120 (DEFUN SM-HANDLE-EXPOSURE (&REST EVENT-SLOTS) ...)-17|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-EXPOSURE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-EXPOSURE|
+       #19Y(00 00 00 00 00 00 00 00 07 16 99 00 9F 37 00 2E 01 19 02)
+       (|CLFSWM|::|HANDLE-EXPOSURE| |CLFSWM|::|DRAW-SECOND-MODE-WINDOW|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|124 140 (SETF *SM-BUTTON-PRESS-HOOK* #'SM-HANDLE-BUTTON-PRESS ...)-18|
+   #56Y(00 00 00 00 00 00 00 00 00 01 98 00 0F 01 98 02 0F 03 98 04 0F 05 98 06
+        0F 07 98 08 0F 09 98 0A 0F 0B 98 0C 0F 0D 98 0E 0F 0F 98 10 0F 11 98 12
+        0F 13 98 14 0F 15 19 01)
+   (|CLFSWM|::|SM-HANDLE-BUTTON-PRESS| |CLFSWM|::|*SM-BUTTON-PRESS-HOOK*|
+    |CLFSWM|::|SM-HANDLE-BUTTON-RELEASE| |CLFSWM|::|*SM-BUTTON-RELEASE-HOOK*|
+    |CLFSWM|::|SM-HANDLE-MOTION-NOTIFY| |CLFSWM|::|*SM-MOTION-NOTIFY-HOOK*|
+    |CLFSWM|::|SM-HANDLE-KEY-PRESS| |CLFSWM|::|*SM-KEY-PRESS-HOOK*|
+    |CLFSWM|::|SM-HANDLE-CONFIGURE-REQUEST|
+    |CLFSWM|::|*SM-CONFIGURE-REQUEST-HOOK*|
+    |CLFSWM|::|SM-HANDLE-CONFIGURE-NOTIFY|
+    |CLFSWM|::|*SM-CONFIGURE-NOTIFY-HOOK*| |CLFSWM|::|SM-HANDLE-DESTROY-NOTIFY|
+    |CLFSWM|::|*SM-DESTROY-NOTIFY-HOOK*| |CLFSWM|::|SM-HANDLE-ENTER-NOTIFY|
+    |CLFSWM|::|*SM-ENTER-NOTIFY-HOOK*| |CLFSWM|::|SM-HANDLE-EXPOSURE|
+    |CLFSWM|::|*SM-EXPOSURE-HOOK*| |CLFSWM|::|SM-HANDLE-MAP-REQUEST|
+    |CLFSWM|::|*SM-MAP-REQUEST-HOOK*| |CLFSWM|::|SM-HANDLE-UNMAP-NOTIFY|
+    |CLFSWM|::|*SM-UNMAP-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|146 166 (DEFUN SM-HANDLE-EVENT (&REST EVENT-SLOTS &KEY ...) ...)-19|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SM-HANDLE-EVENT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SM-HANDLE-EVENT|
+       #75Y(02 00 01 00 00 00 00 00 C7 00 02 00 00 00 00 2B 02 7F 04 00 00 3B
+            02 01 00 0B 00 01 9D 2B 01 00 0B 00 00 4B 02 10 B0 AF 6D 03 02 B1
+            6D 04 01 57 05 B0 36 00 16 06 4D 16 01 02 19 05 58 67 00 00 01 76
+            00 AD 36 01 18 02 01 19 02)
+       (:|DISPLAY| :|EVENT-KEY| #(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|SM-HANDLE-EVENT-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|SM-HANDLE-EVENT-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|SM-HANDLE-EVENT-2|
+           #81Y(00 00 00 00 00 00 00 00 06 01 07 01 02 26 01 3E 0E 02 1B 32 0E
+                04 1B 2E 0E 05 1B 2A 0E 06 1B 26 0E 07 1B 22 0E 08 1B 1E 0E 09
+                1B 1A 0E 0A 1B 16 0E 0B 1B 12 0E 0C 1B 0E 0E 0D 1B 0A 0E 0E 1B
+                06 0E 0F 1B 02 0E 10 14 69 01 01 30 03 19 01 00 19 01)
+           (|COMMON-LISP|::|NIL|
+            #S(|COMMON-LISP|::|HASH-TABLE| :|TEST| |EXT|::|STABLEHASH-EQ|
+               (:|EXPOSURE| . 53.) (:|ENTER-NOTIFY| . 49.)
+               (:|CREATE-NOTIFY| . 45.) (:|PROPERTY-NOTIFY| . 41.)
+               (:|MAPPING-NOTIFY| . 37.) (:|DESTROY-NOTIFY| . 33.)
+               (:|UNMAP-NOTIFY| . 29.) (:|MAP-REQUEST| . 25.)
+               (:|CONFIGURE-NOTIFY| . 21.) (:|CONFIGURE-REQUEST| . 17.)
+               (:|KEY-PRESS| . 13.) (:|MOTION-NOTIFY| . 9.)
+               (:|BUTTON-RELEASE| . 5.) (:|BUTTON-PRESS| . 1.))
+            |CLFSWM|::|*SM-BUTTON-PRESS-HOOK*| |CLFSWM|::|CALL-HOOK|
+            |CLFSWM|::|*SM-BUTTON-RELEASE-HOOK*|
+            |CLFSWM|::|*SM-MOTION-NOTIFY-HOOK*| |CLFSWM|::|*SM-KEY-PRESS-HOOK*|
+            |CLFSWM|::|*SM-CONFIGURE-REQUEST-HOOK*|
+            |CLFSWM|::|*SM-CONFIGURE-NOTIFY-HOOK*|
+            |CLFSWM|::|*SM-MAP-REQUEST-HOOK*|
+            |CLFSWM|::|*SM-UNMAP-NOTIFY-HOOK*|
+            |CLFSWM|::|*SM-DESTROY-NOTIFY-HOOK*|
+            |CLFSWM|::|*SM-MAPPING-NOTIFY-HOOK*|
+            |CLFSWM|::|*SM-PROPERTY-NOTIFY-HOOK*|
+            |CLFSWM|::|*SM-CREATE-NOTIFY-HOOK*|
+            |CLFSWM|::|*SM-ENTER-NOTIFY-HOOK*| |CLFSWM|::|*SM-EXPOSURE-HOOK*|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           46.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|DISPLAY| |CLFSWM|::|EVENT-KEY|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|170 211 (DEFUN SECOND-KEY-MODE NIL ...)-20|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SECOND-KEY-MODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SECOND-KEY-MODE|
+       #198Y(04 00 02 00 00 00 00 00 06 01 DA 6B 01 DC DD 6B 04 DF AD E0 81 2F
+             00 6B 07 73 01 36 73 02 37 38 01 72 B6 E2 E3 E4 6B 07 E5 6B 0C E7
+             6B 0E 6F 0F EA EB EC 6B 13 6F 0F EE 6B 04 DF AD EF 81 2F 00 F0 F1
+             2D 14 18 0F 19 6B 1A 6B 1B 30 1C 0F 1D 65 1E 6B 19 65 1F 6B 20 6F
+             0F E7 6B 0E 6F 0F 65 21 6B 1D 65 22 65 23 2D 0A 24 0F 25 6B 19 2F
+             26 2E 27 2E 28 2E 29 6B 01 2F 2A 6B 01 65 2B 65 2C 2D 03 2D 53 1D
+             03 2E 50 17 6B 19 2F 2F 6B 1A 2F 30 6B 1A 65 31 99 32 2D 03 33 6B
+             1A 2F 30 1B 69 3E 54 6B 25 2F 34 6B 1D 2F 35 6B 19 2F 36 2E 37 2E
+             38 2E 39 2E 3A 55 2E 3B 0E 3C 1F 08 14 2F 3D 00 0F 3C 19 01 19 01)
+       (:|PARENT| |CLFSWM|::|*ROOT*| :|X| #10r1/2 |CLFSWM|::|*SCREEN*|
+        |XLIB|::|SCREEN| 2. |CLFSWM|::|*SM-WIDTH*| :|Y| 0. :|WIDTH| :|HEIGHT|
+        |CLFSWM|::|*SM-HEIGHT*| :|BACKGROUND| |CLFSWM|::|*SM-BACKGROUND-COLOR*|
+        |CLFSWM|::|GET-COLOR| :|BORDER-WIDTH| 1. :|BORDER|
+        |CLFSWM|::|*SM-BORDER-COLOR*| :|COLORMAP| 9. :|EVENT-MASK|
+        (:|EXPOSURE|) |XLIB|::|CREATE-WINDOW| |CLFSWM|::|*SM-WINDOW*|
+        |CLFSWM|::|*DISPLAY*| |CLFSWM|::|*SM-FONT-STRING*| |XLIB|::|OPEN-FONT|
+        |CLFSWM|::|*SM-FONT*| :|DRAWABLE| :|FOREGROUND|
+        |CLFSWM|::|*SM-FOREGROUND-COLOR*| :|FONT| :|LINE-STYLE| :|SOLID|
+        |XLIB|::|CREATE-GCONTEXT| |CLFSWM|::|*SM-GC*| |XLIB|::|MAP-WINDOW|
+        |CLFSWM|::|DRAW-SECOND-MODE-WINDOW| |CLFSWM|::|NO-FOCUS|
+        |CLFSWM|::|UNGRAB-MAIN-KEYS| |CLFSWM|::|XGRAB-KEYBOARD| 66. 67.
+        |CLFSWM|::|XGRAB-POINTER| |CLFSWM|::|EXIT-SECOND-LOOP|
+        |CLFSWM|::|RAISE-WINDOW| |XLIB|::|DISPLAY-FINISH-OUTPUT| :|HANDLER|
+        |CLFSWM|::|SM-HANDLE-EVENT| |XLIB|::|PROCESS-EVENT|
+        |XLIB|::|FREE-GCONTEXT| |XLIB|::|CLOSE-FONT| |XLIB|::|DESTROY-WINDOW|
+        |CLFSWM|::|XUNGRAB-KEYBOARD| |CLFSWM|::|XUNGRAB-POINTER|
+        |CLFSWM|::|GRAB-MAIN-KEYS| |CLFSWM|::|SHOW-ALL-CHILDS|
+        |CLFSWM|::|WAIT-NO-KEY-OR-BUTTON-PRESS|
+        |CLFSWM|::|*SECOND-MODE-PROGRAM*| |TOOLS|::|DO-SHELL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Switch to editing mode"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|215 218 (DEFUN LEAVE-SECOND-MODE NIL ...)-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|LEAVE-SECOND-MODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|LEAVE-SECOND-MODE|
+       #15Y(00 00 00 00 00 00 00 00 06 01 2E 00 DB 00 52)
+       (|CLFSWM|::|BANISH-POINTER| |CLFSWM|::|EXIT-SECOND-LOOP|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Leave second mode"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: clfswm-second-mode.fasl
==============================================================================
Binary file. No diff available.

Added: clfswm-second-mode.lib
==============================================================================
--- (empty file)
+++ clfswm-second-mode.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,60 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-WINDOW*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-FONT*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-GC*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SECOND-MODE-PROGRAM*|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DRAW-SECOND-MODE-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-KEY-PRESS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|ROOT| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-ENTER-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-MOTION-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-BUTTON-PRESS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-BUTTON-RELEASE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-CONFIGURE-REQUEST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-CONFIGURE-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-DESTROY-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-MAP-REQUEST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-UNMAP-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-EXPOSURE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SM-HANDLE-EVENT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|DISPLAY| |CLFSWM|::|EVENT-KEY|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SECOND-KEY-MODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|LEAVE-SECOND-MODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: clfswm-second-mode.lisp
==============================================================================
--- (empty file)
+++ clfswm-second-mode.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,222 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Fri Feb 22 21:38:53 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Second mode functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+(defparameter *sm-window* nil)
+(defparameter *sm-font* nil)
+(defparameter *sm-gc* nil)
+
+(defparameter *second-mode-program* nil
+  "Execute the program string if not nil")
+
+
+;;(defun draw-second-mode-window ()
+;;  (xlib:clear-area *sm-window*)
+;;  (let* ((text (format nil "Workspace ~A ~:(~A~) ~A ~A ~A"
+;;		       (workspace-number (current-workspace))
+;;		       (if *arrow-action* *arrow-action* "")
+;;		       (if *motion-action* *motion-action* "")
+;;		       (cond ((numberp *open-next-window-in-new-workspace*)
+;;			      (format nil ">W:~A" *open-next-window-in-new-workspace*))
+;;			     (*open-next-window-in-new-workspace* ">W")
+;;			     (t ""))
+;;		       (cond ((equal *open-next-window-in-new-group* :once) ">G")
+;;			     (*open-next-window-in-new-group* ">G+")
+;;			     (t ""))))
+;;	 (len (length text)))
+;;    (xlib:draw-image-glyphs *sm-window* *sm-gc*
+;;			    (truncate (/ (- *sm-width* (* (xlib:max-char-width *sm-font*) len)) 2))
+;;			    (truncate (/ (+ *sm-height* (- (font-ascent *sm-font*) (font-descent *sm-font*))) 2))
+;;			    text)))
+
+
+(defun draw-second-mode-window ()
+  (xlib:clear-area *sm-window*)
+  (let* ((text (format nil "Second mode"))
+	 (len (length text)))
+    (xlib:draw-image-glyphs *sm-window* *sm-gc*
+			    (truncate (/ (- *sm-width* (* (xlib:max-char-width *sm-font*) len)) 2))
+			    (truncate (/ (+ *sm-height* (- (xlib:font-ascent *sm-font*) (xlib:font-descent *sm-font*))) 2))
+			    text)))
+
+
+
+
+;;; Second mode hooks
+(defun sm-handle-key-press (&rest event-slots &key root code state &allow-other-keys)
+  (declare (ignore event-slots root))
+  (funcall-key-from-code *second-keys* code state)
+  (draw-second-mode-window))
+
+(defun sm-handle-enter-notify (&rest event-slots &key root-x root-y &allow-other-keys)
+  (declare (ignore event-slots root-x root-y))
+  ;;  (focus-group-under-mouse root-x root-y)
+  (draw-second-mode-window))
+
+(defun sm-handle-motion-notify (&rest event-slots &key root-x root-y &allow-other-keys)
+  (declare (ignore event-slots))
+  (unless (compress-motion-notify)
+    (funcall-button-from-code *mouse-action* 'motion 0 root-x root-y #'first)))
+
+(defun sm-handle-button-press (&rest event-slots &key root-x root-y code state &allow-other-keys)
+  (declare (ignore event-slots))
+  (funcall-button-from-code *mouse-action* code state root-x root-y #'first)
+  (draw-second-mode-window))
+
+(defun sm-handle-button-release (&rest event-slots &key root-x root-y code state &allow-other-keys)
+  (declare (ignore event-slots))
+  (funcall-button-from-code *mouse-action* code state root-x root-y #'third)
+  (draw-second-mode-window))
+
+(defun sm-handle-configure-request (&rest event-slots)
+  (apply #'handle-configure-request event-slots)
+  (draw-second-mode-window))
+
+
+(defun sm-handle-configure-notify (&rest event-slots)
+  (apply #'handle-configure-notify event-slots)
+  (draw-second-mode-window))
+
+
+(defun sm-handle-destroy-notify (&rest event-slots)
+  (apply #'handle-destroy-notify event-slots)
+  (draw-second-mode-window))
+
+(defun sm-handle-map-request (&rest event-slots)
+  (apply #'handle-map-request event-slots)
+  (draw-second-mode-window))
+
+(defun sm-handle-unmap-notify (&rest event-slots)
+  (apply #'handle-unmap-notify event-slots)
+  (draw-second-mode-window))
+
+(defun sm-handle-exposure (&rest event-slots)
+  (apply #'handle-exposure event-slots)
+  (draw-second-mode-window))
+
+
+
+;;(defun sm-handle-property-notify (&rest event-slots &key window &allow-other-keys)
+;;  ;;(dbg (xlib:wm-name window))
+;;  (draw-second-mode-window))
+
+
+;;; CONFIG: Second mode hooks
+(setf *sm-button-press-hook* #'sm-handle-button-press
+      *sm-button-release-hook* #'sm-handle-button-release
+      *sm-motion-notify-hook* #'sm-handle-motion-notify
+      *sm-key-press-hook* #'sm-handle-key-press
+      *sm-configure-request-hook* #'sm-handle-configure-request
+      *sm-configure-notify-hook* #'sm-handle-configure-notify
+      *sm-destroy-notify-hook* #'sm-handle-destroy-notify
+      *sm-enter-notify-hook* #'sm-handle-enter-notify
+      *sm-exposure-hook* #'sm-handle-exposure
+      *sm-map-request-hook* #'sm-handle-map-request
+      *sm-unmap-notify-hook* #'sm-handle-unmap-notify)
+
+
+
+
+
+(defun sm-handle-event (&rest event-slots &key display event-key &allow-other-keys)
+  (declare (ignore display))
+  ;;(dbg event-key)
+  (with-xlib-protect
+    (case event-key
+      (:button-press (call-hook *sm-button-press-hook* event-slots))
+      (:button-release (call-hook *sm-button-release-hook* event-slots))
+      (:motion-notify (call-hook *sm-motion-notify-hook* event-slots))
+      (:key-press (call-hook *sm-key-press-hook* event-slots))
+      (:configure-request (call-hook *sm-configure-request-hook* event-slots))
+      (:configure-notify (call-hook *sm-configure-notify-hook* event-slots))
+      (:map-request (call-hook *sm-map-request-hook* event-slots))
+      (:unmap-notify (call-hook *sm-unmap-notify-hook* event-slots))
+      (:destroy-notify (call-hook *sm-destroy-notify-hook* event-slots))
+      (:mapping-notify (call-hook *sm-mapping-notify-hook* event-slots))
+      (:property-notify (call-hook *sm-property-notify-hook* event-slots))
+      (:create-notify (call-hook *sm-create-notify-hook* event-slots))
+      (:enter-notify (call-hook *sm-enter-notify-hook* event-slots))
+      (:exposure (call-hook *sm-exposure-hook* event-slots))))
+  ;;(dbg "Ignore handle event" c event-slots)))
+  t)
+
+
+
+(defun second-key-mode ()
+  "Switch to editing mode"
+  ;;(dbg "Second key ignore" c)))))
+  (setf *sm-window* (xlib:create-window :parent *root*
+					:x (truncate (/ (- (xlib:screen-width *screen*) *sm-width*) 2))
+					:y 0
+					:width *sm-width* :height *sm-height*
+					:background (get-color *sm-background-color*)
+					:border-width 1
+					:border (get-color *sm-border-color*)
+					:colormap (xlib:screen-default-colormap *screen*)
+					:event-mask '(:exposure))
+	*sm-font* (xlib:open-font *display* *sm-font-string*)
+	*sm-gc* (xlib:create-gcontext :drawable *sm-window*
+				      :foreground (get-color *sm-foreground-color*)
+				      :background (get-color *sm-background-color*)
+				      :font *sm-font*
+				      :line-style :solid))
+  (xlib:map-window *sm-window*)
+  (draw-second-mode-window)
+  (no-focus)
+  (ungrab-main-keys)
+  (xgrab-keyboard *root*)
+  (xgrab-pointer *root* 66 67)
+  (unwind-protect
+       (catch 'exit-second-loop
+	 (loop
+	    (raise-window *sm-window*)
+	    (xlib:display-finish-output *display*)
+	    (xlib:process-event *display* :handler #'sm-handle-event)
+	    (xlib:display-finish-output *display*)))
+    (xlib:free-gcontext *sm-gc*)
+    (xlib:close-font *sm-font*)
+    (xlib:destroy-window *sm-window*)
+    (xungrab-keyboard)
+    (xungrab-pointer)
+    (grab-main-keys)
+    (show-all-childs))
+  (wait-no-key-or-button-press)
+  (when *second-mode-program*
+    (do-shell *second-mode-program*)
+    (setf *second-mode-program* nil)))
+
+
+
+(defun leave-second-mode ()
+  "Leave second mode"
+  (banish-pointer)
+  (throw 'exit-second-loop nil))
+
+
+
+

Added: clfswm-util.fas
==============================================================================
--- (empty file)
+++ clfswm-util.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,832 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 37 (DEFUN ADD-DEFAULT-GROUP NIL ...)-2|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|ADD-DEFAULT-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|ADD-DEFAULT-GROUP|
+       #40Y(00 00 00 00 00 00 00 00 06 01 6B 00 89 01 15 DC 6F 03 DE AD 70 05
+            6B 00 AC 6F 06 AE 9E 7A AC AF 30 07 16 05 2E 08 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|GROUP-P| "Group name"
+        |CLFSWM|::|QUERY-STRING| :|NAME| |CLFSWM|::|CREATE-GROUP|
+        |CLFSWM|::|GROUP-CHILD|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|)
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Add a default group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|40 50 (DEFUN ADD-PLACED-GROUP NIL ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|ADD-PLACED-GROUP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|ADD-PLACED-GROUP|
+       #77Y(00 00 00 00 00 00 00 00 06 01 6B 00 89 01 3A DC 6F 03 DE DF 6F 06
+            73 02 37 DE E1 6F 06 73 02 37 DE E2 6F 06 73 02 37 DE E3 6F 06 73
+            02 37 E4 B1 E5 B2 E6 B3 E7 B4 E8 B5 6E 0A 0F 6B 00 AC 6F 10 AE 9E
+            7A AC AF 30 11 16 09 2E 12 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|GROUP-P| "Group name"
+        |CLFSWM|::|QUERY-STRING| #10r1/100 "Group x in percent (%)"
+        |CLFSWM|::|QUERY-NUMBER| "Group y in percent (%)"
+        "Group width in percent (%)" "Group height in percent (%)" :|NAME| :|X|
+        :|Y| :|W| :|H| |CLFSWM|::|CREATE-GROUP| |CLFSWM|::|GROUP-CHILD|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|)
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Add a placed group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|54 62 (DEFUN DELETE-FOCUS-WINDOW NIL ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DELETE-FOCUS-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DELETE-FOCUS-WINDOW|
+       #48Y(00 00 00 00 00 00 00 00 06 01 6B 00 6F 01 9D 1F 1D 14 6B 02 30 03
+            59 1F 15 0E 04 0F 05 AC 2F 06 AC E1 6B 00 E2 70 09 2D 03 0A 2E 0B
+            19 02 19 02)
+       (|CLFSWM|::|*DISPLAY*| |XLIB|::|INPUT-FOCUS|
+        |CLFSWM|::|*NO-FOCUS-WINDOW*| |XLIB|::|WINDOW-EQUAL|
+        |CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|*CURRENT-CHILD*|
+        |CLFSWM|::|REMOVE-CHILD-IN-ALL-GROUPS| :|WM_PROTOCOLS|
+        "WM_DELETE_WINDOW" |XLIB|::|INTERN-ATOM|
+        |CLFSWM|::|SEND-CLIENT-MESSAGE| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Delete the focus window in all groups and workspaces"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|64 71 (DEFUN DESTROY-FOCUS-WINDOW NIL ...)-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DESTROY-FOCUS-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DESTROY-FOCUS-WINDOW|
+       #47Y(00 00 00 00 00 00 00 00 06 01 6B 00 6F 01 9D 1F 1C 14 6B 02 30 03
+            59 1F 14 0E 04 0F 05 AC 2F 06 6B 00 E1 AE E2 72 2F 30 09 2E 0A 19
+            02 19 02)
+       (|CLFSWM|::|*DISPLAY*| |XLIB|::|INPUT-FOCUS|
+        |CLFSWM|::|*NO-FOCUS-WINDOW*| |XLIB|::|WINDOW-EQUAL|
+        |CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|*CURRENT-CHILD*|
+        |CLFSWM|::|REMOVE-CHILD-IN-ALL-GROUPS| |XLIB|::|WINDOW| 1.
+        |XLIB|::|KILL-CLIENT| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Destroy the focus window in all groups and workspaces"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|73 80 (DEFUN REMOVE-FOCUS-WINDOW NIL ...)-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|REMOVE-FOCUS-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|REMOVE-FOCUS-WINDOW|
+       #44Y(00 00 00 00 00 00 00 00 06 01 6B 00 6F 01 9D 1F 19 14 6B 02 30 03
+            59 1F 11 0E 04 0F 05 AC 2F 06 AC AD 6F 07 30 08 2E 09 19 02 19 02)
+       (|CLFSWM|::|*DISPLAY*| |XLIB|::|INPUT-FOCUS|
+        |CLFSWM|::|*NO-FOCUS-WINDOW*| |XLIB|::|WINDOW-EQUAL|
+        |CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|*CURRENT-CHILD*|
+        |CLFSWM|::|HIDE-CHILD| |CLFSWM|::|FIND-FATHER-GROUP|
+        |CLFSWM|::|REMOVE-CHILD-IN-GROUP| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Remove the focus window in the current group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|83 90 (DEFUN UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD NIL ...)-7|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD|
+    |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD|
+       #55Y(02 00 01 00 00 00 00 00 06 01 00 2B 01 00 0B 00 00 4B 00 0D B0 AF
+            6D 01 02 DC 57 03 B0 36 00 16 06 4D 16 01 2E 04 19 01 58 67 00 00
+            01 76 00 AD 36 01 18 02 01 19 02)
+       (#(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD-2|
+           #37Y(00 00 00 00 00 00 00 00 06 01 2E 00 14 63 1B 0E 87 01 00 14 2F
+                01 AC 2F 02 AC 2F 03 83 01 AD 8D 94 6E 00 19 03)
+           (|CLFSWM|::|GET-HIDDEN-WINDOWS| |CLFSWM|::|UNHIDE-WINDOW|
+            |CLFSWM|::|PROCESS-NEW-WINDOW| |XLIB|::|MAP-WINDOW|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           30.)
+         1. . 1.)
+        |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Unhide all hidden windows into the current child"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|95 106 (DEFUN FIND-CHILD-UNDER-MOUSE (X Y) ...)-8|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FIND-CHILD-UNDER-MOUSE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FIND-CHILD-UNDER-MOUSE|
+       #68Y(02 00 01 00 02 00 00 00 06 03 00 2B 02 7F 03 00 00 7F 02 00 01 9D
+            2B 01 00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03 B0 36
+            00 16 06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19 02 00 4D
+            19 05)
+       (#(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|FIND-CHILD-UNDER-MOUSE-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|FIND-CHILD-UNDER-MOUSE-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|FIND-CHILD-UNDER-MOUSE-2|
+           #32Y(00 00 00 00 00 00 00 00 06 01 2A 2B 01 00 0B 00 00 AC 6D 01 01
+                6B 02 9E 34 16 01 06 00 00 19 02)
+           (|COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|FIND-CHILD-UNDER-MOUSE-2-G50377|
+               #139Y(00 00 00 00 01 00 00 00 06 02 DB AE 8E 33 08 AD E0 8A 07
+                     33 00 19 02 AD 6F 02 69 02 01 AF 6F 02 B0 6F 03 73 02 35
+                     33 02 31 1F 80 5D AD 6F 04 69 02 02 AF 6F 04 B0 6F 05 73
+                     02 35 33 02 31 1F 80 48 9E 0C 00 01 19 02 AD 6F 08 69 02
+                     01 AF 6F 08 B0 6F 09 73 02 35 91 02 31 19 AD 6F 0A 69 02
+                     02 AF 6F 0A B0 6F 0B 73 02 35 91 02 31 06 AD 2F 0C 0C 00
+                     01 AD 6F 0D 63 1B 09 87 01 00 14 28 FF 8A 83 01 AD 8D 94
+                     73 00 19 04 19 02)
+               (|COMMON-LISP|::|NIL| |XLIB|::|WINDOW| |XLIB|::|DRAWABLE-X|
+                |XLIB|::|DRAWABLE-WIDTH| |XLIB|::|DRAWABLE-Y|
+                |XLIB|::|DRAWABLE-HEIGHT|
+                #.(|CLOS|::|FIND-CLASS| '|CLFSWM|::|GROUP|)
+                |CLOS|::|TYPEP-CLASS| |CLFSWM|::|GROUP-RX| |CLFSWM|::|GROUP-RW|
+                |CLFSWM|::|GROUP-RY| |CLFSWM|::|GROUP-RH|
+                |CLFSWM|::|GROUP-WINDOW| |CLFSWM|::|GROUP-CHILD|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|CLFSWM|::|CHILD|) |COMMON-LISP|::|NIL|)
+            |CLFSWM|::|*CURRENT-ROOT*|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           39.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|X| |CLFSWM|::|Y|) "Return the child window under the mouse"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|112 116 (DEFUN CLEAR-SELECTION NIL ...)-9|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|CLEAR-SELECTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|CLEAR-SELECTION|
+       #19Y(00 00 00 00 00 00 00 00 06 01 00 0F 00 6B 01 2F 02 19 01)
+       (|CLFSWM|::|*CHILD-SELECTION*| |CLFSWM|::|*CURRENT-ROOT*|
+        |CLFSWM|::|DISPLAY-GROUP-INFO|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Clear the current selection"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|118 121 (DEFUN COPY-CURRENT-CHILD NIL ...)-10|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|COPY-CURRENT-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|COPY-CURRENT-CHILD|
+       #26Y(00 00 00 00 00 00 00 00 06 01 6B 00 6B 01 38 03 31 BA 0F 01 6B 02
+            2F 03 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|*CHILD-SELECTION*|
+        |CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|DISPLAY-GROUP-INFO|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Copy the current child to the selection"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|124 130 (DEFUN CUT-CURRENT-CHILD NIL ...)-11|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|CUT-CURRENT-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|CUT-CURRENT-CHILD|
+       #34Y(00 00 00 00 00 00 00 00 06 01 2E 00 6B 01 2F 02 6B 01 6B 01 6B 03
+            70 04 30 05 0E 03 0F 01 2E 06 19 01)
+       (|CLFSWM|::|COPY-CURRENT-CHILD| |CLFSWM|::|*CURRENT-CHILD*|
+        |CLFSWM|::|HIDE-ALL-CHILDS| |CLFSWM|::|*CURRENT-ROOT*|
+        |CLFSWM|::|FIND-FATHER-GROUP| |CLFSWM|::|REMOVE-CHILD-IN-GROUP|
+        |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Cut the current child to the selection"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|132 137 (DEFUN REMOVE-CURRENT-CHILD NIL ...)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|REMOVE-CURRENT-CHILD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|REMOVE-CURRENT-CHILD|
+       #32Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 6B 00 6B 00 6B 02 70 03
+            30 04 0E 02 0F 00 2E 05 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|HIDE-ALL-CHILDS|
+        |CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|FIND-FATHER-GROUP|
+        |CLFSWM|::|REMOVE-CHILD-IN-GROUP| |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Remove the current child from its father group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|140 148 (DEFUN PASTE-SELECTION-NO-CLEAR NIL ...)-13|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PASTE-SELECTION-NO-CLEAR| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PASTE-SELECTION-NO-CLEAR|
+       #76Y(00 00 00 00 00 00 00 00 06 01 6B 00 DB AD 8E 33 0F AC DE 8A 05 12
+            00 F8 9D 1F 2F 6B 06 63 1B 20 6B 00 6B 02 30 03 1B 6F 0E 00 1B 6B
+            87 01 00 AE 6F 07 AD AD 38 03 71 BA AC B1 30 08 16 02 83 01 AD 8D
+            94 68 16 02 2E 09 19 02 19 02)
+       (|CLFSWM|::|*CURRENT-CHILD*| |XLIB|::|WINDOW| |CLFSWM|::|*CURRENT-ROOT*|
+        |CLFSWM|::|FIND-FATHER-GROUP|
+        #.(|CLOS|::|FIND-CLASS| '|CLFSWM|::|GROUP|) |CLOS|::|TYPEP-CLASS|
+        |CLFSWM|::|*CHILD-SELECTION*| |CLFSWM|::|GROUP-CHILD|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|)
+        |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Paste the selection in the current group - Do not clear the selection after paste"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|150 154 (DEFUN PASTE-SELECTION NIL ...)-14|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PASTE-SELECTION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PASTE-SELECTION|
+       #21Y(00 00 00 00 00 00 00 00 06 01 2E 00 00 0F 01 6B 02 2F 03 19 01)
+       (|CLFSWM|::|PASTE-SELECTION-NO-CLEAR| |CLFSWM|::|*CHILD-SELECTION*|
+        |CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|DISPLAY-GROUP-INFO|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Paste the selection in the current group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|162 216 (DEFUN IDENTIFY-KEY NIL ...)-15|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|IDENTIFY-KEY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|IDENTIFY-KEY|
+       #229Y(03 00 01 00 00 00 00 00 06 01 00 2B 04 00 0B 00 00 6B 00 6B 01 30
+             02 0B 00 01 DD 6B 04 DF E0 E1 E0 E2 E3 6B 0A E5 AD E6 81 2F 00 73
+             02 35 E7 E8 68 0A 01 6F 0F 68 0B 01 6F 10 73 02 35 73 02 37 EB 6B
+             12 6F 13 EE EF F0 6B 17 6F 13 F2 6B 0A E5 AD F3 81 2F 00 F4 F5 2D
+             14 1C 0B 00 02 F7 68 01 02 65 1E 6B 1F 6F 13 EB 6B 12 6F 13 65 20
+             68 07 01 65 21 65 22 2D 0A 23 0B 00 03 9D 2B 02 AC 2C 24 01 0B 00
+             00 AC 2C 25 01 0B 00 01 AC 6D 26 01 6B 04 65 27 65 28 2D 03 29 68
+             02 02 2F 2A 65 2B 6B 2C 33 01 15 01 04 06 05 00 34 38 01 31 90 53
+             18 06 04 00 1C 11 6B 00 2F 2D 6B 00 65 2E B0 2D 03 2F 06 04 00 1D
+             6F 00 54 08 00 00 02 02 14 2F 30 08 00 00 02 01 14 2F 31 6B 04 65
+             32 65 33 2D 03 29 55 19 04)
+       (|CLFSWM|::|*DISPLAY*| |CLFSWM|::|*IDENTIFY-FONT-STRING*|
+        |XLIB|::|OPEN-FONT| :|PARENT| |CLFSWM|::|*ROOT*| :|X| 0. :|Y| :|WIDTH|
+        -2. |CLFSWM|::|*SCREEN*| |XLIB|::|SCREEN| 2. :|HEIGHT| 3.
+        |XLIB|::|MAX-CHAR-ASCENT| |XLIB|::|MAX-CHAR-DESCENT| :|BACKGROUND|
+        |CLFSWM|::|*IDENTIFY-BACKGROUND*| |CLFSWM|::|GET-COLOR| :|BORDER-WIDTH|
+        1. :|BORDER| |CLFSWM|::|*IDENTIFY-BORDER*| :|COLORMAP| 9. :|EVENT-MASK|
+        (:|EXPOSURE|) |XLIB|::|CREATE-WINDOW| :|DRAWABLE| :|FOREGROUND|
+        |CLFSWM|::|*IDENTIFY-FOREGROUND*| :|FONT| :|LINE-STYLE| :|SOLID|
+        |XLIB|::|CREATE-GCONTEXT|
+        #Y(|CLFSWM|::|IDENTIFY-KEY-PRINT-KEY|
+           #153Y(00 00 00 00 04 00 00 00 06 05 69 01 03 2F 01 69 01 04 6B 02 6F
+                 03 30 04 69 01 03 69 01 04 DF DF 69 01 02 6F 06 73 02 35 38 02
+                 72 76 E1 AD 38 02 31 8B AC 81 77 00 2D 05 08 A1 1F 80 5A 69 01
+                 03 69 01 04 E3 DF E4 69 01 02 6F 06 69 01 02 6F 0B 73 02 35 73
+                 02 37 73 02 35 38 02 72 76 E6 AD 38 02 31 8B B5 AD 31 86 E7 AD
+                 38 02 31 8B B4 AD 31 86 E8 AD 38 02 31 8B AC 2F 0F 10 10 B6 B0
+                 31 83 11 AC 2F 11 EC AD 38 02 31 8B B2 AD 31 86 AC 81 77 00 2D
+                 05 08 19 05 19 05)
+           (|COMMON-LISP|::|NIL| |XLIB|::|CLEAR-AREA|
+            |CLFSWM|::|*IDENTIFY-FOREGROUND*| |CLFSWM|::|GET-COLOR|
+            |XLIB|::|SET-GCONTEXT-FOREGROUND| 5. |XLIB|::|MAX-CHAR-ASCENT|
+            "Press a key to identify. Press 'q' to stop the identify loop."
+            |XLIB|::|DRAW-IMAGE-GLYPHS| 10. 2. |XLIB|::|MAX-CHAR-DESCENT|
+            "Code=" "  KeySym=" "  Key=" |SYSTEM|::|STREAM-START-S-EXPRESSION|
+            |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+            |SYSTEM|::|STREAM-END-S-EXPRESSION| "  Modifiers=")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|CODE| |CLFSWM|::|KEYSYM| |CLFSWM|::|KEY|
+            |CLFSWM|::|MODIFIERS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|IDENTIFY-KEY-HANDLE-IDENTIFY-KEY|
+           #115Y(00 00 00 00 00 00 00 00 C7 00 03 00 01 00 3D 02 3D 01 AD 6F 04
+                 AF AF 70 05 6B 06 B1 E1 6E 03 08 6F 09 AD CF 5A 1D 02 9F 59 0C
+                 01 01 E5 6B 0C 6B 0D 32 97 0F 0D 14 6B 0E 33 03 15 E9 6B 0C EA
+                 B4 33 03 15 EB 6B 0C EC AF 33 03 15 ED 6B 0C EE B0 33 03 15 EF
+                 6B 0C F0 B1 33 03 15 F1 6B 0C 33 01 15 38 01 31 90 B1 AD AF B1
+                 07 00 01 34 38 01 31 90 19 08)
+           (|COMMON-LISP|::|NIL| :|ROOT| :|CODE| :|STATE|
+            |XLIB|::|MAKE-STATE-KEYS| |CLFSWM|::|KEYCODE->CHAR|
+            |CLFSWM|::|*DISPLAY*| 0. |XLIB|::|KEYCODE->KEYSYM|
+            |CLFSWM|::|KEYSYM->KEYSYM-NAME| #\q
+            #Y(|CLFSWM|::|IDENTIFY-KEY-HANDLE-IDENTIFY-KEY-1|
+               #42Y(00 00 00 00 03 00 00 00 01 19 B0 31 8E DA B1 38 02 31 8B AF
+                    B1 31 86 DB B1 38 02 31 8B AE B1 31 86 DC B1 38 02 31 8B 9E
+                    19 05)
+               ("DEBUG[" " - " "]  ")
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            |COMMON-LISP|::|*STANDARD-OUTPUT*| |TOOLS|::|*%DBG-COUNT%*|
+            |TOOLS|::|*%DBG-NAME%*|
+            #Y(|CLFSWM|::|IDENTIFY-KEY-HANDLE-IDENTIFY-KEY-2|
+               #40Y(00 00 00 00 03 00 00 00 01 19 AF B1 31 86 DA B1 31 8A B0 2F
+                    01 10 02 B1 B4 31 83 11 B0 2F 03 DE B1 38 02 31 8B 9E 19
+                    05)
+               (#\= |SYSTEM|::|STREAM-START-S-EXPRESSION|
+                |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+                |SYSTEM|::|STREAM-END-S-EXPRESSION| "   ")
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            |CLFSWM|::|CODE|
+            #Y(|CLFSWM|::|IDENTIFY-KEY-HANDLE-IDENTIFY-KEY-3|
+               #40Y(00 00 00 00 03 00 00 00 01 19 AF B1 31 86 DA B1 31 8A B0 2F
+                    01 10 02 B1 B4 31 83 11 B0 2F 03 DE B1 38 02 31 8B 9E 19
+                    05)
+               (#\= |SYSTEM|::|STREAM-START-S-EXPRESSION|
+                |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+                |SYSTEM|::|STREAM-END-S-EXPRESSION| "   ")
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            |CLFSWM|::|KEYSYM|
+            #Y(|CLFSWM|::|IDENTIFY-KEY-HANDLE-IDENTIFY-KEY-4|
+               #40Y(00 00 00 00 03 00 00 00 01 19 AF B1 31 86 DA B1 31 8A B0 2F
+                    01 10 02 B1 B4 31 83 11 B0 2F 03 DE B1 38 02 31 8B 9E 19
+                    05)
+               (#\= |SYSTEM|::|STREAM-START-S-EXPRESSION|
+                |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+                |SYSTEM|::|STREAM-END-S-EXPRESSION| "   ")
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            |CLFSWM|::|KEY|
+            #Y(|CLFSWM|::|IDENTIFY-KEY-HANDLE-IDENTIFY-KEY-5|
+               #40Y(00 00 00 00 03 00 00 00 01 19 AF B1 31 86 DA B1 31 8A B0 2F
+                    01 10 02 B1 B4 31 83 11 B0 2F 03 DE B1 38 02 31 8B 9E 19
+                    05)
+               (#\= |SYSTEM|::|STREAM-START-S-EXPRESSION|
+                |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+                |SYSTEM|::|STREAM-END-S-EXPRESSION| "   ")
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+            |CLFSWM|::|MODIFIERS|
+            #Y(|CLFSWM|::|IDENTIFY-KEY-HANDLE-IDENTIFY-KEY-6|
+               #16Y(00 00 00 00 01 00 00 00 01 17 AE 31 8D 9E 19 03) ()
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|ROOT| |CLFSWM|::|CODE|
+            |CLFSWM|::|STATE| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|IDENTIFY-KEY-HANDLE-IDENTIFY|
+           #41Y(00 00 00 00 00 00 00 00 C7 00 02 00 01 00 3D 01 AD 24 03 0D AD
+                25 04 06 01 04 07 00 01 34 02 19 04 69 00 02 A1 37 00 1B 75)
+           (|COMMON-LISP|::|NIL| :|DISPLAY| :|EVENT-KEY| :|KEY-PRESS|
+            :|EXPOSURE|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|DISPLAY| |CLFSWM|::|EVENT-KEY|
+            |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        92. 93. |CLFSWM|::|XGRAB-POINTER| |XLIB|::|MAP-WINDOW|
+        #Y(|CLFSWM|::|IDENTIFY-KEY-1|
+           #22Y(00 00 00 00 01 00 00 00 01 17 AE 31 8E DA AF 38 02 31 8B 9E 19
+                03)
+           ("Press 'q' to stop the identify loop
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|*STANDARD-OUTPUT*| |XLIB|::|DISPLAY-FINISH-OUTPUT|
+        :|HANDLER| |XLIB|::|PROCESS-EVENT| |XLIB|::|DESTROY-WINDOW|
+        |XLIB|::|CLOSE-FONT| 66. 67.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Identify a key"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|220 245 (DEFUN QUERY-SHOW-PAREN (ORIG-STRING POS) ...)-16|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|QUERY-SHOW-PAREN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|QUERY-SHOW-PAREN|
+       #95Y(00 00 00 00 02 00 00 00 06 03 00 2B 01 7F 02 00 00 9D 2B 01 B0 32
+            47 0B 00 00 AC 6D 00 01 AD 6D 01 01 AE 6D 02 01 AF 6D 03 01 A0 34
+            1D 07 9E 74 92 00 12 16 01 9F 34 1D 07 9D 74 92 00 14 16 01 06 04
+            00 19 09 68 05 00 AC AE DE 33 01 02 16 02 1B 63 68 05 00 AC AE DF
+            33 01 02 16 02 1B 61)
+       (#Y(|CLFSWM|::|QUERY-SHOW-PAREN-HAVE-TO-FIND-RIGHT?|
+           #40Y(00 00 00 00 00 00 00 00 06 01 69 01 01 69 00 01 72 48 33 01 2F
+                1F 0F 69 00 01 69 01 01 73 01 01 DB 33 01 07 19 01 19 01)
+           (|COMMON-LISP|::|NIL| #\()
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-SHOW-PAREN-HAVE-TO-FIND-LEFT?|
+           #38Y(00 00 00 00 00 00 00 00 06 01 69 01 01 72 98 32 93 1F 11 69 00
+                01 69 01 01 72 98 73 01 01 DB 33 01 07 19 01 19 01)
+           (|COMMON-LISP|::|NIL| #\))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-SHOW-PAREN-POS-RIGHT|
+           #66Y(00 00 00 00 00 00 00 00 06 01 69 01 01 72 97 69 00 01 72 48 DB
+                63 1B 21 A0 19 05 69 00 01 B0 82 01 01 00 14 DC 91 01 07 02 85
+                01 AC DD 91 01 07 02 86 01 AD 8E 92 61 85 03 AF AF 91 01 32 5C
+                00 19 05)
+           (|COMMON-LISP|::|NIL| 1. #\( #\))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-SHOW-PAREN-POS-LEFT|
+           #61Y(00 00 00 00 00 00 00 00 06 01 DB 69 01 01 73 02 35 DC 63 1B 21
+                9F 19 04 69 00 01 AF 82 01 01 00 14 DD 91 01 07 02 86 01 AC DE
+                91 01 07 02 85 01 AD 8E 92 61 86 02 AE 8F 94 5E 00 19 04)
+           (|COMMON-LISP|::|NIL| -2. 1. #\( #\))
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        #\] #\[)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ORIG-STRING| |CLFSWM|::|POS|)
+       "Replace matching parentheses with brackets"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|248 374 (LET (#) (DEFUN CLEAR-HISTORY NIL ...) ...)-17|
+   #40Y(00 00 00 00 00 00 00 00 00 01 00 2B 01 00 0B 00 00 DA 2F 01 DA AD 6D 02
+        01 32 83 DD 2F 01 DD AD 6D 04 01 32 83 C8 19 02)
+   (|CLFSWM|::|CLEAR-HISTORY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|CLEAR-HISTORY|
+       #16Y(00 00 00 00 00 00 00 00 06 01 00 0C 00 01 19 01)
+       (|COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Clear the query-string history")
+    |CLFSWM|::|QUERY-STRING|
+    #Y(|CLFSWM|::|QUERY-STRING|
+       #308Y(03 00 01 00 01 00 01 00 06 08 2A 2B 01 7F 03 00 00 3B 02 02 C6 FA
+             9D 2B 07 00 0B 00 00 6B 02 6B 03 30 04 0B 00 01 DF 6B 06 E1 E2 E3
+             E2 E4 E5 6B 0C E7 AD E8 81 2F 00 73 02 35 E9 EA 68 0A 01 6F 11 68
+             0B 01 6F 12 73 02 35 73 02 37 ED 6B 14 6F 15 F0 F1 F2 6B 19 6F 15
+             F4 6B 0C E7 AD F5 81 2F 00 F6 F7 2D 14 1E 0B 00 02 65 1F 68 01 02
+             65 20 6B 21 6F 15 ED 6B 14 6F 15 65 22 68 07 01 65 23 65 24 2D 0A
+             25 0B 00 03 7F 03 00 04 14 32 48 0B 00 05 07 00 01 0B 00 06 9D 2B
+             06 AC 2C 26 01 0B 00 00 AC 2C 27 01 0B 00 01 AC 2C 28 01 0B 00 02
+             AC 2C 29 01 0B 00 03 AC 2C 2A 01 0B 00 04 AC 2C 2B 01 0B 00 05 AC
+             6D 2C 01 6B 06 65 2D 65 2E 2D 03 2F 68 02 02 2F 30 06 01 01 34 2E
+             31 53 1A 1B 0C 6B 02 2F 33 6B 02 65 34 B0 2D 03 35 68 04 00 65 32
+             38 03 8D B6 6A 3E 54 08 00 00 02 02 14 2F 36 08 00 00 02 01 14 2F
+             37 6B 06 65 38 65 39 2D 03 2F 55 16 02 68 00 00 65 3A 38 03 8D B6
+             0D 68 00 04 07 00 01 5D 0C 00 01 06 00 04 14 68 01 00 40 02 19 05)
+       (|COMMON-LISP|::|NIL| #1="" |CLFSWM|::|*DISPLAY*|
+        |CLFSWM|::|*QUERY-FONT-STRING*| |XLIB|::|OPEN-FONT| :|PARENT|
+        |CLFSWM|::|*ROOT*| :|X| 0. :|Y| :|WIDTH| -2. |CLFSWM|::|*SCREEN*|
+        |XLIB|::|SCREEN| 2. :|HEIGHT| 3. |XLIB|::|MAX-CHAR-ASCENT|
+        |XLIB|::|MAX-CHAR-DESCENT| :|BACKGROUND| |CLFSWM|::|*QUERY-BACKGROUND*|
+        |CLFSWM|::|GET-COLOR| :|BORDER-WIDTH| 1. :|BORDER|
+        |CLFSWM|::|*QUERY-BORDER*| :|COLORMAP| 9. :|EVENT-MASK| (:|EXPOSURE|)
+        |XLIB|::|CREATE-WINDOW| :|DRAWABLE| :|FOREGROUND|
+        |CLFSWM|::|*QUERY-FOREGROUND*| :|FONT| :|LINE-STYLE| :|SOLID|
+        |XLIB|::|CREATE-GCONTEXT|
+        #Y(|CLFSWM|::|QUERY-STRING-ADD-CURSOR|
+           #32Y(00 00 00 00 01 00 00 00 06 02 DB AE DC 69 01 06 72 46 DD B0 69
+                01 06 38 01 72 46 33 03 25 19 02)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|STRING| 0. "|")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+           (|COMMON-LISP|::|STRING|) |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-STRING-PRINT-STRING|
+           #121Y(00 00 00 00 00 00 00 00 06 01 69 01 03 2F 01 69 01 04 6B 02 6F
+                 03 30 04 69 01 03 69 01 04 DF DF 69 01 02 6F 06 73 02 35 69 02
+                 01 2D 05 07 69 01 06 8F 94 04 CD 0C 01 06 69 01 06 69 01 05 72
+                 48 91 01 30 08 69 01 05 32 48 0C 01 06 69 01 03 69 01 04 E3 DF
+                 E4 69 01 02 6F 06 69 01 02 6F 0B 73 02 35 73 02 37 73 02 35 69
+                 01 05 69 01 06 70 0C 07 00 01 74 2D 05 07 19 01)
+           (|COMMON-LISP|::|NIL| |XLIB|::|CLEAR-AREA|
+            |CLFSWM|::|*QUERY-FOREGROUND*| |CLFSWM|::|GET-COLOR|
+            |XLIB|::|SET-GCONTEXT-FOREGROUND| 5. |XLIB|::|MAX-CHAR-ASCENT|
+            |XLIB|::|DRAW-IMAGE-GLYPHS| 0. 10. 2. |XLIB|::|MAX-CHAR-DESCENT|
+            |CLFSWM|::|QUERY-SHOW-PAREN|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-STRING-CALL-BACKSPACE|
+           #78Y(00 00 00 00 01 00 00 00 06 02 DB AE 38 03 8C B6 2A 69 01 06 32
+                98 14 AC 32 94 59 1F 2F DE 69 01 05 DD AF 72 46 69 01 05 69 01
+                06 38 01 72 46 33 02 25 0C 01 05 9D 0C 01 06 19 03 DC 69 01 05
+                64 38 05 07 01 06 FB 8E 60 4D C8 1B 4A 19 03)
+           (|COMMON-LISP|::|NIL| :|CONTROL| #\  0. |COMMON-LISP|::|STRING|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|MODIFIERS|) |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-STRING-CALL-DELETE|
+           #84Y(00 00 00 00 01 00 00 00 06 02 DB AE 38 03 8C B6 2B 07 01 06 14
+                72 97 AC 69 01 05 72 48 33 01 31 1F 30 DD 69 01 05 DE 69 01 06
+                72 46 69 01 05 AF 38 01 72 46 33 02 25 0C 01 05 19 03 DC 69 01
+                05 38 06 07 01 06 FC 8E 60 4B 69 01 05 72 48 32 98 1B 42 19 03)
+           (|COMMON-LISP|::|NIL| :|CONTROL| #\  |COMMON-LISP|::|STRING| 0.)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|MODIFIERS|) |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-STRING-CALL-DELETE-EOF|
+           #24Y(00 00 00 00 00 00 00 00 06 01 69 01 05 DB 69 01 06 32 46 0C 01
+                05 19 01)
+           (|COMMON-LISP|::|NIL| 0.)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-STRING-HANDLE-QUERY-KEY|
+           #461Y(00 00 00 00 00 00 00 00 C7 00 03 00 01 00 3D 02 3D 01 AD 6F 04
+                 6B 05 B0 E0 AF 38 03 8C B6 80 7C E2 AF 38 03 8C B6 80 78 CF 14
+                 6E 03 0B 6B 05 AD 70 0C AD 6F 0D AC E8 38 04 8C 3B 80 67 AC EA
+                 38 04 8C 3B 80 63 AC EC 38 04 8C 3B 80 5F 00 0C 01 01 AC EE 38
+                 04 8C 3B 80 74 AC F1 38 04 8D 3B 80 DE 69 01 06 69 01 05 72 48
+                 91 01 2F 81 59 EF B0 38 03 8D B6 81 49 F0 69 01 05 38 06 69 01
+                 06 72 97 69 01 05 72 48 82 01 34 04 72 60 92 00 05 69 01 05 32
+                 48 16 01 0C 01 06 1B 81 2B CC 1B FF 89 CE 1B FF 85 D4 1B FF A6
+                 D6 1B FF A2 D8 1B FF 9E F0 69 01 05 64 38 05 69 01 06 72 98 69
+                 01 05 72 48 82 01 34 03 72 60 92 00 4A CF 1B 47 69 01 06 8F 93
+                 80 F3 EF B0 38 03 8C B6 55 69 01 06 32 98 0C 01 06 1B 80 E1 07
+                 01 07 5B 0C 01 05 14 32 48 0C 01 06 69 01 07 2F 19 0C 01 07 1B
+                 80 C9 07 01 07 5B 0C 01 05 14 32 48 0C 01 06 69 01 07 2F 1B 0C
+                 01 07 1B 80 B1 CF 0C 01 06 1B 80 AA 69 01 05 32 48 0C 01 06 1B
+                 80 9F AF 07 00 03 34 1B 80 97 AF 07 00 04 34 1B 80 8F 07 00 05
+                 34 1B 80 88 AC F2 38 04 8C 3B FF 9F AC F4 38 04 8C 3B FF AF AC
+                 F6 38 04 8C 3B 40 AC F7 38 04 8C 3B 40 AC 65 1E 38 04 8C 3B 43
+                 AC 65 1F 38 04 8C 3B 43 AC 65 20 38 04 8D 3B 08 EF B0 38 03 8C
+                 B6 FF BB AD 8F 1E 80 45 AD 8D 1F 80 40 65 21 69 01 06 69 01 05
+                 72 48 91 01 31 09 69 01 05 E4 69 01 06 32 46 14 AF 71 4B 69 01
+                 06 69 01 05 72 48 91 01 2F 0A 69 01 05 69 01 06 38 01 32 46 14
+                 33 03 25 0C 01 05 69 01 06 32 97 0C 01 06 07 00 02 34 19 09)
+           (|COMMON-LISP|::|NIL| :|ROOT| :|CODE| :|STATE|
+            |XLIB|::|MAKE-STATE-KEYS| |CLFSWM|::|*DISPLAY*| :|SHIFT| 1.
+            :|MOD-5| 2. 0. |XLIB|::|KEYCODE->KEYSYM|
+            |XLIB|::|KEYSYM->CHARACTER| |CLFSWM|::|KEYSYM->KEYSYM-NAME|
+            "Return" :|RETURN| "Tab" :|COMPLET| "Escape" :|ESCAPE| "Left"
+            :|CONTROL| #\  "Right" "Up" |TOOLS|::|ROTATE-LIST| "Down"
+            |TOOLS|::|ANTI-ROTATE-LIST| "Home" "End" "Backspace" "Delete" "k"
+            |COMMON-LISP|::|STRING|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|ROOT| |CLFSWM|::|CODE|
+            |CLFSWM|::|STATE| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|QUERY-STRING-HANDLE-QUERY|
+           #39Y(00 00 00 00 00 00 00 00 C7 00 02 00 01 00 3D 01 AD 24 03 0B AD
+                25 04 04 07 00 02 34 02 19 04 69 00 06 A1 37 00 1B 75)
+           (|COMMON-LISP|::|NIL| :|DISPLAY| :|EVENT-KEY| :|KEY-PRESS|
+            :|EXPOSURE|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|
+            |COMMON-LISP|::|&KEY| |CLFSWM|::|DISPLAY| |CLFSWM|::|EVENT-KEY|
+            |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+           |COMMON-LISP|::|NIL|)
+        92. 93. |CLFSWM|::|XGRAB-POINTER| |XLIB|::|MAP-WINDOW|
+        |CLFSWM|::|WAIT-NO-KEY-OR-BUTTON-PRESS|
+        (:|RETURN| :|ESCAPE| :|COMPLET|) |XLIB|::|DISPLAY-FINISH-OUTPUT|
+        :|HANDLER| |XLIB|::|PROCESS-EVENT| |XLIB|::|DESTROY-WINDOW|
+        |XLIB|::|CLOSE-FONT| 66. 67. (:|RETURN| :|COMPLET|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|MSG| |COMMON-LISP|::|&OPTIONAL| (|CLFSWM|::|DEFAULT| #1#))
+       "Query a string from the keyboard. Display msg as prompt"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|378 380 (DEFUN QUERY-NUMBER (MSG) ...)-18|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|QUERY-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|QUERY-NUMBER|
+       #23Y(00 00 00 00 01 00 00 00 06 02 AD 88 00 01 C6 14 38 03 64 31 81 19
+            02)
+       (|CLFSWM|::|QUERY-STRING| "")
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|MSG|) "Query a number from the query input"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|384 401 (DEFUN EVAL-FROM-QUERY-STRING NIL ...)-19|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|EVAL-FROM-QUERY-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|EVAL-FROM-QUERY-STRING|
+       #179Y(04 00 02 00 00 00 00 00 06 01 00 2B 01 DA 2F 01 0B 00 00 63 06 01
+             00 1F 80 97 14 DC 32 04 59 1F 80 8F DD 38 01 32 76 10 04 53 80 45
+             A3 2B 01 00 0B 00 00 4B 05 21 B0 AF 6D 06 02 B1 6D 07 01 57 08 B0
+             36 00 16 06 1B 1F 58 67 00 00 01 76 00 AD 36 01 18 04 02 19 02 68
+             04 00 38 02 72 76 AD AD 31 86 AC 32 77 16 02 4D 16 01 FD 6B 04 32
+             77 3F 54 6B 04 2F 09 55 11 14 38 02 72 76 68 03 00 E4 AE 38 02 31
+             8B AC AE 31 86 16 01 AC 81 77 00 6F 0B AD 6F 0B AF 6F 0B 73 03 22
+             6F 0C E7 E8 6B 0F EA AD EB 81 2F 00 73 02 35 2D 03 12 29 00 04 FF
+             59 19 03)
+       ("Eval:" |CLFSWM|::|QUERY-STRING| "" |COMMON-LISP|::|CHARACTER|
+        |COMMON-LISP|::|*STANDARD-OUTPUT*| #(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|EVAL-FROM-QUERY-STRING-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|EVAL-FROM-QUERY-STRING-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|EVAL-FROM-QUERY-STRING-2|
+           #62Y(00 00 00 00 00 00 00 00 06 01 69 01 01 38 05 71 80 31 5B 43 14
+                01 02 1B 1C 87 02 01 38 02 72 76 AC 2F 01 10 02 B1 B0 31 83 11
+                AC 2F 03 AC 81 77 00 84 00 83 02 AE 8D 94 60 AC 31 A6 19 04)
+           (|COMMON-LISP|::|NIL| |SYSTEM|::|STREAM-START-S-EXPRESSION|
+            |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+            |SYSTEM|::|STREAM-END-S-EXPRESSION|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#(|COMMON-LISP|::|ERROR| 62.) 3. . 2.) |COMMON-LISP|::|CLOSE| "> "
+        |TOOLS|::|ENSURE-LIST| |TOOLS|::|EXPAND-NEWLINE| :|WIDTH| -2.
+        |CLFSWM|::|*SCREEN*| |XLIB|::|SCREEN| 2. |CLFSWM|::|INFO-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Eval a lisp form from the query input"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|406 411 (DEFUN RUN-PROGRAM-FROM-QUERY-STRING NIL ...)-20|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|RUN-PROGRAM-FROM-QUERY-STRING|
+    |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|RUN-PROGRAM-FROM-QUERY-STRING|
+       #32Y(00 00 00 00 00 00 00 00 06 01 DA 6F 01 9D 1F 0E 14 DC 32 04 59 1F
+            07 9D 0F 03 2E 04 19 02 19 02)
+       ("Run:" |CLFSWM|::|QUERY-STRING| "" |CLFSWM|::|*SECOND-MODE-PROGRAM*|
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Run a program from the query input"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|416 441 (DEFUN ASK-GROUP-NAME (MSG) ...)-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|ASK-GROUP-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|ASK-GROUP-NAME|
+       #61Y(00 00 00 00 01 00 00 00 06 02 00 2B 01 7F 02 00 00 9D 2B 02 00 0B
+            00 00 C5 0B 00 01 AC 6D 01 01 6B 02 9E 34 16 01 9D 2B 01 AC 2C 03
+            01 0B 00 00 AC 6D 04 01 9D 34 16 02 06 00 01 19 04)
+       (""
+        #Y(|CLFSWM|::|ASK-GROUP-NAME-G50901|
+           #54Y(00 00 00 00 01 00 00 00 06 02 AD 2F 01 1F 25 AD 6F 02 93 00 08
+                14 07 00 01 5D 0C 00 01 16 01 AD 6F 03 63 1B 08 87 01 00 14 28
+                5F 83 01 AD 8D 94 74 00 19 04 19 02)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-NAME|
+            |CLFSWM|::|GROUP-CHILD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|*ROOT-GROUP*|
+        #Y(|CLFSWM|::|ASK-GROUP-NAME-SELECTED-NAMES|
+           #50Y(00 00 00 00 00 00 00 00 06 01 69 01 01 01 02 1B 18 87 02 01 69
+                01 02 AE 38 08 C6 F9 8E 67 01 C7 14 8F 92 03 AD 84 00 83 02 AE
+                8D 94 64 AC 31 A6 19 04)
+           (|COMMON-LISP|::|NIL| #.#'|COMMON-LISP|::|STRING-EQUAL| -1.)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|ASK-GROUP-NAME-ASK|
+           #101Y(00 00 00 00 00 00 00 00 06 01 07 00 01 74 69 01 02 AD C6 74 38
+                 02 72 76 69 02 01 AC AE 31 86 DC AE 38 02 31 8B AF 1B 15 16 01
+                 1B 17 94 00 83 01 AF 31 86 AC 8C 94 71 DD AF 38 02 31 8B AC 8D
+                 94 6B 16 01 16 01 AC 81 77 00 AD 30 04 42 02 9E 0C 01 02 14 AF
+                 38 04 8D 3B 05 AC CA 5A 1F 05 29 00 05 FF A7 19 05)
+           (|COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|ASK-GROUP-NAME-COMPLET-ALONE|
+               #25Y(00 00 00 00 02 00 00 00 06 03 DA AE 72 48 90 01 2D 03 9F 19
+                    03 9E 5B 19 03)
+               (1.)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|CLFSWM|::|REQ| |CLFSWM|::|SEL|) |COMMON-LISP|::|NIL|)
+            ": " ", " |CLFSWM|::|QUERY-STRING| :|COMPLET|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|MSG|) "Ask a group name"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|445 450 (DEFUN FOCUS-GROUP-BY (GROUP) ...)-22|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FOCUS-GROUP-BY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FOCUS-GROUP-BY|
+       #35Y(00 00 00 00 01 00 00 00 06 02 AD 2F 00 1F 12 AD AE 6B 01 8A 02 06
+            AE 88 02 02 0E 03 14 30 04 19 02 19 02)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|*CURRENT-ROOT*|
+        |CLFSWM|::|FIND-FATHER-GROUP| |CLFSWM|::|*ROOT-GROUP*|
+        |CLFSWM|::|FOCUS-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|453 456 (DEFUN FOCUS-GROUP-BY-NAME NIL ...)-23|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FOCUS-GROUP-BY-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FOCUS-GROUP-BY-NAME|
+       #21Y(00 00 00 00 00 00 00 00 06 01 DA 6F 01 6F 02 2F 03 2E 04 19 01)
+       ("Focus group" |CLFSWM|::|ASK-GROUP-NAME| |CLFSWM|::|FIND-GROUP-BY-NAME|
+        |CLFSWM|::|FOCUS-GROUP-BY| |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Focus a group by name"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|458 461 (DEFUN FOCUS-GROUP-BY-NUMBER NIL ...)-24|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FOCUS-GROUP-BY-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FOCUS-GROUP-BY-NUMBER|
+       #21Y(00 00 00 00 00 00 00 00 06 01 DA 6F 01 6F 02 2F 03 2E 04 19 01)
+       ("Focus group by number:" |CLFSWM|::|QUERY-NUMBER|
+        |CLFSWM|::|FIND-GROUP-BY-NUMBER| |CLFSWM|::|FOCUS-GROUP-BY|
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Focus a group by number"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|464 467 (DEFUN OPEN-GROUP-BY (GROUP) ...)-25|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|OPEN-GROUP-BY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|OPEN-GROUP-BY|
+       #35Y(00 00 00 00 01 00 00 00 06 02 AD 2F 00 1F 12 DB DC 6F 03 70 04 AE
+            6F 05 AD 9E 7A AC B1 30 06 19 05 19 02)
+       (|CLFSWM|::|GROUP-P| :|NAME| "Group name" |CLFSWM|::|QUERY-STRING|
+        |CLFSWM|::|CREATE-GROUP| |CLFSWM|::|GROUP-CHILD|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|471 474 (DEFUN OPEN-GROUP-BY-NAME NIL ...)-26|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|OPEN-GROUP-BY-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|OPEN-GROUP-BY-NAME|
+       #21Y(00 00 00 00 00 00 00 00 06 01 DA 6F 01 6F 02 2F 03 2E 04 19 01)
+       ("Open a new group in" |CLFSWM|::|ASK-GROUP-NAME|
+        |CLFSWM|::|FIND-GROUP-BY-NAME| |CLFSWM|::|OPEN-GROUP-BY|
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Open a new group in a named group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|476 479 (DEFUN OPEN-GROUP-BY-NUMBER NIL ...)-27|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|OPEN-GROUP-BY-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|OPEN-GROUP-BY-NUMBER|
+       #21Y(00 00 00 00 00 00 00 00 06 01 DA 6F 01 6F 02 2F 03 2E 04 19 01)
+       ("Open a new group in the grou numbered:" |CLFSWM|::|ASK-GROUP-NAME|
+        |CLFSWM|::|FIND-GROUP-BY-NAME| |CLFSWM|::|OPEN-GROUP-BY|
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Open a new group in a numbered group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|482 489 (DEFUN DELETE-GROUP-BY (GROUP) ...)-28|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DELETE-GROUP-BY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DELETE-GROUP-BY|
+       #47Y(00 00 00 00 01 00 00 00 06 02 AD 6B 00 8E 04 1C AD 6B 01 8F 04 04
+            0E 00 0F 01 AD 6B 02 8F 04 04 0E 01 0F 02 AD AE 6F 03 30 04 19 02
+            00 19 02)
+       (|CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|*CURRENT-ROOT*|
+        |CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|FIND-FATHER-GROUP|
+        |CLFSWM|::|REMOVE-CHILD-IN-GROUP|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|GROUP|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|492 495 (DEFUN DELETE-GROUP-BY-NAME NIL ...)-29|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DELETE-GROUP-BY-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DELETE-GROUP-BY-NAME|
+       #21Y(00 00 00 00 00 00 00 00 06 01 DA 6F 01 6F 02 2F 03 2E 04 19 01)
+       ("Delete group" |CLFSWM|::|ASK-GROUP-NAME|
+        |CLFSWM|::|FIND-GROUP-BY-NAME| |CLFSWM|::|DELETE-GROUP-BY|
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Delete a group by name"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|497 500 (DEFUN DELETE-GROUP-BY-NUMBER NIL ...)-30|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|DELETE-GROUP-BY-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|DELETE-GROUP-BY-NUMBER|
+       #21Y(00 00 00 00 00 00 00 00 06 01 DA 6F 01 6F 02 2F 03 2E 04 19 01)
+       ("Delete group by number:" |CLFSWM|::|QUERY-NUMBER|
+        |CLFSWM|::|FIND-GROUP-BY-NUMBER| |CLFSWM|::|DELETE-GROUP-BY|
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Delete a group by number"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|503 508 (DEFUN MOVE-CURRENT-CHILD-BY (CHILD GROUP-DEST) ...)-31|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MOVE-CURRENT-CHILD-BY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MOVE-CURRENT-CHILD-BY|
+       #47Y(00 00 00 00 02 00 00 00 06 03 9F 1F 20 AD 2F 00 1F 1B AE AF 6F 01
+            30 02 AD 6F 03 AF AD 38 03 71 BA AC B0 30 04 16 02 AE AE 30 05 19
+            03 19 03)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|FIND-FATHER-GROUP|
+        |CLFSWM|::|REMOVE-CHILD-IN-GROUP| |CLFSWM|::|GROUP-CHILD|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|)
+        |CLFSWM|::|FOCUS-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|GROUP-DEST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|510 515 (DEFUN MOVE-CURRENT-CHILD-BY-NAME NIL ...)-32|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MOVE-CURRENT-CHILD-BY-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MOVE-CURRENT-CHILD-BY-NAME|
+       #52Y(00 00 00 00 00 00 00 00 06 01 6B 00 38 02 72 76 6B 00 6F 01 DC AE
+            38 02 31 8B AC AE 31 86 DD AE 38 02 31 8B 16 01 AC 81 77 00 6F 04
+            6F 05 30 06 2E 07 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|CHILD-NAME| "Move '"
+        "' to group" |CLFSWM|::|ASK-GROUP-NAME| |CLFSWM|::|FIND-GROUP-BY-NAME|
+        |CLFSWM|::|MOVE-CURRENT-CHILD-BY| |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Move current child in a named group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|517 522 (DEFUN MOVE-CURRENT-CHILD-BY-NUMBER NIL ...)-33|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MOVE-CURRENT-CHILD-BY-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MOVE-CURRENT-CHILD-BY-NUMBER|
+       #52Y(00 00 00 00 00 00 00 00 06 01 6B 00 38 02 72 76 6B 00 6F 01 DC AE
+            38 02 31 8B AC AE 31 86 DD AE 38 02 31 8B 16 01 AC 81 77 00 6F 04
+            6F 05 30 06 2E 07 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|CHILD-NAME| "Move '"
+        "' to group numbered:" |CLFSWM|::|QUERY-NUMBER|
+        |CLFSWM|::|FIND-GROUP-BY-NUMBER| |CLFSWM|::|MOVE-CURRENT-CHILD-BY|
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Move current child in a numbered group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|525 529 (DEFUN COPY-CURRENT-CHILD-BY (CHILD GROUP-DEST) ...)-34|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|COPY-CURRENT-CHILD-BY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|COPY-CURRENT-CHILD-BY|
+       #41Y(00 00 00 00 02 00 00 00 06 03 9F 1F 1A AD 2F 00 1F 15 AD 6F 01 AF
+            AD 38 03 71 BA AC B0 30 02 16 02 AE AE 30 03 19 03 19 03)
+       (|CLFSWM|::|GROUP-P| |CLFSWM|::|GROUP-CHILD|
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|CLFSWM|::|GROUP-CHILD|)
+        |CLFSWM|::|FOCUS-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CHILD| |CLFSWM|::|GROUP-DEST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|531 536 (DEFUN COPY-CURRENT-CHILD-BY-NAME NIL ...)-35|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|COPY-CURRENT-CHILD-BY-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|COPY-CURRENT-CHILD-BY-NAME|
+       #52Y(00 00 00 00 00 00 00 00 06 01 6B 00 38 02 72 76 6B 00 6F 01 DC AE
+            38 02 31 8B AC AE 31 86 DD AE 38 02 31 8B 16 01 AC 81 77 00 6F 04
+            6F 05 30 06 2E 07 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|CHILD-NAME| "Copy '"
+        "' to group" |CLFSWM|::|ASK-GROUP-NAME| |CLFSWM|::|FIND-GROUP-BY-NAME|
+        |CLFSWM|::|COPY-CURRENT-CHILD-BY| |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Copy current child in a named group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|538 543 (DEFUN COPY-CURRENT-CHILD-BY-NUMBER NIL ...)-36|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|COPY-CURRENT-CHILD-BY-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|COPY-CURRENT-CHILD-BY-NUMBER|
+       #52Y(00 00 00 00 00 00 00 00 06 01 6B 00 38 02 72 76 6B 00 6F 01 DC AE
+            38 02 31 8B AC AE 31 86 DD AE 38 02 31 8B 16 01 AC 81 77 00 6F 04
+            6F 05 30 06 2E 07 19 01)
+       (|CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|CHILD-NAME| "Copy '"
+        "' to group numbered:" |CLFSWM|::|QUERY-NUMBER|
+        |CLFSWM|::|FIND-GROUP-BY-NUMBER| |CLFSWM|::|COPY-CURRENT-CHILD-BY|
+        |CLFSWM|::|LEAVE-SECOND-MODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Copy current child in a numbered group"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: clfswm-util.fasl
==============================================================================
Binary file. No diff available.

Added: clfswm-util.lib
==============================================================================
--- (empty file)
+++ clfswm-util.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,79 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ADD-DEFAULT-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ADD-PLACED-GROUP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DELETE-FOCUS-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DESTROY-FOCUS-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|REMOVE-FOCUS-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|UNHIDE-ALL-WINDOWS-IN-CURRENT-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FIND-CHILD-UNDER-MOUSE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|X| |CLFSWM|::|Y|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CLEAR-SELECTION|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|COPY-CURRENT-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CUT-CURRENT-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|REMOVE-CURRENT-CHILD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PASTE-SELECTION-NO-CLEAR|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PASTE-SELECTION|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|IDENTIFY-KEY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|QUERY-SHOW-PAREN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ORIG-STRING| |CLFSWM|::|POS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CLEAR-HISTORY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|QUERY-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|MSG| |COMMON-LISP|::|&OPTIONAL| (|CLFSWM|::|DEFAULT| ""))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|QUERY-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|MSG|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|EVAL-FROM-QUERY-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|RUN-PROGRAM-FROM-QUERY-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|ASK-GROUP-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|MSG|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FOCUS-GROUP-BY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|GROUP|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FOCUS-GROUP-BY-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FOCUS-GROUP-BY-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|OPEN-GROUP-BY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|GROUP|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|OPEN-GROUP-BY-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|OPEN-GROUP-BY-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DELETE-GROUP-BY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|GROUP|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DELETE-GROUP-BY-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|DELETE-GROUP-BY-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MOVE-CURRENT-CHILD-BY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|CHILD| |CLFSWM|::|GROUP-DEST|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MOVE-CURRENT-CHILD-BY-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MOVE-CURRENT-CHILD-BY-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|COPY-CURRENT-CHILD-BY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|CHILD| |CLFSWM|::|GROUP-DEST|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|COPY-CURRENT-CHILD-BY-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|COPY-CURRENT-CHILD-BY-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: clfswm-util.lisp
==============================================================================
--- (empty file)
+++ clfswm-util.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,925 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Sat Mar  1 00:03:08 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Utility
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+
+(defun add-default-group ()
+  "Add a default group"
+  (when (group-p *current-child*)
+    (let ((name (query-string "Group name")))
+      (push (create-group :name name) (group-child *current-child*))))
+  (leave-second-mode))
+    
+
+(defun add-placed-group ()
+  "Add a placed group"
+  (when (group-p *current-child*)
+    (let ((name (query-string "Group name"))
+	  (x (/ (query-number "Group x in percent (%)") 100))
+	  (y (/ (query-number "Group y in percent (%)") 100))
+	  (w (/ (query-number "Group width in percent (%)") 100))
+	  (h (/ (query-number "Group height in percent (%)") 100)))
+      (push (create-group :name name :x x :y y :w w :h h)
+	    (group-child *current-child*))))
+  (leave-second-mode))
+
+
+
+(defun delete-focus-window ()
+  "Delete the focus window in all groups and workspaces"
+  (let ((window (xlib:input-focus *display*)))
+    (when (and window (not (xlib:window-equal window *no-focus-window*)))
+      (setf *current-child* *current-root*)
+      (remove-child-in-all-groups window)
+      (send-client-message window :WM_PROTOCOLS
+			   (xlib:intern-atom *display* "WM_DELETE_WINDOW"))
+      (show-all-childs))))
+
+(defun destroy-focus-window ()
+  "Destroy the focus window in all groups and workspaces"
+  (let ((window (xlib:input-focus *display*)))
+    (when (and window (not (xlib:window-equal window *no-focus-window*)))
+      (setf *current-child* *current-root*)
+      (remove-child-in-all-groups window)
+      (xlib:kill-client *display* (xlib:window-id window))
+      (show-all-childs))))
+
+(defun remove-focus-window ()
+  "Remove the focus window in the current group"
+  (let ((window (xlib:input-focus *display*)))
+    (when (and window (not (xlib:window-equal window *no-focus-window*)))
+      (setf *current-child* *current-root*)
+      (hide-child window)
+      (remove-child-in-group window (find-father-group window))
+      (show-all-childs))))
+
+
+(defun unhide-all-windows-in-current-child ()
+  "Unhide all hidden windows into the current child"
+  (with-xlib-protect
+      (dolist (window (get-hidden-windows))
+	(unhide-window window)
+	(process-new-window window)
+	(xlib:map-window window)))
+  (show-all-childs))
+
+
+
+
+(defun find-child-under-mouse (x y)
+  "Return the child window under the mouse"
+  (with-xlib-protect
+      (let ((win nil))
+	(with-all-windows-groups (*current-root* child)
+	  (when (and (<= (xlib:drawable-x child) x (+ (xlib:drawable-x child) (xlib:drawable-width child)))
+		     (<= (xlib:drawable-y child) y (+ (xlib:drawable-y child) (xlib:drawable-height child))))
+	    (setf win child))
+	  (when (and (<= (group-rx child) x (+ (group-rx child) (group-rw child)))
+		     (<= (group-ry child) y (+ (group-ry child) (group-rh child))))
+	    (setf win (group-window child))))
+	win)))
+
+
+
+
+
+;;; Selection functions
+(defun clear-selection ()
+  "Clear the current selection"
+  (setf *child-selection* nil)
+  (display-group-info *current-root*))
+
+(defun copy-current-child ()
+  "Copy the current child to the selection"
+  (pushnew *current-child* *child-selection*)
+  (display-group-info *current-root*))
+
+
+(defun cut-current-child ()
+  "Cut the current child to the selection"
+  (copy-current-child)
+  (hide-all-childs *current-child*)
+  (remove-child-in-group *current-child* (find-father-group *current-child* *current-root*))
+  (setf *current-child* *current-root*)
+  (show-all-childs))
+
+(defun remove-current-child ()
+  "Remove the current child from its father group"
+  (hide-all-childs *current-child*)
+  (remove-child-in-group *current-child* (find-father-group *current-child* *current-root*))
+  (setf *current-child* *current-root*)
+  (leave-second-mode))
+      
+
+(defun paste-selection-no-clear ()
+  "Paste the selection in the current group - Do not clear the selection after paste"
+  (let ((group-dest (typecase *current-child*
+		      (xlib:window (find-father-group *current-child* *current-root*))
+		      (group *current-child*))))
+    (when group-dest
+      (dolist (child *child-selection*)
+	(pushnew child (group-child group-dest)))
+      (show-all-childs))))
+
+(defun paste-selection ()
+  "Paste the selection in the current group"
+  (paste-selection-no-clear)
+  (setf *child-selection* nil)
+  (display-group-info *current-root*))
+
+
+
+  
+
+
+
+;;; CONFIG - Identify mode
+(defun identify-key ()
+  "Identify a key"
+  (let* ((done nil)
+	 (font (xlib:open-font *display* *identify-font-string*))
+	 (window (xlib:create-window :parent *root*
+				     :x 0 :y 0
+				     :width (- (xlib:screen-width *screen*) 2)
+				     :height (* 3 (+ (xlib:max-char-ascent font) (xlib:max-char-descent font)))
+				     :background (get-color *identify-background*)
+				     :border-width 1
+				     :border (get-color *identify-border*)
+				     :colormap (xlib:screen-default-colormap *screen*)
+				     :event-mask '(:exposure)))
+	 (gc (xlib:create-gcontext :drawable window
+				   :foreground (get-color *identify-foreground*)
+				   :background (get-color *identify-background*)
+				   :font font
+				   :line-style :solid)))
+    (labels ((print-key (code keysym key modifiers)
+	       (xlib:clear-area window)
+	       (setf (xlib:gcontext-foreground gc) (get-color *identify-foreground*))
+	       (xlib:draw-image-glyphs window gc 5 (+ (xlib:max-char-ascent font) 5)
+				       (format nil "Press a key to identify. Press 'q' to stop the identify loop."))
+	       (when code
+		 (xlib:draw-image-glyphs window gc 10 (+ (* 2 (+ (xlib:max-char-ascent font) (xlib:max-char-descent font))) 5)
+					 (format nil "Code=~A  KeySym=~A  Key=~S  Modifiers=~A"
+						 code keysym key modifiers))))
+	     (handle-identify-key (&rest event-slots &key root code state &allow-other-keys)
+	       (declare (ignore event-slots root))
+	       (let* ((modifiers (xlib:make-state-keys state))
+		      (key (keycode->char code state))
+		      (keysym (keysym->keysym-name (xlib:keycode->keysym *display* code 0))))
+		 (setf done (and (equal key #\q) (null modifiers)))
+		 (dbg code keysym key modifiers)
+		 (print-key code keysym key modifiers)
+		 (force-output)))
+	     (handle-identify (&rest event-slots &key display event-key &allow-other-keys)
+	       (declare (ignore display))
+	       (case event-key
+		 (:key-press (apply #'handle-identify-key event-slots) t)
+		 (:exposure (print-key nil nil nil nil)))
+	       t))
+      (xgrab-pointer *root* 92 93)
+      (xlib:map-window window)
+      (format t "~&Press 'q' to stop the identify loop~%")
+      (print-key nil nil nil nil)
+      (force-output)
+      (unwind-protect
+	   (loop until done do
+		(xlib:display-finish-output *display*)
+		(xlib:process-event *display* :handler #'handle-identify))
+	(xlib:destroy-window window)
+	(xlib:close-font font)
+	(xgrab-pointer *root* 66 67)))))
+
+
+
+(defun query-show-paren (orig-string pos)
+  "Replace matching parentheses with brackets"
+  (let ((string (copy-seq orig-string))) 
+    (labels ((have-to-find-right? ()
+	       (and (< pos (length string)) (char= (aref string pos) #\()))
+	     (have-to-find-left? ()
+	       (and (> (1- pos) 0) (char= (aref string (1- pos)) #\))))
+	     (pos-right ()
+	       (loop :for p :from (1+ pos) :below (length string)
+		  :with level = 1   :for c = (aref string p)
+		  :do (when (char= c #\() (incf level))
+		  (when (char= c #\)) (decf level))
+		  (when (= level 0) (return p))))
+	     (pos-left ()
+	       (loop :for p :from (- pos 2) :downto 0
+		  :with level = 1   :for c = (aref string p)
+		  :do (when (char= c #\() (decf level))
+		  (when (char= c #\)) (incf level))
+		  (when (= level 0) (return p)))))
+      (when (have-to-find-right?)
+	(let ((p (pos-right)))
+	  (when p (setf (aref string p) #\]))))
+      (when (have-to-find-left?)
+	(let ((p (pos-left)))
+	  (when p (setf (aref string p) #\[))))
+      string)))
+
+
+;;; CONFIG - Query string mode
+(let ((history nil))
+  (defun clear-history ()
+    "Clear the query-string history"
+    (setf history nil))
+  
+  (defun query-string (msg &optional (default ""))
+    "Query a string from the keyboard. Display msg as prompt"
+    (let* ((done nil)
+	   (font (xlib:open-font *display* *query-font-string*))
+	   (window (xlib:create-window :parent *root*
+				       :x 0 :y 0
+				       :width (- (xlib:screen-width *screen*) 2)
+				       :height (* 3 (+ (xlib:max-char-ascent font) (xlib:max-char-descent font)))
+				       :background (get-color *query-background*)
+				       :border-width 1
+				       :border (get-color *query-border*)
+				       :colormap (xlib:screen-default-colormap *screen*)
+				       :event-mask '(:exposure)))
+	   (gc (xlib:create-gcontext :drawable window
+				     :foreground (get-color *query-foreground*)
+				     :background (get-color *query-background*)
+				     :font font
+				     :line-style :solid))
+	   (result-string default)
+	   (pos (length default))
+	   (local-history history))
+      (labels ((add-cursor (string)
+		 (concatenate 'string (subseq string 0 pos) "|" (subseq string pos)))
+	       (print-string ()
+		 (xlib:clear-area window)
+		 (setf (xlib:gcontext-foreground gc) (get-color *query-foreground*))
+		 (xlib:draw-image-glyphs window gc 5 (+ (xlib:max-char-ascent font) 5) msg)
+		 (when (< pos 0) (setf pos 0))
+		 (when (> pos (length result-string)) (setf pos (length result-string)))
+		 (xlib:draw-image-glyphs window gc 10 (+ (* 2 (+ (xlib:max-char-ascent font) (xlib:max-char-descent font))) 5)
+					 (add-cursor (query-show-paren result-string pos))))
+	       (call-backspace (modifiers)
+		 (let ((del-pos (if (member :control modifiers)
+				    (or (position #\Space result-string :from-end t :end pos) 0)
+				    (1- pos))))
+		   (when (>= del-pos 0)
+		     (setf result-string (concatenate 'string
+						      (subseq result-string 0 del-pos)
+						      (subseq result-string pos))
+			   pos del-pos))))
+	       (call-delete (modifiers)
+		 (let ((del-pos (if (member :control modifiers)
+				    (1+ (or (position #\Space result-string :start pos) (1- (length result-string))))
+				    (1+ pos))))
+		   (if (<= del-pos (length result-string))
+		       (setf result-string (concatenate 'string
+							(subseq result-string 0 pos)
+							(subseq result-string del-pos))))))
+	       (call-delete-eof ()
+		 (setf result-string (subseq result-string 0 pos)))
+	       (handle-query-key (&rest event-slots &key root code state &allow-other-keys)
+		 (declare (ignore event-slots root))
+		 (let* ((modifiers (xlib:make-state-keys state))
+			(keysym (xlib:keycode->keysym *display* code (cond  ((member :shift modifiers) 1)
+									    ((member :mod-5 modifiers) 2)
+									    (t 0))))
+			(char (xlib:keysym->character *display* keysym))
+			(keysym-name (keysym->keysym-name keysym)))
+		   (setf done (cond ((string-equal keysym-name "Return") :Return)
+				    ((string-equal keysym-name "Tab") :Complet)
+				    ((string-equal keysym-name "Escape") :Escape)
+				    (t nil)))
+		   (cond ((string-equal keysym-name "Left")
+			  (when (> pos 0)
+			    (setf pos (if (member :control modifiers)
+					  (let ((p (position #\Space result-string
+							     :end (min (1- pos) (length result-string))
+							     :from-end t)))
+					    (if p p 0))
+					  (1- pos)))))
+			 ((string-equal keysym-name "Right")
+			  (when (< pos (length result-string))
+			    (setf pos (if (member :control modifiers)
+					  (let ((p (position #\Space result-string
+							     :start (min (1+ pos) (length result-string)))))
+					    (if p p (length result-string)))
+					  (1+ pos)))))
+			 ((string-equal keysym-name "Up")
+			  (setf result-string (first local-history)
+				pos (length result-string)
+				local-history (rotate-list local-history)))
+			 ((string-equal keysym-name "Down")
+			  (setf result-string (first local-history)
+				pos (length result-string)
+				local-history (anti-rotate-list local-history)))
+			 ((string-equal keysym-name "Home") (setf pos 0))
+			 ((string-equal keysym-name "End") (setf pos (length result-string)))
+			 ((string-equal keysym-name "Backspace") (call-backspace modifiers))
+			 ((string-equal keysym-name "Delete") (call-delete modifiers))
+			 ((and (string-equal keysym-name "k") (member :control modifiers))
+			  (call-delete-eof))
+			 ((and (characterp char) (standard-char-p char))
+			  (setf result-string (concatenate 'string
+							   (when (<= pos (length result-string))
+							     (subseq result-string 0 pos))
+							   (string char)
+							   (when (< pos (length result-string))
+							     (subseq result-string pos))))
+			  (incf pos)))
+		   (print-string)))
+	       (handle-query (&rest event-slots &key display event-key &allow-other-keys)
+		 (declare (ignore display))
+		 (case event-key
+		   (:key-press (apply #'handle-query-key event-slots) t)
+		   (:exposure (print-string)))
+		 t))
+	(xgrab-pointer *root* 92 93)
+	(xlib:map-window window)
+	(print-string)
+	(wait-no-key-or-button-press)
+	(unwind-protect
+	     (loop until (member done '(:Return :Escape :Complet)) do
+		  (xlib:display-finish-output *display*)
+		  (xlib:process-event *display* :handler #'handle-query))
+	  (xlib:destroy-window window)
+	  (xlib:close-font font)
+	  (xgrab-pointer *root* 66 67)))
+      (values (when (member done '(:Return :Complet))
+		(push result-string history)
+		result-string)
+	      done))))
+
+
+
+(defun query-number (msg)
+  "Query a number from the query input"
+  (parse-integer (or (query-string msg) "") :junk-allowed t))
+
+
+
+(defun eval-from-query-string ()
+  "Eval a lisp form from the query input"
+  (let ((form (query-string "Eval:"))
+	(result nil))
+    (when (and form (not (equal form "")))
+      (let ((printed-result
+	     (with-output-to-string (*standard-output*)
+	       (setf result (handler-case
+				(loop for i in (multiple-value-list
+						(eval (read-from-string form)))
+				   collect (format nil "~S" i))
+			      (error (condition)
+				(format nil "~A" condition)))))))
+	(info-mode (expand-newline (append (ensure-list (format nil "> ~A" form))
+					   (ensure-list printed-result)
+					   (ensure-list result)))
+		   :width (- (xlib:screen-width *screen*) 2))
+	(eval-from-query-string)))))
+
+
+
+
+(defun run-program-from-query-string ()
+  "Run a program from the query input"
+  (let ((program (query-string "Run:")))
+    (when (and program (not (equal program "")))
+      (setf *second-mode-program* program)
+      (leave-second-mode))))
+
+
+
+
+;;; Group name actions
+;;;(loop :for str :in '("The Gimp" "The klm" "klm" "abc")  ;; Test
+;;;   :when (zerop (or (search "ThE" str :test #'string-equal) -1))
+;;;   :collect str)
+(defun ask-group-name (msg)
+  "Ask a group name"
+  (let ((all-group-name nil)
+	(name ""))
+    (with-all-groups (*root-group* group)
+      (awhen (group-name group) (push it all-group-name)))
+    (labels ((selected-names ()
+	       (loop :for str :in all-group-name
+		  :when (zerop (or (search name str :test #'string-equal) -1))
+		  :collect str))
+	     (complet-alone (req sel)
+	       (if (= 1 (length sel)) (first sel) req))
+	     (ask ()
+	       (let* ((selected (selected-names))
+		      (default (complet-alone name selected)))
+		 (multiple-value-bind (str done)
+		     (query-string (format nil "~A: ~{~A~^, ~}" msg selected) default)
+		   (setf name str)
+		   (when (or (not (string-equal name default)) (eql done :complet))
+		     (ask))))))
+      (ask))
+    name))
+
+
+
+;;; Focus by functions
+(defun focus-group-by (group)
+  (when (group-p group)
+    (focus-all-childs group (or (find-father-group group *current-root*)
+				(find-father-group group)
+				*root-group*))))
+
+
+(defun focus-group-by-name ()
+  "Focus a group by name"
+  (focus-group-by (find-group-by-name (ask-group-name "Focus group")))
+  (leave-second-mode))
+
+(defun focus-group-by-number ()
+  "Focus a group by number"
+  (focus-group-by (find-group-by-number (query-number "Focus group by number:")))
+  (leave-second-mode))
+
+
+;;; Open by functions
+(defun open-group-by (group)
+  (when (group-p group)
+    (push (create-group :name (query-string "Group name")) (group-child group))))
+
+
+
+(defun open-group-by-name ()
+  "Open a new group in a named group"
+  (open-group-by (find-group-by-name (ask-group-name "Open a new group in")))
+  (leave-second-mode))
+
+(defun open-group-by-number ()
+  "Open a new group in a numbered group"
+  (open-group-by (find-group-by-name (ask-group-name "Open a new group in the grou numbered:")))
+  (leave-second-mode))
+
+
+;;; Delete by functions
+(defun delete-group-by (group)
+  (unless (equal group *root-group*)
+    (when (equal group *current-root*)
+      (setf *current-root* *root-group*))
+    (when (equal group *current-child*)
+      (setf *current-child* *current-root*))
+    (remove-child-in-group group (find-father-group group))))
+
+
+(defun delete-group-by-name ()
+  "Delete a group by name"
+  (delete-group-by (find-group-by-name (ask-group-name "Delete group")))
+  (leave-second-mode))
+
+(defun delete-group-by-number ()
+  "Delete a group by number"
+  (delete-group-by (find-group-by-number (query-number "Delete group by number:")))
+  (leave-second-mode))
+
+
+;;; Move by function
+(defun move-current-child-by (child group-dest)
+  (when (and child (group-p group-dest))
+    (remove-child-in-group child (find-father-group child))
+    (pushnew child (group-child group-dest))
+    (focus-all-childs child group-dest)))
+
+(defun move-current-child-by-name ()
+  "Move current child in a named group"
+  (move-current-child-by *current-child*
+			 (find-group-by-name
+			  (ask-group-name (format nil "Move '~A' to group" (child-name *current-child*)))))
+  (leave-second-mode))
+
+(defun move-current-child-by-number ()
+  "Move current child in a numbered group"
+  (move-current-child-by *current-child*
+			 (find-group-by-number
+			  (query-number (format nil "Move '~A' to group numbered:" (child-name *current-child*)))))
+  (leave-second-mode))
+
+
+;;; Copy by function
+(defun copy-current-child-by (child group-dest)
+  (when (and child (group-p group-dest))
+    (pushnew child (group-child group-dest))
+    (focus-all-childs child group-dest)))
+
+(defun copy-current-child-by-name ()
+  "Copy current child in a named group"
+  (copy-current-child-by *current-child*
+			 (find-group-by-name
+			  (ask-group-name (format nil "Copy '~A' to group" (child-name *current-child*)))))
+  (leave-second-mode))
+
+(defun copy-current-child-by-number ()
+  "Copy current child in a numbered group"
+  (copy-current-child-by *current-child*
+			 (find-group-by-number
+			  (query-number (format nil "Copy '~A' to group numbered:" (child-name *current-child*)))))
+  (leave-second-mode))
+
+
+
+
+
+
+;;;;;,-----
+;;;;;| Various definitions
+;;;;;`-----
+;;(defun stop-all-pending-actions ()
+;;  "Stop all pending actions (actions like open in new workspace/group)"
+;;  (setf *open-next-window-in-new-workspace* nil
+;;	*open-next-window-in-new-group* nil
+;;	*arrow-action* nil
+;;	*pager-arrow-action* nil))
+;;
+;;(defun rotate-window-up ()
+;;  "Rotate up windows in the current group"
+;;  (setf (group-window-list (current-group))
+;;	(rotate-list (group-window-list (current-group))))
+;;  (adapt-window-to-group (current-window) (current-group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun rotate-window-down ()
+;;  "Rotate down windows in the current group"
+;;  (setf (group-window-list (current-group))
+;;	(anti-rotate-list (group-window-list (current-group))))
+;;  (adapt-window-to-group (current-window) (current-group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;
+;;(defun maximize-group (group)
+;;  "Maximize the group"
+;;  (when group
+;;    (unless (group-fullscreenp group)
+;;      (setf (group-fullscreenp group) t)
+;;      (show-all-windows-in-workspace (current-workspace)))))
+;;
+;;(defun minimize-group (group)
+;;  "Minimize the group"
+;;  (when group
+;;    (when (group-fullscreenp group)
+;;      (setf (group-fullscreenp group) nil)
+;;      (show-all-windows-in-workspace (current-workspace)))))
+;;
+;;(defun toggle-maximize-group (group)
+;;  "Maximize/minimize a group"
+;;  (if (group-fullscreenp group)
+;;      (minimize-group group)
+;;      (maximize-group group)))
+;;
+;;
+;;(defun toggle-maximize-current-group ()
+;;  "Maximize/minimize the current group"
+;;  (toggle-maximize-group (current-group)))
+;;
+;;
+;;(defun renumber-workspaces ()
+;;  "Reset workspaces numbers (1 for current workspace, 2 for the second...) "
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (setf *current-workspace-number* 0)
+;;  (loop for workspace in *workspace-list* do
+;;       (setf (workspace-number workspace) (incf *current-workspace-number*)))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;(defun sort-workspaces ()
+;;  "Sort workspaces by numbers"
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (setf *workspace-list* (sort *workspace-list*
+;;			       #'(lambda (x y)
+;;				   (< (workspace-number x) (workspace-number y)))))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;
+;;
+;;(defun circulate-group-up ()
+;;  "Circulate up in group"
+;;  (banish-pointer)
+;;  (minimize-group (current-group))
+;;  (no-focus)
+;;  (setf (workspace-group-list (current-workspace))
+;;	(rotate-list (workspace-group-list (current-workspace))))
+;;  (adapt-window-to-group (current-window) (current-group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;
+;;(defun circulate-group-up-move-window ()
+;;  "Circulate up in group moving the current window in the next group"
+;;  (banish-pointer)
+;;  (minimize-group (current-group))
+;;  (no-focus)
+;;  (let ((window (current-window)))
+;;    (remove-window-in-group window (current-group))
+;;    (focus-window (current-window))
+;;    (setf (workspace-group-list (current-workspace))
+;;	  (rotate-list (workspace-group-list (current-workspace))))
+;;    (add-window-in-group window (current-group)))
+;;  (adapt-window-to-group (current-window) (current-group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun circulate-group-up-copy-window ()
+;;  "Circulate up in group copying the current window in the next group"
+;;  (banish-pointer)
+;;  (minimize-group (current-group))
+;;  (no-focus)
+;;  (let ((window (current-window)))
+;;    (setf (workspace-group-list (current-workspace))
+;;	  (rotate-list (workspace-group-list (current-workspace))))
+;;    (unless (window-already-in-workspace window (current-workspace))
+;;      (add-window-in-group window (current-group))))
+;;  (adapt-window-to-group (current-window) (current-group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;
+;;
+;;(defun circulate-group-down ()
+;;  "Circulate down in group"
+;;  (banish-pointer)
+;;  (minimize-group (current-group))
+;;  (no-focus)
+;;  (setf (workspace-group-list (current-workspace))
+;;	(anti-rotate-list (workspace-group-list (current-workspace))))
+;;  (adapt-window-to-group (current-window) (current-group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun circulate-group-down-move-window ()
+;;  "Circulate down in group moving the current window in the next group"
+;;  (banish-pointer)
+;;  (minimize-group (current-group))
+;;  (no-focus)
+;;  (let ((window (current-window)))
+;;    (remove-window-in-group window (current-group))
+;;    (focus-window (current-window))
+;;    (setf (workspace-group-list (current-workspace))
+;;	  (anti-rotate-list (workspace-group-list (current-workspace))))
+;;    (add-window-in-group window (current-group)))
+;;  (adapt-window-to-group (current-window) (current-group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun circulate-group-down-copy-window ()
+;;  "Circulate down in group copying the current window in the next group"
+;;  (banish-pointer)
+;;  (minimize-group (current-group))
+;;  (no-focus)
+;;  (let ((window (current-window)))
+;;    (setf (workspace-group-list (current-workspace))
+;;	  (anti-rotate-list (workspace-group-list (current-workspace))))
+;;    (unless (window-already-in-workspace window (current-workspace))
+;;      (add-window-in-group window (current-group))))
+;;  (adapt-window-to-group (current-window) (current-group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;
+;;
+;;
+;;
+;;(defun circulate-workspace-by-number (number)
+;;  "Focus a workspace given its number"
+;;  (no-focus)
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (dotimes (i (length *workspace-list*))
+;;    (when (= (workspace-number (current-workspace)) number)
+;;      (return))
+;;    (setf *workspace-list* (rotate-list *workspace-list*)))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;  
+;;
+;;(defun circulate-workspace-up ()
+;;  "Circulate up in workspace"
+;;  (no-focus)
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (setf *workspace-list* (rotate-list *workspace-list*))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;(defun circulate-workspace-up-move-group ()
+;;  "Circulate up in workspace moving current group in the next workspace"
+;;  (no-focus)
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (let ((group (current-group)))
+;;    (remove-group-in-workspace group (current-workspace))
+;;    (setf *workspace-list* (rotate-list *workspace-list*))
+;;    (add-group-in-workspace (copy-group group) (current-workspace)))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;(defun circulate-workspace-up-copy-group ()
+;;  "Circulate up in workspace copying current group in the next workspace"
+;;  (no-focus)
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (let ((group (current-group)))
+;;    (setf *workspace-list* (rotate-list *workspace-list*))
+;;    (unless (group-windows-already-in-workspace group (current-workspace))
+;;      (add-group-in-workspace (copy-group group) (current-workspace))))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;
+;;(defun circulate-workspace-down ()
+;;  "Circulate down in workspace"
+;;  (no-focus)
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (setf *workspace-list* (anti-rotate-list *workspace-list*))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;(defun circulate-workspace-down-move-group ()
+;;  "Circulate down in workspace moving current group in the next workspace"
+;;  (no-focus)
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (let ((group (current-group)))
+;;    (remove-group-in-workspace group (current-workspace))
+;;    (setf *workspace-list* (anti-rotate-list *workspace-list*))
+;;    (add-group-in-workspace (copy-group group) (current-workspace)))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;(defun circulate-workspace-down-copy-group ()
+;;  "Circulate down in workspace copying current group in the next workspace"
+;;  (no-focus)
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (let ((group (current-group)))
+;;    (setf *workspace-list* (anti-rotate-list *workspace-list*))
+;;    (unless (group-windows-already-in-workspace group (current-workspace))
+;;      (add-group-in-workspace (copy-group group) (current-workspace))))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;
+;;(defun delete-current-window ()
+;;  "Delete the current window in all groups and workspaces"
+;;  (let ((window (current-window)))
+;;    (when window
+;;      (no-focus)
+;;      (remove-window-in-all-workspace window)
+;;      (send-client-message window :WM_PROTOCOLS
+;;			   (intern-atom *display* "WM_DELETE_WINDOW"))))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;
+;;(defun destroy-current-window ()
+;;  "Destroy the current window in all groups and workspaces"
+;;  (let ((window (current-window)))
+;;    (when window
+;;      (no-focus)
+;;      (remove-window-in-all-workspace window)
+;;      (kill-client *display* (xlib:window-id window))))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun remove-current-window ()
+;;  "Remove the current window in the current group"
+;;  (let ((window (current-window)))
+;;    (when window
+;;      (no-focus)
+;;      (hide-window window)
+;;      (remove-window-in-group (current-window) (current-group))))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun remove-current-group ()
+;;  "Remove the current group in the current workspace"
+;;  (minimize-group (current-group))
+;;  (let ((group (current-group)))
+;;    (when group
+;;      (no-focus)
+;;      (dolist (window (group-window-list group))
+;;	(when window
+;;	  (hide-window window)))
+;;      (remove-group-in-workspace group (current-workspace))))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun remove-current-workspace ()
+;;  "Remove the current workspace"
+;;  (let ((workspace (current-workspace)))
+;;    (when workspace
+;;      (hide-all-windows-in-workspace workspace)
+;;      (remove-workspace workspace)
+;;      (show-all-windows-in-workspace (current-workspace)))))
+;;
+;;
+;;(defun unhide-all-windows-in-current-group ()
+;;  "Unhide all hidden windows into the current group"
+;;  (let ((all-windows (get-all-windows))
+;;	(hidden-windows (remove-if-not #'window-hidden-p
+;;				       (copy-list (xlib:query-tree *root*))))
+;;	(current-group (current-group)))
+;;    (dolist (window (set-difference hidden-windows all-windows))
+;;      (unhide-window window)
+;;      (process-new-window window)
+;;      (xlib:map-window window)
+;;      (adapt-window-to-group window current-group)))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;
+;;
+;;
+;;(defun create-new-default-group ()
+;;  "Create a new default group"
+;;  (minimize-group (current-group))
+;;  (add-group-in-workspace (copy-group *default-group*)
+;;			  (current-workspace))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;(defun create-new-default-workspace ()
+;;  "Create a new default workspace"
+;;  (hide-all-windows-in-workspace (current-workspace))
+;;  (add-workspace (create-default-workspace))
+;;  (show-all-windows-in-workspace (current-workspace)))
+;;
+;;
+;;
+;;
+;;;;;,-----
+;;;;;| Group moving
+;;;;;`-----
+;;(defun move-group (group dx dy)
+;;  "Move group"
+;;  (setf (group-x group) (+ (group-x group) dx)
+;;	(group-y group) (+ (group-y group) dy))
+;;  (dolist (window (group-window-list group))
+;;    (adapt-window-to-group window group))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun move-group-to (group x y)
+;;  "Move group to"
+;;  (setf (group-x group) x
+;;	(group-y group) y)
+;;  (dolist (window (group-window-list group))
+;;    (adapt-window-to-group window group))
+;;  (focus-window (current-window))
+;;  (show-all-group (current-workspace)))
+;;
+;;
+;;(defun resize-group (group dx dy)
+;;  "Resize group"
+;;  (setf (group-width group) (max (+ (group-width group) dx) 100)
+;;	(group-height group) (max (+ (group-height group) dy) 100))
+;;  (dolist (window (group-window-list group))
+;;    (adapt-window-to-group window group))
+;;  (show-all-group (current-workspace)))
+;;
+;;(defun force-window-in-group ()
+;;  "Force the current window to move in the group (Useful only for transient windows)"
+;;  (let ((group (current-group))
+;;	(window (current-window)))
+;;    (when window
+;;      (setf (xlib:drawable-x window) (group-x group)
+;;	    (xlib:drawable-y window) (group-y group))
+;;      (show-all-windows-in-workspace (current-workspace)))))
+;;
+;;(defun force-window-center-in-group ()
+;;  "Force the current window to move in the center of the group (Useful only for transient windows)"
+;;  (let ((group (current-group))
+;;	(window (current-window)))
+;;    (when window
+;;      (setf (xlib:drawable-x window) (truncate (+ (group-x group)
+;;						  (/ (- (group-width group) (xlib:drawable-width window)) 2)))
+;;	    (xlib:drawable-y window) (truncate (+ (group-y group)
+;;						  (/ (- (group-height group) (xlib:drawable-height window)) 2))))
+;;      (show-all-windows-in-workspace (current-workspace)))))
+;;
+;;
+;;
+;;  
+;;
+;;(defun show-help (&optional (browser "dillo") (tempfile "/tmp/clfswm.html"))
+;;  "Show current keys and buttons bindings"
+;;  (ignore-errors
+;;    (produce-doc-html-in-file tempfile))
+;;  (sleep 1)
+;;  (do-shell (format nil "~A ~A" browser tempfile)))

Added: clfswm.asd
==============================================================================
--- (empty file)
+++ clfswm.asd	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,50 @@
+;;;; -*- Mode: Lisp -*-
+;;;; Author: Philippe Brochard <hocwp at free.fr>
+;;;; ASDF System Definition
+;;;
+;;; #date#: Fri Feb 22 21:39:37 2008
+
+(in-package #:asdf)
+
+(defsystem clfswm
+    :description "CLFSWM: Fullscreen Window Manager"
+    :version "Please, see the package date (something between 0.5 and 1.5)"
+    :author "Philippe Brochard  <hocwp at free.fr>"
+    :licence "GNU Public License (GPL)"
+    :components ((:file "tools")
+		 (:file "my-html"
+			:depends-on ("tools"))
+		 (:file "package"
+			:depends-on ("my-html" "tools"))
+		 (:file "config"
+			:depends-on ("package"))
+		 (:file "keysyms"
+			:depends-on ("package"))
+		 (:file "xlib-util"
+			:depends-on ("package" "keysyms" "config"))
+		 (:file "netwm-util"
+			:depends-on ("package" "xlib-util"))
+		 (:file "clfswm-keys"
+			:depends-on ("package" "config" "xlib-util" "keysyms"))
+		 (:file "clfswm-internal"
+			:depends-on ("xlib-util" "clfswm-keys" "netwm-util" "tools"))
+		 (:file "clfswm"
+			:depends-on ("xlib-util" "netwm-util" "clfswm-keys" "config"
+						 "clfswm-internal" "tools"))
+		 (:file "clfswm-second-mode"
+			:depends-on ("package" "clfswm-internal"))
+		 (:file "clfswm-info"
+			:depends-on ("package" "xlib-util" "config" "clfswm-keys" "clfswm" "clfswm-internal"))
+		 (:file "clfswm-util"
+			:depends-on ("clfswm" "keysyms" "clfswm-info" "clfswm-second-mode"))
+		 (:file "clfswm-layout"
+			:depends-on ("package" "clfswm-util" "clfswm-info"))
+		 (:file "bindings"
+			:depends-on ("clfswm" "clfswm-internal"))
+		 (:file "bindings-second-mode"
+			:depends-on ("clfswm" "clfswm-util"))))
+
+
+
+
+

Added: clfswm.fas
==============================================================================
--- (empty file)
+++ clfswm.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,535 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|34 37 (DEFUN HANDLE-KEY-PRESS (&REST EVENT-SLOTS &KEY ...) ...)-2|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-KEY-PRESS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-KEY-PRESS|
+       #27Y(00 00 00 00 00 00 00 00 C7 00 03 00 00 00 3D 02 3D 01 6B 03 AF AF
+            2D 03 04 19 05)
+       (:|ROOT| :|CODE| :|STATE| |CLFSWM|::|*MAIN-KEYS*|
+        |CLFSWM|::|FUNCALL-KEY-FROM-CODE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|ROOT| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|42 68 (DEFUN HANDLE-CONFIGURE-REQUEST (&REST EVENT-SLOTS &KEY ...) ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-CONFIGURE-REQUEST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST|
+       #130Y(02 00 01 00 00 00 00 00 C7 00 08 00 00 00 00 2B 08 3B 09 01 00 0B
+             00 00 3B 08 01 00 0B 00 01 3B 07 01 00 0B 00 02 3B 06 01 00 0B 00
+             03 3B 05 01 00 0B 00 04 3B 04 01 00 0B 00 05 3B 03 01 00 0B 00 06
+             3B 02 01 00 0B 00 07 9D 2B 01 AC 2C 08 01 0B 00 00 9D 2B 01 00 0B
+             00 00 4B 09 21 B0 AF 6D 0A 02 B1 6D 0B 01 57 0C B0 36 00 16 06 1B
+             10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19 02 00 4D 19 0D)
+       (:|STACK-MODE| :|WINDOW| :|X| :|Y| :|WIDTH| :|HEIGHT| :|BORDER-WIDTH|
+        :|VALUE-MASK|
+        #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-ADJUST-FROM-REQUEST|
+           #74Y(00 00 00 00 00 00 00 00 06 01 69 01 08 C6 34 1D 08 69 01 02 69
+                01 03 30 02 69 01 08 C8 34 1D 08 69 01 02 69 01 04 30 04 69 01
+                08 CA 34 1D 08 69 01 02 69 01 06 30 06 69 01 08 CC 34 1F 0A 69
+                01 02 69 01 05 30 08 19 01 19 01)
+           (|COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-HAS-X|
+               #21Y(00 00 00 00 01 00 00 00 06 02 DA AE DA 73 02 3D 33 01 2D 19
+                    02)
+               (1.)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|CLFSWM|::|MASK|) |COMMON-LISP|::|NIL|)
+            |XLIB|::|SET-DRAWABLE-X|
+            #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-HAS-Y|
+               #21Y(00 00 00 00 01 00 00 00 06 02 DA AE DA 73 02 3D 33 01 2D 19
+                    02)
+               (2.)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|CLFSWM|::|MASK|) |COMMON-LISP|::|NIL|)
+            |XLIB|::|SET-DRAWABLE-Y|
+            #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-HAS-H|
+               #21Y(00 00 00 00 01 00 00 00 06 02 DA AE DA 73 02 3D 33 01 2D 19
+                    02)
+               (8.)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|CLFSWM|::|MASK|) |COMMON-LISP|::|NIL|)
+            |XLIB|::|SET-DRAWABLE-HEIGHT|
+            #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-HAS-W|
+               #21Y(00 00 00 00 01 00 00 00 06 02 DA AE DA 73 02 3D 33 01 2D 19
+                    02)
+               (4.)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|CLFSWM|::|MASK|) |COMMON-LISP|::|NIL|)
+            |XLIB|::|SET-DRAWABLE-WIDTH|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        #(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-2|
+           #128Y(01 00 00 00 00 00 00 00 06 01 69 02 02 01 04 7B 05 AC 0E 01 5D
+                 10 01 C7 45 69 02 08 C8 34 1D 08 69 02 02 69 02 07 30 04 69 02
+                 02 6B 05 8A 06 35 07 01 01 34 69 02 08 D1 34 1F 0A 69 02 01 AC
+                 24 0D 35 00 16 01 41 67 00 00 03 2F 0F 46 11 19 02 69 02 02 69
+                 02 02 6B 05 70 09 30 0A 69 02 02 2F 0B 16 01 1B 4F 69 02 02 6F
+                 07 AC 24 08 62 07 01 01 34 16 01 1B FF BD 69 02 02 2F 0E 16 01
+                 1B 45)
+           (|COMMON-LISP|::|NIL| |XLIB|::|*WINDOW-ATTRIBUTES*|
+            #.#'|COMMON-LISP|::|VALUES|
+            #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-HAS-BW|
+               #21Y(00 00 00 00 01 00 00 00 06 02 DA AE DA 73 02 3D 33 01 2D 19
+                    02)
+               (16.)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|CLFSWM|::|MASK|) |COMMON-LISP|::|NIL|)
+            |XLIB|::|SET-DRAWABLE-BORDER-WIDTH| |CLFSWM|::|*CURRENT-ROOT*|
+            |CLFSWM|::|FIND-CHILD| |CLFSWM|::|WINDOW-TYPE| :|NORMAL|
+            |CLFSWM|::|FIND-FATHER-GROUP| |CLFSWM|::|ADAPT-CHILD-TO-FATHER|
+            |CLFSWM|::|SEND-CONFIGURATION-NOTIFY|
+            #Y(|CLFSWM|::|HANDLE-CONFIGURE-REQUEST-HAS-STACKMODE|
+               #21Y(00 00 00 00 01 00 00 00 06 02 DA AE DA 73 02 3D 33 01 2D 19
+                    02)
+               (64.)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|CLFSWM|::|MASK|) |COMMON-LISP|::|NIL|)
+            :|ABOVE| |CLFSWM|::|RAISE-WINDOW| |XLIB|::|CLEANUP-STATE-ENTRY|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           97.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|STACK-MODE| |CLFSWM|::|WINDOW| |CLFSWM|::|X| |CLFSWM|::|Y|
+        |CLFSWM|::|WIDTH| |CLFSWM|::|HEIGHT| |CLFSWM|::|BORDER-WIDTH|
+        |CLFSWM|::|VALUE-MASK| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|73 74 (DEFUN HANDLE-CONFIGURE-NOTIFY (&REST EVENT-SLOTS) ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-CONFIGURE-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-CONFIGURE-NOTIFY|
+       #13Y(00 00 00 00 00 00 00 00 07 16 00 19 02) () |COMMON-LISP|::|NIL|
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|79 86 (DEFUN HANDLE-MAP-REQUEST (&REST EVENT-SLOTS &KEY ...) ...)-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-MAP-REQUEST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-MAP-REQUEST|
+       #40Y(00 00 00 00 00 00 00 00 C7 00 02 00 00 00 3D 02 3B 01 08 7D 01 93
+            01 06 00 19 04 92 01 7A AE 2F 02 AE 2F 03 2E 04 19 04)
+       (:|WINDOW| :|SEND-EVENT-P| |CLFSWM|::|PROCESS-NEW-WINDOW|
+        |XLIB|::|MAP-WINDOW| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|WINDOW| |CLFSWM|::|SEND-EVENT-P|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|89 95 (DEFUN HANDLE-UNMAP-NOTIFY (&REST EVENT-SLOTS &KEY ...) ...)-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-UNMAP-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-UNMAP-NOTIFY|
+       #55Y(00 00 00 00 00 00 00 00 C7 00 03 00 00 00 3D 03 3D 02 3B 01 0A 7D
+            01 93 03 08 1B 0B 00 19 05 92 03 05 AD AF 8B 03 75 AD 6B 04 30 05
+            1F 07 AD 2F 06 2E 07 19 05 19 05)
+       (:|SEND-EVENT-P| :|EVENT-WINDOW| :|WINDOW| |XLIB|::|WINDOW-EQUAL|
+        |CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|FIND-CHILD|
+        |CLFSWM|::|REMOVE-CHILD-IN-ALL-GROUPS| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|SEND-EVENT-P| |CLFSWM|::|EVENT-WINDOW| |CLFSWM|::|WINDOW|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|98 104 (DEFUN HANDLE-DESTROY-NOTIFY (&REST EVENT-SLOTS &KEY ...) ...)-7|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-DESTROY-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-DESTROY-NOTIFY|
+       #53Y(00 00 00 00 00 00 00 00 C7 00 03 00 00 00 3D 03 3D 02 3B 01 08 7D
+            01 93 03 06 00 19 05 92 03 7A AD AF 8A 03 75 AD 6B 04 30 05 1F 07
+            AD 2F 06 2E 07 19 05 19 05)
+       (:|SEND-EVENT-P| :|EVENT-WINDOW| :|WINDOW| |XLIB|::|WINDOW-EQUAL|
+        |CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|FIND-CHILD|
+        |CLFSWM|::|REMOVE-CHILD-IN-ALL-GROUPS| |CLFSWM|::|SHOW-ALL-CHILDS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|SEND-EVENT-P| |CLFSWM|::|EVENT-WINDOW| |CLFSWM|::|WINDOW|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|108 109 (DEFUN HANDLE-ENTER-NOTIFY (&REST EVENT-SLOTS &KEY ...) ...)-8|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-ENTER-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-ENTER-NOTIFY|
+       #17Y(00 00 00 00 00 00 00 00 C7 00 02 00 00 00 00 19 04)
+       (:|ROOT-X| :|ROOT-Y|)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|113 116 (DEFUN HANDLE-EXPOSURE (&REST EVENT-SLOTS &KEY ...) ...)-9|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-EXPOSURE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-EXPOSURE|
+       #31Y(00 00 00 00 00 00 00 00 C7 00 01 00 00 00 3D 01 AD 6B 01 70 02 9D
+            1F 05 14 2F 03 19 04 19 04)
+       (:|WINDOW| |CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|FIND-GROUP-WINDOW|
+        |CLFSWM|::|DISPLAY-GROUP-INFO|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|WINDOW| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|119 120 (DEFUN HANDLE-CREATE-NOTIFY (&REST EVENT-SLOTS) ...)-10|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-CREATE-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-CREATE-NOTIFY|
+       #13Y(00 00 00 00 00 00 00 00 07 16 00 19 02) () |COMMON-LISP|::|NIL|
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|124 136 (DEFUN HANDLE-CLICK-TO-FOCUS (WINDOW) ...)-11|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-CLICK-TO-FOCUS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-CLICK-TO-FOCUS|
+       #66Y(00 00 00 00 01 00 00 00 06 02 64 AE AF 6B 00 70 01 93 00 12 93 01
+            08 93 00 05 AD AD 8A 03 18 92 02 1C 2E 06 19 05 B0 6B 00 30 02 F9
+            14 6B 00 30 01 F8 93 01 6A 1B 60 2E 04 7D 02 93 02 64 2E 05 19 05)
+       (|CLFSWM|::|*CURRENT-ROOT*| |CLFSWM|::|FIND-FATHER-GROUP|
+        |CLFSWM|::|FIND-GROUP-WINDOW| |CLFSWM|::|FOCUS-ALL-CHILDS|
+        |CLFSWM|::|SHOW-ALL-CHILDS| |CLFSWM|::|REPLAY-BUTTON-EVENT|
+        |CLFSWM|::|STOP-BUTTON-EVENT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|139 143 (DEFUN HANDLE-BUTTON-PRESS (&REST EVENT-SLOTS &KEY ...) ...)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-BUTTON-PRESS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-BUTTON-PRESS|
+       #39Y(00 00 00 00 00 00 00 00 C7 00 03 00 00 00 3D 03 3D 02 3D 01 AF DD
+            91 01 2D 04 AE 8E 92 04 2E 05 19 05 AD 2F 04 19 05)
+       (:|CODE| :|STATE| :|WINDOW| 1. |CLFSWM|::|HANDLE-CLICK-TO-FOCUS|
+        |CLFSWM|::|REPLAY-BUTTON-EVENT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|CODE| |CLFSWM|::|STATE| |CLFSWM|::|WINDOW|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|150 160 (SETF *KEY-PRESS-HOOK* #'HANDLE-KEY-PRESS ...)-13|
+   #48Y(00 00 00 00 00 00 00 00 00 01 98 00 0F 01 98 02 0F 03 98 04 0F 05 CB 0F
+        07 98 08 0F 09 CF 0F 0B 98 0C 0F 0D D3 0F 0F 98 10 0F 11 D7 0F 13 19
+        01)
+   (|CLFSWM|::|HANDLE-KEY-PRESS| |CLFSWM|::|*KEY-PRESS-HOOK*|
+    |CLFSWM|::|HANDLE-CONFIGURE-REQUEST| |CLFSWM|::|*CONFIGURE-REQUEST-HOOK*|
+    |CLFSWM|::|HANDLE-CONFIGURE-NOTIFY| |CLFSWM|::|*CONFIGURE-NOTIFY-HOOK*|
+    |CLFSWM|::|HANDLE-DESTROY-NOTIFY| |CLFSWM|::|*DESTROY-NOTIFY-HOOK*|
+    |CLFSWM|::|HANDLE-ENTER-NOTIFY| |CLFSWM|::|*ENTER-NOTIFY-HOOK*|
+    |CLFSWM|::|HANDLE-EXPOSURE| |CLFSWM|::|*EXPOSURE-HOOK*|
+    |CLFSWM|::|HANDLE-MAP-REQUEST| |CLFSWM|::|*MAP-REQUEST-HOOK*|
+    |CLFSWM|::|HANDLE-UNMAP-NOTIFY| |CLFSWM|::|*UNMAP-NOTIFY-HOOK*|
+    |CLFSWM|::|HANDLE-CREATE-NOTIFY| |CLFSWM|::|*CREATE-NOTIFY-HOOK*|
+    |CLFSWM|::|HANDLE-BUTTON-PRESS| |CLFSWM|::|*BUTTON-PRESS-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|165 183 (DEFUN HANDLE-EVENT (&REST EVENT-SLOTS &KEY ...) ...)-14|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HANDLE-EVENT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HANDLE-EVENT|
+       #75Y(02 00 01 00 00 00 00 00 C7 00 02 00 00 00 00 2B 02 7F 04 00 00 3B
+            02 01 00 0B 00 01 9D 2B 01 00 0B 00 00 4B 02 10 B0 AF 6D 03 02 B1
+            6D 04 01 57 05 B0 36 00 16 06 4D 16 01 02 19 05 58 67 00 00 01 76
+            00 AD 36 01 18 02 01 19 02)
+       (:|DISPLAY| :|EVENT-KEY| #(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|HANDLE-EVENT-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|HANDLE-EVENT-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|HANDLE-EVENT-2|
+           #77Y(00 00 00 00 00 00 00 00 06 01 07 01 02 26 01 3A 0E 02 1B 2E 0E
+                04 1B 2A 0E 05 1B 26 0E 06 1B 22 0E 07 1B 1E 0E 08 1B 1A 0E 09
+                1B 16 0E 0A 1B 12 0E 0B 1B 0E 0E 0C 1B 0A 0E 0D 1B 06 0E 0E 1B
+                02 0E 0F 14 69 01 01 30 03 19 01 00 19 01)
+           (|COMMON-LISP|::|NIL|
+            #S(|COMMON-LISP|::|HASH-TABLE| :|TEST| |EXT|::|STABLEHASH-EQ|
+               (:|EXPOSURE| . 49.) (:|ENTER-NOTIFY| . 45.)
+               (:|CREATE-NOTIFY| . 41.) (:|PROPERTY-NOTIFY| . 37.)
+               (:|MAPPING-NOTIFY| . 33.) (:|DESTROY-NOTIFY| . 29.)
+               (:|UNMAP-NOTIFY| . 25.) (:|MAP-REQUEST| . 21.)
+               (:|CONFIGURE-NOTIFY| . 17.) (:|CONFIGURE-REQUEST| . 13.)
+               (:|KEY-PRESS| . 9.) (:|MOTION-NOTIFY| . 5.)
+               (:|BUTTON-PRESS| . 1.))
+            |CLFSWM|::|*BUTTON-PRESS-HOOK*| |CLFSWM|::|CALL-HOOK|
+            |CLFSWM|::|*BUTTON-MOTION-NOTIFY-HOOK*|
+            |CLFSWM|::|*KEY-PRESS-HOOK*| |CLFSWM|::|*CONFIGURE-REQUEST-HOOK*|
+            |CLFSWM|::|*CONFIGURE-NOTIFY-HOOK*| |CLFSWM|::|*MAP-REQUEST-HOOK*|
+            |CLFSWM|::|*UNMAP-NOTIFY-HOOK*| |CLFSWM|::|*DESTROY-NOTIFY-HOOK*|
+            |CLFSWM|::|*MAPPING-NOTIFY-HOOK*|
+            |CLFSWM|::|*PROPERTY-NOTIFY-HOOK*| |CLFSWM|::|*CREATE-NOTIFY-HOOK*|
+            |CLFSWM|::|*ENTER-NOTIFY-HOOK*| |CLFSWM|::|*EXPOSURE-HOOK*|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           46.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+        |CLFSWM|::|DISPLAY| |CLFSWM|::|EVENT-KEY|
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|187 191 (DEFUN MAIN-LOOP NIL ...)-15|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MAIN-LOOP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MAIN-LOOP|
+       #53Y(02 00 01 00 00 00 00 00 06 01 00 2B 01 00 0B 00 00 4B 00 0D B0 AF
+            6D 01 02 DC 57 03 B0 36 00 16 06 4D 16 01 1B 64 58 67 00 00 01 76
+            00 AD 36 01 18 02 01 19 02)
+       (#(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|MAIN-LOOP-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|MAIN-LOOP-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|MAIN-LOOP-2|
+           #24Y(00 00 00 00 00 00 00 00 06 01 6B 00 2F 01 6B 00 DC 99 03 2D 03
+                04 19 01)
+           (|CLFSWM|::|*DISPLAY*| |XLIB|::|DISPLAY-FINISH-OUTPUT| :|HANDLER|
+            |CLFSWM|::|HANDLE-EVENT| |XLIB|::|PROCESS-EVENT|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           28.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|192 198 (DEFUN OPEN-DISPLAY (DISPLAY-STR PROTOCOL) ...)-16|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|OPEN-DISPLAY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|OPEN-DISPLAY|
+       #31Y(00 00 00 00 02 00 00 00 06 03 AE 2F 00 42 02 AD DB AE DC B3 2D 05
+            03 0F 04 B0 DF 30 06 19 05)
+       (|CLFSWM|::|PARSE-DISPLAY-STRING| :|DISPLAY| :|PROTOCOL|
+        |XLIB|::|OPEN-DISPLAY| |CLFSWM|::|*DISPLAY*| "DISPLAY"
+        #.(|SYSTEM|::|GET-SETF-SYMBOL| '|TOOLS|::|GETENV|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|DISPLAY-STR| |CLFSWM|::|PROTOCOL|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|201 236 (DEFUN INIT-DISPLAY NIL ...)-17|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|INIT-DISPLAY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|INIT-DISPLAY|
+       #193Y(00 00 00 00 00 00 00 00 06 01 6B 00 DB AD DC 32 2F 16 01 5B 0F 03
+             14 DE AD DF 32 2F 16 01 0F 06 E1 6B 06 E2 E3 E4 E3 E5 DF E6 DF 2D
+             0A 0D 0F 0E E9 6B 06 EA 6B 11 6F 12 ED EE 6F 12 EF F0 2D 08 17 0F
+             18 6B 00 6B 19 30 1A 0F 1B 2E 1C 2E 1D 6B 0E 2F 1E 65 1F 6B 20 6B
+             21 32 97 0F 21 14 6B 22 33 03 15 65 23 6B 20 DA 6B 00 33 03 15 65
+             24 6B 20 33 01 15 38 01 31 90 6B 06 65 25 65 26 65 27 65 28 65 29
+             6E 05 2A AD 65 2B AE 6F 2C 2D 03 2D 16 02 2E 2E 6B 00 2F 2F 00 0F
+             30 65 31 65 32 65 33 E3 65 34 99 35 2D 06 36 0F 37 0F 38 0F 39 6B
+             3A 2F 3B 6B 03 2F 3C 2E 3D 2E 3E 6B 00 2F 3F 19 01)
+       (|CLFSWM|::|*DISPLAY*| |XLIB|::|DISPLAY| 41. |CLFSWM|::|*SCREEN*|
+        |XLIB|::|SCREEN| 1. |CLFSWM|::|*ROOT*| :|PARENT| :|X| 0. :|Y| :|WIDTH|
+        :|HEIGHT| |XLIB|::|CREATE-WINDOW| |CLFSWM|::|*NO-FOCUS-WINDOW*|
+        :|DRAWABLE| :|FOREGROUND| |CLFSWM|::|*COLOR-UNSELECTED*|
+        |CLFSWM|::|GET-COLOR| :|BACKGROUND| "Black" :|LINE-STYLE| :|SOLID|
+        |XLIB|::|CREATE-GCONTEXT| |CLFSWM|::|*ROOT-GC*|
+        |CLFSWM|::|*DEFAULT-FONT-STRING*| |XLIB|::|OPEN-FONT|
+        |CLFSWM|::|*DEFAULT-FONT*| |CLFSWM|::|XGRAB-INIT-POINTER|
+        |CLFSWM|::|XGRAB-INIT-KEYBOARD| |XLIB|::|MAP-WINDOW|
+        #Y(|CLFSWM|::|INIT-DISPLAY-1|
+           #42Y(00 00 00 00 03 00 00 00 01 19 B0 31 8E DA B1 38 02 31 8B AF B1
+                31 86 DB B1 38 02 31 8B AE B1 31 86 DC B1 38 02 31 8B 9E 19 05)
+           ("DEBUG[" " - " "]  ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|*STANDARD-OUTPUT*| |TOOLS|::|*%DBG-COUNT%*|
+        |TOOLS|::|*%DBG-NAME%*|
+        #Y(|CLFSWM|::|INIT-DISPLAY-2|
+           #40Y(00 00 00 00 03 00 00 00 01 19 AF B1 31 86 DA B1 31 8A B0 2F 01
+                10 02 B1 B4 31 83 11 B0 2F 03 DE B1 38 02 31 8B 9E 19 05)
+           (#\= |SYSTEM|::|STREAM-START-S-EXPRESSION|
+            |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+            |SYSTEM|::|STREAM-END-S-EXPRESSION| "   ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|CLFSWM|::|INIT-DISPLAY-3|
+           #16Y(00 00 00 00 01 00 00 00 01 17 AE 31 8D 9E 19 03) ()
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        :|SUBSTRUCTURE-REDIRECT| :|SUBSTRUCTURE-NOTIFY| :|PROPERTY-CHANGE|
+        :|EXPOSURE| :|BUTTON-PRESS| |XLIB|::|MAKE-EVENT-MASK| 11.
+        |XLIB|::|ENCODE-EVENT-MASK| |XLIB|::|CHANGE-WINDOW-ATTRIBUTE|
+        |CLFSWM|::|NETWM-SET-PROPERTIES| |XLIB|::|DISPLAY-FORCE-OUTPUT|
+        |CLFSWM|::|*CHILD-SELECTION*| :|NAME| "Root" :|NUMBER| :|LAYOUT|
+        |CLFSWM|::|TILE-SPACE-LAYOUT| |CLFSWM|::|CREATE-GROUP|
+        |CLFSWM|::|*ROOT-GROUP*| |CLFSWM|::|*CURRENT-ROOT*|
+        |CLFSWM|::|*CURRENT-CHILD*| |CLFSWM|::|*INIT-HOOK*|
+        |CLFSWM|::|CALL-HOOK| |CLFSWM|::|PROCESS-EXISTING-WINDOWS|
+        |CLFSWM|::|SHOW-ALL-CHILDS| |CLFSWM|::|GRAB-MAIN-KEYS|
+        |XLIB|::|DISPLAY-FINISH-OUTPUT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|240 243 (DEFUN XDG-CONFIG-HOME NIL ...)-18|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|XDG-CONFIG-HOME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|XDG-CONFIG-HOME|
+       #29Y(00 00 00 00 00 00 00 00 06 01 DA DB 88 02 03 DD 2F 02 14 DE 73 02
+            25 38 01 31 EC 19 01)
+       (|COMMON-LISP|::|STRING| "XDG_CONFIG_HOME" |TOOLS|::|GETENV| "HOME" "/")
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|246 260 (DEFUN READ-CONF-FILE NIL ...)-19|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|READ-CONF-FILE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|READ-CONF-FILE|
+       #161Y(03 00 01 00 00 00 00 00 06 01 00 2B 01 2E 00 14 DB 38 02 71 F3 71
+             F8 DC 71 F8 38 08 2E 03 14 DE 82 02 22 03 CA FA 71 F5 71 F8 92 02
+             03 93 01 1B 0B 03 00 1C 1C 64 01 02 40 03 19 05 58 67 00 00 01 76
+             00 AD 36 01 18 03 01 19 02 7F 00 03 00 1D 64 A0 2B 01 00 0B 00 00
+             4B 06 19 B0 2C 07 01 45 B1 B0 6D 08 02 B2 6D 09 01 57 0A B0 36 00
+             16 06 41 46 1B 2A 68 04 00 E5 6B 0C 68 0B 00 AF 33 03 15 63 38 02
+             72 76 AC 2F 0D 10 0E B1 B0 31 83 11 AC 2F 0F AC 81 77 00 68 0B 00
+             40 03 16 01 4D 19 06)
+       (|COMMON-LISP|::|USER-HOMEDIR-PATHNAME|
+        #S(|COMMON-LISP|::|PATHNAME| :|HOST| |COMMON-LISP|::|NIL|
+           :|DEVICE| |COMMON-LISP|::|NIL| :|DIRECTORY| |COMMON-LISP|::|NIL|
+           :|NAME| ".clfswmrc" :|TYPE| |COMMON-LISP|::|NIL|
+           :|VERSION| |COMMON-LISP|::|NIL|)
+        #S(|COMMON-LISP|::|PATHNAME| :|HOST| |COMMON-LISP|::|NIL|
+           :|DEVICE| |COMMON-LISP|::|NIL| :|DIRECTORY| (:|ABSOLUTE| "etc")
+           :|NAME| "clfswmrc" :|TYPE| |COMMON-LISP|::|NIL|
+           :|VERSION| |COMMON-LISP|::|NIL|)
+        |CLFSWM|::|XDG-CONFIG-HOME| ("clfswm") "clfswmrc"
+        #(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|READ-CONF-FILE-1|
+           #19Y(00 00 00 00 00 00 00 00 07 16 64 63 69 01 01 40 03 19 02)
+           (|COMMON-LISP|::|NIL|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+           (|COMMON-LISP|::|&REST| |CLFSWM|::|ARGS|) |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|READ-CONF-FILE-2|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|READ-CONF-FILE-2-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|READ-CONF-FILE-3|
+           #17Y(00 00 00 00 00 00 00 00 06 01 69 01 01 2F 01 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|LOAD|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#(|COMMON-LISP|::|ERROR| 50.) 2. . 1.)
+        #Y(|CLFSWM|::|READ-CONF-FILE-4|
+           #46Y(00 00 00 00 03 00 00 00 01 19 B0 01 02 DA 2D 04 01 DC B1 38 02
+                31 8B AF B1 31 86 DD B1 38 02 31 8B B0 31 8E AE B1 31 86 B0 31
+                8D 9E 19 05)
+           (2. |SYSTEM|::|FORMAT-TERPRI|
+            "*** Error loading configurtion file: " " ***")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|*STANDARD-OUTPUT*|
+        |SYSTEM|::|STREAM-START-S-EXPRESSION|
+        |COMMON-LISP|::|*PRINT-RIGHT-MARGIN*|
+        |SYSTEM|::|STREAM-END-S-EXPRESSION|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|264 286 (DEFUN MAIN (&OPTIONAL # PROTOCOL) ...)-20|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MAIN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MAIN|
+       #178Y(04 00 02 00 00 00 02 00 06 0C 00 2B 02 3B 03 05 DA 88 01 01 C7 0B
+             00 00 3B 02 01 00 0B 00 01 2E 03 9D 2B 01 00 0B 00 00 4B 04 3B B0
+             AF 6D 05 02 B1 6D 06 01 57 07 B0 36 00 16 06 4D 16 01 9D 2B 01 00
+             0B 00 00 4B 0B 3E B0 AF 6D 0C 02 E7 57 0E B0 36 00 16 06 4D 16 01
+             53 80 4A 03 15 50 80 44 2E 16 51 54 1B 3F 68 04 00 E2 6B 09 AE 33
+             02 15 38 01 31 90 CF 1B 28 58 67 00 00 01 76 00 AD 36 01 18 02 01
+             19 02 68 04 00 2E 0F 6B 10 2F 11 6B 12 2F 13 EE 6B 09 AE 33 02 15
+             38 01 31 90 CF 16 01 4D 19 05 54 2E 0F 6B 10 2F 11 6B 12 2F 13 55
+             19 04)
+       (#1="DISPLAY" |TOOLS|::|GETENV| #2=":0" |CLFSWM|::|READ-CONF-FILE|
+        #(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|MAIN-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|MAIN-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|MAIN-2|
+           #20Y(00 00 00 00 00 00 00 00 06 01 69 01 01 69 01 02 30 01 19 01)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|OPEN-DISPLAY|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#(|XLIB|::|ACCESS-ERROR| 109.) 1. . 1.)
+        #Y(|CLFSWM|::|MAIN-3|
+           #29Y(00 00 00 00 02 00 00 00 01 18 AF 31 8E AE B0 31 86 AF 31 8E DA
+                B0 38 02 31 8B 9E 19 04)
+           ("Maybe another window manager is running.
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|*STANDARD-OUTPUT*| |CLFSWM|::|INIT-DISPLAY-ERROR|
+        #(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|MAIN-4|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|MAIN-4-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|MAIN-5| #14Y(00 00 00 00 00 00 00 00 06 01 2E 00 19 01)
+           (|CLFSWM|::|INIT-DISPLAY|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#(|XLIB|::|ACCESS-ERROR| 109.) 1. . 1.) |CLFSWM|::|UNGRAB-MAIN-KEYS|
+        |CLFSWM|::|*NO-FOCUS-WINDOW*| |XLIB|::|DESTROY-WINDOW|
+        |CLFSWM|::|*DISPLAY*| |XLIB|::|CLOSE-DISPLAY|
+        #Y(|CLFSWM|::|MAIN-6|
+           #29Y(00 00 00 00 02 00 00 00 01 18 AF 31 8E AE B0 31 86 AF 31 8E DA
+                B0 38 02 31 8B 9E 19 04)
+           ("Maybe another window manager is running.
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |CLFSWM|::|EXIT-MAIN-LOOP| |CLFSWM|::|MAIN-LOOP|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&OPTIONAL|
+        (|CLFSWM|::|DISPLAY-STR|
+         (|COMMON-LISP|::|OR| (|TOOLS|::|GETENV| #1#) #2#))
+        |CLFSWM|::|PROTOCOL|)
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: clfswm.fasl
==============================================================================
Binary file. No diff available.

Added: clfswm.lib
==============================================================================
--- (empty file)
+++ clfswm.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,72 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-KEY-PRESS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|ROOT| |CLFSWM|::|CODE| |CLFSWM|::|STATE|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-CONFIGURE-REQUEST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|STACK-MODE| |CLFSWM|::|WINDOW| |CLFSWM|::|X| |CLFSWM|::|Y|
+    |CLFSWM|::|WIDTH| |CLFSWM|::|HEIGHT| |CLFSWM|::|BORDER-WIDTH|
+    |CLFSWM|::|VALUE-MASK| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-CONFIGURE-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-MAP-REQUEST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|WINDOW| |CLFSWM|::|SEND-EVENT-P|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-UNMAP-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|SEND-EVENT-P| |CLFSWM|::|EVENT-WINDOW| |CLFSWM|::|WINDOW|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-DESTROY-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|SEND-EVENT-P| |CLFSWM|::|EVENT-WINDOW| |CLFSWM|::|WINDOW|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-ENTER-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|ROOT-X| |CLFSWM|::|ROOT-Y| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-EXPOSURE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|WINDOW| |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-CREATE-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-CLICK-TO-FOCUS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-BUTTON-PRESS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|CODE| |CLFSWM|::|STATE| |CLFSWM|::|WINDOW|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HANDLE-EVENT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |CLFSWM|::|EVENT-SLOTS| |COMMON-LISP|::|&KEY|
+    |CLFSWM|::|DISPLAY| |CLFSWM|::|EVENT-KEY|
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MAIN-LOOP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|OPEN-DISPLAY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|DISPLAY-STR| |CLFSWM|::|PROTOCOL|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|INIT-DISPLAY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XDG-CONFIG-HOME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|READ-CONF-FILE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MAIN|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&OPTIONAL|
+    (|CLFSWM|::|DISPLAY-STR|
+     (|COMMON-LISP|::|OR| (|TOOLS|::|GETENV| "DISPLAY") ":0"))
+    |CLFSWM|::|PROTOCOL|)))

Added: clfswm.lisp
==============================================================================
--- (empty file)
+++ clfswm.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,308 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Sat Mar  1 00:02:34 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Main functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+
+
+
+;;; Main mode hooks
+(defun handle-key-press (&rest event-slots &key root code state &allow-other-keys)
+  (declare (ignore event-slots root))
+  (funcall-key-from-code *main-keys* code state))
+
+
+
+
+(defun handle-configure-request (&rest event-slots &key stack-mode #|parent|# window #|above-sibling|#
+				 x y width height border-width value-mask &allow-other-keys)
+  (declare (ignore event-slots))
+  (labels ((has-x (mask) (= 1 (logand mask 1)))
+    	   (has-y (mask) (= 2 (logand mask 2)))
+    	   (has-w (mask) (= 4 (logand mask 4)))
+    	   (has-h (mask) (= 8 (logand mask 8)))
+	   (has-bw (mask) (= 16 (logand mask 16)))
+	   (has-stackmode (mask) (= 64 (logand mask 64)))
+	   (adjust-from-request ()
+	     (when (has-x value-mask) (setf (xlib:drawable-x window) x))
+	     (when (has-y value-mask) (setf (xlib:drawable-y window) y))
+	     (when (has-h value-mask) (setf (xlib:drawable-height window) height))
+	     (when (has-w value-mask) (setf (xlib:drawable-width window) width))))
+    (with-xlib-protect
+	(xlib:with-state (window)
+	  (when (has-bw value-mask)
+	    (setf (xlib:drawable-border-width window) border-width))
+	  (if (find-child window *current-root*)
+	      (case (window-type window)
+		(:normal (adapt-child-to-father window (find-father-group window *current-root*))
+			 (send-configuration-notify window))
+		(t (adjust-from-request)))
+	      (adjust-from-request))
+	  (when (has-stackmode value-mask)
+	    (case stack-mode
+	      (:above (raise-window window))))))))
+
+
+
+
+(defun handle-configure-notify (&rest event-slots)
+  (declare (ignore event-slots)))
+
+
+
+
+(defun handle-map-request (&rest event-slots &key window send-event-p &allow-other-keys)
+  (declare (ignore event-slots))
+  (unless send-event-p
+    ;;    (unhide-window window)
+    (process-new-window window)
+    (xlib:map-window window)
+    ;;    (focus-window window)
+    (show-all-childs)))
+
+
+(defun handle-unmap-notify (&rest event-slots &key send-event-p event-window window &allow-other-keys)
+  (declare (ignore event-slots))
+  (unless (and (not send-event-p)
+	       (not (xlib:window-equal window event-window)))
+    (when (find-child window *root-group*)
+      (remove-child-in-all-groups window)
+      (show-all-childs))))
+
+
+(defun handle-destroy-notify (&rest event-slots &key send-event-p event-window window &allow-other-keys)
+  (declare (ignore event-slots))
+  (unless (or send-event-p
+	      (xlib:window-equal window event-window))
+    (when (find-child window *root-group*)
+      (remove-child-in-all-groups window)
+      (show-all-childs))))
+
+
+
+(defun handle-enter-notify  (&rest event-slots &key root-x root-y &allow-other-keys)
+  (declare (ignore event-slots root-x root-y)))
+
+
+
+(defun handle-exposure   (&rest event-slots &key window &allow-other-keys)
+  (declare (ignore event-slots))
+  (awhen (find-group-window window *current-root*)
+	 (display-group-info it)))
+
+
+(defun handle-create-notify (&rest event-slots)
+  (declare (ignore event-slots)))
+
+
+
+;; PHIL: TODO: focus-policy par group
+;;  :click, :sloppy, :nofocus
+(defun handle-click-to-focus (window)
+  (let ((to-replay t)
+	(child window)
+	(father (find-father-group window *current-root*)))
+    (unless father
+      (setf child (find-group-window window *current-root*)
+	    father (find-father-group child *current-root*)))
+    (when (and child father (focus-all-childs child father))
+      (show-all-childs)
+      (setf to-replay nil))
+    (if to-replay (replay-button-event) (stop-button-event))))
+
+
+(defun handle-button-press (&rest event-slots &key code state window &allow-other-keys)
+  (declare (ignore event-slots))
+  (if (and (= code 1) (= state 0))
+      (handle-click-to-focus window)
+      (replay-button-event)))
+
+	
+
+
+
+
+;;; CONFIG: Main mode hooks
+(setf *key-press-hook* #'handle-key-press
+      *configure-request-hook* #'handle-configure-request
+      *configure-notify-hook* #'handle-configure-notify
+      *destroy-notify-hook* 'handle-destroy-notify
+      *enter-notify-hook* #'handle-enter-notify
+      *exposure-hook* 'handle-exposure
+      *map-request-hook* #'handle-map-request
+      *unmap-notify-hook* 'handle-unmap-notify
+      *create-notify-hook* #'handle-create-notify
+      *button-press-hook* 'handle-button-press)
+
+
+
+
+(defun handle-event (&rest event-slots &key display event-key &allow-other-keys)
+  (declare (ignore display))
+  ;;(dbg  event-key)
+  (with-xlib-protect
+      (case event-key
+	(:button-press (call-hook *button-press-hook* event-slots))
+	(:motion-notify (call-hook *button-motion-notify-hook* event-slots))
+	(:key-press (call-hook *key-press-hook* event-slots))
+	(:configure-request (call-hook *configure-request-hook* event-slots))
+	(:configure-notify (call-hook *configure-notify-hook* event-slots))
+	(:map-request (call-hook *map-request-hook* event-slots))
+	(:unmap-notify (call-hook *unmap-notify-hook* event-slots))
+	(:destroy-notify (call-hook *destroy-notify-hook* event-slots))
+	(:mapping-notify (call-hook *mapping-notify-hook* event-slots))
+	(:property-notify (call-hook *property-notify-hook* event-slots))
+	(:create-notify (call-hook *create-notify-hook* event-slots))
+	(:enter-notify (call-hook *enter-notify-hook* event-slots))
+	(:exposure (call-hook *exposure-hook* event-slots))))
+  t)
+
+
+
+(defun main-loop ()
+  (loop
+     (with-xlib-protect
+	 (xlib:display-finish-output *display*)
+       (xlib:process-event *display* :handler #'handle-event))))
+;;(dbg "Main loop finish" c)))))
+
+
+(defun open-display (display-str protocol)
+  (multiple-value-bind (host display-num) (parse-display-string display-str)
+    (setf *display* (xlib:open-display host :display display-num :protocol protocol)
+	  (getenv "DISPLAY") display-str)))
+
+
+(defun init-display ()
+  (setf *screen* (first (xlib:display-roots *display*))
+	*root* (xlib:screen-root *screen*)
+	*no-focus-window* (xlib:create-window :parent *root* :x 0 :y 0 :width 1 :height 1)
+	*root-gc* (xlib:create-gcontext :drawable *root*
+					:foreground (get-color *color-unselected*)
+					:background (get-color "Black")
+					:line-style :solid)
+	*default-font* (xlib:open-font *display* *default-font-string*))
+  (xgrab-init-pointer)
+  (xgrab-init-keyboard)
+  ;;(xgrab-pointer *root* 66 67 '(:enter-window :button-press :button-release) t)  ;; PHIL
+  ;;(grab-pointer *root* '(:button-press :button-release)
+  ;;  		:owner-p t :sync-keyboard-p nil :sync-pointer-p nil)
+  ;;(grab-button *root* 1 nil ;;'(:button-press :button-release)
+  ;;	       :owner-p nil  :sync-keyboard-p nil :sync-pointer-p nil)
+  ;;(xlib:grab-pointer *root* nil :owner-p nil)
+  (xlib:map-window *no-focus-window*)
+  (dbg *display*)
+  (setf (xlib:window-event-mask *root*) (xlib:make-event-mask :substructure-redirect
+							      :substructure-notify
+							      :property-change
+							      :exposure
+							      :button-press))
+  ;;(intern-atoms *display*)
+  (netwm-set-properties)
+  (xlib:display-force-output *display*)
+  (setf *child-selection* nil)
+  (setf *root-group* (create-group :name "Root" :number 0 :layout #'tile-space-layout)
+	*current-root* *root-group*
+	*current-child* *current-root*)
+  (call-hook *init-hook*)
+  (process-existing-windows *screen*)
+  (show-all-childs)
+  (grab-main-keys)
+  (xlib:display-finish-output *display*))
+
+
+
+(defun xdg-config-home ()
+  (pathname-directory (concatenate 'string (or (getenv "XDG_CONFIG_HOME")
+					       (getenv "HOME"))
+				   "/")))
+
+
+(defun read-conf-file ()
+  (let* ((user-conf (probe-file (merge-pathnames (user-homedir-pathname) #p".clfswmrc")))
+	 (etc-conf (probe-file #p"/etc/clfswmrc"))
+	 (config-user-conf (probe-file (make-pathname :directory (append (xdg-config-home) '("clfswm"))
+						      :name "clfswmrc")))
+	 (conf (or user-conf etc-conf config-user-conf)))
+    (if conf
+	(handler-case (load conf)
+	  (error (c)
+	    (format t "~2%*** Error loading configurtion file: ~A ***~&~A~%" conf c)
+	    (values nil (format nil "~s" c) conf))
+	  (:no-error (&rest args)
+	    (declare (ignore args))
+	    (values t nil conf)))
+	(values t nil nil))))
+
+
+
+(defun main (&optional (display-str (or (getenv "DISPLAY") ":0")) protocol)
+  (read-conf-file)
+  (handler-case
+      (open-display display-str protocol)
+    (xlib:access-error (c)
+      (format t "~&~A~&Maybe another window manager is running.~%" c)
+      (force-output)
+      (return-from main 'init-display-error)))
+  (handler-case
+      (init-display)
+    (xlib:access-error (c)
+      (ungrab-main-keys)
+      (xlib:destroy-window *no-focus-window*)
+      (xlib:close-display *display*)
+      (format t "~&~A~&Maybe another window manager is running.~%" c)
+      (force-output)
+      (return-from main 'init-display-error)))
+  (unwind-protect
+       (catch 'exit-main-loop
+	 (main-loop))
+    (ungrab-main-keys)
+    (xlib:destroy-window *no-focus-window*)
+    (xlib:close-display *display*)))
+      
+
+
+
+;;(defun perform-click (type code state time)
+;;  "Send a button-{press, release} event for button-number. The type of the
+;;   sent event will be determined according to the type of the ev event
+;;   argument: if type key-press then send button-press, if key-release then
+;;   button-release is sent. The destination window will be retreived in the
+;;   ev event argument."
+;;  (flet ((my-query (win) (multiple-value-list (xlib:query-pointer win))))
+;;    (loop with window = *root*
+;;       for (x y ssp child nil root-x root-y root) = (my-query window)
+;;       while child do (setf window child)
+;;       finally
+;;       (progn
+;;	 (dbg window)
+;;	 (xlib:send-event window type nil
+;;			  :x x :y y :root-x root-x :root-y root-y
+;;			  :state state :code code
+;;			  :window window :event-window window :root root :child child
+;;			  :same-screen-p ssp :time time)))))

Added: clisp-load.lisp
==============================================================================
--- (empty file)
+++ clisp-load.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,59 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Tue Feb 26 23:00:50 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: System loading functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+
+(defparameter *base-dir* (directory-namestring *load-truename*))
+
+#+CMU
+(setf ext:*gc-verbose* nil)
+
+#+CMU
+(require :clx)
+
+#+SBCL
+(require :asdf)
+
+#+SBCL
+(require :sb-posix)
+
+#+SBCL
+(require :clx)
+
+#-ASDF
+(load (make-pathname :host (pathname-host *base-dir*)
+		     :device (pathname-device *base-dir*)
+		     :directory (pathname-directory *base-dir*)
+		     :name "asdf" :type "lisp"))
+
+(push *base-dir* asdf:*central-registry*)
+
+
+(asdf:oos 'asdf:load-op :clfswm)
+
+(in-package :clfswm)
+
+(clfswm:main ":1")

Added: config.fas
==============================================================================
--- (empty file)
+++ config.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,231 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 33 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|36 39 (DEFPARAMETER *HAVE-TO-COMPRESS-NOTIFY* NIL ...)-2|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*HAVE-TO-COMPRESS-NOTIFY*|)
+    |CLFSWM|::|*HAVE-TO-COMPRESS-NOTIFY*| |COMMON-LISP|::|VARIABLE|
+    "This variable may be useful to speed up some slow version of CLX.
+It is particulary useful with CLISP/MIT-CLX."
+    |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|43 47 (DEFUN GET-FULLSCREEN-SIZE NIL ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GET-FULLSCREEN-SIZE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GET-FULLSCREEN-SIZE|
+       #33Y(00 00 00 00 00 00 00 00 06 01 DA DA 6B 01 DC AD DD 81 2F 00 6B 01
+            DC AD DE 81 2F 00 63 40 05 19 01)
+       (-1. |CLFSWM|::|*SCREEN*| |XLIB|::|SCREEN| 2. 3.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+       "Return the size of root child (values rx ry rw rh raise-p)
+You can tweak this to what you want"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|48 57 (DEFPARAMETER *COLOR-SELECTED* "Red")-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*COLOR-SELECTED*|)
+    |CLFSWM|::|*COLOR-SELECTED*| "Red")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|58 58 (DEFPARAMETER *COLOR-UNSELECTED* "Blue")-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*COLOR-UNSELECTED*|)
+    |CLFSWM|::|*COLOR-UNSELECTED*| "Blue")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|59 59 (DEFPARAMETER *COLOR-MAYBE-SELECTED* "Yellow")-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*COLOR-MAYBE-SELECTED*|)
+    |CLFSWM|::|*COLOR-MAYBE-SELECTED*| "Yellow")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|61 62 (DEFPARAMETER *SM-BORDER-COLOR* "Green")-7|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-BORDER-COLOR*|)
+    |CLFSWM|::|*SM-BORDER-COLOR*| "Green")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|63 63 (DEFPARAMETER *SM-BACKGROUND-COLOR* "Black")-8|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-BACKGROUND-COLOR*|)
+    |CLFSWM|::|*SM-BACKGROUND-COLOR*| "Black")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|64 64 (DEFPARAMETER *SM-FOREGROUND-COLOR* "Red")-9|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-FOREGROUND-COLOR*|)
+    |CLFSWM|::|*SM-FOREGROUND-COLOR*| "Red")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|65 65 (DEFPARAMETER *SM-FONT-STRING* "9x15bold")-10|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-FONT-STRING*|)
+    |CLFSWM|::|*SM-FONT-STRING*| "9x15bold")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|66 66 (DEFPARAMETER *SM-WIDTH* 300)-11|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-WIDTH*|) |CLFSWM|::|*SM-WIDTH*|
+    300.)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|67 67 (DEFPARAMETER *SM-HEIGHT* 25)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-HEIGHT*|) |CLFSWM|::|*SM-HEIGHT*|
+    25.)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|70 71 (DEFPARAMETER *PAGER-BACKGROUND* "black")-13|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-BACKGROUND*|)
+    |CLFSWM|::|*PAGER-BACKGROUND*| "black")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|72 72 (DEFPARAMETER *PAGER-WORKSPACE-BORDER* "blue")-14|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WORKSPACE-BORDER*|)
+    |CLFSWM|::|*PAGER-WORKSPACE-BORDER*| "blue")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|73 73 (DEFPARAMETER *PAGER-WORKSPACE-BACKGROUND* "black")-15|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WORKSPACE-BACKGROUND*|)
+    |CLFSWM|::|*PAGER-WORKSPACE-BACKGROUND*| "black")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|74 74 (DEFPARAMETER *PAGER-GROUP-BORDER* "yellow")-16|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-BORDER*|)
+    |CLFSWM|::|*PAGER-GROUP-BORDER*| "yellow")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|75 75 (DEFPARAMETER *PAGER-GROUP-BORDER-SELECTED* "red")-17|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-BORDER-SELECTED*|)
+    |CLFSWM|::|*PAGER-GROUP-BORDER-SELECTED*| "red")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|76 76 (DEFPARAMETER *PAGER-GROUP-BACKGROUND* "grey10")-18|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-BACKGROUND*|)
+    |CLFSWM|::|*PAGER-GROUP-BACKGROUND*| "grey10")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|78 78 (DEFPARAMETER *PAGER-WINDOW-SELECTED* "Green")-19|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-SELECTED*|)
+    |CLFSWM|::|*PAGER-WINDOW-SELECTED*| "Green")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|79 79 (DEFPARAMETER *PAGER-WINDOW-DESELECTED* "Yellow")-20|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-DESELECTED*|)
+    |CLFSWM|::|*PAGER-WINDOW-DESELECTED*| "Yellow")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|80 80 (DEFPARAMETER *PAGER-WINDOW-HIDDEN* "Green")-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-HIDDEN*|)
+    |CLFSWM|::|*PAGER-WINDOW-HIDDEN*| "Green")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|81 81 (DEFPARAMETER *PAGER-WINDOW-HIDDEN-1* "Red")-22|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-HIDDEN-1*|)
+    |CLFSWM|::|*PAGER-WINDOW-HIDDEN-1*| "Red")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|83 83 (DEFPARAMETER *PAGER-WINDOW-SEPARATOR* "blue")-23|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-SEPARATOR*|)
+    |CLFSWM|::|*PAGER-WINDOW-SEPARATOR*| "blue")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|85 85 (DEFPARAMETER *PAGER-WORKSPACE-CURSOR* "black")-24|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WORKSPACE-CURSOR*|)
+    |CLFSWM|::|*PAGER-WORKSPACE-CURSOR*| "black")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 86 (DEFPARAMETER *PAGER-LINE-CURSOR* "blue")-25|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-LINE-CURSOR*|)
+    |CLFSWM|::|*PAGER-LINE-CURSOR*| "blue")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|87 87 (DEFPARAMETER *PAGER-GROUP-CURSOR* "white")-26|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-CURSOR*|)
+    |CLFSWM|::|*PAGER-GROUP-CURSOR*| "white")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|88 88 (DEFPARAMETER *PAGER-GROUP-BACKGROUND-CURSOR* "grey35")-27|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-BACKGROUND-CURSOR*|)
+    |CLFSWM|::|*PAGER-GROUP-BACKGROUND-CURSOR*| "grey35")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|91 91 (DEFPARAMETER *PAGER-FONT-STRING* "9x15bold")-28|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-FONT-STRING*|)
+    |CLFSWM|::|*PAGER-FONT-STRING*| "9x15bold")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|93 93 (DEFPARAMETER *PAGER-WORKSPACE-HEIGHT* 200)-29|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WORKSPACE-HEIGHT*|)
+    |CLFSWM|::|*PAGER-WORKSPACE-HEIGHT*| 200.)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|97 98 (DEFPARAMETER *IDENTIFY-FONT-STRING* "9x15")-30|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*IDENTIFY-FONT-STRING*|)
+    |CLFSWM|::|*IDENTIFY-FONT-STRING*| "9x15")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|99 99 (DEFPARAMETER *IDENTIFY-BACKGROUND* "black")-31|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*IDENTIFY-BACKGROUND*|)
+    |CLFSWM|::|*IDENTIFY-BACKGROUND*| "black")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|100 100 (DEFPARAMETER *IDENTIFY-FOREGROUND* "green")-32|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*IDENTIFY-FOREGROUND*|)
+    |CLFSWM|::|*IDENTIFY-FOREGROUND*| "green")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|101 101 (DEFPARAMETER *IDENTIFY-BORDER* "red")-33|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*IDENTIFY-BORDER*|)
+    |CLFSWM|::|*IDENTIFY-BORDER*| "red")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|103 104 (DEFPARAMETER *QUERY-FONT-STRING* "9x15")-34|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*QUERY-FONT-STRING*|)
+    |CLFSWM|::|*QUERY-FONT-STRING*| "9x15")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|105 105 (DEFPARAMETER *QUERY-BACKGROUND* "black")-35|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*QUERY-BACKGROUND*|)
+    |CLFSWM|::|*QUERY-BACKGROUND*| "black")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|106 106 (DEFPARAMETER *QUERY-FOREGROUND* "green")-36|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*QUERY-FOREGROUND*|)
+    |CLFSWM|::|*QUERY-FOREGROUND*| "green")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|107 107 (DEFPARAMETER *QUERY-BORDER* "red")-37|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*QUERY-BORDER*|)
+    |CLFSWM|::|*QUERY-BORDER*| "red")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|110 112 (DEFPARAMETER *INFO-BACKGROUND* "black")-38|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-BACKGROUND*|)
+    |CLFSWM|::|*INFO-BACKGROUND*| "black")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|113 113 (DEFPARAMETER *INFO-FOREGROUND* "green")-39|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-FOREGROUND*|)
+    |CLFSWM|::|*INFO-FOREGROUND*| "green")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|114 114 (DEFPARAMETER *INFO-BORDER* "red")-40|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-BORDER*|)
+    |CLFSWM|::|*INFO-BORDER*| "red")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|115 115 (DEFPARAMETER *INFO-LINE-CURSOR* "white")-41|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-LINE-CURSOR*|)
+    |CLFSWM|::|*INFO-LINE-CURSOR*| "white")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|116 116 (DEFPARAMETER *INFO-FONT-STRING* "9x15")-42|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-FONT-STRING*|)
+    |CLFSWM|::|*INFO-FONT-STRING*| "9x15")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|120 121 (DEFPARAMETER *TILE-WORKSPACE-FUNCTION* 'TILE-WORKSPACE-TOP)-43|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*TILE-WORKSPACE-FUNCTION*|)
+    |CLFSWM|::|*TILE-WORKSPACE-FUNCTION*| |CLFSWM|::|TILE-WORKSPACE-TOP|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|122 122 (DEFPARAMETER *TILE-BORDER-SIZE* 200)-44|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*TILE-BORDER-SIZE*|)
+    |CLFSWM|::|*TILE-BORDER-SIZE*| 200.)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: config.fasl
==============================================================================
Binary file. No diff available.

Added: config.lib
==============================================================================
--- (empty file)
+++ config.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,85 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*HAVE-TO-COMPRESS-NOTIFY*|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GET-FULLSCREEN-SIZE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*COLOR-SELECTED*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*COLOR-UNSELECTED*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*COLOR-MAYBE-SELECTED*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-BORDER-COLOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-BACKGROUND-COLOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-FOREGROUND-COLOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-FONT-STRING*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-WIDTH*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-HEIGHT*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-BACKGROUND*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WORKSPACE-BORDER*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WORKSPACE-BACKGROUND*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-BORDER*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-BORDER-SELECTED*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-BACKGROUND*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-SELECTED*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-DESELECTED*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-HIDDEN*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-HIDDEN-1*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WINDOW-SEPARATOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WORKSPACE-CURSOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-LINE-CURSOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-CURSOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-GROUP-BACKGROUND-CURSOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-FONT-STRING*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-WORKSPACE-HEIGHT*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*IDENTIFY-FONT-STRING*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*IDENTIFY-BACKGROUND*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*IDENTIFY-FOREGROUND*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*IDENTIFY-BORDER*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*QUERY-FONT-STRING*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*QUERY-BACKGROUND*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*QUERY-FOREGROUND*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*QUERY-BORDER*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-BACKGROUND*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-FOREGROUND*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-BORDER*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-LINE-CURSOR*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-FONT-STRING*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*TILE-WORKSPACE-FUNCTION*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*TILE-BORDER-SIZE*|))

Added: config.lisp
==============================================================================
--- (empty file)
+++ config.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,122 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Wed Feb 27 22:15:01 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Configuration file
+;;;
+;;; Change this file to your own needs or update some of this variables in
+;;; your ~/.clfswmrc
+;;; Some simple hack can be done in the code begining with the word CONFIG
+;;; (you can do a 'grep CONFIG *.lisp' to see what you can configure)
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+;;; CONFIG - Compress motion notify ?
+(defparameter *have-to-compress-notify* nil
+  "This variable may be useful to speed up some slow version of CLX.
+It is particulary useful with CLISP/MIT-CLX.")
+  
+
+
+;;; CONFIG - Screen size
+(defun get-fullscreen-size ()
+  "Return the size of root child (values rx ry rw rh raise-p)
+You can tweak this to what you want"
+  (values -1 -1 (xlib:screen-width *screen*) (xlib:screen-height *screen*) nil))
+;; (values -1 -1 1024 768))
+;;  (values 100 100 800 600))
+
+
+
+
+
+
+;;; CONFIG: Main mode colors
+(defparameter *color-selected* "Red")
+(defparameter *color-unselected* "Blue")
+(defparameter *color-maybe-selected* "Yellow")
+
+;;; CONFIG: Second mode colors and fonts
+(defparameter *sm-border-color* "Green")
+(defparameter *sm-background-color* "Black")
+(defparameter *sm-foreground-color* "Red")
+(defparameter *sm-font-string* "9x15bold")
+(defparameter *sm-width* 300)
+(defparameter *sm-height* 25)
+
+
+;;; CONFIG - Pager mode colors and fonts
+(defparameter *pager-background* "black")
+(defparameter *pager-workspace-border* "blue")
+(defparameter *pager-workspace-background* "black")
+(defparameter *pager-group-border* "yellow")
+(defparameter *pager-group-border-selected* "red")
+(defparameter *pager-group-background* "grey10")
+
+(defparameter *pager-window-selected* "Green")
+(defparameter *pager-window-deselected* "Yellow")
+(defparameter *pager-window-hidden* "Green")
+(defparameter *pager-window-hidden-1* "Red")
+
+(defparameter *pager-window-separator* "blue")
+
+(defparameter *pager-workspace-cursor* "black")
+(defparameter *pager-line-cursor* "blue")
+(defparameter *pager-group-cursor* "white")
+(defparameter *pager-group-background-cursor* "grey35")
+
+
+(defparameter *pager-font-string* "9x15bold")
+
+(defparameter *pager-workspace-height* 200)
+
+
+
+;;; CONFIG - Identify key colors
+(defparameter *identify-font-string* "9x15")
+(defparameter *identify-background* "black")
+(defparameter *identify-foreground* "green")
+(defparameter *identify-border* "red")
+
+;;; CONFIG - Query string colors
+(defparameter *query-font-string* "9x15")
+(defparameter *query-background* "black")
+(defparameter *query-foreground* "green")
+(defparameter *query-border* "red")
+
+
+;;; CONFIG - Info mode
+
+(defparameter *info-background* "black")
+(defparameter *info-foreground* "green")
+(defparameter *info-border* "red")
+(defparameter *info-line-cursor* "white")
+(defparameter *info-font-string* "9x15")
+
+
+
+;;; Tiling to side parameters
+(defparameter *tile-workspace-function* 'tile-workspace-top)
+(defparameter *tile-border-size* 200)

Added: dot-clfswmrc
==============================================================================
--- (empty file)
+++ dot-clfswmrc	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,272 @@
+;;; -*- lisp -*-
+;;;
+;;; CLFSWM configuration file example
+;;;
+;;; Send me your configuration file at hocwp _at_ free -dot- fr if
+;;; you want to share it with others.
+
+(in-package :clfswm)
+
+
+;;;; Uncomment the line above if you want to enable the notify event compression.
+;;;; This variable may be useful to speed up some slow version of CLX
+;;;; It is particulary useful with CLISP/MIT-CLX.
+;; (setf *have-to-compress-notify* t)
+
+
+;;; Color configuration example
+;;;
+;;; See in package.lisp for all variables
+(setf *color-unselected* "Blue")
+
+
+;;(defparameter *fullscreen* '(0 4 800 570))
+(defparameter *fullscreen* '(0 0 1024 750))
+
+
+
+;;; Binding example: Undefine Control-F1 and define  Control-F5 as a
+;;; new binding in main mode
+;;;
+;;; See bindings.lisp, bindings-second-mode.lisp and bindings-pager.lisp
+;;; for all default bindings definitions.
+(undefine-main-key ("F1" :mod-1))
+(define-main-key ("F5" :mod-1) 'help-on-clfswm)
+
+
+
+;;; Binding example for apwal
+(define-second-key (#\Space)
+    (defun tpm-apwal ()
+      "Run Apwal"
+      (do-shell "exec apwal")
+      (show-all-windows-in-workspace (current-workspace))
+      (throw 'exit-second-loop nil)))
+
+
+
+
+
+;;;; Reloading example
+(defun reload-clfswm ()
+  "Reload clfswm"
+  (format t "RELOADING... ")
+  (ungrab-main-keys)
+  (setf *main-keys* (make-hash-table :test 'equal))
+  (asdf:oos 'asdf:load-op :clfswm)
+  (grab-main-keys)
+  (format t "Done!~%"))
+
+
+(define-main-key ("F2" :mod-1) 'reload-clfswm)
+
+(define-main-key ("F3" :mod-1) (lambda ()
+				 (do-shell "rxvt")))
+
+
+
+;;; Hook example
+;;;
+;;; See in package.lisp and clfswm.lisp, clfswm-second-mode.lisp
+;;; or clfswm-pager.lisp for hook examples
+(setf *key-press-hook* (list (lambda (&rest args) ; function 1
+			       (format t "Keyp press (before): ~A~%" args)
+			       (force-output))
+			     #'handle-key-press	; function 2 (default)
+			     (lambda (&rest args) ; function 3
+			       (declare (ignore args))
+			       (format t "Keyp press (after)~%")
+			       (force-output))))
+
+
+
+;;; A more complex example I use to record my desktop and show
+;;; documentation associated to each key press.
+(defun documentation-key-from-code (hash-key code state)
+  (labels ((doc-from (key)
+	     (multiple-value-bind (function foundp)
+		 (gethash (list key state) hash-key)
+	       (when (and foundp (first function))
+		 (documentation (first function) 'function))))
+	   (from-code ()
+	     (doc-from code))
+	   (from-char ()
+	     (let ((char (keycode->char code state)))
+	       (doc-from char)))
+	   (from-string ()
+	     (let ((string (keysym->keysym-name (keycode->keysym *display* code 0))))
+	       (doc-from string))))
+    (cond ((from-code))
+	  ((from-char))
+	  ((from-string)))))
+
+
+(defun key-string (hash-key code state)
+  (let* ((modifiers (make-state-keys state))
+	 (keysym (keysym->keysym-name (keycode->keysym *display* code 0)))
+	 (doc (documentation-key-from-code hash-key code state)))
+    (values (format nil "~:(~{~A+~}~A~) : ~S" modifiers keysym doc)
+	    doc)))
+
+(defun display-doc (hash-key code state)
+  (multiple-value-bind (str doc)
+      (key-string hash-key code state)
+    (when doc
+      (do-shell "pkill osd_cat")
+      (do-shell (format nil "echo ~A | osd_cat -d 3 -p bottom -o -45 -f -*-fixed-*-*-*-*-12-*-*-*-*-*-*-1" str))
+      (force-output))))
+
+(defun display-key-osd-main (&rest event-slots &key code state &allow-other-keys)
+  (display-doc *main-keys* code state))
+
+(defun display-key-osd-second (&rest event-slots &key code state &allow-other-keys)
+  (display-doc *second-keys* code state))
+
+(defun display-key-pager (&rest event-slots &key code state &allow-other-keys)
+  (setf (gcontext-background *pager-gc*) (get-color "Black"))
+  (setf (gcontext-foreground *pager-gc*) (get-color "Red"))
+  (multiple-value-bind (str doc)
+      (key-string *pager-keys* code state)
+    (when doc
+      (draw-image-glyphs *pager-window* *pager-gc* 20 570
+			 (format nil "~A                                                  " str)))
+    (display-finish-output *display*)))
+
+;; Define new hook or add to precedent one
+(if (consp *key-press-hook*)
+    (push #'display-key-osd-main *key-press-hook*)
+    (setf *key-press-hook* (list #'display-key-osd-main #'handle-key-press)))
+(setf *sm-key-press-hook* (list #'display-key-osd-second #'sm-handle-key-press))
+(setf *pager-key-press-hook* (list #'pager-handle-key-press #'display-key-pager))
+
+;;; -- Doc example end --
+
+
+
+;;;; Uncomment the lines below if you want to enable the larswm,
+;;;; dwm, wmii... cycling style.
+;;;;
+;;;; This leave the main window in one side of the screen and tile others
+;;;; on the other side. It can be configured in the rc file or interactively
+;;;; with the function 'reconfigure-tile-workspace'.
+;;;;
+(defun circulate-group-up ()
+  "Circulate up in group - larswm, dwm, wmii style"
+  (banish-pointer)
+  (minimize-group (current-group))
+  (no-focus)
+  (setf (workspace-group-list (current-workspace))
+	(rotate-list (workspace-group-list (current-workspace))))
+  (funcall *tile-workspace-function* (current-workspace))
+  (show-all-windows-in-workspace (current-workspace)))
+
+(defun circulate-group-down ()
+  "Circulate down in group - larswm, dwm, wmii style"
+  (banish-pointer)
+  (minimize-group (current-group))
+  (no-focus)
+  (setf (workspace-group-list (current-workspace))
+	(anti-rotate-list (workspace-group-list (current-workspace))))
+  (funcall *tile-workspace-function* (current-workspace))
+  (show-all-windows-in-workspace (current-workspace)))
+
+;;; -- Lasrwm style end --
+
+
+
+;;; Azerty keyboard configuration (first remove keys, then rebind)
+;; Main mode
+;;(undefine-main-key (#\t :mod-1))
+;;(undefine-main-key (#\b :mod-1))
+;;(undefine-main-key (#\b :mod-1 :control))
+;;(undefine-main-key ("1" :mod-1))
+;;(undefine-main-key ("2" :mod-1))
+;;(undefine-main-key ("3" :mod-1))
+;;(undefine-main-key ("4" :mod-1))
+;;(undefine-main-key ("5" :mod-1))
+;;(undefine-main-key ("6" :mod-1))
+;;(undefine-main-key ("7" :mod-1))
+;;(undefine-main-key ("8" :mod-1))
+;;(undefine-main-key ("9" :mod-1))
+;;(undefine-main-key ("0" :mod-1))
+;; Or better:
+(undefine-main-multi-keys (#\t :mod-1) (#\b :mod-1) (#\b :mod-1 :control)
+			  (#\1 :mod-1) (#\2 :mod-1) (#\3 :mod-1)
+			  (#\4 :mod-1) (#\5 :mod-1) (#\6 :mod-1)
+			  (#\7 :mod-1) (#\8 :mod-1) (#\9 :mod-1) (#\0 :mod-1))
+
+(define-main-key (#\< :control) 'second-key-mode)
+
+(define-main-key ("twosuperior") 'banish-pointer)
+(define-main-key ("twosuperior" :mod-1) 'toggle-maximize-current-group)
+
+(define-main-key ("ampersand" :mod-1) 'b-main-focus-workspace-1)
+(define-main-key ("eacute" :mod-1) 'b-main-focus-workspace-2)
+(define-main-key ("quotedbl" :mod-1) 'b-main-focus-workspace-3)
+(define-main-key ("quoteright" :mod-1) 'b-main-focus-workspace-4)
+(define-main-key ("parenleft" :mod-1) 'b-main-focus-workspace-5)
+(define-main-key ("minus" :mod-1) 'b-main-focus-workspace-6)
+(define-main-key ("egrave" :mod-1) 'b-main-focus-workspace-7)
+(define-main-key ("underscore" :mod-1) 'b-main-focus-workspace-8)
+(define-main-key ("ccedilla" :mod-1) 'b-main-focus-workspace-9)
+(define-main-key ("agrave" :mod-1) 'b-main-focus-workspace-10)
+
+;; Second mode
+(undefine-second-multi-keys (#\t) (#\b) (#\b :mod-1)
+			    (#\1 :mod-1) (#\2 :mod-1) (#\3 :mod-1)
+			    (#\4 :mod-1) (#\5 :mod-1) (#\6 :mod-1)
+			    (#\7 :mod-1) (#\8 :mod-1) (#\9 :mod-1) (#\0 :mod-1)
+			    (#\1 :control :mod-1) (#\2 :control :mod-1))
+
+(define-second-key (#\<) 'leave-second-mode-maximize)
+
+
+(define-second-key ("ampersand" :mod-1) 'b-second-focus-workspace-1)
+(define-second-key ("eacute" :mod-1) 'b-second-focus-workspace-2)
+(define-second-key ("quotedbl" :mod-1) 'b-second-focus-workspace-3)
+(define-second-key ("quoteright" :mod-1) 'b-second-focus-workspace-4)
+(define-second-key ("parenleft" :mod-1) 'b-second-focus-workspace-5)
+(define-second-key ("minus" :mod-1) 'b-second-focus-workspace-6)
+(define-second-key ("egrave" :mod-1) 'b-second-focus-workspace-7)
+(define-second-key ("underscore" :mod-1) 'b-second-focus-workspace-8)
+(define-second-key ("ccedilla" :mod-1) 'b-second-focus-workspace-9)
+(define-second-key ("agrave" :mod-1) 'b-second-focus-workspace-10)
+
+(define-second-key ("ampersand" :control :mod-1) 'renumber-workspaces)
+(define-second-key ("eacute" :control :mod-1) 'sort-workspaces)
+
+
+(define-second-key ("twosuperior") 'banish-pointer)
+(define-second-key ("twosuperior" :mod-1) 'toggle-maximize-current-group)
+
+(define-second-key (#\t) 'tile-current-workspace-vertically)
+(define-second-key (#\t :shift) 'tile-current-workspace-horizontally)
+
+
+;; Pager mode
+(undefine-pager-multi-keys (#\b)
+			   (#\1 :mod-1) (#\2 :mod-1) (#\3 :mod-1)
+			   (#\4 :mod-1) (#\5 :mod-1) (#\6 :mod-1)
+			   (#\7 :mod-1) (#\8 :mod-1) (#\9 :mod-1) (#\0 :mod-1)
+			   (#\1 :control :mod-1) (#\2 :control :mod-1))
+
+(define-pager-key ("twosuperior") 'banish-pointer)
+
+(define-pager-key ("ampersand" :mod-1) 'b-pager-focus-workspace-1)
+(define-pager-key ("eacute" :mod-1) 'b-pager-focus-workspace-2)
+(define-pager-key ("quotedbl" :mod-1) 'b-pager-focus-workspace-3)
+(define-pager-key ("quoteright" :mod-1) 'b-pager-focus-workspace-4)
+(define-pager-key ("parenleft" :mod-1) 'b-pager-focus-workspace-5)
+(define-pager-key ("minus" :mod-1) 'b-pager-focus-workspace-6)
+(define-pager-key ("egrave" :mod-1) 'b-pager-focus-workspace-7)
+(define-pager-key ("underscore" :mod-1) 'b-pager-focus-workspace-8)
+(define-pager-key ("ccedilla" :mod-1) 'b-pager-focus-workspace-9)
+(define-pager-key ("agrave" :mod-1) 'b-pager-focus-workspace-10)
+
+(define-pager-key ("ampersand" :control :mod-1) 'pager-renumber-workspaces)
+(define-pager-key ("eacute" :control :mod-1) 'pager-sort-workspaces)
+
+;;; -- Azerty configuration end --
+
+
+

Added: keys.html
==============================================================================
--- (empty file)
+++ keys.html	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,2576 @@
+<html>
+  <head>
+    <title>
+      CLFSWM Keys
+    </title>
+  </head>
+  <body>
+    <h1>
+      CLFSWM Keys
+    </h1>
+    <p>
+      <small>
+        Note: Mod-1 is the Meta or Alt key
+      </small>
+    </p>
+    <h3>
+      <u>
+        Main mode keys
+      </u>
+    </h3>
+    <table class="ex" cellspacing="5" border="0" width="100%">
+      <tr>
+        <th align="right" width="10%">
+          Modifiers
+        </th>
+        <th align="center" width="10%">
+          Key/Button
+        </th>
+        <th align="left">
+          Function
+        </th>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            0
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 10
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            9
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 9
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            8
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 8
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            7
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 7
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            6
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 6
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            5
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 5
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            4
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 4
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            3
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 3
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 2
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 1
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in workspace copying current group in the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in workspace moving current group in the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in workspace copying current group in the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in workspace moving current group in the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in group copying the current window in the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in group moving the current window in the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in group copying the current window in the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in group moving the current window in the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Unhide all hidden windows into the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Remove the current window in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Destroy the current window in all groups and workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Delete the current window in all groups and workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+            B
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Maximize/minimize the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            B
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move the pointer to the lower right corner of the screen and redraw all groups
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Tab
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate down windows in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Tab
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate up windows in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          Less
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Switch to editing mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            T
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Switch to editing mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Home
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Quit clfswm
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          F1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Open the help and info window
+        </td>
+      </tr>
+    </table>
+    <h3>
+      <u>
+        Second mode keys
+      </u>
+    </h3>
+    <table class="ex" cellspacing="5" border="0" width="100%">
+      <tr>
+        <th align="right" width="10%">
+          Modifiers
+        </th>
+        <th align="center" width="10%">
+          Key/Button
+        </th>
+        <th align="left">
+          Function
+        </th>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group left
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group right
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move, pack, fill or resize group left
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move, pack, fill or resize group right
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move, pack, fill or resize group down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move, pack, fill or resize group up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            M
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Center the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            L
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize down the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            L
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize down the current group to its minimal size
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            R
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group to its half width or heigth on next arraw action
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            F
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Fill group horizontally
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+            F
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Fill group vertically
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            F
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Fill group in all directions
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            F
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Fill group on next arrow action (fill in all directions on second f keypress)
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            P
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Pack group on next arrow action
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control  Shift 
+        </td>
+        <td align="center" nowrap>
+            Y
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move all windows in the current workspace to one group and remove other groups
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            Y
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Create a new group for each window in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            Y
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Reconfigure the workspace tiling for the current session
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            Y
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Tile the current workspace with the current window on one side and others on the other
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control  Shift 
+        </td>
+        <td align="center" nowrap>
+            T
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Tile the current workspace horizontally
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            T
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Tile the current workspace vertically
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            D
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Show debuging info
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            A
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Force the current window to move in the group (Useful only for transient windows)
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            A
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Force the current window to move in the center of the group (Useful only for transient windows)
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            H
+        </td>
+        <td style="color:#0000ff" nowrap>
+          start an xclock
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            E
+        </td>
+        <td style="color:#0000ff" nowrap>
+          start an emacs for another user
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            E
+        </td>
+        <td style="color:#0000ff" nowrap>
+          start emacs
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            C
+        </td>
+        <td style="color:#0000ff" nowrap>
+          start an xterm
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+            O
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Open each next window in a new group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            O
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Open the next window in a new group and all others in the same group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            O
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Open the next window in a numbered workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            O
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Open the next window in a new workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            W
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Remove the current workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            W
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Create a new default workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            G
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Remove the current group in the current workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            G
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Create a new default group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            K
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Remove the current window in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            K
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Destroy the current window in all groups and workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            X
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Open the fullscreen pager
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            B
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Maximize/minimize the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            B
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move the pointer to the lower right corner of the screen and redraw all groups
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Tab
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate down windows in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Tab
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate up windows in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+            2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Sort workspaces by numbers
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+            1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Reset workspaces numbers (1 for current workspace, 2 for the second...) 
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            0
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 10
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            9
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 9
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            8
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 8
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            7
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 7
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            6
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 6
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            5
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 5
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            4
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 4
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            3
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 3
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 2
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 1
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in workspace copying current group in the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in workspace moving current group in the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in workspace copying current group in the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in workspace moving current group in the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in group copying the current window in the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in group moving the current window in the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in group copying the current window in the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in group moving the current window in the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Unhide all hidden windows into the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Remove the current window in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Destroy the current window in all groups and workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Delete the current window in all groups and workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          Return
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave second mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            <
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave second mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave second mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Return
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave second mode and maximize current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            T
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave second mode and maximize current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            !
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Run a program from the query input
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          :
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Eval a lisp form from the query input
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            I
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Identify a key
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            G
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Stop all pending actions (actions like open in new workspace/group)
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          F1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Open the help and info window
+        </td>
+      </tr>
+    </table>
+    <h3>
+      <u>
+        Mouse buttons actions in second mode
+      </u>
+    </h3>
+    <table class="ex" cellspacing="5" border="0" width="100%">
+      <tr>
+        <th align="right" width="10%">
+          Modifiers
+        </th>
+        <th align="center" width="10%">
+          Key/Button
+        </th>
+        <th align="left">
+          Function
+        </th>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Motion
+        </td>
+        <td style="color:#0000ff" nowrap>
+          
+Move or resize group. Move window from a group to another.
+Go to top left or rigth corner to change workspaces.
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          5
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate down in workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          4
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Circulate up in workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          5
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate window down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          4
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate window up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          3
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Copy selected window
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          3
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move selected window
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave second mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave second mode and maximize current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Copy selected group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize selected group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move selected group or create a new group on the root window
+        </td>
+      </tr>
+    </table>
+    <h3>
+      <u>
+        Pager mode keys
+      </u>
+    </h3>
+    <table class="ex" cellspacing="5" border="0" width="100%">
+      <tr>
+        <th align="right" width="10%">
+          Modifiers
+        </th>
+        <th align="center" width="10%">
+          Key/Button
+        </th>
+        <th align="left">
+          Function
+        </th>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+            2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Sort workspaces by numbers
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+            1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Reset workspaces numbers (1 for current workspace, 2 for the second...) 
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            0
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 10
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            9
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 9
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            8
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 8
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            7
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 7
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            6
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 6
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            5
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 5
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            4
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 4
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            3
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 3
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 2
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Focus workspace 1
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Copy the current group to the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Copy the current group to the previous workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move the current window to the previous line
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move the current window to the next line
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move the current group to the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move the current group to the previous workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group left
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group right
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move group left
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move group right
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move group down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move group up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            M
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Center the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move cursor, pack, fill or resize group left
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move cursor, pack, fill or resize group right
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move cursor, pack, fill or resize group down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move cursor, pack, fill or resize group up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            L
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize down the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            L
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize down the current group to its minimal size
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            F
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Fill group horizontally
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+            F
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Fill group vertically
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            F
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Fill group in all directions
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            F
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Fill group on next arrow action (fill in all directions on second f keypress)
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+            R
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group on next arrow action
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            R
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Resize group to its half width or heigth on next arrow action
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+            M
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move group on next arrow action
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            P
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Pack group on next arrow action
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control  Shift 
+        </td>
+        <td align="center" nowrap>
+            Y
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move all windows in the current workspace to one group and remove other groups
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            Y
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Create a new group for each window in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            Y
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Tile the current workspace with the current window on one side and others on the other
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+            T
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Tile the current workspace horizontally
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            T
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Tile the current workspace vertically
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            X
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Swap the current window with the next window
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            X
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Swap the current group with the next group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            X
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Swap the current workspace with the next workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            W
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Remove the current workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            W
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Create a new default workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+            G
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Remove the current group in the current workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            G
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Create a new default group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Unhide all hidden windows into the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Remove the current window in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Destroy the current window in all groups and workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control  Shift 
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Delete the current window in all groups and workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1  Shift 
+        </td>
+        <td align="center" nowrap>
+          Tab
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate down windows in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          Tab
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate up windows in the current group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          End
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Select the last workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Home
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Select the first workspace
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            B
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move the pointer to the lower right corner of the screen and redraw all groups
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave the pager mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Return
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave the pager mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+            G
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Stop all pending actions (actions like open in new workspace/group)
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Mod-1 
+        </td>
+        <td align="center" nowrap>
+          F1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Open the help and info window
+        </td>
+      </tr>
+    </table>
+    <h3>
+      <u>
+        Mouse buttons actions in pager mode
+      </u>
+    </h3>
+    <table class="ex" cellspacing="5" border="0" width="100%">
+      <tr>
+        <th align="right" width="10%">
+          Modifiers
+        </th>
+        <th align="center" width="10%">
+          Key/Button
+        </th>
+        <th align="left">
+          Function
+        </th>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Motion
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Select workspaces
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          5
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate down windows in selected group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          4
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Rotate up windows in selected group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          3
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Copy selected window
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          3
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move selected window
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave the pager mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+           Control 
+        </td>
+        <td align="center" nowrap>
+          1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Copy selected group
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move selected group
+        </td>
+      </tr>
+    </table>
+    <h3>
+      <u>
+        Info mode keys
+      </u>
+    </h3>
+    <table class="ex" cellspacing="5" border="0" width="100%">
+      <tr>
+        <th align="right" width="10%">
+          Modifiers
+        </th>
+        <th align="center" width="10%">
+          Key/Button
+        </th>
+        <th align="left">
+          Function
+        </th>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Page_up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move ten lines up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Page_down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move ten lines down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          End
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move to last line
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Home
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move to first line
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Right
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move one char right
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Left
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move one char left
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Up
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move one line up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Down
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move one line down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Twosuperior
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move the pointer to the lower right corner of the screen
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+             
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave the info mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Escape
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave the info mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Return
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave the info mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+            Q
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave the info mode
+        </td>
+      </tr>
+    </table>
+    <h3>
+      <u>
+        Mouse buttons actions in info mode
+      </u>
+    </h3>
+    <table class="ex" cellspacing="5" border="0" width="100%">
+      <tr>
+        <th align="right" width="10%">
+          Modifiers
+        </th>
+        <th align="center" width="10%">
+          Key/Button
+        </th>
+        <th align="left">
+          Function
+        </th>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          Motion
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Grab text
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          5
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move one line down
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          4
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Move one line up
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          2
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Leave the info mode
+        </td>
+      </tr>
+      <tr>
+        <td align="right" style="color:#ff0000" nowrap>
+          
+        </td>
+        <td align="center" nowrap>
+          1
+        </td>
+        <td style="color:#0000ff" nowrap>
+          Begin grab text
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>

Added: keys.txt
==============================================================================
--- (empty file)
+++ keys.txt	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,262 @@
+    * CLFSWM Keys *
+      -----------
+
+Note: Mod-1 is the Meta or Alt key
+
+Main mode keys:
+--------------
+
+Mod-1                0               Focus workspace 10
+Mod-1                9               Focus workspace 9
+Mod-1                8               Focus workspace 8
+Mod-1                7               Focus workspace 7
+Mod-1                6               Focus workspace 6
+Mod-1                5               Focus workspace 5
+Mod-1                4               Focus workspace 4
+Mod-1                3               Focus workspace 3
+Mod-1                2               Focus workspace 2
+Mod-1                1               Focus workspace 1
+Mod-1 Control Shift  Left            Circulate down in workspace copying current group in the next workspace
+Mod-1 Shift          Left            Circulate down in workspace moving current group in the next workspace
+Mod-1                Left            Circulate down in workspace
+Mod-1 Control Shift  Right           Circulate up in workspace copying current group in the next workspace
+Mod-1 Shift          Right           Circulate up in workspace moving current group in the next workspace
+Mod-1                Right           Circulate up in workspace
+Mod-1 Control Shift  Down            Circulate down in group copying the current window in the next group
+Mod-1 Shift          Down            Circulate down in group moving the current window in the next group
+Mod-1                Down            Circulate down in group
+Mod-1 Control Shift  Up              Circulate up in group copying the current window in the next group
+Mod-1 Shift          Up              Circulate up in group moving the current window in the next group
+Mod-1                Up              Circulate up in group
+Shift                Escape          Unhide all hidden windows into the current group
+Control              Escape          Remove the current window in the current group
+Mod-1 Control Shift  Escape          Destroy the current window in all groups and workspaces
+Control Shift        Escape          Delete the current window in all groups and workspaces
+Mod-1 Control        B               Maximize/minimize the current group
+Mod-1                B               Move the pointer to the lower right corner of the screen and redraw all groups
+Mod-1 Shift          Tab             Rotate down windows in the current group
+Mod-1                Tab             Rotate up windows in the current group
+Control              Less            Switch to editing mode
+Mod-1                T               Switch to editing mode
+Mod-1 Control Shift  Home            Quit clfswm
+Mod-1                F1              Open the help and info window
+
+
+Second mode keys:
+----------------
+
+Shift                Left            Resize group left
+Shift                Right           Resize group right
+Shift                Down            Resize group down
+Shift                Up              Resize group up
+                     Left            Move, pack, fill or resize group left
+                     Right           Move, pack, fill or resize group right
+                     Down            Move, pack, fill or resize group down
+                     Up              Move, pack, fill or resize group up
+                     M               Center the current group
+Mod-1                L               Resize down the current group
+                     L               Resize down the current group to its minimal size
+                     R               Resize group to its half width or heigth on next arraw action
+Control              F               Fill group horizontally
+Shift                F               Fill group vertically
+Mod-1                F               Fill group in all directions
+                     F               Fill group on next arrow action (fill in all directions on second f keypress)
+                     P               Pack group on next arrow action
+Control Shift        Y               Move all windows in the current workspace to one group and remove other groups
+Control              Y               Create a new group for each window in the current group
+Mod-1                Y               Reconfigure the workspace tiling for the current session
+                     Y               Tile the current workspace with the current window on one side and others on the other
+Control Shift        T               Tile the current workspace horizontally
+Control              T               Tile the current workspace vertically
+Mod-1                D               Show debuging info
+Mod-1                A               Force the current window to move in the group (Useful only for transient windows)
+                     A               Force the current window to move in the center of the group (Useful only for transient windows)
+                     H               start an xclock
+Control              E               start an emacs for another user
+                     E               start emacs
+                     C               start an xterm
+Mod-1 Control        O               Open each next window in a new group
+Mod-1                O               Open the next window in a new group and all others in the same group
+Control              O               Open the next window in a numbered workspace
+                     O               Open the next window in a new workspace
+Mod-1                W               Remove the current workspace
+                     W               Create a new default workspace
+Mod-1                G               Remove the current group in the current workspace
+                     G               Create a new default group
+                     K               Remove the current window in the current group
+Mod-1                K               Destroy the current window in all groups and workspaces
+                     X               Open the fullscreen pager
+Mod-1                B               Maximize/minimize the current group
+                     B               Move the pointer to the lower right corner of the screen and redraw all groups
+Mod-1 Shift          Tab             Rotate down windows in the current group
+Mod-1                Tab             Rotate up windows in the current group
+Mod-1 Control        2               Sort workspaces by numbers
+Mod-1 Control        1               Reset workspaces numbers (1 for current workspace, 2 for the second...) 
+Mod-1                0               Focus workspace 10
+Mod-1                9               Focus workspace 9
+Mod-1                8               Focus workspace 8
+Mod-1                7               Focus workspace 7
+Mod-1                6               Focus workspace 6
+Mod-1                5               Focus workspace 5
+Mod-1                4               Focus workspace 4
+Mod-1                3               Focus workspace 3
+Mod-1                2               Focus workspace 2
+Mod-1                1               Focus workspace 1
+Mod-1 Control Shift  Left            Circulate down in workspace copying current group in the next workspace
+Mod-1 Shift          Left            Circulate down in workspace moving current group in the next workspace
+Mod-1                Left            Circulate down in workspace
+Mod-1 Control Shift  Right           Circulate up in workspace copying current group in the next workspace
+Mod-1 Shift          Right           Circulate up in workspace moving current group in the next workspace
+Mod-1                Right           Circulate up in workspace
+Mod-1 Control Shift  Down            Circulate down in group copying the current window in the next group
+Mod-1 Shift          Down            Circulate down in group moving the current window in the next group
+Mod-1                Down            Circulate down in group
+Mod-1 Control Shift  Up              Circulate up in group copying the current window in the next group
+Mod-1 Shift          Up              Circulate up in group moving the current window in the next group
+Mod-1                Up              Circulate up in group
+Shift                Escape          Unhide all hidden windows into the current group
+Control              Escape          Remove the current window in the current group
+Mod-1 Control Shift  Escape          Destroy the current window in all groups and workspaces
+Control Shift        Escape          Delete the current window in all groups and workspaces
+Control              Return          Leave second mode
+Control              <               Leave second mode
+                     Escape          Leave second mode
+                     Return          Leave second mode and maximize current group
+                     T               Leave second mode and maximize current group
+                     !               Run a program from the query input
+                     :               Eval a lisp form from the query input
+                     I               Identify a key
+Control              G               Stop all pending actions (actions like open in new workspace/group)
+Mod-1                F1              Open the help and info window
+
+
+Mouse buttons actions in second mode:
+------------------------------------
+
+                     Motion          
+Move or resize group. Move window from a group to another.
+Go to top left or rigth corner to change workspaces.
+Mod-1                5               Circulate down in workspaces
+Mod-1                4               Circulate up in workspaces
+                     5               Rotate window down
+                     4               Rotate window up
+Control              3               Copy selected window
+                     3               Move selected window
+Control              2               Leave second mode
+                     2               Leave second mode and maximize current group
+Control              1               Copy selected group
+Mod-1                1               Resize selected group
+                     1               Move selected group or create a new group on the root window
+
+
+Pager mode keys:
+---------------
+
+Mod-1 Control        2               Sort workspaces by numbers
+Mod-1 Control        1               Reset workspaces numbers (1 for current workspace, 2 for the second...) 
+Mod-1                0               Focus workspace 10
+Mod-1                9               Focus workspace 9
+Mod-1                8               Focus workspace 8
+Mod-1                7               Focus workspace 7
+Mod-1                6               Focus workspace 6
+Mod-1                5               Focus workspace 5
+Mod-1                4               Focus workspace 4
+Mod-1                3               Focus workspace 3
+Mod-1                2               Focus workspace 2
+Mod-1                1               Focus workspace 1
+Control Shift        Right           Copy the current group to the next workspace
+Control Shift        Left            Copy the current group to the previous workspace
+Shift                Up              Move the current window to the previous line
+Shift                Down            Move the current window to the next line
+Shift                Right           Move the current group to the next workspace
+Shift                Left            Move the current group to the previous workspace
+Mod-1 Control        Left            Resize group left
+Mod-1 Control        Right           Resize group right
+Mod-1 Control        Down            Resize group down
+Mod-1 Control        Up              Resize group up
+Mod-1                Left            Move group left
+Mod-1                Right           Move group right
+Mod-1                Down            Move group down
+Mod-1                Up              Move group up
+                     M               Center the current group
+                     Left            Move cursor, pack, fill or resize group left
+                     Right           Move cursor, pack, fill or resize group right
+                     Down            Move cursor, pack, fill or resize group down
+                     Up              Move cursor, pack, fill or resize group up
+Mod-1                L               Resize down the current group
+                     L               Resize down the current group to its minimal size
+Control              F               Fill group horizontally
+Shift                F               Fill group vertically
+Mod-1                F               Fill group in all directions
+                     F               Fill group on next arrow action (fill in all directions on second f keypress)
+Shift                R               Resize group on next arrow action
+                     R               Resize group to its half width or heigth on next arrow action
+Shift                M               Move group on next arrow action
+                     P               Pack group on next arrow action
+Control Shift        Y               Move all windows in the current workspace to one group and remove other groups
+Control              Y               Create a new group for each window in the current group
+                     Y               Tile the current workspace with the current window on one side and others on the other
+Shift                T               Tile the current workspace horizontally
+                     T               Tile the current workspace vertically
+Mod-1                X               Swap the current window with the next window
+Control              X               Swap the current group with the next group
+                     X               Swap the current workspace with the next workspace
+Mod-1                W               Remove the current workspace
+                     W               Create a new default workspace
+Mod-1                G               Remove the current group in the current workspace
+                     G               Create a new default group
+Shift                Escape          Unhide all hidden windows into the current group
+Control              Escape          Remove the current window in the current group
+Mod-1 Control Shift  Escape          Destroy the current window in all groups and workspaces
+Control Shift        Escape          Delete the current window in all groups and workspaces
+Mod-1 Shift          Tab             Rotate down windows in the current group
+Mod-1                Tab             Rotate up windows in the current group
+                     End             Select the last workspace
+                     Home            Select the first workspace
+                     B               Move the pointer to the lower right corner of the screen and redraw all groups
+                     Escape          Leave the pager mode
+                     Return          Leave the pager mode
+Control              G               Stop all pending actions (actions like open in new workspace/group)
+Mod-1                F1              Open the help and info window
+
+
+Mouse buttons actions in pager mode:
+-----------------------------------
+
+                     Motion          Select workspaces
+                     5               Rotate down windows in selected group
+                     4               Rotate up windows in selected group
+Control              3               Copy selected window
+                     3               Move selected window
+                     2               Leave the pager mode
+Control              1               Copy selected group
+                     1               Move selected group
+
+
+Info mode keys:
+--------------
+
+                     Page_up         Move ten lines up
+                     Page_down       Move ten lines down
+                     End             Move to last line
+                     Home            Move to first line
+                     Right           Move one char right
+                     Left            Move one char left
+                     Up              Move one line up
+                     Down            Move one line down
+                     Twosuperior     Move the pointer to the lower right corner of the screen
+                                     Leave the info mode
+                     Escape          Leave the info mode
+                     Return          Leave the info mode
+                     Q               Leave the info mode
+
+
+Mouse buttons actions in info mode:
+----------------------------------
+
+                     Motion          Grab text
+                     5               Move one line down
+                     4               Move one line up
+                     2               Leave the info mode
+                     1               Begin grab text
+

Added: keysyms.fas
==============================================================================
--- (empty file)
+++ keysyms.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,6880 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|30 30 (DEFVAR *KEYSYM-NAME-TRANSLATIONS* (MAKE-HASH-TABLE))-2|
+   #27Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 8C 4F 07 DB 38 09 71 64 31 52
+        C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*KEYSYM-NAME-TRANSLATIONS*|)
+    |CLFSWM|::|*KEYSYM-NAME-TRANSLATIONS*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 31 (DEFVAR *NAME-KEYSYM-TRANSLATIONS* (MAKE-HASH-TABLE :TEST #'EQUAL))-3|
+   #29Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 8C 4F 09 DB 38 09 C7 FB 71 64
+        31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*NAME-KEYSYM-TRANSLATIONS*|)
+    |CLFSWM|::|*NAME-KEYSYM-TRANSLATIONS*| #.#'|COMMON-LISP|::|EQUAL|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|33 36 (DEFUN CL-DEFINE-KEYSYM (KEYSYM NAME) ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|CL-DEFINE-KEYSYM| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|CL-DEFINE-KEYSYM|
+       #28Y(00 00 00 00 02 00 00 00 06 03 6B 00 AF AD B0 31 66 16 01 6B 01 AE
+            AD B1 31 66 19 04)
+       (|CLFSWM|::|*KEYSYM-NAME-TRANSLATIONS*|
+        |CLFSWM|::|*NAME-KEYSYM-TRANSLATIONS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|KEYSYM| |CLFSWM|::|NAME|)
+       "Define a mapping from a keysym name to a keysym."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|38 43 (DEFUN KEYSYM-NAME->KEYSYM (NAME) ...)-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|KEYSYM-NAME->KEYSYM| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|KEYSYM-NAME->KEYSYM|
+       #22Y(00 00 00 00 01 00 00 00 06 02 AD 6B 00 38 01 31 65 42 02 9E 19 04)
+       (|CLFSWM|::|*NAME-KEYSYM-TRANSLATIONS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|NAME|) "Return the keysym corresponding to NAME."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|45 50 (DEFUN KEYSYM->KEYSYM-NAME (KEYSYM) ...)-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|KEYSYM->KEYSYM-NAME| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|KEYSYM->KEYSYM-NAME|
+       #22Y(00 00 00 00 01 00 00 00 06 02 AD 6B 00 38 01 31 65 42 02 9E 19 04)
+       (|CLFSWM|::|*KEYSYM-NAME-TRANSLATIONS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|KEYSYM|) "Return the name corresponding to KEYSYM."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|52 52 (CL-DEFINE-KEYSYM 16777215 "VoidSymbol")-7|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777215. "VoidSymbol" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|52 53 (CL-DEFINE-KEYSYM 65288 "BackSpace")-8|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65288. "BackSpace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|53 54 (CL-DEFINE-KEYSYM 65289 "Tab")-9|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65289. "Tab" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|55 55 (CL-DEFINE-KEYSYM 65290 "Linefeed")-10|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65290. "Linefeed" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|55 56 (CL-DEFINE-KEYSYM 65291 "Clear")-11|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65291. "Clear" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|57 57 (CL-DEFINE-KEYSYM 65293 "Return")-12|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65293. "Return" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|57 58 (CL-DEFINE-KEYSYM 65299 "Pause")-13|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65299. "Pause" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|58 59 (CL-DEFINE-KEYSYM 65300 "Scroll_Lock")-14|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65300. "Scroll_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|60 60 (CL-DEFINE-KEYSYM 65301 "Sys_Req")-15|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65301. "Sys_Req" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|61 61 (CL-DEFINE-KEYSYM 65307 "Escape")-16|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65307. "Escape" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|62 62 (CL-DEFINE-KEYSYM 65535 "Delete")-17|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65535. "Delete" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|62 63 (CL-DEFINE-KEYSYM 65312 "Multi_key")-18|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65312. "Multi_key" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|63 64 (CL-DEFINE-KEYSYM 65335 "Codeinput")-19|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65335. "Codeinput" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|65 65 (CL-DEFINE-KEYSYM 65340 "SingleCandidate")-20|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65340. "SingleCandidate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|66 66 (CL-DEFINE-KEYSYM 65341 "MultipleCandidate")-21|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65341. "MultipleCandidate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|67 67 (CL-DEFINE-KEYSYM 65342 "PreviousCandidate")-22|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65342. "PreviousCandidate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|68 68 (CL-DEFINE-KEYSYM 65313 "Kanji")-23|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65313. "Kanji" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|68 69 (CL-DEFINE-KEYSYM 65314 "Muhenkan")-24|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65314. "Muhenkan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|69 70 (CL-DEFINE-KEYSYM 65315 "Henkan_Mode")-25|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65315. "Henkan_Mode" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|70 71 (CL-DEFINE-KEYSYM 65315 "Henkan")-26|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65315. "Henkan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|71 72 (CL-DEFINE-KEYSYM 65316 "Romaji")-27|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65316. "Romaji" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|72 73 (CL-DEFINE-KEYSYM 65317 "Hiragana")-28|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65317. "Hiragana" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|73 74 (CL-DEFINE-KEYSYM 65318 "Katakana")-29|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65318. "Katakana" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|74 75 (CL-DEFINE-KEYSYM 65319 "Hiragana_Katakana")-30|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65319. "Hiragana_Katakana" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|75 76 (CL-DEFINE-KEYSYM 65320 "Zenkaku")-31|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65320. "Zenkaku" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|76 77 (CL-DEFINE-KEYSYM 65321 "Hankaku")-32|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65321. "Hankaku" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|77 78 (CL-DEFINE-KEYSYM 65322 "Zenkaku_Hankaku")-33|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65322. "Zenkaku_Hankaku" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|78 79 (CL-DEFINE-KEYSYM 65323 "Touroku")-34|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65323. "Touroku" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|79 80 (CL-DEFINE-KEYSYM 65324 "Massyo")-35|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65324. "Massyo" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|80 81 (CL-DEFINE-KEYSYM 65325 "Kana_Lock")-36|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65325. "Kana_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|81 82 (CL-DEFINE-KEYSYM 65326 "Kana_Shift")-37|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65326. "Kana_Shift" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|82 83 (CL-DEFINE-KEYSYM 65327 "Eisu_Shift")-38|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65327. "Eisu_Shift" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|83 84 (CL-DEFINE-KEYSYM 65328 "Eisu_toggle")-39|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65328. "Eisu_toggle" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|84 85 (CL-DEFINE-KEYSYM 65335 "Kanji_Bangou")-40|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65335. "Kanji_Bangou" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|85 86 (CL-DEFINE-KEYSYM 65341 "Zen_Koho")-41|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65341. "Zen_Koho" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 87 (CL-DEFINE-KEYSYM 65342 "Mae_Koho")-42|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65342. "Mae_Koho" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|87 88 (CL-DEFINE-KEYSYM 65360 "Home")-43|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65360. "Home" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|89 89 (CL-DEFINE-KEYSYM 65361 "Left")-44|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65361. "Left" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|89 90 (CL-DEFINE-KEYSYM 65362 "Up")-45|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65362. "Up" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|90 91 (CL-DEFINE-KEYSYM 65363 "Right")-46|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65363. "Right" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|91 92 (CL-DEFINE-KEYSYM 65364 "Down")-47|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65364. "Down" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|92 93 (CL-DEFINE-KEYSYM 65365 "Prior")-48|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65365. "Prior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|93 94 (CL-DEFINE-KEYSYM 65365 "Page_Up")-49|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65365. "Page_Up" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|95 95 (CL-DEFINE-KEYSYM 65366 "Next")-50|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65366. "Next" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|95 96 (CL-DEFINE-KEYSYM 65366 "Page_Down")-51|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65366. "Page_Down" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|97 97 (CL-DEFINE-KEYSYM 65367 "End")-52|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65367. "End" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|97 98 (CL-DEFINE-KEYSYM 65368 "Begin")-53|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65368. "Begin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|98 99 (CL-DEFINE-KEYSYM 65376 "Select")-54|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65376. "Select" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|99 100 (CL-DEFINE-KEYSYM 65377 "Print")-55|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65377. "Print" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|101 101 (CL-DEFINE-KEYSYM 65378 "Execute")-56|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65378. "Execute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|101 102 (CL-DEFINE-KEYSYM 65379 "Insert")-57|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65379. "Insert" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|102 103 (CL-DEFINE-KEYSYM 65381 "Undo")-58|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65381. "Undo" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|104 104 (CL-DEFINE-KEYSYM 65382 "Redo")-59|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65382. "Redo" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|104 105 (CL-DEFINE-KEYSYM 65383 "Menu")-60|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65383. "Menu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|106 106 (CL-DEFINE-KEYSYM 65384 "Find")-61|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65384. "Find" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|106 107 (CL-DEFINE-KEYSYM 65385 "Cancel")-62|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65385. "Cancel" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|107 108 (CL-DEFINE-KEYSYM 65386 "Help")-63|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65386. "Help" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|108 109 (CL-DEFINE-KEYSYM 65387 "Break")-64|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65387. "Break" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|110 110 (CL-DEFINE-KEYSYM 65406 "Mode_switch")-65|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65406. "Mode_switch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|110 111 (CL-DEFINE-KEYSYM 65406 "script_switch")-66|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65406. "script_switch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|111 112 (CL-DEFINE-KEYSYM 65407 "Num_Lock")-67|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65407. "Num_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|113 113 (CL-DEFINE-KEYSYM 65408 "KP_Space")-68|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65408. "KP_Space" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|113 114 (CL-DEFINE-KEYSYM 65417 "KP_Tab")-69|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65417. "KP_Tab" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|115 115 (CL-DEFINE-KEYSYM 65421 "KP_Enter")-70|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65421. "KP_Enter" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|115 116 (CL-DEFINE-KEYSYM 65425 "KP_F1")-71|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65425. "KP_F1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|116 117 (CL-DEFINE-KEYSYM 65426 "KP_F2")-72|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65426. "KP_F2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|118 118 (CL-DEFINE-KEYSYM 65427 "KP_F3")-73|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65427. "KP_F3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|119 119 (CL-DEFINE-KEYSYM 65428 "KP_F4")-74|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65428. "KP_F4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|120 120 (CL-DEFINE-KEYSYM 65429 "KP_Home")-75|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65429. "KP_Home" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|121 121 (CL-DEFINE-KEYSYM 65430 "KP_Left")-76|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65430. "KP_Left" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|122 122 (CL-DEFINE-KEYSYM 65431 "KP_Up")-77|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65431. "KP_Up" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|123 123 (CL-DEFINE-KEYSYM 65432 "KP_Right")-78|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65432. "KP_Right" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|124 124 (CL-DEFINE-KEYSYM 65433 "KP_Down")-79|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65433. "KP_Down" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|125 125 (CL-DEFINE-KEYSYM 65434 "KP_Prior")-80|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65434. "KP_Prior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|126 126 (CL-DEFINE-KEYSYM 65434 "KP_Page_Up")-81|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65434. "KP_Page_Up" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|127 127 (CL-DEFINE-KEYSYM 65435 "KP_Next")-82|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65435. "KP_Next" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|128 128 (CL-DEFINE-KEYSYM 65435 "KP_Page_Down")-83|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65435. "KP_Page_Down" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|129 129 (CL-DEFINE-KEYSYM 65436 "KP_End")-84|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65436. "KP_End" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|130 130 (CL-DEFINE-KEYSYM 65437 "KP_Begin")-85|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65437. "KP_Begin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|131 131 (CL-DEFINE-KEYSYM 65438 "KP_Insert")-86|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65438. "KP_Insert" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|132 132 (CL-DEFINE-KEYSYM 65439 "KP_Delete")-87|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65439. "KP_Delete" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|133 133 (CL-DEFINE-KEYSYM 65469 "KP_Equal")-88|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65469. "KP_Equal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|133 134 (CL-DEFINE-KEYSYM 65450 "KP_Multiply")-89|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65450. "KP_Multiply" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|135 135 (CL-DEFINE-KEYSYM 65451 "KP_Add")-90|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65451. "KP_Add" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|136 136 (CL-DEFINE-KEYSYM 65452 "KP_Separator")-91|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65452. "KP_Separator" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|136 137 (CL-DEFINE-KEYSYM 65453 "KP_Subtract")-92|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65453. "KP_Subtract" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|138 138 (CL-DEFINE-KEYSYM 65454 "KP_Decimal")-93|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65454. "KP_Decimal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|139 139 (CL-DEFINE-KEYSYM 65455 "KP_Divide")-94|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65455. "KP_Divide" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|140 140 (CL-DEFINE-KEYSYM 65456 "KP_0")-95|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65456. "KP_0" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|141 141 (CL-DEFINE-KEYSYM 65457 "KP_1")-96|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65457. "KP_1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|142 142 (CL-DEFINE-KEYSYM 65458 "KP_2")-97|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65458. "KP_2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|143 143 (CL-DEFINE-KEYSYM 65459 "KP_3")-98|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65459. "KP_3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|144 144 (CL-DEFINE-KEYSYM 65460 "KP_4")-99|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65460. "KP_4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|145 145 (CL-DEFINE-KEYSYM 65461 "KP_5")-100|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65461. "KP_5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|146 146 (CL-DEFINE-KEYSYM 65462 "KP_6")-101|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65462. "KP_6" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|147 147 (CL-DEFINE-KEYSYM 65463 "KP_7")-102|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65463. "KP_7" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|148 148 (CL-DEFINE-KEYSYM 65464 "KP_8")-103|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65464. "KP_8" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|149 149 (CL-DEFINE-KEYSYM 65465 "KP_9")-104|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65465. "KP_9" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|150 150 (CL-DEFINE-KEYSYM 65470 "F1")-105|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65470. "F1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|151 151 (CL-DEFINE-KEYSYM 65471 "F2")-106|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65471. "F2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|152 152 (CL-DEFINE-KEYSYM 65472 "F3")-107|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65472. "F3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|153 153 (CL-DEFINE-KEYSYM 65473 "F4")-108|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65473. "F4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|154 154 (CL-DEFINE-KEYSYM 65474 "F5")-109|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65474. "F5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|155 155 (CL-DEFINE-KEYSYM 65475 "F6")-110|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65475. "F6" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|156 156 (CL-DEFINE-KEYSYM 65476 "F7")-111|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65476. "F7" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|157 157 (CL-DEFINE-KEYSYM 65477 "F8")-112|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65477. "F8" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|158 158 (CL-DEFINE-KEYSYM 65478 "F9")-113|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65478. "F9" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|159 159 (CL-DEFINE-KEYSYM 65479 "F10")-114|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65479. "F10" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|160 160 (CL-DEFINE-KEYSYM 65480 "F11")-115|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65480. "F11" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|161 161 (CL-DEFINE-KEYSYM 65480 "L1")-116|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65480. "L1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|162 162 (CL-DEFINE-KEYSYM 65481 "F12")-117|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65481. "F12" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|163 163 (CL-DEFINE-KEYSYM 65481 "L2")-118|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65481. "L2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|164 164 (CL-DEFINE-KEYSYM 65482 "F13")-119|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65482. "F13" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|165 165 (CL-DEFINE-KEYSYM 65482 "L3")-120|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65482. "L3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|166 166 (CL-DEFINE-KEYSYM 65483 "F14")-121|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65483. "F14" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|167 167 (CL-DEFINE-KEYSYM 65483 "L4")-122|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65483. "L4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|168 168 (CL-DEFINE-KEYSYM 65484 "F15")-123|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65484. "F15" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|169 169 (CL-DEFINE-KEYSYM 65484 "L5")-124|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65484. "L5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|170 170 (CL-DEFINE-KEYSYM 65485 "F16")-125|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65485. "F16" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|171 171 (CL-DEFINE-KEYSYM 65485 "L6")-126|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65485. "L6" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|172 172 (CL-DEFINE-KEYSYM 65486 "F17")-127|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65486. "F17" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|173 173 (CL-DEFINE-KEYSYM 65486 "L7")-128|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65486. "L7" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|174 174 (CL-DEFINE-KEYSYM 65487 "F18")-129|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65487. "F18" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|175 175 (CL-DEFINE-KEYSYM 65487 "L8")-130|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65487. "L8" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|176 176 (CL-DEFINE-KEYSYM 65488 "F19")-131|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65488. "F19" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|177 177 (CL-DEFINE-KEYSYM 65488 "L9")-132|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65488. "L9" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|178 178 (CL-DEFINE-KEYSYM 65489 "F20")-133|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65489. "F20" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|179 179 (CL-DEFINE-KEYSYM 65489 "L10")-134|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65489. "L10" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|180 180 (CL-DEFINE-KEYSYM 65490 "F21")-135|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65490. "F21" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|181 181 (CL-DEFINE-KEYSYM 65490 "R1")-136|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65490. "R1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|182 182 (CL-DEFINE-KEYSYM 65491 "F22")-137|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65491. "F22" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|183 183 (CL-DEFINE-KEYSYM 65491 "R2")-138|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65491. "R2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|184 184 (CL-DEFINE-KEYSYM 65492 "F23")-139|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65492. "F23" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|185 185 (CL-DEFINE-KEYSYM 65492 "R3")-140|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65492. "R3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|186 186 (CL-DEFINE-KEYSYM 65493 "F24")-141|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65493. "F24" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|187 187 (CL-DEFINE-KEYSYM 65493 "R4")-142|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65493. "R4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|188 188 (CL-DEFINE-KEYSYM 65494 "F25")-143|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65494. "F25" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|189 189 (CL-DEFINE-KEYSYM 65494 "R5")-144|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65494. "R5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|190 190 (CL-DEFINE-KEYSYM 65495 "F26")-145|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65495. "F26" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|191 191 (CL-DEFINE-KEYSYM 65495 "R6")-146|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65495. "R6" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|192 192 (CL-DEFINE-KEYSYM 65496 "F27")-147|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65496. "F27" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|193 193 (CL-DEFINE-KEYSYM 65496 "R7")-148|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65496. "R7" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|194 194 (CL-DEFINE-KEYSYM 65497 "F28")-149|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65497. "F28" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|195 195 (CL-DEFINE-KEYSYM 65497 "R8")-150|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65497. "R8" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|196 196 (CL-DEFINE-KEYSYM 65498 "F29")-151|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65498. "F29" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|197 197 (CL-DEFINE-KEYSYM 65498 "R9")-152|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65498. "R9" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|198 198 (CL-DEFINE-KEYSYM 65499 "F30")-153|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65499. "F30" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|199 199 (CL-DEFINE-KEYSYM 65499 "R10")-154|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65499. "R10" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|200 200 (CL-DEFINE-KEYSYM 65500 "F31")-155|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65500. "F31" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|201 201 (CL-DEFINE-KEYSYM 65500 "R11")-156|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65500. "R11" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|202 202 (CL-DEFINE-KEYSYM 65501 "F32")-157|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65501. "F32" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|203 203 (CL-DEFINE-KEYSYM 65501 "R12")-158|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65501. "R12" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|204 204 (CL-DEFINE-KEYSYM 65502 "F33")-159|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65502. "F33" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|205 205 (CL-DEFINE-KEYSYM 65502 "R13")-160|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65502. "R13" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|206 206 (CL-DEFINE-KEYSYM 65503 "F34")-161|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65503. "F34" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|207 207 (CL-DEFINE-KEYSYM 65503 "R14")-162|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65503. "R14" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|208 208 (CL-DEFINE-KEYSYM 65504 "F35")-163|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65504. "F35" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|209 209 (CL-DEFINE-KEYSYM 65504 "R15")-164|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65504. "R15" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|210 210 (CL-DEFINE-KEYSYM 65505 "Shift_L")-165|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65505. "Shift_L" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|210 211 (CL-DEFINE-KEYSYM 65506 "Shift_R")-166|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65506. "Shift_R" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|211 212 (CL-DEFINE-KEYSYM 65507 "Control_L")-167|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65507. "Control_L" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|212 213 (CL-DEFINE-KEYSYM 65508 "Control_R")-168|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65508. "Control_R" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|213 214 (CL-DEFINE-KEYSYM 65509 "Caps_Lock")-169|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65509. "Caps_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|214 215 (CL-DEFINE-KEYSYM 65510 "Shift_Lock")-170|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65510. "Shift_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|215 216 (CL-DEFINE-KEYSYM 65511 "Meta_L")-171|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65511. "Meta_L" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|216 217 (CL-DEFINE-KEYSYM 65512 "Meta_R")-172|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65512. "Meta_R" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|217 218 (CL-DEFINE-KEYSYM 65513 "Alt_L")-173|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65513. "Alt_L" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|218 219 (CL-DEFINE-KEYSYM 65514 "Alt_R")-174|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65514. "Alt_R" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|219 220 (CL-DEFINE-KEYSYM 65515 "Super_L")-175|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65515. "Super_L" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|220 221 (CL-DEFINE-KEYSYM 65516 "Super_R")-176|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65516. "Super_R" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|221 222 (CL-DEFINE-KEYSYM 65517 "Hyper_L")-177|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65517. "Hyper_L" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|222 223 (CL-DEFINE-KEYSYM 65518 "Hyper_R")-178|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65518. "Hyper_R" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|223 224 (CL-DEFINE-KEYSYM 65025 "ISO_Lock")-179|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65025. "ISO_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|225 225 (CL-DEFINE-KEYSYM 65026 "ISO_Level2_Latch")-180|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65026. "ISO_Level2_Latch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|226 226 (CL-DEFINE-KEYSYM 65027 "ISO_Level3_Shift")-181|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65027. "ISO_Level3_Shift" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|227 227 (CL-DEFINE-KEYSYM 65028 "ISO_Level3_Latch")-182|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65028. "ISO_Level3_Latch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|228 228 (CL-DEFINE-KEYSYM 65029 "ISO_Level3_Lock")-183|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65029. "ISO_Level3_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|229 229 (CL-DEFINE-KEYSYM 65406 "ISO_Group_Shift")-184|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65406. "ISO_Group_Shift" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|229 230 (CL-DEFINE-KEYSYM 65030 "ISO_Group_Latch")-185|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65030. "ISO_Group_Latch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|231 231 (CL-DEFINE-KEYSYM 65031 "ISO_Group_Lock")-186|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65031. "ISO_Group_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|232 232 (CL-DEFINE-KEYSYM 65032 "ISO_Next_Group")-187|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65032. "ISO_Next_Group" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|233 233 (CL-DEFINE-KEYSYM 65033 "ISO_Next_Group_Lock")-188|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65033. "ISO_Next_Group_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|234 234 (CL-DEFINE-KEYSYM 65034 "ISO_Prev_Group")-189|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65034. "ISO_Prev_Group" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|235 235 (CL-DEFINE-KEYSYM 65035 "ISO_Prev_Group_Lock")-190|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65035. "ISO_Prev_Group_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|236 236 (CL-DEFINE-KEYSYM 65036 "ISO_First_Group")-191|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65036. "ISO_First_Group" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|237 237 (CL-DEFINE-KEYSYM 65037 "ISO_First_Group_Lock")-192|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65037. "ISO_First_Group_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|238 238 (CL-DEFINE-KEYSYM 65038 "ISO_Last_Group")-193|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65038. "ISO_Last_Group" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|239 239 (CL-DEFINE-KEYSYM 65039 "ISO_Last_Group_Lock")-194|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65039. "ISO_Last_Group_Lock" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|240 240 (CL-DEFINE-KEYSYM 65056 "ISO_Left_Tab")-195|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65056. "ISO_Left_Tab" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|241 241 (CL-DEFINE-KEYSYM 65057 "ISO_Move_Line_Up")-196|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65057. "ISO_Move_Line_Up" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|242 242 (CL-DEFINE-KEYSYM 65058 "ISO_Move_Line_Down")-197|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65058. "ISO_Move_Line_Down" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|243 243 (CL-DEFINE-KEYSYM 65059 "ISO_Partial_Line_Up")-198|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65059. "ISO_Partial_Line_Up" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|244 244 (CL-DEFINE-KEYSYM 65060 "ISO_Partial_Line_Down")-199|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65060. "ISO_Partial_Line_Down" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|245 245 (CL-DEFINE-KEYSYM 65061 "ISO_Partial_Space_Left")-200|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65061. "ISO_Partial_Space_Left" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|246 246 (CL-DEFINE-KEYSYM 65062 "ISO_Partial_Space_Right")-201|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65062. "ISO_Partial_Space_Right" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|247 247 (CL-DEFINE-KEYSYM 65063 "ISO_Set_Margin_Left")-202|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65063. "ISO_Set_Margin_Left" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|248 248 (CL-DEFINE-KEYSYM 65064 "ISO_Set_Margin_Right")-203|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65064. "ISO_Set_Margin_Right" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|249 249 (CL-DEFINE-KEYSYM 65065 "ISO_Release_Margin_Left")-204|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65065. "ISO_Release_Margin_Left" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|250 250 (CL-DEFINE-KEYSYM 65066 "ISO_Release_Margin_Right")-205|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65066. "ISO_Release_Margin_Right" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|251 251 (CL-DEFINE-KEYSYM 65067 "ISO_Release_Both_Margins")-206|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65067. "ISO_Release_Both_Margins" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|252 252 (CL-DEFINE-KEYSYM 65068 "ISO_Fast_Cursor_Left")-207|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65068. "ISO_Fast_Cursor_Left" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|253 253 (CL-DEFINE-KEYSYM 65069 "ISO_Fast_Cursor_Right")-208|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65069. "ISO_Fast_Cursor_Right" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|254 254 (CL-DEFINE-KEYSYM 65070 "ISO_Fast_Cursor_Up")-209|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65070. "ISO_Fast_Cursor_Up" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|255 255 (CL-DEFINE-KEYSYM 65071 "ISO_Fast_Cursor_Down")-210|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65071. "ISO_Fast_Cursor_Down" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|256 256 (CL-DEFINE-KEYSYM 65072 "ISO_Continuous_Underline")-211|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65072. "ISO_Continuous_Underline" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|257 257 (CL-DEFINE-KEYSYM 65073 "ISO_Discontinuous_Underline")-212|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65073. "ISO_Discontinuous_Underline" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|258 258 (CL-DEFINE-KEYSYM 65074 "ISO_Emphasize")-213|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65074. "ISO_Emphasize" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|259 259 (CL-DEFINE-KEYSYM 65075 "ISO_Center_Object")-214|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65075. "ISO_Center_Object" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|260 260 (CL-DEFINE-KEYSYM 65076 "ISO_Enter")-215|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65076. "ISO_Enter" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|261 261 (CL-DEFINE-KEYSYM 65104 "dead_grave")-216|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65104. "dead_grave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|262 262 (CL-DEFINE-KEYSYM 65105 "dead_acute")-217|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65105. "dead_acute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|263 263 (CL-DEFINE-KEYSYM 65106 "dead_circumflex")-218|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65106. "dead_circumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|264 264 (CL-DEFINE-KEYSYM 65107 "dead_tilde")-219|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65107. "dead_tilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|265 265 (CL-DEFINE-KEYSYM 65108 "dead_macron")-220|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65108. "dead_macron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|266 266 (CL-DEFINE-KEYSYM 65109 "dead_breve")-221|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65109. "dead_breve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|267 267 (CL-DEFINE-KEYSYM 65110 "dead_abovedot")-222|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65110. "dead_abovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|268 268 (CL-DEFINE-KEYSYM 65111 "dead_diaeresis")-223|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65111. "dead_diaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|269 269 (CL-DEFINE-KEYSYM 65112 "dead_abovering")-224|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65112. "dead_abovering" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|270 270 (CL-DEFINE-KEYSYM 65113 "dead_doubleacute")-225|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65113. "dead_doubleacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|271 271 (CL-DEFINE-KEYSYM 65114 "dead_caron")-226|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65114. "dead_caron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|272 272 (CL-DEFINE-KEYSYM 65115 "dead_cedilla")-227|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65115. "dead_cedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|273 273 (CL-DEFINE-KEYSYM 65116 "dead_ogonek")-228|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65116. "dead_ogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|274 274 (CL-DEFINE-KEYSYM 65117 "dead_iota")-229|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65117. "dead_iota" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|275 275 (CL-DEFINE-KEYSYM 65118 "dead_voiced_sound")-230|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65118. "dead_voiced_sound" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|276 276 (CL-DEFINE-KEYSYM 65119 "dead_semivoiced_sound")-231|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65119. "dead_semivoiced_sound" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|277 277 (CL-DEFINE-KEYSYM 65120 "dead_belowdot")-232|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65120. "dead_belowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|278 278 (CL-DEFINE-KEYSYM 65121 "dead_hook")-233|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65121. "dead_hook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|279 279 (CL-DEFINE-KEYSYM 65122 "dead_horn")-234|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65122. "dead_horn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|280 280 (CL-DEFINE-KEYSYM 65232 "First_Virtual_Screen")-235|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65232. "First_Virtual_Screen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|281 281 (CL-DEFINE-KEYSYM 65233 "Prev_Virtual_Screen")-236|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65233. "Prev_Virtual_Screen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|282 282 (CL-DEFINE-KEYSYM 65234 "Next_Virtual_Screen")-237|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65234. "Next_Virtual_Screen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|283 283 (CL-DEFINE-KEYSYM 65236 "Last_Virtual_Screen")-238|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65236. "Last_Virtual_Screen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|284 284 (CL-DEFINE-KEYSYM 65237 "Terminate_Server")-239|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65237. "Terminate_Server" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|285 285 (CL-DEFINE-KEYSYM 65136 "AccessX_Enable")-240|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65136. "AccessX_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|286 286 (CL-DEFINE-KEYSYM 65137 "AccessX_Feedback_Enable")-241|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65137. "AccessX_Feedback_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|287 287 (CL-DEFINE-KEYSYM 65138 "RepeatKeys_Enable")-242|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65138. "RepeatKeys_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|288 288 (CL-DEFINE-KEYSYM 65139 "SlowKeys_Enable")-243|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65139. "SlowKeys_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|289 289 (CL-DEFINE-KEYSYM 65140 "BounceKeys_Enable")-244|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65140. "BounceKeys_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|290 290 (CL-DEFINE-KEYSYM 65141 "StickyKeys_Enable")-245|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65141. "StickyKeys_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|291 291 (CL-DEFINE-KEYSYM 65142 "MouseKeys_Enable")-246|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65142. "MouseKeys_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|292 292 (CL-DEFINE-KEYSYM 65143 "MouseKeys_Accel_Enable")-247|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65143. "MouseKeys_Accel_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|293 293 (CL-DEFINE-KEYSYM 65144 "Overlay1_Enable")-248|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65144. "Overlay1_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|294 294 (CL-DEFINE-KEYSYM 65145 "Overlay2_Enable")-249|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65145. "Overlay2_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|295 295 (CL-DEFINE-KEYSYM 65146 "AudibleBell_Enable")-250|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65146. "AudibleBell_Enable" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|296 296 (CL-DEFINE-KEYSYM 65248 "Pointer_Left")-251|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65248. "Pointer_Left" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|297 297 (CL-DEFINE-KEYSYM 65249 "Pointer_Right")-252|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65249. "Pointer_Right" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|298 298 (CL-DEFINE-KEYSYM 65250 "Pointer_Up")-253|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65250. "Pointer_Up" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|299 299 (CL-DEFINE-KEYSYM 65251 "Pointer_Down")-254|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65251. "Pointer_Down" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|300 300 (CL-DEFINE-KEYSYM 65252 "Pointer_UpLeft")-255|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65252. "Pointer_UpLeft" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|301 301 (CL-DEFINE-KEYSYM 65253 "Pointer_UpRight")-256|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65253. "Pointer_UpRight" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|302 302 (CL-DEFINE-KEYSYM 65254 "Pointer_DownLeft")-257|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65254. "Pointer_DownLeft" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|303 303 (CL-DEFINE-KEYSYM 65255 "Pointer_DownRight")-258|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65255. "Pointer_DownRight" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|304 304 (CL-DEFINE-KEYSYM 65256 "Pointer_Button_Dflt")-259|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65256. "Pointer_Button_Dflt" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|305 305 (CL-DEFINE-KEYSYM 65257 "Pointer_Button1")-260|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65257. "Pointer_Button1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|306 306 (CL-DEFINE-KEYSYM 65258 "Pointer_Button2")-261|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65258. "Pointer_Button2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|307 307 (CL-DEFINE-KEYSYM 65259 "Pointer_Button3")-262|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65259. "Pointer_Button3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|308 308 (CL-DEFINE-KEYSYM 65260 "Pointer_Button4")-263|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65260. "Pointer_Button4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|309 309 (CL-DEFINE-KEYSYM 65261 "Pointer_Button5")-264|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65261. "Pointer_Button5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|310 310 (CL-DEFINE-KEYSYM 65262 "Pointer_DblClick_Dflt")-265|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65262. "Pointer_DblClick_Dflt" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|311 311 (CL-DEFINE-KEYSYM 65263 "Pointer_DblClick1")-266|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65263. "Pointer_DblClick1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|312 312 (CL-DEFINE-KEYSYM 65264 "Pointer_DblClick2")-267|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65264. "Pointer_DblClick2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|313 313 (CL-DEFINE-KEYSYM 65265 "Pointer_DblClick3")-268|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65265. "Pointer_DblClick3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|314 314 (CL-DEFINE-KEYSYM 65266 "Pointer_DblClick4")-269|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65266. "Pointer_DblClick4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|315 315 (CL-DEFINE-KEYSYM 65267 "Pointer_DblClick5")-270|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65267. "Pointer_DblClick5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|316 316 (CL-DEFINE-KEYSYM 65268 "Pointer_Drag_Dflt")-271|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65268. "Pointer_Drag_Dflt" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|317 317 (CL-DEFINE-KEYSYM 65269 "Pointer_Drag1")-272|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65269. "Pointer_Drag1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|318 318 (CL-DEFINE-KEYSYM 65270 "Pointer_Drag2")-273|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65270. "Pointer_Drag2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|319 319 (CL-DEFINE-KEYSYM 65271 "Pointer_Drag3")-274|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65271. "Pointer_Drag3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|320 320 (CL-DEFINE-KEYSYM 65272 "Pointer_Drag4")-275|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65272. "Pointer_Drag4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|321 321 (CL-DEFINE-KEYSYM 65277 "Pointer_Drag5")-276|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65277. "Pointer_Drag5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|322 322 (CL-DEFINE-KEYSYM 65273 "Pointer_EnableKeys")-277|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65273. "Pointer_EnableKeys" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|323 323 (CL-DEFINE-KEYSYM 65274 "Pointer_Accelerate")-278|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65274. "Pointer_Accelerate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|324 324 (CL-DEFINE-KEYSYM 65275 "Pointer_DfltBtnNext")-279|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65275. "Pointer_DfltBtnNext" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|325 325 (CL-DEFINE-KEYSYM 65276 "Pointer_DfltBtnPrev")-280|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65276. "Pointer_DfltBtnPrev" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|326 326 (CL-DEFINE-KEYSYM 64769 "3270_Duplicate")-281|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64769. "3270_Duplicate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|327 327 (CL-DEFINE-KEYSYM 64770 "3270_FieldMark")-282|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64770. "3270_FieldMark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|328 328 (CL-DEFINE-KEYSYM 64771 "3270_Right2")-283|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64771. "3270_Right2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|329 329 (CL-DEFINE-KEYSYM 64772 "3270_Left2")-284|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64772. "3270_Left2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|330 330 (CL-DEFINE-KEYSYM 64773 "3270_BackTab")-285|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64773. "3270_BackTab" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|331 331 (CL-DEFINE-KEYSYM 64774 "3270_EraseEOF")-286|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64774. "3270_EraseEOF" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|332 332 (CL-DEFINE-KEYSYM 64775 "3270_EraseInput")-287|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64775. "3270_EraseInput" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|333 333 (CL-DEFINE-KEYSYM 64776 "3270_Reset")-288|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64776. "3270_Reset" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|334 334 (CL-DEFINE-KEYSYM 64777 "3270_Quit")-289|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64777. "3270_Quit" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|335 335 (CL-DEFINE-KEYSYM 64778 "3270_PA1")-290|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64778. "3270_PA1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|336 336 (CL-DEFINE-KEYSYM 64779 "3270_PA2")-291|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64779. "3270_PA2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|337 337 (CL-DEFINE-KEYSYM 64780 "3270_PA3")-292|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64780. "3270_PA3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|338 338 (CL-DEFINE-KEYSYM 64781 "3270_Test")-293|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64781. "3270_Test" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|339 339 (CL-DEFINE-KEYSYM 64782 "3270_Attn")-294|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64782. "3270_Attn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|340 340 (CL-DEFINE-KEYSYM 64783 "3270_CursorBlink")-295|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64783. "3270_CursorBlink" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|341 341 (CL-DEFINE-KEYSYM 64784 "3270_AltCursor")-296|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64784. "3270_AltCursor" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|342 342 (CL-DEFINE-KEYSYM 64785 "3270_KeyClick")-297|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64785. "3270_KeyClick" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|343 343 (CL-DEFINE-KEYSYM 64786 "3270_Jump")-298|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64786. "3270_Jump" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|344 344 (CL-DEFINE-KEYSYM 64787 "3270_Ident")-299|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64787. "3270_Ident" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|345 345 (CL-DEFINE-KEYSYM 64788 "3270_Rule")-300|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64788. "3270_Rule" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|346 346 (CL-DEFINE-KEYSYM 64789 "3270_Copy")-301|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64789. "3270_Copy" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|347 347 (CL-DEFINE-KEYSYM 64790 "3270_Play")-302|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64790. "3270_Play" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|348 348 (CL-DEFINE-KEYSYM 64791 "3270_Setup")-303|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64791. "3270_Setup" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|349 349 (CL-DEFINE-KEYSYM 64792 "3270_Record")-304|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64792. "3270_Record" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|350 350 (CL-DEFINE-KEYSYM 64793 "3270_ChangeScreen")-305|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64793. "3270_ChangeScreen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|351 351 (CL-DEFINE-KEYSYM 64794 "3270_DeleteWord")-306|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64794. "3270_DeleteWord" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|352 352 (CL-DEFINE-KEYSYM 64795 "3270_ExSelect")-307|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64795. "3270_ExSelect" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|353 353 (CL-DEFINE-KEYSYM 64796 "3270_CursorSelect")-308|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64796. "3270_CursorSelect" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|354 354 (CL-DEFINE-KEYSYM 64797 "3270_PrintScreen")-309|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64797. "3270_PrintScreen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|355 355 (CL-DEFINE-KEYSYM 64798 "3270_Enter")-310|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64798. "3270_Enter" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|356 356 (CL-DEFINE-KEYSYM 32 "space")-311|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (32. "space" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|356 357 (CL-DEFINE-KEYSYM 33 "exclam")-312|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (33. "exclam" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|357 358 (CL-DEFINE-KEYSYM 34 "quotedbl")-313|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (34. "quotedbl" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|358 359 (CL-DEFINE-KEYSYM 35 "numbersign")-314|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (35. "numbersign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|359 360 (CL-DEFINE-KEYSYM 36 "dollar")-315|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (36. "dollar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|360 361 (CL-DEFINE-KEYSYM 37 "percent")-316|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (37. "percent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|361 362 (CL-DEFINE-KEYSYM 38 "ampersand")-317|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (38. "ampersand" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|362 363 (CL-DEFINE-KEYSYM 39 "apostrophe")-318|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (39. "apostrophe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|363 364 (CL-DEFINE-KEYSYM 39 "quoteright")-319|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (39. "quoteright" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|364 365 (CL-DEFINE-KEYSYM 40 "parenleft")-320|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (40. "parenleft" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|365 366 (CL-DEFINE-KEYSYM 41 "parenright")-321|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (41. "parenright" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|366 367 (CL-DEFINE-KEYSYM 42 "asterisk")-322|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (42. "asterisk" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|367 368 (CL-DEFINE-KEYSYM 43 "plus")-323|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (43. "plus" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|368 369 (CL-DEFINE-KEYSYM 44 "comma")-324|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (44. "comma" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|369 370 (CL-DEFINE-KEYSYM 45 "minus")-325|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (45. "minus" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|370 371 (CL-DEFINE-KEYSYM 46 "period")-326|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (46. "period" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|371 372 (CL-DEFINE-KEYSYM 47 "slash")-327|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (47. "slash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|372 373 (CL-DEFINE-KEYSYM 48 "0")-328|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (48. "0" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|373 374 (CL-DEFINE-KEYSYM 49 "1")-329|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (49. "1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|374 375 (CL-DEFINE-KEYSYM 50 "2")-330|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (50. "2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|375 376 (CL-DEFINE-KEYSYM 51 "3")-331|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (51. "3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|376 377 (CL-DEFINE-KEYSYM 52 "4")-332|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (52. "4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|377 378 (CL-DEFINE-KEYSYM 53 "5")-333|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (53. "5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|378 379 (CL-DEFINE-KEYSYM 54 "6")-334|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (54. "6" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|379 380 (CL-DEFINE-KEYSYM 55 "7")-335|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (55. "7" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|380 381 (CL-DEFINE-KEYSYM 56 "8")-336|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (56. "8" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|381 382 (CL-DEFINE-KEYSYM 57 "9")-337|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (57. "9" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|382 383 (CL-DEFINE-KEYSYM 58 "colon")-338|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (58. "colon" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|383 384 (CL-DEFINE-KEYSYM 59 "semicolon")-339|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (59. "semicolon" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|384 385 (CL-DEFINE-KEYSYM 60 "less")-340|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (60. "less" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|385 386 (CL-DEFINE-KEYSYM 61 "equal")-341|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (61. "equal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|386 387 (CL-DEFINE-KEYSYM 62 "greater")-342|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (62. "greater" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|387 388 (CL-DEFINE-KEYSYM 63 "question")-343|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (63. "question" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|388 389 (CL-DEFINE-KEYSYM 64 "at")-344|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (64. "at" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|389 390 (CL-DEFINE-KEYSYM 65 "A")-345|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65. "A" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|390 391 (CL-DEFINE-KEYSYM 66 "B")-346|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (66. "B" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|391 392 (CL-DEFINE-KEYSYM 67 "C")-347|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (67. "C" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|392 393 (CL-DEFINE-KEYSYM 68 "D")-348|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (68. "D" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|393 394 (CL-DEFINE-KEYSYM 69 "E")-349|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (69. "E" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|394 395 (CL-DEFINE-KEYSYM 70 "F")-350|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (70. "F" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|395 396 (CL-DEFINE-KEYSYM 71 "G")-351|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (71. "G" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|396 397 (CL-DEFINE-KEYSYM 72 "H")-352|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (72. "H" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|397 398 (CL-DEFINE-KEYSYM 73 "I")-353|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (73. "I" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|398 399 (CL-DEFINE-KEYSYM 74 "J")-354|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (74. "J" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|399 400 (CL-DEFINE-KEYSYM 75 "K")-355|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (75. "K" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|400 401 (CL-DEFINE-KEYSYM 76 "L")-356|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (76. "L" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|401 402 (CL-DEFINE-KEYSYM 77 "M")-357|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (77. "M" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|402 403 (CL-DEFINE-KEYSYM 78 "N")-358|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (78. "N" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|403 404 (CL-DEFINE-KEYSYM 79 "O")-359|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (79. "O" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|404 405 (CL-DEFINE-KEYSYM 80 "P")-360|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (80. "P" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|405 406 (CL-DEFINE-KEYSYM 81 "Q")-361|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (81. "Q" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|406 407 (CL-DEFINE-KEYSYM 82 "R")-362|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (82. "R" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|407 408 (CL-DEFINE-KEYSYM 83 "S")-363|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (83. "S" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|408 409 (CL-DEFINE-KEYSYM 84 "T")-364|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (84. "T" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|409 410 (CL-DEFINE-KEYSYM 85 "U")-365|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (85. "U" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|410 411 (CL-DEFINE-KEYSYM 86 "V")-366|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (86. "V" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|411 412 (CL-DEFINE-KEYSYM 87 "W")-367|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (87. "W" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|412 413 (CL-DEFINE-KEYSYM 88 "X")-368|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (88. "X" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|413 414 (CL-DEFINE-KEYSYM 89 "Y")-369|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (89. "Y" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|414 415 (CL-DEFINE-KEYSYM 90 "Z")-370|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (90. "Z" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|415 416 (CL-DEFINE-KEYSYM 91 "bracketleft")-371|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (91. "bracketleft" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|416 417 (CL-DEFINE-KEYSYM 92 "backslash")-372|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (92. "backslash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|417 418 (CL-DEFINE-KEYSYM 93 "bracketright")-373|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (93. "bracketright" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|418 419 (CL-DEFINE-KEYSYM 94 "asciicircum")-374|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (94. "asciicircum" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|419 420 (CL-DEFINE-KEYSYM 95 "underscore")-375|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (95. "underscore" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|420 421 (CL-DEFINE-KEYSYM 96 "grave")-376|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (96. "grave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|421 422 (CL-DEFINE-KEYSYM 96 "quoteleft")-377|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (96. "quoteleft" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|422 423 (CL-DEFINE-KEYSYM 97 "a")-378|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (97. "a" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|423 424 (CL-DEFINE-KEYSYM 98 "b")-379|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (98. "b" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|424 425 (CL-DEFINE-KEYSYM 99 "c")-380|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (99. "c" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|425 426 (CL-DEFINE-KEYSYM 100 "d")-381|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (100. "d" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|426 427 (CL-DEFINE-KEYSYM 101 "e")-382|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (101. "e" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|427 428 (CL-DEFINE-KEYSYM 102 "f")-383|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (102. "f" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|428 429 (CL-DEFINE-KEYSYM 103 "g")-384|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (103. "g" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|429 430 (CL-DEFINE-KEYSYM 104 "h")-385|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (104. "h" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|430 431 (CL-DEFINE-KEYSYM 105 "i")-386|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (105. "i" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|431 432 (CL-DEFINE-KEYSYM 106 "j")-387|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (106. "j" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|432 433 (CL-DEFINE-KEYSYM 107 "k")-388|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (107. "k" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|433 434 (CL-DEFINE-KEYSYM 108 "l")-389|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (108. "l" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|434 435 (CL-DEFINE-KEYSYM 109 "m")-390|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (109. "m" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|435 436 (CL-DEFINE-KEYSYM 110 "n")-391|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (110. "n" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|436 437 (CL-DEFINE-KEYSYM 111 "o")-392|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (111. "o" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|437 438 (CL-DEFINE-KEYSYM 112 "p")-393|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (112. "p" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|438 439 (CL-DEFINE-KEYSYM 113 "q")-394|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (113. "q" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|439 440 (CL-DEFINE-KEYSYM 114 "r")-395|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (114. "r" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|440 441 (CL-DEFINE-KEYSYM 115 "s")-396|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (115. "s" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|441 442 (CL-DEFINE-KEYSYM 116 "t")-397|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (116. "t" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|442 443 (CL-DEFINE-KEYSYM 117 "u")-398|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (117. "u" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|443 444 (CL-DEFINE-KEYSYM 118 "v")-399|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (118. "v" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|444 445 (CL-DEFINE-KEYSYM 119 "w")-400|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (119. "w" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|445 446 (CL-DEFINE-KEYSYM 120 "x")-401|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (120. "x" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|446 447 (CL-DEFINE-KEYSYM 121 "y")-402|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (121. "y" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|447 448 (CL-DEFINE-KEYSYM 122 "z")-403|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (122. "z" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|448 449 (CL-DEFINE-KEYSYM 123 "braceleft")-404|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (123. "braceleft" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|449 450 (CL-DEFINE-KEYSYM 124 "bar")-405|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (124. "bar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|450 451 (CL-DEFINE-KEYSYM 125 "braceright")-406|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (125. "braceright" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|451 452 (CL-DEFINE-KEYSYM 126 "asciitilde")-407|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (126. "asciitilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|452 453 (CL-DEFINE-KEYSYM 160 "nobreakspace")-408|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (160. "nobreakspace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|453 454 (CL-DEFINE-KEYSYM 161 "exclamdown")-409|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (161. "exclamdown" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|454 455 (CL-DEFINE-KEYSYM 162 "cent")-410|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (162. "cent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|455 456 (CL-DEFINE-KEYSYM 163 "sterling")-411|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (163. "sterling" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|456 457 (CL-DEFINE-KEYSYM 164 "currency")-412|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (164. "currency" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|457 458 (CL-DEFINE-KEYSYM 165 "yen")-413|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (165. "yen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|458 459 (CL-DEFINE-KEYSYM 166 "brokenbar")-414|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (166. "brokenbar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|459 460 (CL-DEFINE-KEYSYM 167 "section")-415|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (167. "section" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|460 461 (CL-DEFINE-KEYSYM 168 "diaeresis")-416|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (168. "diaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|461 462 (CL-DEFINE-KEYSYM 169 "copyright")-417|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (169. "copyright" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|462 463 (CL-DEFINE-KEYSYM 170 "ordfeminine")-418|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (170. "ordfeminine" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|463 464 (CL-DEFINE-KEYSYM 171 "guillemotleft")-419|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (171. "guillemotleft" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|464 465 (CL-DEFINE-KEYSYM 172 "notsign")-420|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (172. "notsign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|465 466 (CL-DEFINE-KEYSYM 173 "hyphen")-421|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (173. "hyphen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|466 467 (CL-DEFINE-KEYSYM 174 "registered")-422|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (174. "registered" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|467 468 (CL-DEFINE-KEYSYM 175 "macron")-423|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (175. "macron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|468 469 (CL-DEFINE-KEYSYM 176 "degree")-424|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (176. "degree" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|469 470 (CL-DEFINE-KEYSYM 177 "plusminus")-425|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (177. "plusminus" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|470 471 (CL-DEFINE-KEYSYM 178 "twosuperior")-426|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (178. "twosuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|471 472 (CL-DEFINE-KEYSYM 179 "threesuperior")-427|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (179. "threesuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|472 473 (CL-DEFINE-KEYSYM 180 "acute")-428|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (180. "acute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|473 474 (CL-DEFINE-KEYSYM 181 "mu")-429|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (181. "mu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|474 475 (CL-DEFINE-KEYSYM 182 "paragraph")-430|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (182. "paragraph" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|475 476 (CL-DEFINE-KEYSYM 183 "periodcentered")-431|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (183. "periodcentered" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|476 477 (CL-DEFINE-KEYSYM 184 "cedilla")-432|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (184. "cedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|477 478 (CL-DEFINE-KEYSYM 185 "onesuperior")-433|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (185. "onesuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|478 479 (CL-DEFINE-KEYSYM 186 "masculine")-434|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (186. "masculine" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|479 480 (CL-DEFINE-KEYSYM 187 "guillemotright")-435|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (187. "guillemotright" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|480 481 (CL-DEFINE-KEYSYM 188 "onequarter")-436|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (188. "onequarter" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|481 482 (CL-DEFINE-KEYSYM 189 "onehalf")-437|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (189. "onehalf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|482 483 (CL-DEFINE-KEYSYM 190 "threequarters")-438|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (190. "threequarters" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|483 484 (CL-DEFINE-KEYSYM 191 "questiondown")-439|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (191. "questiondown" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|484 485 (CL-DEFINE-KEYSYM 192 "Agrave")-440|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (192. "Agrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|485 486 (CL-DEFINE-KEYSYM 193 "Aacute")-441|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (193. "Aacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|486 487 (CL-DEFINE-KEYSYM 194 "Acircumflex")-442|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (194. "Acircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|487 488 (CL-DEFINE-KEYSYM 195 "Atilde")-443|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (195. "Atilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|488 489 (CL-DEFINE-KEYSYM 196 "Adiaeresis")-444|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (196. "Adiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|489 490 (CL-DEFINE-KEYSYM 197 "Aring")-445|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (197. "Aring" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|490 491 (CL-DEFINE-KEYSYM 198 "AE")-446|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (198. "AE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|491 492 (CL-DEFINE-KEYSYM 199 "Ccedilla")-447|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (199. "Ccedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|492 493 (CL-DEFINE-KEYSYM 200 "Egrave")-448|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (200. "Egrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|493 494 (CL-DEFINE-KEYSYM 201 "Eacute")-449|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (201. "Eacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|494 495 (CL-DEFINE-KEYSYM 202 "Ecircumflex")-450|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (202. "Ecircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|495 496 (CL-DEFINE-KEYSYM 203 "Ediaeresis")-451|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (203. "Ediaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|496 497 (CL-DEFINE-KEYSYM 204 "Igrave")-452|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (204. "Igrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|497 498 (CL-DEFINE-KEYSYM 205 "Iacute")-453|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (205. "Iacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|498 499 (CL-DEFINE-KEYSYM 206 "Icircumflex")-454|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (206. "Icircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|499 500 (CL-DEFINE-KEYSYM 207 "Idiaeresis")-455|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (207. "Idiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|500 501 (CL-DEFINE-KEYSYM 208 "ETH")-456|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (208. "ETH" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|501 502 (CL-DEFINE-KEYSYM 208 "Eth")-457|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (208. "Eth" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|502 503 (CL-DEFINE-KEYSYM 209 "Ntilde")-458|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (209. "Ntilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|503 504 (CL-DEFINE-KEYSYM 210 "Ograve")-459|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (210. "Ograve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|504 505 (CL-DEFINE-KEYSYM 211 "Oacute")-460|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (211. "Oacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|505 506 (CL-DEFINE-KEYSYM 212 "Ocircumflex")-461|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (212. "Ocircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|506 507 (CL-DEFINE-KEYSYM 213 "Otilde")-462|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (213. "Otilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|507 508 (CL-DEFINE-KEYSYM 214 "Odiaeresis")-463|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (214. "Odiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|508 509 (CL-DEFINE-KEYSYM 215 "multiply")-464|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (215. "multiply" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|509 510 (CL-DEFINE-KEYSYM 216 "Oslash")-465|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (216. "Oslash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|510 511 (CL-DEFINE-KEYSYM 216 "Ooblique")-466|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (216. "Ooblique" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|511 512 (CL-DEFINE-KEYSYM 217 "Ugrave")-467|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (217. "Ugrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|512 513 (CL-DEFINE-KEYSYM 218 "Uacute")-468|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (218. "Uacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|513 514 (CL-DEFINE-KEYSYM 219 "Ucircumflex")-469|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (219. "Ucircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|514 515 (CL-DEFINE-KEYSYM 220 "Udiaeresis")-470|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (220. "Udiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|515 516 (CL-DEFINE-KEYSYM 221 "Yacute")-471|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (221. "Yacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|516 517 (CL-DEFINE-KEYSYM 222 "THORN")-472|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (222. "THORN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|517 518 (CL-DEFINE-KEYSYM 222 "Thorn")-473|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (222. "Thorn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|518 519 (CL-DEFINE-KEYSYM 223 "ssharp")-474|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (223. "ssharp" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|519 520 (CL-DEFINE-KEYSYM 224 "agrave")-475|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (224. "agrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|520 521 (CL-DEFINE-KEYSYM 225 "aacute")-476|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (225. "aacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|521 522 (CL-DEFINE-KEYSYM 226 "acircumflex")-477|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (226. "acircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|522 523 (CL-DEFINE-KEYSYM 227 "atilde")-478|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (227. "atilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|523 524 (CL-DEFINE-KEYSYM 228 "adiaeresis")-479|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (228. "adiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|524 525 (CL-DEFINE-KEYSYM 229 "aring")-480|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (229. "aring" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|525 526 (CL-DEFINE-KEYSYM 230 "ae")-481|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (230. "ae" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|526 527 (CL-DEFINE-KEYSYM 231 "ccedilla")-482|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (231. "ccedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|527 528 (CL-DEFINE-KEYSYM 232 "egrave")-483|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (232. "egrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|528 529 (CL-DEFINE-KEYSYM 233 "eacute")-484|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (233. "eacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|529 530 (CL-DEFINE-KEYSYM 234 "ecircumflex")-485|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (234. "ecircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|530 531 (CL-DEFINE-KEYSYM 235 "ediaeresis")-486|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (235. "ediaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|531 532 (CL-DEFINE-KEYSYM 236 "igrave")-487|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (236. "igrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|532 533 (CL-DEFINE-KEYSYM 237 "iacute")-488|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (237. "iacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|533 534 (CL-DEFINE-KEYSYM 238 "icircumflex")-489|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (238. "icircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|534 535 (CL-DEFINE-KEYSYM 239 "idiaeresis")-490|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (239. "idiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|535 536 (CL-DEFINE-KEYSYM 240 "eth")-491|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (240. "eth" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|536 537 (CL-DEFINE-KEYSYM 241 "ntilde")-492|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (241. "ntilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|537 538 (CL-DEFINE-KEYSYM 242 "ograve")-493|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (242. "ograve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|538 539 (CL-DEFINE-KEYSYM 243 "oacute")-494|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (243. "oacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|539 540 (CL-DEFINE-KEYSYM 244 "ocircumflex")-495|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (244. "ocircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|540 541 (CL-DEFINE-KEYSYM 245 "otilde")-496|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (245. "otilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|541 542 (CL-DEFINE-KEYSYM 246 "odiaeresis")-497|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (246. "odiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|542 543 (CL-DEFINE-KEYSYM 247 "division")-498|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (247. "division" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|543 544 (CL-DEFINE-KEYSYM 248 "oslash")-499|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (248. "oslash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|544 545 (CL-DEFINE-KEYSYM 248 "ooblique")-500|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (248. "ooblique" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|545 546 (CL-DEFINE-KEYSYM 249 "ugrave")-501|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (249. "ugrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|546 547 (CL-DEFINE-KEYSYM 250 "uacute")-502|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (250. "uacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|547 548 (CL-DEFINE-KEYSYM 251 "ucircumflex")-503|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (251. "ucircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|548 549 (CL-DEFINE-KEYSYM 252 "udiaeresis")-504|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (252. "udiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|549 550 (CL-DEFINE-KEYSYM 253 "yacute")-505|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (253. "yacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|550 551 (CL-DEFINE-KEYSYM 254 "thorn")-506|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (254. "thorn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|551 552 (CL-DEFINE-KEYSYM 255 "ydiaeresis")-507|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (255. "ydiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|552 553 (CL-DEFINE-KEYSYM 417 "Aogonek")-508|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (417. "Aogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|553 554 (CL-DEFINE-KEYSYM 418 "breve")-509|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (418. "breve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|554 555 (CL-DEFINE-KEYSYM 419 "Lstroke")-510|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (419. "Lstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|555 556 (CL-DEFINE-KEYSYM 421 "Lcaron")-511|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (421. "Lcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|556 557 (CL-DEFINE-KEYSYM 422 "Sacute")-512|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (422. "Sacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|557 558 (CL-DEFINE-KEYSYM 425 "Scaron")-513|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (425. "Scaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|558 559 (CL-DEFINE-KEYSYM 426 "Scedilla")-514|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (426. "Scedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|559 560 (CL-DEFINE-KEYSYM 427 "Tcaron")-515|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (427. "Tcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|560 561 (CL-DEFINE-KEYSYM 428 "Zacute")-516|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (428. "Zacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|561 562 (CL-DEFINE-KEYSYM 430 "Zcaron")-517|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (430. "Zcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|562 563 (CL-DEFINE-KEYSYM 431 "Zabovedot")-518|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (431. "Zabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|563 564 (CL-DEFINE-KEYSYM 433 "aogonek")-519|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (433. "aogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|564 565 (CL-DEFINE-KEYSYM 434 "ogonek")-520|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (434. "ogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|565 566 (CL-DEFINE-KEYSYM 435 "lstroke")-521|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (435. "lstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|566 567 (CL-DEFINE-KEYSYM 437 "lcaron")-522|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (437. "lcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|567 568 (CL-DEFINE-KEYSYM 438 "sacute")-523|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (438. "sacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|568 569 (CL-DEFINE-KEYSYM 439 "caron")-524|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (439. "caron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|569 570 (CL-DEFINE-KEYSYM 441 "scaron")-525|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (441. "scaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|570 571 (CL-DEFINE-KEYSYM 442 "scedilla")-526|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (442. "scedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|571 572 (CL-DEFINE-KEYSYM 443 "tcaron")-527|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (443. "tcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|572 573 (CL-DEFINE-KEYSYM 444 "zacute")-528|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (444. "zacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|573 574 (CL-DEFINE-KEYSYM 445 "doubleacute")-529|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (445. "doubleacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|574 575 (CL-DEFINE-KEYSYM 446 "zcaron")-530|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (446. "zcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|575 576 (CL-DEFINE-KEYSYM 447 "zabovedot")-531|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (447. "zabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|576 577 (CL-DEFINE-KEYSYM 448 "Racute")-532|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (448. "Racute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|577 578 (CL-DEFINE-KEYSYM 451 "Abreve")-533|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (451. "Abreve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|578 579 (CL-DEFINE-KEYSYM 453 "Lacute")-534|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (453. "Lacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|579 580 (CL-DEFINE-KEYSYM 454 "Cacute")-535|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (454. "Cacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|580 581 (CL-DEFINE-KEYSYM 456 "Ccaron")-536|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (456. "Ccaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|581 582 (CL-DEFINE-KEYSYM 458 "Eogonek")-537|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (458. "Eogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|582 583 (CL-DEFINE-KEYSYM 460 "Ecaron")-538|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (460. "Ecaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|583 584 (CL-DEFINE-KEYSYM 463 "Dcaron")-539|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (463. "Dcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|584 585 (CL-DEFINE-KEYSYM 464 "Dstroke")-540|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (464. "Dstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|585 586 (CL-DEFINE-KEYSYM 465 "Nacute")-541|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (465. "Nacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|586 587 (CL-DEFINE-KEYSYM 466 "Ncaron")-542|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (466. "Ncaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|587 588 (CL-DEFINE-KEYSYM 469 "Odoubleacute")-543|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (469. "Odoubleacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|588 589 (CL-DEFINE-KEYSYM 472 "Rcaron")-544|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (472. "Rcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|589 590 (CL-DEFINE-KEYSYM 473 "Uring")-545|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (473. "Uring" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|590 591 (CL-DEFINE-KEYSYM 475 "Udoubleacute")-546|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (475. "Udoubleacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|591 592 (CL-DEFINE-KEYSYM 478 "Tcedilla")-547|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (478. "Tcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|592 593 (CL-DEFINE-KEYSYM 480 "racute")-548|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (480. "racute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|593 594 (CL-DEFINE-KEYSYM 483 "abreve")-549|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (483. "abreve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|594 595 (CL-DEFINE-KEYSYM 485 "lacute")-550|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (485. "lacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|595 596 (CL-DEFINE-KEYSYM 486 "cacute")-551|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (486. "cacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|596 597 (CL-DEFINE-KEYSYM 488 "ccaron")-552|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (488. "ccaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|597 598 (CL-DEFINE-KEYSYM 490 "eogonek")-553|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (490. "eogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|598 599 (CL-DEFINE-KEYSYM 492 "ecaron")-554|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (492. "ecaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|599 600 (CL-DEFINE-KEYSYM 495 "dcaron")-555|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (495. "dcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|600 601 (CL-DEFINE-KEYSYM 496 "dstroke")-556|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (496. "dstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|601 602 (CL-DEFINE-KEYSYM 497 "nacute")-557|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (497. "nacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|602 603 (CL-DEFINE-KEYSYM 498 "ncaron")-558|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (498. "ncaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|603 604 (CL-DEFINE-KEYSYM 501 "odoubleacute")-559|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (501. "odoubleacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|604 605 (CL-DEFINE-KEYSYM 507 "udoubleacute")-560|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (507. "udoubleacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|605 606 (CL-DEFINE-KEYSYM 504 "rcaron")-561|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (504. "rcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|606 607 (CL-DEFINE-KEYSYM 505 "uring")-562|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (505. "uring" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|607 608 (CL-DEFINE-KEYSYM 510 "tcedilla")-563|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (510. "tcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|608 609 (CL-DEFINE-KEYSYM 511 "abovedot")-564|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (511. "abovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|609 610 (CL-DEFINE-KEYSYM 673 "Hstroke")-565|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (673. "Hstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|610 611 (CL-DEFINE-KEYSYM 678 "Hcircumflex")-566|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (678. "Hcircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|611 612 (CL-DEFINE-KEYSYM 681 "Iabovedot")-567|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (681. "Iabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|612 613 (CL-DEFINE-KEYSYM 683 "Gbreve")-568|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (683. "Gbreve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|613 614 (CL-DEFINE-KEYSYM 684 "Jcircumflex")-569|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (684. "Jcircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|614 615 (CL-DEFINE-KEYSYM 689 "hstroke")-570|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (689. "hstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|615 616 (CL-DEFINE-KEYSYM 694 "hcircumflex")-571|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (694. "hcircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|616 617 (CL-DEFINE-KEYSYM 697 "idotless")-572|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (697. "idotless" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|617 618 (CL-DEFINE-KEYSYM 699 "gbreve")-573|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (699. "gbreve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|618 619 (CL-DEFINE-KEYSYM 700 "jcircumflex")-574|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (700. "jcircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|619 620 (CL-DEFINE-KEYSYM 709 "Cabovedot")-575|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (709. "Cabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|620 621 (CL-DEFINE-KEYSYM 710 "Ccircumflex")-576|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (710. "Ccircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|621 622 (CL-DEFINE-KEYSYM 725 "Gabovedot")-577|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (725. "Gabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|622 623 (CL-DEFINE-KEYSYM 728 "Gcircumflex")-578|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (728. "Gcircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|623 624 (CL-DEFINE-KEYSYM 733 "Ubreve")-579|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (733. "Ubreve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|624 625 (CL-DEFINE-KEYSYM 734 "Scircumflex")-580|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (734. "Scircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|625 626 (CL-DEFINE-KEYSYM 741 "cabovedot")-581|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (741. "cabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|626 627 (CL-DEFINE-KEYSYM 742 "ccircumflex")-582|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (742. "ccircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|627 628 (CL-DEFINE-KEYSYM 757 "gabovedot")-583|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (757. "gabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|628 629 (CL-DEFINE-KEYSYM 760 "gcircumflex")-584|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (760. "gcircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|629 630 (CL-DEFINE-KEYSYM 765 "ubreve")-585|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (765. "ubreve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|630 631 (CL-DEFINE-KEYSYM 766 "scircumflex")-586|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (766. "scircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|631 632 (CL-DEFINE-KEYSYM 930 "kra")-587|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (930. "kra" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|632 633 (CL-DEFINE-KEYSYM 930 "kappa")-588|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (930. "kappa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|633 634 (CL-DEFINE-KEYSYM 931 "Rcedilla")-589|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (931. "Rcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|634 635 (CL-DEFINE-KEYSYM 933 "Itilde")-590|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (933. "Itilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|635 636 (CL-DEFINE-KEYSYM 934 "Lcedilla")-591|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (934. "Lcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|636 637 (CL-DEFINE-KEYSYM 938 "Emacron")-592|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (938. "Emacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|637 638 (CL-DEFINE-KEYSYM 939 "Gcedilla")-593|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (939. "Gcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|638 639 (CL-DEFINE-KEYSYM 940 "Tslash")-594|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (940. "Tslash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|639 640 (CL-DEFINE-KEYSYM 947 "rcedilla")-595|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (947. "rcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|640 641 (CL-DEFINE-KEYSYM 949 "itilde")-596|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (949. "itilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|641 642 (CL-DEFINE-KEYSYM 950 "lcedilla")-597|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (950. "lcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|642 643 (CL-DEFINE-KEYSYM 954 "emacron")-598|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (954. "emacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|643 644 (CL-DEFINE-KEYSYM 955 "gcedilla")-599|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (955. "gcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|644 645 (CL-DEFINE-KEYSYM 956 "tslash")-600|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (956. "tslash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|645 646 (CL-DEFINE-KEYSYM 957 "ENG")-601|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (957. "ENG" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|646 647 (CL-DEFINE-KEYSYM 959 "eng")-602|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (959. "eng" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|647 648 (CL-DEFINE-KEYSYM 960 "Amacron")-603|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (960. "Amacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|648 649 (CL-DEFINE-KEYSYM 967 "Iogonek")-604|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (967. "Iogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|649 650 (CL-DEFINE-KEYSYM 972 "Eabovedot")-605|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (972. "Eabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|650 651 (CL-DEFINE-KEYSYM 975 "Imacron")-606|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (975. "Imacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|651 652 (CL-DEFINE-KEYSYM 977 "Ncedilla")-607|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (977. "Ncedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|652 653 (CL-DEFINE-KEYSYM 978 "Omacron")-608|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (978. "Omacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|653 654 (CL-DEFINE-KEYSYM 979 "Kcedilla")-609|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (979. "Kcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|654 655 (CL-DEFINE-KEYSYM 985 "Uogonek")-610|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (985. "Uogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|655 656 (CL-DEFINE-KEYSYM 989 "Utilde")-611|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (989. "Utilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|656 657 (CL-DEFINE-KEYSYM 990 "Umacron")-612|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (990. "Umacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|657 658 (CL-DEFINE-KEYSYM 992 "amacron")-613|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (992. "amacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|658 659 (CL-DEFINE-KEYSYM 999 "iogonek")-614|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (999. "iogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|659 660 (CL-DEFINE-KEYSYM 1004 "eabovedot")-615|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1004. "eabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|660 661 (CL-DEFINE-KEYSYM 1007 "imacron")-616|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1007. "imacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|661 662 (CL-DEFINE-KEYSYM 1009 "ncedilla")-617|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1009. "ncedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|662 663 (CL-DEFINE-KEYSYM 1010 "omacron")-618|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1010. "omacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|663 664 (CL-DEFINE-KEYSYM 1011 "kcedilla")-619|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1011. "kcedilla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|664 665 (CL-DEFINE-KEYSYM 1017 "uogonek")-620|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1017. "uogonek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|665 666 (CL-DEFINE-KEYSYM 1021 "utilde")-621|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1021. "utilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|666 667 (CL-DEFINE-KEYSYM 1022 "umacron")-622|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1022. "umacron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|667 668 (CL-DEFINE-KEYSYM 16784898 "Babovedot")-623|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784898. "Babovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|668 669 (CL-DEFINE-KEYSYM 16784899 "babovedot")-624|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784899. "babovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|669 670 (CL-DEFINE-KEYSYM 16784906 "Dabovedot")-625|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784906. "Dabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|670 671 (CL-DEFINE-KEYSYM 16785024 "Wgrave")-626|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785024. "Wgrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|671 672 (CL-DEFINE-KEYSYM 16785026 "Wacute")-627|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785026. "Wacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|672 673 (CL-DEFINE-KEYSYM 16784907 "dabovedot")-628|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784907. "dabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|673 674 (CL-DEFINE-KEYSYM 16785138 "Ygrave")-629|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785138. "Ygrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|674 675 (CL-DEFINE-KEYSYM 16784926 "Fabovedot")-630|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784926. "Fabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|675 676 (CL-DEFINE-KEYSYM 16784927 "fabovedot")-631|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784927. "fabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|676 677 (CL-DEFINE-KEYSYM 16784960 "Mabovedot")-632|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784960. "Mabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|677 678 (CL-DEFINE-KEYSYM 16784961 "mabovedot")-633|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784961. "mabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|678 679 (CL-DEFINE-KEYSYM 16784982 "Pabovedot")-634|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784982. "Pabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|679 680 (CL-DEFINE-KEYSYM 16785025 "wgrave")-635|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785025. "wgrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|680 681 (CL-DEFINE-KEYSYM 16784983 "pabovedot")-636|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784983. "pabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|681 682 (CL-DEFINE-KEYSYM 16785027 "wacute")-637|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785027. "wacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|682 683 (CL-DEFINE-KEYSYM 16784992 "Sabovedot")-638|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784992. "Sabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|683 684 (CL-DEFINE-KEYSYM 16785139 "ygrave")-639|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785139. "ygrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|684 685 (CL-DEFINE-KEYSYM 16785028 "Wdiaeresis")-640|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785028. "Wdiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|685 686 (CL-DEFINE-KEYSYM 16785029 "wdiaeresis")-641|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785029. "wdiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|686 687 (CL-DEFINE-KEYSYM 16784993 "sabovedot")-642|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784993. "sabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|687 688 (CL-DEFINE-KEYSYM 16777588 "Wcircumflex")-643|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777588. "Wcircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|688 689 (CL-DEFINE-KEYSYM 16785002 "Tabovedot")-644|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785002. "Tabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|689 690 (CL-DEFINE-KEYSYM 16777590 "Ycircumflex")-645|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777590. "Ycircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|690 691 (CL-DEFINE-KEYSYM 16777589 "wcircumflex")-646|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777589. "wcircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|691 692 (CL-DEFINE-KEYSYM 16785003 "tabovedot")-647|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785003. "tabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|692 693 (CL-DEFINE-KEYSYM 16777591 "ycircumflex")-648|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777591. "ycircumflex" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|693 694 (CL-DEFINE-KEYSYM 5052 "OE")-649|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (5052. "OE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|694 695 (CL-DEFINE-KEYSYM 5053 "oe")-650|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (5053. "oe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|695 696 (CL-DEFINE-KEYSYM 5054 "Ydiaeresis")-651|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (5054. "Ydiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|696 697 (CL-DEFINE-KEYSYM 1150 "overline")-652|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1150. "overline" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|697 698 (CL-DEFINE-KEYSYM 1185 "kana_fullstop")-653|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1185. "kana_fullstop" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|698 699 (CL-DEFINE-KEYSYM 1186 "kana_openingbracket")-654|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1186. "kana_openingbracket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|699 700 (CL-DEFINE-KEYSYM 1187 "kana_closingbracket")-655|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1187. "kana_closingbracket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|700 701 (CL-DEFINE-KEYSYM 1188 "kana_comma")-656|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1188. "kana_comma" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|701 702 (CL-DEFINE-KEYSYM 1189 "kana_conjunctive")-657|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1189. "kana_conjunctive" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|702 703 (CL-DEFINE-KEYSYM 1189 "kana_middledot")-658|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1189. "kana_middledot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|703 704 (CL-DEFINE-KEYSYM 1190 "kana_WO")-659|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1190. "kana_WO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|704 705 (CL-DEFINE-KEYSYM 1191 "kana_a")-660|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1191. "kana_a" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|705 706 (CL-DEFINE-KEYSYM 1192 "kana_i")-661|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1192. "kana_i" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|706 707 (CL-DEFINE-KEYSYM 1193 "kana_u")-662|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1193. "kana_u" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|707 708 (CL-DEFINE-KEYSYM 1194 "kana_e")-663|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1194. "kana_e" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|708 709 (CL-DEFINE-KEYSYM 1195 "kana_o")-664|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1195. "kana_o" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|709 710 (CL-DEFINE-KEYSYM 1196 "kana_ya")-665|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1196. "kana_ya" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|710 711 (CL-DEFINE-KEYSYM 1197 "kana_yu")-666|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1197. "kana_yu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|711 712 (CL-DEFINE-KEYSYM 1198 "kana_yo")-667|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1198. "kana_yo" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|712 713 (CL-DEFINE-KEYSYM 1199 "kana_tsu")-668|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1199. "kana_tsu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|713 714 (CL-DEFINE-KEYSYM 1199 "kana_tu")-669|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1199. "kana_tu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|714 715 (CL-DEFINE-KEYSYM 1200 "prolongedsound")-670|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1200. "prolongedsound" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|715 716 (CL-DEFINE-KEYSYM 1201 "kana_A")-671|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1201. "kana_A" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|716 717 (CL-DEFINE-KEYSYM 1202 "kana_I")-672|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1202. "kana_I" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|717 718 (CL-DEFINE-KEYSYM 1203 "kana_U")-673|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1203. "kana_U" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|718 719 (CL-DEFINE-KEYSYM 1204 "kana_E")-674|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1204. "kana_E" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|719 720 (CL-DEFINE-KEYSYM 1205 "kana_O")-675|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1205. "kana_O" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|720 721 (CL-DEFINE-KEYSYM 1206 "kana_KA")-676|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1206. "kana_KA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|721 722 (CL-DEFINE-KEYSYM 1207 "kana_KI")-677|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1207. "kana_KI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|722 723 (CL-DEFINE-KEYSYM 1208 "kana_KU")-678|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1208. "kana_KU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|723 724 (CL-DEFINE-KEYSYM 1209 "kana_KE")-679|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1209. "kana_KE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|724 725 (CL-DEFINE-KEYSYM 1210 "kana_KO")-680|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1210. "kana_KO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|725 726 (CL-DEFINE-KEYSYM 1211 "kana_SA")-681|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1211. "kana_SA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|726 727 (CL-DEFINE-KEYSYM 1212 "kana_SHI")-682|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1212. "kana_SHI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|727 728 (CL-DEFINE-KEYSYM 1213 "kana_SU")-683|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1213. "kana_SU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|728 729 (CL-DEFINE-KEYSYM 1214 "kana_SE")-684|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1214. "kana_SE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|729 730 (CL-DEFINE-KEYSYM 1215 "kana_SO")-685|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1215. "kana_SO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|730 731 (CL-DEFINE-KEYSYM 1216 "kana_TA")-686|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1216. "kana_TA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|731 732 (CL-DEFINE-KEYSYM 1217 "kana_CHI")-687|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1217. "kana_CHI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|732 733 (CL-DEFINE-KEYSYM 1217 "kana_TI")-688|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1217. "kana_TI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|733 734 (CL-DEFINE-KEYSYM 1218 "kana_TSU")-689|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1218. "kana_TSU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|734 735 (CL-DEFINE-KEYSYM 1218 "kana_TU")-690|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1218. "kana_TU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|735 736 (CL-DEFINE-KEYSYM 1219 "kana_TE")-691|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1219. "kana_TE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|736 737 (CL-DEFINE-KEYSYM 1220 "kana_TO")-692|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1220. "kana_TO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|737 738 (CL-DEFINE-KEYSYM 1221 "kana_NA")-693|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1221. "kana_NA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|738 739 (CL-DEFINE-KEYSYM 1222 "kana_NI")-694|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1222. "kana_NI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|739 740 (CL-DEFINE-KEYSYM 1223 "kana_NU")-695|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1223. "kana_NU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|740 741 (CL-DEFINE-KEYSYM 1224 "kana_NE")-696|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1224. "kana_NE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|741 742 (CL-DEFINE-KEYSYM 1225 "kana_NO")-697|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1225. "kana_NO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|742 743 (CL-DEFINE-KEYSYM 1226 "kana_HA")-698|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1226. "kana_HA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|743 744 (CL-DEFINE-KEYSYM 1227 "kana_HI")-699|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1227. "kana_HI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|744 745 (CL-DEFINE-KEYSYM 1228 "kana_FU")-700|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1228. "kana_FU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|745 746 (CL-DEFINE-KEYSYM 1228 "kana_HU")-701|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1228. "kana_HU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|746 747 (CL-DEFINE-KEYSYM 1229 "kana_HE")-702|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1229. "kana_HE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|747 748 (CL-DEFINE-KEYSYM 1230 "kana_HO")-703|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1230. "kana_HO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|748 749 (CL-DEFINE-KEYSYM 1231 "kana_MA")-704|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1231. "kana_MA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|749 750 (CL-DEFINE-KEYSYM 1232 "kana_MI")-705|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1232. "kana_MI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|750 751 (CL-DEFINE-KEYSYM 1233 "kana_MU")-706|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1233. "kana_MU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|751 752 (CL-DEFINE-KEYSYM 1234 "kana_ME")-707|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1234. "kana_ME" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|752 753 (CL-DEFINE-KEYSYM 1235 "kana_MO")-708|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1235. "kana_MO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|753 754 (CL-DEFINE-KEYSYM 1236 "kana_YA")-709|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1236. "kana_YA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|754 755 (CL-DEFINE-KEYSYM 1237 "kana_YU")-710|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1237. "kana_YU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|755 756 (CL-DEFINE-KEYSYM 1238 "kana_YO")-711|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1238. "kana_YO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|756 757 (CL-DEFINE-KEYSYM 1239 "kana_RA")-712|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1239. "kana_RA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|757 758 (CL-DEFINE-KEYSYM 1240 "kana_RI")-713|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1240. "kana_RI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|758 759 (CL-DEFINE-KEYSYM 1241 "kana_RU")-714|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1241. "kana_RU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|759 760 (CL-DEFINE-KEYSYM 1242 "kana_RE")-715|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1242. "kana_RE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|760 761 (CL-DEFINE-KEYSYM 1243 "kana_RO")-716|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1243. "kana_RO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|761 762 (CL-DEFINE-KEYSYM 1244 "kana_WA")-717|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1244. "kana_WA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|762 763 (CL-DEFINE-KEYSYM 1245 "kana_N")-718|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1245. "kana_N" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|763 764 (CL-DEFINE-KEYSYM 1246 "voicedsound")-719|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1246. "voicedsound" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|764 765 (CL-DEFINE-KEYSYM 1247 "semivoicedsound")-720|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1247. "semivoicedsound" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|765 766 (CL-DEFINE-KEYSYM 65406 "kana_switch")-721|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65406. "kana_switch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|766 767 (CL-DEFINE-KEYSYM 16778992 "Farsi_0")-722|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778992. "Farsi_0" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|767 768 (CL-DEFINE-KEYSYM 16778993 "Farsi_1")-723|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778993. "Farsi_1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|768 769 (CL-DEFINE-KEYSYM 16778994 "Farsi_2")-724|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778994. "Farsi_2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|769 770 (CL-DEFINE-KEYSYM 16778995 "Farsi_3")-725|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778995. "Farsi_3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|770 771 (CL-DEFINE-KEYSYM 16778996 "Farsi_4")-726|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778996. "Farsi_4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|771 772 (CL-DEFINE-KEYSYM 16778997 "Farsi_5")-727|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778997. "Farsi_5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|772 773 (CL-DEFINE-KEYSYM 16778998 "Farsi_6")-728|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778998. "Farsi_6" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|773 774 (CL-DEFINE-KEYSYM 16778999 "Farsi_7")-729|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778999. "Farsi_7" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|774 775 (CL-DEFINE-KEYSYM 16779000 "Farsi_8")-730|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16779000. "Farsi_8" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|775 776 (CL-DEFINE-KEYSYM 16779001 "Farsi_9")-731|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16779001. "Farsi_9" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|776 777 (CL-DEFINE-KEYSYM 16778858 "Arabic_percent")-732|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778858. "Arabic_percent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|777 778 (CL-DEFINE-KEYSYM 16778864 "Arabic_superscript_alef")-733|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778864. "Arabic_superscript_alef" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|778 779 (CL-DEFINE-KEYSYM 16778873 "Arabic_tteh")-734|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778873. "Arabic_tteh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|779 780 (CL-DEFINE-KEYSYM 16778878 "Arabic_peh")-735|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778878. "Arabic_peh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|780 781 (CL-DEFINE-KEYSYM 16778886 "Arabic_tcheh")-736|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778886. "Arabic_tcheh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|781 782 (CL-DEFINE-KEYSYM 16778888 "Arabic_ddal")-737|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778888. "Arabic_ddal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|782 783 (CL-DEFINE-KEYSYM 16778897 "Arabic_rreh")-738|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778897. "Arabic_rreh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|783 784 (CL-DEFINE-KEYSYM 1452 "Arabic_comma")-739|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1452. "Arabic_comma" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|784 785 (CL-DEFINE-KEYSYM 16778964 "Arabic_fullstop")-740|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778964. "Arabic_fullstop" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|785 786 (CL-DEFINE-KEYSYM 16778848 "Arabic_0")-741|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778848. "Arabic_0" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|786 787 (CL-DEFINE-KEYSYM 16778849 "Arabic_1")-742|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778849. "Arabic_1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|787 788 (CL-DEFINE-KEYSYM 16778850 "Arabic_2")-743|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778850. "Arabic_2" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|788 789 (CL-DEFINE-KEYSYM 16778851 "Arabic_3")-744|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778851. "Arabic_3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|789 790 (CL-DEFINE-KEYSYM 16778852 "Arabic_4")-745|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778852. "Arabic_4" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|790 791 (CL-DEFINE-KEYSYM 16778853 "Arabic_5")-746|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778853. "Arabic_5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|791 792 (CL-DEFINE-KEYSYM 16778854 "Arabic_6")-747|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778854. "Arabic_6" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|792 793 (CL-DEFINE-KEYSYM 16778855 "Arabic_7")-748|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778855. "Arabic_7" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|793 794 (CL-DEFINE-KEYSYM 16778856 "Arabic_8")-749|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778856. "Arabic_8" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|794 795 (CL-DEFINE-KEYSYM 16778857 "Arabic_9")-750|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778857. "Arabic_9" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|795 796 (CL-DEFINE-KEYSYM 1467 "Arabic_semicolon")-751|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1467. "Arabic_semicolon" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|796 797 (CL-DEFINE-KEYSYM 1471 "Arabic_question_mark")-752|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1471. "Arabic_question_mark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|797 798 (CL-DEFINE-KEYSYM 1473 "Arabic_hamza")-753|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1473. "Arabic_hamza" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|798 799 (CL-DEFINE-KEYSYM 1474 "Arabic_maddaonalef")-754|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1474. "Arabic_maddaonalef" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|799 800 (CL-DEFINE-KEYSYM 1475 "Arabic_hamzaonalef")-755|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1475. "Arabic_hamzaonalef" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|800 801 (CL-DEFINE-KEYSYM 1476 "Arabic_hamzaonwaw")-756|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1476. "Arabic_hamzaonwaw" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|801 802 (CL-DEFINE-KEYSYM 1477 "Arabic_hamzaunderalef")-757|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1477. "Arabic_hamzaunderalef" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|802 803 (CL-DEFINE-KEYSYM 1478 "Arabic_hamzaonyeh")-758|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1478. "Arabic_hamzaonyeh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|803 804 (CL-DEFINE-KEYSYM 1479 "Arabic_alef")-759|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1479. "Arabic_alef" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|804 805 (CL-DEFINE-KEYSYM 1480 "Arabic_beh")-760|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1480. "Arabic_beh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|805 806 (CL-DEFINE-KEYSYM 1481 "Arabic_tehmarbuta")-761|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1481. "Arabic_tehmarbuta" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|806 807 (CL-DEFINE-KEYSYM 1482 "Arabic_teh")-762|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1482. "Arabic_teh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|807 808 (CL-DEFINE-KEYSYM 1483 "Arabic_theh")-763|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1483. "Arabic_theh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|808 809 (CL-DEFINE-KEYSYM 1484 "Arabic_jeem")-764|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1484. "Arabic_jeem" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|809 810 (CL-DEFINE-KEYSYM 1485 "Arabic_hah")-765|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1485. "Arabic_hah" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|810 811 (CL-DEFINE-KEYSYM 1486 "Arabic_khah")-766|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1486. "Arabic_khah" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|811 812 (CL-DEFINE-KEYSYM 1487 "Arabic_dal")-767|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1487. "Arabic_dal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|812 813 (CL-DEFINE-KEYSYM 1488 "Arabic_thal")-768|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1488. "Arabic_thal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|813 814 (CL-DEFINE-KEYSYM 1489 "Arabic_ra")-769|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1489. "Arabic_ra" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|814 815 (CL-DEFINE-KEYSYM 1490 "Arabic_zain")-770|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1490. "Arabic_zain" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|815 816 (CL-DEFINE-KEYSYM 1491 "Arabic_seen")-771|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1491. "Arabic_seen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|816 817 (CL-DEFINE-KEYSYM 1492 "Arabic_sheen")-772|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1492. "Arabic_sheen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|817 818 (CL-DEFINE-KEYSYM 1493 "Arabic_sad")-773|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1493. "Arabic_sad" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|818 819 (CL-DEFINE-KEYSYM 1494 "Arabic_dad")-774|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1494. "Arabic_dad" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|819 820 (CL-DEFINE-KEYSYM 1495 "Arabic_tah")-775|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1495. "Arabic_tah" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|820 821 (CL-DEFINE-KEYSYM 1496 "Arabic_zah")-776|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1496. "Arabic_zah" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|821 822 (CL-DEFINE-KEYSYM 1497 "Arabic_ain")-777|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1497. "Arabic_ain" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|822 823 (CL-DEFINE-KEYSYM 1498 "Arabic_ghain")-778|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1498. "Arabic_ghain" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|823 824 (CL-DEFINE-KEYSYM 1504 "Arabic_tatweel")-779|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1504. "Arabic_tatweel" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|824 825 (CL-DEFINE-KEYSYM 1505 "Arabic_feh")-780|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1505. "Arabic_feh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|825 826 (CL-DEFINE-KEYSYM 1506 "Arabic_qaf")-781|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1506. "Arabic_qaf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|826 827 (CL-DEFINE-KEYSYM 1507 "Arabic_kaf")-782|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1507. "Arabic_kaf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|827 828 (CL-DEFINE-KEYSYM 1508 "Arabic_lam")-783|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1508. "Arabic_lam" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|828 829 (CL-DEFINE-KEYSYM 1509 "Arabic_meem")-784|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1509. "Arabic_meem" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|829 830 (CL-DEFINE-KEYSYM 1510 "Arabic_noon")-785|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1510. "Arabic_noon" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|830 831 (CL-DEFINE-KEYSYM 1511 "Arabic_ha")-786|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1511. "Arabic_ha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|831 832 (CL-DEFINE-KEYSYM 1511 "Arabic_heh")-787|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1511. "Arabic_heh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|832 833 (CL-DEFINE-KEYSYM 1512 "Arabic_waw")-788|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1512. "Arabic_waw" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|833 834 (CL-DEFINE-KEYSYM 1513 "Arabic_alefmaksura")-789|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1513. "Arabic_alefmaksura" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|834 835 (CL-DEFINE-KEYSYM 1514 "Arabic_yeh")-790|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1514. "Arabic_yeh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|835 836 (CL-DEFINE-KEYSYM 1515 "Arabic_fathatan")-791|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1515. "Arabic_fathatan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|836 837 (CL-DEFINE-KEYSYM 1516 "Arabic_dammatan")-792|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1516. "Arabic_dammatan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|837 838 (CL-DEFINE-KEYSYM 1517 "Arabic_kasratan")-793|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1517. "Arabic_kasratan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|838 839 (CL-DEFINE-KEYSYM 1518 "Arabic_fatha")-794|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1518. "Arabic_fatha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|839 840 (CL-DEFINE-KEYSYM 1519 "Arabic_damma")-795|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1519. "Arabic_damma" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|840 841 (CL-DEFINE-KEYSYM 1520 "Arabic_kasra")-796|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1520. "Arabic_kasra" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|841 842 (CL-DEFINE-KEYSYM 1521 "Arabic_shadda")-797|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1521. "Arabic_shadda" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|842 843 (CL-DEFINE-KEYSYM 1522 "Arabic_sukun")-798|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1522. "Arabic_sukun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|843 844 (CL-DEFINE-KEYSYM 16778835 "Arabic_madda_above")-799|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778835. "Arabic_madda_above" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|844 845 (CL-DEFINE-KEYSYM 16778836 "Arabic_hamza_above")-800|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778836. "Arabic_hamza_above" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|845 846 (CL-DEFINE-KEYSYM 16778837 "Arabic_hamza_below")-801|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778837. "Arabic_hamza_below" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|846 847 (CL-DEFINE-KEYSYM 16778904 "Arabic_jeh")-802|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778904. "Arabic_jeh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|847 848 (CL-DEFINE-KEYSYM 16778916 "Arabic_veh")-803|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778916. "Arabic_veh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|848 849 (CL-DEFINE-KEYSYM 16778921 "Arabic_keheh")-804|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778921. "Arabic_keheh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|849 850 (CL-DEFINE-KEYSYM 16778927 "Arabic_gaf")-805|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778927. "Arabic_gaf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|850 851 (CL-DEFINE-KEYSYM 16778938 "Arabic_noon_ghunna")-806|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778938. "Arabic_noon_ghunna" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|851 852 (CL-DEFINE-KEYSYM 16778942 "Arabic_heh_doachashmee")-807|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778942. "Arabic_heh_doachashmee" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|852 853 (CL-DEFINE-KEYSYM 16778956 "Farsi_yeh")-808|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778956. "Farsi_yeh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|853 854 (CL-DEFINE-KEYSYM 16778956 "Arabic_farsi_yeh")-809|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778956. "Arabic_farsi_yeh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|854 855 (CL-DEFINE-KEYSYM 16778962 "Arabic_yeh_baree")-810|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778962. "Arabic_yeh_baree" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|855 856 (CL-DEFINE-KEYSYM 16778945 "Arabic_heh_goal")-811|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778945. "Arabic_heh_goal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|856 857 (CL-DEFINE-KEYSYM 65406 "Arabic_switch")-812|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65406. "Arabic_switch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|857 858 (CL-DEFINE-KEYSYM 16778386 "Cyrillic_GHE_bar")-813|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778386. "Cyrillic_GHE_bar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|858 859 (CL-DEFINE-KEYSYM 16778387 "Cyrillic_ghe_bar")-814|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778387. "Cyrillic_ghe_bar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|859 860 (CL-DEFINE-KEYSYM 16778390 "Cyrillic_ZHE_descender")-815|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778390. "Cyrillic_ZHE_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|860 861 (CL-DEFINE-KEYSYM 16778391 "Cyrillic_zhe_descender")-816|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778391. "Cyrillic_zhe_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|861 862 (CL-DEFINE-KEYSYM 16778394 "Cyrillic_KA_descender")-817|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778394. "Cyrillic_KA_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|862 863 (CL-DEFINE-KEYSYM 16778395 "Cyrillic_ka_descender")-818|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778395. "Cyrillic_ka_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|863 864 (CL-DEFINE-KEYSYM 16778396 "Cyrillic_KA_vertstroke")-819|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778396. "Cyrillic_KA_vertstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|864 865 (CL-DEFINE-KEYSYM 16778397 "Cyrillic_ka_vertstroke")-820|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778397. "Cyrillic_ka_vertstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|865 866 (CL-DEFINE-KEYSYM 16778402 "Cyrillic_EN_descender")-821|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778402. "Cyrillic_EN_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|866 867 (CL-DEFINE-KEYSYM 16778403 "Cyrillic_en_descender")-822|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778403. "Cyrillic_en_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|867 868 (CL-DEFINE-KEYSYM 16778414 "Cyrillic_U_straight")-823|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778414. "Cyrillic_U_straight" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|868 869 (CL-DEFINE-KEYSYM 16778415 "Cyrillic_u_straight")-824|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778415. "Cyrillic_u_straight" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|869 870 (CL-DEFINE-KEYSYM 16778416 "Cyrillic_U_straight_bar")-825|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778416. "Cyrillic_U_straight_bar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|870 871 (CL-DEFINE-KEYSYM 16778417 "Cyrillic_u_straight_bar")-826|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778417. "Cyrillic_u_straight_bar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|871 872 (CL-DEFINE-KEYSYM 16778418 "Cyrillic_HA_descender")-827|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778418. "Cyrillic_HA_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|872 873 (CL-DEFINE-KEYSYM 16778419 "Cyrillic_ha_descender")-828|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778419. "Cyrillic_ha_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|873 874 (CL-DEFINE-KEYSYM 16778422 "Cyrillic_CHE_descender")-829|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778422. "Cyrillic_CHE_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|874 875 (CL-DEFINE-KEYSYM 16778423 "Cyrillic_che_descender")-830|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778423. "Cyrillic_che_descender" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|875 876 (CL-DEFINE-KEYSYM 16778424 "Cyrillic_CHE_vertstroke")-831|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778424. "Cyrillic_CHE_vertstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|876 877 (CL-DEFINE-KEYSYM 16778425 "Cyrillic_che_vertstroke")-832|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778425. "Cyrillic_che_vertstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|877 878 (CL-DEFINE-KEYSYM 16778426 "Cyrillic_SHHA")-833|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778426. "Cyrillic_SHHA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|878 879 (CL-DEFINE-KEYSYM 16778427 "Cyrillic_shha")-834|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778427. "Cyrillic_shha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|879 880 (CL-DEFINE-KEYSYM 16778456 "Cyrillic_SCHWA")-835|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778456. "Cyrillic_SCHWA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|880 881 (CL-DEFINE-KEYSYM 16778457 "Cyrillic_schwa")-836|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778457. "Cyrillic_schwa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|881 882 (CL-DEFINE-KEYSYM 16778466 "Cyrillic_I_macron")-837|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778466. "Cyrillic_I_macron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|882 883 (CL-DEFINE-KEYSYM 16778467 "Cyrillic_i_macron")-838|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778467. "Cyrillic_i_macron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|883 884 (CL-DEFINE-KEYSYM 16778472 "Cyrillic_O_bar")-839|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778472. "Cyrillic_O_bar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|884 885 (CL-DEFINE-KEYSYM 16778473 "Cyrillic_o_bar")-840|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778473. "Cyrillic_o_bar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|885 886 (CL-DEFINE-KEYSYM 16778478 "Cyrillic_U_macron")-841|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778478. "Cyrillic_U_macron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|886 887 (CL-DEFINE-KEYSYM 16778479 "Cyrillic_u_macron")-842|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778479. "Cyrillic_u_macron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|887 888 (CL-DEFINE-KEYSYM 1697 "Serbian_dje")-843|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1697. "Serbian_dje" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|888 889 (CL-DEFINE-KEYSYM 1698 "Macedonia_gje")-844|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1698. "Macedonia_gje" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|889 890 (CL-DEFINE-KEYSYM 1699 "Cyrillic_io")-845|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1699. "Cyrillic_io" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|890 891 (CL-DEFINE-KEYSYM 1700 "Ukrainian_ie")-846|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1700. "Ukrainian_ie" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|891 892 (CL-DEFINE-KEYSYM 1700 "Ukranian_je")-847|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1700. "Ukranian_je" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|892 893 (CL-DEFINE-KEYSYM 1701 "Macedonia_dse")-848|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1701. "Macedonia_dse" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|893 894 (CL-DEFINE-KEYSYM 1702 "Ukrainian_i")-849|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1702. "Ukrainian_i" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|894 895 (CL-DEFINE-KEYSYM 1702 "Ukranian_i")-850|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1702. "Ukranian_i" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|895 896 (CL-DEFINE-KEYSYM 1703 "Ukrainian_yi")-851|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1703. "Ukrainian_yi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|896 897 (CL-DEFINE-KEYSYM 1703 "Ukranian_yi")-852|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1703. "Ukranian_yi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|897 898 (CL-DEFINE-KEYSYM 1704 "Cyrillic_je")-853|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1704. "Cyrillic_je" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|898 899 (CL-DEFINE-KEYSYM 1704 "Serbian_je")-854|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1704. "Serbian_je" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|899 900 (CL-DEFINE-KEYSYM 1705 "Cyrillic_lje")-855|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1705. "Cyrillic_lje" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|900 901 (CL-DEFINE-KEYSYM 1705 "Serbian_lje")-856|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1705. "Serbian_lje" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|901 902 (CL-DEFINE-KEYSYM 1706 "Cyrillic_nje")-857|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1706. "Cyrillic_nje" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|902 903 (CL-DEFINE-KEYSYM 1706 "Serbian_nje")-858|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1706. "Serbian_nje" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|903 904 (CL-DEFINE-KEYSYM 1707 "Serbian_tshe")-859|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1707. "Serbian_tshe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|904 905 (CL-DEFINE-KEYSYM 1708 "Macedonia_kje")-860|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1708. "Macedonia_kje" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|905 906 (CL-DEFINE-KEYSYM 1709 "Ukrainian_ghe_with_upturn")-861|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1709. "Ukrainian_ghe_with_upturn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|906 907 (CL-DEFINE-KEYSYM 1710 "Byelorussian_shortu")-862|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1710. "Byelorussian_shortu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|907 908 (CL-DEFINE-KEYSYM 1711 "Cyrillic_dzhe")-863|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1711. "Cyrillic_dzhe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|908 909 (CL-DEFINE-KEYSYM 1711 "Serbian_dze")-864|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1711. "Serbian_dze" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|909 910 (CL-DEFINE-KEYSYM 1712 "numerosign")-865|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1712. "numerosign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|910 911 (CL-DEFINE-KEYSYM 1713 "Serbian_DJE")-866|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1713. "Serbian_DJE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|911 912 (CL-DEFINE-KEYSYM 1714 "Macedonia_GJE")-867|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1714. "Macedonia_GJE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|912 913 (CL-DEFINE-KEYSYM 1715 "Cyrillic_IO")-868|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1715. "Cyrillic_IO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|913 914 (CL-DEFINE-KEYSYM 1716 "Ukrainian_IE")-869|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1716. "Ukrainian_IE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|914 915 (CL-DEFINE-KEYSYM 1716 "Ukranian_JE")-870|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1716. "Ukranian_JE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|915 916 (CL-DEFINE-KEYSYM 1717 "Macedonia_DSE")-871|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1717. "Macedonia_DSE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|916 917 (CL-DEFINE-KEYSYM 1718 "Ukrainian_I")-872|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1718. "Ukrainian_I" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|917 918 (CL-DEFINE-KEYSYM 1718 "Ukranian_I")-873|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1718. "Ukranian_I" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|918 919 (CL-DEFINE-KEYSYM 1719 "Ukrainian_YI")-874|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1719. "Ukrainian_YI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|919 920 (CL-DEFINE-KEYSYM 1719 "Ukranian_YI")-875|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1719. "Ukranian_YI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|920 921 (CL-DEFINE-KEYSYM 1720 "Cyrillic_JE")-876|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1720. "Cyrillic_JE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|921 922 (CL-DEFINE-KEYSYM 1720 "Serbian_JE")-877|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1720. "Serbian_JE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|922 923 (CL-DEFINE-KEYSYM 1721 "Cyrillic_LJE")-878|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1721. "Cyrillic_LJE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|923 924 (CL-DEFINE-KEYSYM 1721 "Serbian_LJE")-879|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1721. "Serbian_LJE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|924 925 (CL-DEFINE-KEYSYM 1722 "Cyrillic_NJE")-880|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1722. "Cyrillic_NJE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|925 926 (CL-DEFINE-KEYSYM 1722 "Serbian_NJE")-881|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1722. "Serbian_NJE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|926 927 (CL-DEFINE-KEYSYM 1723 "Serbian_TSHE")-882|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1723. "Serbian_TSHE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|927 928 (CL-DEFINE-KEYSYM 1724 "Macedonia_KJE")-883|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1724. "Macedonia_KJE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|928 929 (CL-DEFINE-KEYSYM 1725 "Ukrainian_GHE_WITH_UPTURN")-884|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1725. "Ukrainian_GHE_WITH_UPTURN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|929 930 (CL-DEFINE-KEYSYM 1726 "Byelorussian_SHORTU")-885|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1726. "Byelorussian_SHORTU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|930 931 (CL-DEFINE-KEYSYM 1727 "Cyrillic_DZHE")-886|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1727. "Cyrillic_DZHE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|931 932 (CL-DEFINE-KEYSYM 1727 "Serbian_DZE")-887|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1727. "Serbian_DZE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|932 933 (CL-DEFINE-KEYSYM 1728 "Cyrillic_yu")-888|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1728. "Cyrillic_yu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|933 934 (CL-DEFINE-KEYSYM 1729 "Cyrillic_a")-889|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1729. "Cyrillic_a" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|934 935 (CL-DEFINE-KEYSYM 1730 "Cyrillic_be")-890|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1730. "Cyrillic_be" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|935 936 (CL-DEFINE-KEYSYM 1731 "Cyrillic_tse")-891|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1731. "Cyrillic_tse" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|936 937 (CL-DEFINE-KEYSYM 1732 "Cyrillic_de")-892|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1732. "Cyrillic_de" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|937 938 (CL-DEFINE-KEYSYM 1733 "Cyrillic_ie")-893|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1733. "Cyrillic_ie" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|938 939 (CL-DEFINE-KEYSYM 1734 "Cyrillic_ef")-894|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1734. "Cyrillic_ef" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|939 940 (CL-DEFINE-KEYSYM 1735 "Cyrillic_ghe")-895|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1735. "Cyrillic_ghe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|940 941 (CL-DEFINE-KEYSYM 1736 "Cyrillic_ha")-896|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1736. "Cyrillic_ha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|941 942 (CL-DEFINE-KEYSYM 1737 "Cyrillic_i")-897|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1737. "Cyrillic_i" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|942 943 (CL-DEFINE-KEYSYM 1738 "Cyrillic_shorti")-898|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1738. "Cyrillic_shorti" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|943 944 (CL-DEFINE-KEYSYM 1739 "Cyrillic_ka")-899|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1739. "Cyrillic_ka" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|944 945 (CL-DEFINE-KEYSYM 1740 "Cyrillic_el")-900|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1740. "Cyrillic_el" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|945 946 (CL-DEFINE-KEYSYM 1741 "Cyrillic_em")-901|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1741. "Cyrillic_em" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|946 947 (CL-DEFINE-KEYSYM 1742 "Cyrillic_en")-902|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1742. "Cyrillic_en" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|947 948 (CL-DEFINE-KEYSYM 1743 "Cyrillic_o")-903|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1743. "Cyrillic_o" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|948 949 (CL-DEFINE-KEYSYM 1744 "Cyrillic_pe")-904|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1744. "Cyrillic_pe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|949 950 (CL-DEFINE-KEYSYM 1745 "Cyrillic_ya")-905|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1745. "Cyrillic_ya" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|950 951 (CL-DEFINE-KEYSYM 1746 "Cyrillic_er")-906|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1746. "Cyrillic_er" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|951 952 (CL-DEFINE-KEYSYM 1747 "Cyrillic_es")-907|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1747. "Cyrillic_es" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|952 953 (CL-DEFINE-KEYSYM 1748 "Cyrillic_te")-908|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1748. "Cyrillic_te" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|953 954 (CL-DEFINE-KEYSYM 1749 "Cyrillic_u")-909|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1749. "Cyrillic_u" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|954 955 (CL-DEFINE-KEYSYM 1750 "Cyrillic_zhe")-910|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1750. "Cyrillic_zhe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|955 956 (CL-DEFINE-KEYSYM 1751 "Cyrillic_ve")-911|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1751. "Cyrillic_ve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|956 957 (CL-DEFINE-KEYSYM 1752 "Cyrillic_softsign")-912|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1752. "Cyrillic_softsign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|957 958 (CL-DEFINE-KEYSYM 1753 "Cyrillic_yeru")-913|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1753. "Cyrillic_yeru" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|958 959 (CL-DEFINE-KEYSYM 1754 "Cyrillic_ze")-914|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1754. "Cyrillic_ze" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|959 960 (CL-DEFINE-KEYSYM 1755 "Cyrillic_sha")-915|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1755. "Cyrillic_sha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|960 961 (CL-DEFINE-KEYSYM 1756 "Cyrillic_e")-916|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1756. "Cyrillic_e" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|961 962 (CL-DEFINE-KEYSYM 1757 "Cyrillic_shcha")-917|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1757. "Cyrillic_shcha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|962 963 (CL-DEFINE-KEYSYM 1758 "Cyrillic_che")-918|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1758. "Cyrillic_che" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|963 964 (CL-DEFINE-KEYSYM 1759 "Cyrillic_hardsign")-919|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1759. "Cyrillic_hardsign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|964 965 (CL-DEFINE-KEYSYM 1760 "Cyrillic_YU")-920|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1760. "Cyrillic_YU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|965 966 (CL-DEFINE-KEYSYM 1761 "Cyrillic_A")-921|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1761. "Cyrillic_A" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|966 967 (CL-DEFINE-KEYSYM 1762 "Cyrillic_BE")-922|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1762. "Cyrillic_BE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|967 968 (CL-DEFINE-KEYSYM 1763 "Cyrillic_TSE")-923|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1763. "Cyrillic_TSE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|968 969 (CL-DEFINE-KEYSYM 1764 "Cyrillic_DE")-924|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1764. "Cyrillic_DE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|969 970 (CL-DEFINE-KEYSYM 1765 "Cyrillic_IE")-925|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1765. "Cyrillic_IE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|970 971 (CL-DEFINE-KEYSYM 1766 "Cyrillic_EF")-926|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1766. "Cyrillic_EF" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|971 972 (CL-DEFINE-KEYSYM 1767 "Cyrillic_GHE")-927|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1767. "Cyrillic_GHE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|972 973 (CL-DEFINE-KEYSYM 1768 "Cyrillic_HA")-928|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1768. "Cyrillic_HA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|973 974 (CL-DEFINE-KEYSYM 1769 "Cyrillic_I")-929|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1769. "Cyrillic_I" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|974 975 (CL-DEFINE-KEYSYM 1770 "Cyrillic_SHORTI")-930|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1770. "Cyrillic_SHORTI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|975 976 (CL-DEFINE-KEYSYM 1771 "Cyrillic_KA")-931|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1771. "Cyrillic_KA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|976 977 (CL-DEFINE-KEYSYM 1772 "Cyrillic_EL")-932|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1772. "Cyrillic_EL" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|977 978 (CL-DEFINE-KEYSYM 1773 "Cyrillic_EM")-933|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1773. "Cyrillic_EM" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|978 979 (CL-DEFINE-KEYSYM 1774 "Cyrillic_EN")-934|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1774. "Cyrillic_EN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|979 980 (CL-DEFINE-KEYSYM 1775 "Cyrillic_O")-935|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1775. "Cyrillic_O" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|980 981 (CL-DEFINE-KEYSYM 1776 "Cyrillic_PE")-936|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1776. "Cyrillic_PE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|981 982 (CL-DEFINE-KEYSYM 1777 "Cyrillic_YA")-937|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1777. "Cyrillic_YA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|982 983 (CL-DEFINE-KEYSYM 1778 "Cyrillic_ER")-938|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1778. "Cyrillic_ER" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|983 984 (CL-DEFINE-KEYSYM 1779 "Cyrillic_ES")-939|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1779. "Cyrillic_ES" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|984 985 (CL-DEFINE-KEYSYM 1780 "Cyrillic_TE")-940|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1780. "Cyrillic_TE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|985 986 (CL-DEFINE-KEYSYM 1781 "Cyrillic_U")-941|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1781. "Cyrillic_U" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|986 987 (CL-DEFINE-KEYSYM 1782 "Cyrillic_ZHE")-942|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1782. "Cyrillic_ZHE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|987 988 (CL-DEFINE-KEYSYM 1783 "Cyrillic_VE")-943|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1783. "Cyrillic_VE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|988 989 (CL-DEFINE-KEYSYM 1784 "Cyrillic_SOFTSIGN")-944|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1784. "Cyrillic_SOFTSIGN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|989 990 (CL-DEFINE-KEYSYM 1785 "Cyrillic_YERU")-945|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1785. "Cyrillic_YERU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|990 991 (CL-DEFINE-KEYSYM 1786 "Cyrillic_ZE")-946|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1786. "Cyrillic_ZE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|991 992 (CL-DEFINE-KEYSYM 1787 "Cyrillic_SHA")-947|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1787. "Cyrillic_SHA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|992 993 (CL-DEFINE-KEYSYM 1788 "Cyrillic_E")-948|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1788. "Cyrillic_E" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|993 994 (CL-DEFINE-KEYSYM 1789 "Cyrillic_SHCHA")-949|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1789. "Cyrillic_SHCHA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|994 995 (CL-DEFINE-KEYSYM 1790 "Cyrillic_CHE")-950|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1790. "Cyrillic_CHE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|995 996 (CL-DEFINE-KEYSYM 1791 "Cyrillic_HARDSIGN")-951|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1791. "Cyrillic_HARDSIGN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|996 997 (CL-DEFINE-KEYSYM 1953 "Greek_ALPHAaccent")-952|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1953. "Greek_ALPHAaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|997 998 (CL-DEFINE-KEYSYM 1954 "Greek_EPSILONaccent")-953|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1954. "Greek_EPSILONaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|998 999 (CL-DEFINE-KEYSYM 1955 "Greek_ETAaccent")-954|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1955. "Greek_ETAaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|999 1000 (CL-DEFINE-KEYSYM 1956 "Greek_IOTAaccent")-955|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1956. "Greek_IOTAaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1000 1001 (CL-DEFINE-KEYSYM 1957 "Greek_IOTAdieresis")-956|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1957. "Greek_IOTAdieresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1001 1002 (CL-DEFINE-KEYSYM 1957 "Greek_IOTAdiaeresis")-957|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1957. "Greek_IOTAdiaeresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1002 1003 (CL-DEFINE-KEYSYM 1959 "Greek_OMICRONaccent")-958|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1959. "Greek_OMICRONaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1003 1004 (CL-DEFINE-KEYSYM 1960 "Greek_UPSILONaccent")-959|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1960. "Greek_UPSILONaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1004 1005 (CL-DEFINE-KEYSYM 1961 "Greek_UPSILONdieresis")-960|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1961. "Greek_UPSILONdieresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1005 1006 (CL-DEFINE-KEYSYM 1963 "Greek_OMEGAaccent")-961|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1963. "Greek_OMEGAaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1006 1007 (CL-DEFINE-KEYSYM 1966 "Greek_accentdieresis")-962|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1966. "Greek_accentdieresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1007 1008 (CL-DEFINE-KEYSYM 1967 "Greek_horizbar")-963|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1967. "Greek_horizbar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1008 1009 (CL-DEFINE-KEYSYM 1969 "Greek_alphaaccent")-964|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1969. "Greek_alphaaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1009 1010 (CL-DEFINE-KEYSYM 1970 "Greek_epsilonaccent")-965|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1970. "Greek_epsilonaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1010 1011 (CL-DEFINE-KEYSYM 1971 "Greek_etaaccent")-966|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1971. "Greek_etaaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1011 1012 (CL-DEFINE-KEYSYM 1972 "Greek_iotaaccent")-967|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1972. "Greek_iotaaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1012 1013 (CL-DEFINE-KEYSYM 1973 "Greek_iotadieresis")-968|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1973. "Greek_iotadieresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1013 1014 (CL-DEFINE-KEYSYM 1974 "Greek_iotaaccentdieresis")-969|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1974. "Greek_iotaaccentdieresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1014 1015 (CL-DEFINE-KEYSYM 1975 "Greek_omicronaccent")-970|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1975. "Greek_omicronaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1015 1016 (CL-DEFINE-KEYSYM 1976 "Greek_upsilonaccent")-971|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1976. "Greek_upsilonaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1016 1017 (CL-DEFINE-KEYSYM 1977 "Greek_upsilondieresis")-972|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1977. "Greek_upsilondieresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1017 1018 (CL-DEFINE-KEYSYM 1978 "Greek_upsilonaccentdieresis")-973|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1978. "Greek_upsilonaccentdieresis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1018 1019 (CL-DEFINE-KEYSYM 1979 "Greek_omegaaccent")-974|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1979. "Greek_omegaaccent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1019 1020 (CL-DEFINE-KEYSYM 1985 "Greek_ALPHA")-975|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1985. "Greek_ALPHA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1020 1021 (CL-DEFINE-KEYSYM 1986 "Greek_BETA")-976|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1986. "Greek_BETA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1021 1022 (CL-DEFINE-KEYSYM 1987 "Greek_GAMMA")-977|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1987. "Greek_GAMMA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1022 1023 (CL-DEFINE-KEYSYM 1988 "Greek_DELTA")-978|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1988. "Greek_DELTA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1023 1024 (CL-DEFINE-KEYSYM 1989 "Greek_EPSILON")-979|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1989. "Greek_EPSILON" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1024 1025 (CL-DEFINE-KEYSYM 1990 "Greek_ZETA")-980|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1990. "Greek_ZETA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1025 1026 (CL-DEFINE-KEYSYM 1991 "Greek_ETA")-981|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1991. "Greek_ETA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1026 1027 (CL-DEFINE-KEYSYM 1992 "Greek_THETA")-982|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1992. "Greek_THETA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1027 1028 (CL-DEFINE-KEYSYM 1993 "Greek_IOTA")-983|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1993. "Greek_IOTA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1028 1029 (CL-DEFINE-KEYSYM 1994 "Greek_KAPPA")-984|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1994. "Greek_KAPPA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1029 1030 (CL-DEFINE-KEYSYM 1995 "Greek_LAMDA")-985|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1995. "Greek_LAMDA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1030 1031 (CL-DEFINE-KEYSYM 1995 "Greek_LAMBDA")-986|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1995. "Greek_LAMBDA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1031 1032 (CL-DEFINE-KEYSYM 1996 "Greek_MU")-987|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1996. "Greek_MU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1032 1033 (CL-DEFINE-KEYSYM 1997 "Greek_NU")-988|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1997. "Greek_NU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1033 1034 (CL-DEFINE-KEYSYM 1998 "Greek_XI")-989|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1998. "Greek_XI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1034 1035 (CL-DEFINE-KEYSYM 1999 "Greek_OMICRON")-990|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (1999. "Greek_OMICRON" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1035 1036 (CL-DEFINE-KEYSYM 2000 "Greek_PI")-991|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2000. "Greek_PI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1036 1037 (CL-DEFINE-KEYSYM 2001 "Greek_RHO")-992|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2001. "Greek_RHO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1037 1038 (CL-DEFINE-KEYSYM 2002 "Greek_SIGMA")-993|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2002. "Greek_SIGMA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1038 1039 (CL-DEFINE-KEYSYM 2004 "Greek_TAU")-994|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2004. "Greek_TAU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1039 1040 (CL-DEFINE-KEYSYM 2005 "Greek_UPSILON")-995|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2005. "Greek_UPSILON" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1040 1041 (CL-DEFINE-KEYSYM 2006 "Greek_PHI")-996|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2006. "Greek_PHI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1041 1042 (CL-DEFINE-KEYSYM 2007 "Greek_CHI")-997|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2007. "Greek_CHI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1042 1043 (CL-DEFINE-KEYSYM 2008 "Greek_PSI")-998|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2008. "Greek_PSI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1043 1044 (CL-DEFINE-KEYSYM 2009 "Greek_OMEGA")-999|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2009. "Greek_OMEGA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1044 1045 (CL-DEFINE-KEYSYM 2017 "Greek_alpha")-1000|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2017. "Greek_alpha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1045 1046 (CL-DEFINE-KEYSYM 2018 "Greek_beta")-1001|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2018. "Greek_beta" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1046 1047 (CL-DEFINE-KEYSYM 2019 "Greek_gamma")-1002|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2019. "Greek_gamma" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1047 1048 (CL-DEFINE-KEYSYM 2020 "Greek_delta")-1003|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2020. "Greek_delta" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1048 1049 (CL-DEFINE-KEYSYM 2021 "Greek_epsilon")-1004|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2021. "Greek_epsilon" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1049 1050 (CL-DEFINE-KEYSYM 2022 "Greek_zeta")-1005|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2022. "Greek_zeta" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1050 1051 (CL-DEFINE-KEYSYM 2023 "Greek_eta")-1006|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2023. "Greek_eta" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1051 1052 (CL-DEFINE-KEYSYM 2024 "Greek_theta")-1007|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2024. "Greek_theta" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1052 1053 (CL-DEFINE-KEYSYM 2025 "Greek_iota")-1008|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2025. "Greek_iota" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1053 1054 (CL-DEFINE-KEYSYM 2026 "Greek_kappa")-1009|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2026. "Greek_kappa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1054 1055 (CL-DEFINE-KEYSYM 2027 "Greek_lamda")-1010|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2027. "Greek_lamda" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1055 1056 (CL-DEFINE-KEYSYM 2027 "Greek_lambda")-1011|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2027. "Greek_lambda" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1056 1057 (CL-DEFINE-KEYSYM 2028 "Greek_mu")-1012|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2028. "Greek_mu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1057 1058 (CL-DEFINE-KEYSYM 2029 "Greek_nu")-1013|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2029. "Greek_nu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1058 1059 (CL-DEFINE-KEYSYM 2030 "Greek_xi")-1014|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2030. "Greek_xi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1059 1060 (CL-DEFINE-KEYSYM 2031 "Greek_omicron")-1015|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2031. "Greek_omicron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1060 1061 (CL-DEFINE-KEYSYM 2032 "Greek_pi")-1016|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2032. "Greek_pi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1061 1062 (CL-DEFINE-KEYSYM 2033 "Greek_rho")-1017|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2033. "Greek_rho" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1062 1063 (CL-DEFINE-KEYSYM 2034 "Greek_sigma")-1018|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2034. "Greek_sigma" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1063 1064 (CL-DEFINE-KEYSYM 2035 "Greek_finalsmallsigma")-1019|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2035. "Greek_finalsmallsigma" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1064 1065 (CL-DEFINE-KEYSYM 2036 "Greek_tau")-1020|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2036. "Greek_tau" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1065 1066 (CL-DEFINE-KEYSYM 2037 "Greek_upsilon")-1021|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2037. "Greek_upsilon" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1066 1067 (CL-DEFINE-KEYSYM 2038 "Greek_phi")-1022|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2038. "Greek_phi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1067 1068 (CL-DEFINE-KEYSYM 2039 "Greek_chi")-1023|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2039. "Greek_chi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1068 1069 (CL-DEFINE-KEYSYM 2040 "Greek_psi")-1024|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2040. "Greek_psi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1069 1070 (CL-DEFINE-KEYSYM 2041 "Greek_omega")-1025|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2041. "Greek_omega" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1070 1071 (CL-DEFINE-KEYSYM 65406 "Greek_switch")-1026|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65406. "Greek_switch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1071 1072 (CL-DEFINE-KEYSYM 2209 "leftradical")-1027|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2209. "leftradical" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1072 1073 (CL-DEFINE-KEYSYM 2210 "topleftradical")-1028|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2210. "topleftradical" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1073 1074 (CL-DEFINE-KEYSYM 2211 "horizconnector")-1029|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2211. "horizconnector" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1074 1075 (CL-DEFINE-KEYSYM 2212 "topintegral")-1030|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2212. "topintegral" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1075 1076 (CL-DEFINE-KEYSYM 2213 "botintegral")-1031|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2213. "botintegral" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1076 1077 (CL-DEFINE-KEYSYM 2214 "vertconnector")-1032|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2214. "vertconnector" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1077 1078 (CL-DEFINE-KEYSYM 2215 "topleftsqbracket")-1033|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2215. "topleftsqbracket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1078 1079 (CL-DEFINE-KEYSYM 2216 "botleftsqbracket")-1034|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2216. "botleftsqbracket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1079 1080 (CL-DEFINE-KEYSYM 2217 "toprightsqbracket")-1035|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2217. "toprightsqbracket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1080 1081 (CL-DEFINE-KEYSYM 2218 "botrightsqbracket")-1036|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2218. "botrightsqbracket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1081 1082 (CL-DEFINE-KEYSYM 2219 "topleftparens")-1037|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2219. "topleftparens" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1082 1083 (CL-DEFINE-KEYSYM 2220 "botleftparens")-1038|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2220. "botleftparens" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1083 1084 (CL-DEFINE-KEYSYM 2221 "toprightparens")-1039|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2221. "toprightparens" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1084 1085 (CL-DEFINE-KEYSYM 2222 "botrightparens")-1040|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2222. "botrightparens" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1085 1086 (CL-DEFINE-KEYSYM 2223 "leftmiddlecurlybrace")-1041|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2223. "leftmiddlecurlybrace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1086 1087 (CL-DEFINE-KEYSYM 2224 "rightmiddlecurlybrace")-1042|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2224. "rightmiddlecurlybrace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1087 1088 (CL-DEFINE-KEYSYM 2225 "topleftsummation")-1043|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2225. "topleftsummation" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1089 1089 (CL-DEFINE-KEYSYM 2226 "botleftsummation")-1044|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2226. "botleftsummation" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1090 1090 (CL-DEFINE-KEYSYM 2227 "topvertsummationconnector")-1045|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2227. "topvertsummationconnector" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1091 1091 (CL-DEFINE-KEYSYM 2228 "botvertsummationconnector")-1046|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2228. "botvertsummationconnector" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1092 1092 (CL-DEFINE-KEYSYM 2229 "toprightsummation")-1047|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2229. "toprightsummation" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1093 1093 (CL-DEFINE-KEYSYM 2230 "botrightsummation")-1048|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2230. "botrightsummation" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1094 1094 (CL-DEFINE-KEYSYM 2231 "rightmiddlesummation")-1049|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2231. "rightmiddlesummation" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1095 1095 (CL-DEFINE-KEYSYM 2236 "lessthanequal")-1050|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2236. "lessthanequal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1095 1096 (CL-DEFINE-KEYSYM 2237 "notequal")-1051|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2237. "notequal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1096 1097 (CL-DEFINE-KEYSYM 2238 "greaterthanequal")-1052|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2238. "greaterthanequal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1097 1098 (CL-DEFINE-KEYSYM 2239 "integral")-1053|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2239. "integral" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1098 1099 (CL-DEFINE-KEYSYM 2240 "therefore")-1054|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2240. "therefore" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1099 1100 (CL-DEFINE-KEYSYM 2241 "variation")-1055|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2241. "variation" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1100 1101 (CL-DEFINE-KEYSYM 2242 "infinity")-1056|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2242. "infinity" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1101 1102 (CL-DEFINE-KEYSYM 2245 "nabla")-1057|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2245. "nabla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1102 1103 (CL-DEFINE-KEYSYM 2248 "approximate")-1058|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2248. "approximate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1103 1104 (CL-DEFINE-KEYSYM 2249 "similarequal")-1059|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2249. "similarequal" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1104 1105 (CL-DEFINE-KEYSYM 2253 "ifonlyif")-1060|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2253. "ifonlyif" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1105 1106 (CL-DEFINE-KEYSYM 2254 "implies")-1061|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2254. "implies" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1106 1107 (CL-DEFINE-KEYSYM 2255 "identical")-1062|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2255. "identical" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1107 1108 (CL-DEFINE-KEYSYM 2262 "radical")-1063|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2262. "radical" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1108 1109 (CL-DEFINE-KEYSYM 2266 "includedin")-1064|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2266. "includedin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1109 1110 (CL-DEFINE-KEYSYM 2267 "includes")-1065|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2267. "includes" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1110 1111 (CL-DEFINE-KEYSYM 2268 "intersection")-1066|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2268. "intersection" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1111 1112 (CL-DEFINE-KEYSYM 2269 "union")-1067|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2269. "union" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1112 1113 (CL-DEFINE-KEYSYM 2270 "logicaland")-1068|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2270. "logicaland" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1113 1114 (CL-DEFINE-KEYSYM 2271 "logicalor")-1069|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2271. "logicalor" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1114 1115 (CL-DEFINE-KEYSYM 2287 "partialderivative")-1070|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2287. "partialderivative" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1115 1116 (CL-DEFINE-KEYSYM 2294 "function")-1071|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2294. "function" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1116 1117 (CL-DEFINE-KEYSYM 2299 "leftarrow")-1072|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2299. "leftarrow" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1117 1118 (CL-DEFINE-KEYSYM 2300 "uparrow")-1073|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2300. "uparrow" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1118 1119 (CL-DEFINE-KEYSYM 2301 "rightarrow")-1074|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2301. "rightarrow" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1119 1120 (CL-DEFINE-KEYSYM 2302 "downarrow")-1075|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2302. "downarrow" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1120 1121 (CL-DEFINE-KEYSYM 2527 "blank")-1076|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2527. "blank" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1122 1122 (CL-DEFINE-KEYSYM 2528 "soliddiamond")-1077|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2528. "soliddiamond" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1122 1123 (CL-DEFINE-KEYSYM 2529 "checkerboard")-1078|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2529. "checkerboard" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1123 1124 (CL-DEFINE-KEYSYM 2530 "ht")-1079|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2530. "ht" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1124 1125 (CL-DEFINE-KEYSYM 2531 "ff")-1080|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2531. "ff" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1125 1126 (CL-DEFINE-KEYSYM 2532 "cr")-1081|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2532. "cr" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1126 1127 (CL-DEFINE-KEYSYM 2533 "lf")-1082|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2533. "lf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1127 1128 (CL-DEFINE-KEYSYM 2536 "nl")-1083|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2536. "nl" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1128 1129 (CL-DEFINE-KEYSYM 2537 "vt")-1084|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2537. "vt" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1129 1130 (CL-DEFINE-KEYSYM 2538 "lowrightcorner")-1085|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2538. "lowrightcorner" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1130 1131 (CL-DEFINE-KEYSYM 2539 "uprightcorner")-1086|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2539. "uprightcorner" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1131 1132 (CL-DEFINE-KEYSYM 2540 "upleftcorner")-1087|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2540. "upleftcorner" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1132 1133 (CL-DEFINE-KEYSYM 2541 "lowleftcorner")-1088|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2541. "lowleftcorner" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1133 1134 (CL-DEFINE-KEYSYM 2542 "crossinglines")-1089|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2542. "crossinglines" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1134 1135 (CL-DEFINE-KEYSYM 2543 "horizlinescan1")-1090|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2543. "horizlinescan1" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1135 1136 (CL-DEFINE-KEYSYM 2544 "horizlinescan3")-1091|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2544. "horizlinescan3" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1136 1137 (CL-DEFINE-KEYSYM 2545 "horizlinescan5")-1092|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2545. "horizlinescan5" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1137 1138 (CL-DEFINE-KEYSYM 2546 "horizlinescan7")-1093|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2546. "horizlinescan7" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1138 1139 (CL-DEFINE-KEYSYM 2547 "horizlinescan9")-1094|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2547. "horizlinescan9" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1139 1140 (CL-DEFINE-KEYSYM 2548 "leftt")-1095|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2548. "leftt" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1140 1141 (CL-DEFINE-KEYSYM 2549 "rightt")-1096|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2549. "rightt" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1141 1142 (CL-DEFINE-KEYSYM 2550 "bott")-1097|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2550. "bott" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1142 1143 (CL-DEFINE-KEYSYM 2551 "topt")-1098|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2551. "topt" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1143 1144 (CL-DEFINE-KEYSYM 2552 "vertbar")-1099|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2552. "vertbar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1144 1145 (CL-DEFINE-KEYSYM 2721 "emspace")-1100|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2721. "emspace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1145 1146 (CL-DEFINE-KEYSYM 2722 "enspace")-1101|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2722. "enspace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1146 1147 (CL-DEFINE-KEYSYM 2723 "em3space")-1102|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2723. "em3space" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1147 1148 (CL-DEFINE-KEYSYM 2724 "em4space")-1103|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2724. "em4space" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1148 1149 (CL-DEFINE-KEYSYM 2725 "digitspace")-1104|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2725. "digitspace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1149 1150 (CL-DEFINE-KEYSYM 2726 "punctspace")-1105|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2726. "punctspace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1150 1151 (CL-DEFINE-KEYSYM 2727 "thinspace")-1106|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2727. "thinspace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1151 1152 (CL-DEFINE-KEYSYM 2728 "hairspace")-1107|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2728. "hairspace" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1152 1153 (CL-DEFINE-KEYSYM 2729 "emdash")-1108|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2729. "emdash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1153 1154 (CL-DEFINE-KEYSYM 2730 "endash")-1109|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2730. "endash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1154 1155 (CL-DEFINE-KEYSYM 2732 "signifblank")-1110|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2732. "signifblank" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1155 1156 (CL-DEFINE-KEYSYM 2734 "ellipsis")-1111|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2734. "ellipsis" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1156 1157 (CL-DEFINE-KEYSYM 2735 "doubbaselinedot")-1112|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2735. "doubbaselinedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1157 1158 (CL-DEFINE-KEYSYM 2736 "onethird")-1113|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2736. "onethird" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1158 1159 (CL-DEFINE-KEYSYM 2737 "twothirds")-1114|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2737. "twothirds" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1159 1160 (CL-DEFINE-KEYSYM 2738 "onefifth")-1115|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2738. "onefifth" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1160 1161 (CL-DEFINE-KEYSYM 2739 "twofifths")-1116|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2739. "twofifths" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1161 1162 (CL-DEFINE-KEYSYM 2740 "threefifths")-1117|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2740. "threefifths" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1162 1163 (CL-DEFINE-KEYSYM 2741 "fourfifths")-1118|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2741. "fourfifths" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1163 1164 (CL-DEFINE-KEYSYM 2742 "onesixth")-1119|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2742. "onesixth" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1164 1165 (CL-DEFINE-KEYSYM 2743 "fivesixths")-1120|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2743. "fivesixths" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1165 1166 (CL-DEFINE-KEYSYM 2744 "careof")-1121|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2744. "careof" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1166 1167 (CL-DEFINE-KEYSYM 2747 "figdash")-1122|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2747. "figdash" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1167 1168 (CL-DEFINE-KEYSYM 2748 "leftanglebracket")-1123|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2748. "leftanglebracket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1168 1169 (CL-DEFINE-KEYSYM 2749 "decimalpoint")-1124|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2749. "decimalpoint" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1169 1170 (CL-DEFINE-KEYSYM 2750 "rightanglebracket")-1125|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2750. "rightanglebracket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1170 1171 (CL-DEFINE-KEYSYM 2751 "marker")-1126|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2751. "marker" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1172 1172 (CL-DEFINE-KEYSYM 2755 "oneeighth")-1127|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2755. "oneeighth" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1172 1173 (CL-DEFINE-KEYSYM 2756 "threeeighths")-1128|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2756. "threeeighths" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1173 1174 (CL-DEFINE-KEYSYM 2757 "fiveeighths")-1129|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2757. "fiveeighths" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1174 1175 (CL-DEFINE-KEYSYM 2758 "seveneighths")-1130|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2758. "seveneighths" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1175 1176 (CL-DEFINE-KEYSYM 2761 "trademark")-1131|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2761. "trademark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1176 1177 (CL-DEFINE-KEYSYM 2762 "signaturemark")-1132|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2762. "signaturemark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1177 1178 (CL-DEFINE-KEYSYM 2763 "trademarkincircle")-1133|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2763. "trademarkincircle" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1179 1179 (CL-DEFINE-KEYSYM 2764 "leftopentriangle")-1134|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2764. "leftopentriangle" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1179 1180 (CL-DEFINE-KEYSYM 2765 "rightopentriangle")-1135|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2765. "rightopentriangle" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1180 1181 (CL-DEFINE-KEYSYM 2766 "emopencircle")-1136|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2766. "emopencircle" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1181 1182 (CL-DEFINE-KEYSYM 2767 "emopenrectangle")-1137|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2767. "emopenrectangle" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1182 1183 (CL-DEFINE-KEYSYM 2768 "leftsinglequotemark")-1138|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2768. "leftsinglequotemark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1183 1184 (CL-DEFINE-KEYSYM 2769 "rightsinglequotemark")-1139|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2769. "rightsinglequotemark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1184 1185 (CL-DEFINE-KEYSYM 2770 "leftdoublequotemark")-1140|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2770. "leftdoublequotemark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1185 1186 (CL-DEFINE-KEYSYM 2771 "rightdoublequotemark")-1141|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2771. "rightdoublequotemark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1186 1187 (CL-DEFINE-KEYSYM 2772 "prescription")-1142|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2772. "prescription" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1187 1188 (CL-DEFINE-KEYSYM 2774 "minutes")-1143|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2774. "minutes" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1188 1189 (CL-DEFINE-KEYSYM 2775 "seconds")-1144|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2775. "seconds" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1189 1190 (CL-DEFINE-KEYSYM 2777 "latincross")-1145|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2777. "latincross" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1190 1191 (CL-DEFINE-KEYSYM 2778 "hexagram")-1146|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2778. "hexagram" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1192 1192 (CL-DEFINE-KEYSYM 2779 "filledrectbullet")-1147|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2779. "filledrectbullet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1192 1193 (CL-DEFINE-KEYSYM 2780 "filledlefttribullet")-1148|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2780. "filledlefttribullet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1193 1194 (CL-DEFINE-KEYSYM 2781 "filledrighttribullet")-1149|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2781. "filledrighttribullet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1194 1195 (CL-DEFINE-KEYSYM 2782 "emfilledcircle")-1150|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2782. "emfilledcircle" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1195 1196 (CL-DEFINE-KEYSYM 2783 "emfilledrect")-1151|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2783. "emfilledrect" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1196 1197 (CL-DEFINE-KEYSYM 2784 "enopencircbullet")-1152|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2784. "enopencircbullet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1197 1198 (CL-DEFINE-KEYSYM 2785 "enopensquarebullet")-1153|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2785. "enopensquarebullet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1198 1199 (CL-DEFINE-KEYSYM 2786 "openrectbullet")-1154|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2786. "openrectbullet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1199 1200 (CL-DEFINE-KEYSYM 2787 "opentribulletup")-1155|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2787. "opentribulletup" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1200 1201 (CL-DEFINE-KEYSYM 2788 "opentribulletdown")-1156|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2788. "opentribulletdown" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1201 1202 (CL-DEFINE-KEYSYM 2789 "openstar")-1157|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2789. "openstar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1202 1203 (CL-DEFINE-KEYSYM 2790 "enfilledcircbullet")-1158|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2790. "enfilledcircbullet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1203 1204 (CL-DEFINE-KEYSYM 2791 "enfilledsqbullet")-1159|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2791. "enfilledsqbullet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1204 1205 (CL-DEFINE-KEYSYM 2792 "filledtribulletup")-1160|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2792. "filledtribulletup" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1205 1206 (CL-DEFINE-KEYSYM 2793 "filledtribulletdown")-1161|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2793. "filledtribulletdown" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1206 1207 (CL-DEFINE-KEYSYM 2794 "leftpointer")-1162|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2794. "leftpointer" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1207 1208 (CL-DEFINE-KEYSYM 2795 "rightpointer")-1163|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2795. "rightpointer" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1208 1209 (CL-DEFINE-KEYSYM 2796 "club")-1164|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2796. "club" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1209 1210 (CL-DEFINE-KEYSYM 2797 "diamond")-1165|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2797. "diamond" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1210 1211 (CL-DEFINE-KEYSYM 2798 "heart")-1166|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2798. "heart" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1211 1212 (CL-DEFINE-KEYSYM 2800 "maltesecross")-1167|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2800. "maltesecross" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1212 1213 (CL-DEFINE-KEYSYM 2801 "dagger")-1168|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2801. "dagger" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1213 1214 (CL-DEFINE-KEYSYM 2802 "doubledagger")-1169|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2802. "doubledagger" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1214 1215 (CL-DEFINE-KEYSYM 2803 "checkmark")-1170|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2803. "checkmark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1215 1216 (CL-DEFINE-KEYSYM 2804 "ballotcross")-1171|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2804. "ballotcross" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1216 1217 (CL-DEFINE-KEYSYM 2805 "musicalsharp")-1172|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2805. "musicalsharp" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1217 1218 (CL-DEFINE-KEYSYM 2806 "musicalflat")-1173|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2806. "musicalflat" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1218 1219 (CL-DEFINE-KEYSYM 2807 "malesymbol")-1174|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2807. "malesymbol" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1219 1220 (CL-DEFINE-KEYSYM 2808 "femalesymbol")-1175|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2808. "femalesymbol" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1220 1221 (CL-DEFINE-KEYSYM 2809 "telephone")-1176|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2809. "telephone" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1221 1222 (CL-DEFINE-KEYSYM 2810 "telephonerecorder")-1177|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2810. "telephonerecorder" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1222 1223 (CL-DEFINE-KEYSYM 2811 "phonographcopyright")-1178|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2811. "phonographcopyright" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1223 1224 (CL-DEFINE-KEYSYM 2812 "caret")-1179|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2812. "caret" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1224 1225 (CL-DEFINE-KEYSYM 2813 "singlelowquotemark")-1180|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2813. "singlelowquotemark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1225 1226 (CL-DEFINE-KEYSYM 2814 "doublelowquotemark")-1181|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2814. "doublelowquotemark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1226 1227 (CL-DEFINE-KEYSYM 2815 "cursor")-1182|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2815. "cursor" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1228 1228 (CL-DEFINE-KEYSYM 2979 "leftcaret")-1183|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2979. "leftcaret" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1228 1229 (CL-DEFINE-KEYSYM 2982 "rightcaret")-1184|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2982. "rightcaret" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1229 1230 (CL-DEFINE-KEYSYM 2984 "downcaret")-1185|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2984. "downcaret" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1230 1231 (CL-DEFINE-KEYSYM 2985 "upcaret")-1186|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (2985. "upcaret" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1231 1232 (CL-DEFINE-KEYSYM 3008 "overbar")-1187|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3008. "overbar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1232 1233 (CL-DEFINE-KEYSYM 3010 "downtack")-1188|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3010. "downtack" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1233 1234 (CL-DEFINE-KEYSYM 3011 "upshoe")-1189|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3011. "upshoe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1234 1235 (CL-DEFINE-KEYSYM 3012 "downstile")-1190|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3012. "downstile" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1235 1236 (CL-DEFINE-KEYSYM 3014 "underbar")-1191|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3014. "underbar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1236 1237 (CL-DEFINE-KEYSYM 3018 "jot")-1192|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3018. "jot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1237 1238 (CL-DEFINE-KEYSYM 3020 "quad")-1193|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3020. "quad" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1238 1239 (CL-DEFINE-KEYSYM 3022 "uptack")-1194|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3022. "uptack" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1239 1240 (CL-DEFINE-KEYSYM 3023 "circle")-1195|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3023. "circle" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1240 1241 (CL-DEFINE-KEYSYM 3027 "upstile")-1196|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3027. "upstile" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1241 1242 (CL-DEFINE-KEYSYM 3030 "downshoe")-1197|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3030. "downshoe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1242 1243 (CL-DEFINE-KEYSYM 3032 "rightshoe")-1198|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3032. "rightshoe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1243 1244 (CL-DEFINE-KEYSYM 3034 "leftshoe")-1199|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3034. "leftshoe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1244 1245 (CL-DEFINE-KEYSYM 3036 "lefttack")-1200|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3036. "lefttack" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1245 1246 (CL-DEFINE-KEYSYM 3068 "righttack")-1201|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3068. "righttack" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1246 1247 (CL-DEFINE-KEYSYM 3295 "hebrew_doublelowline")-1202|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3295. "hebrew_doublelowline" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1247 1248 (CL-DEFINE-KEYSYM 3296 "hebrew_aleph")-1203|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3296. "hebrew_aleph" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1248 1249 (CL-DEFINE-KEYSYM 3297 "hebrew_bet")-1204|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3297. "hebrew_bet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1249 1250 (CL-DEFINE-KEYSYM 3297 "hebrew_beth")-1205|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3297. "hebrew_beth" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1250 1251 (CL-DEFINE-KEYSYM 3298 "hebrew_gimel")-1206|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3298. "hebrew_gimel" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1251 1252 (CL-DEFINE-KEYSYM 3298 "hebrew_gimmel")-1207|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3298. "hebrew_gimmel" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1252 1253 (CL-DEFINE-KEYSYM 3299 "hebrew_dalet")-1208|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3299. "hebrew_dalet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1253 1254 (CL-DEFINE-KEYSYM 3299 "hebrew_daleth")-1209|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3299. "hebrew_daleth" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1254 1255 (CL-DEFINE-KEYSYM 3300 "hebrew_he")-1210|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3300. "hebrew_he" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1255 1256 (CL-DEFINE-KEYSYM 3301 "hebrew_waw")-1211|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3301. "hebrew_waw" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1256 1257 (CL-DEFINE-KEYSYM 3302 "hebrew_zain")-1212|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3302. "hebrew_zain" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1257 1258 (CL-DEFINE-KEYSYM 3302 "hebrew_zayin")-1213|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3302. "hebrew_zayin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1258 1259 (CL-DEFINE-KEYSYM 3303 "hebrew_chet")-1214|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3303. "hebrew_chet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1259 1260 (CL-DEFINE-KEYSYM 3303 "hebrew_het")-1215|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3303. "hebrew_het" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1260 1261 (CL-DEFINE-KEYSYM 3304 "hebrew_tet")-1216|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3304. "hebrew_tet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1261 1262 (CL-DEFINE-KEYSYM 3304 "hebrew_teth")-1217|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3304. "hebrew_teth" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1262 1263 (CL-DEFINE-KEYSYM 3305 "hebrew_yod")-1218|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3305. "hebrew_yod" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1263 1264 (CL-DEFINE-KEYSYM 3306 "hebrew_finalkaph")-1219|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3306. "hebrew_finalkaph" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1264 1265 (CL-DEFINE-KEYSYM 3307 "hebrew_kaph")-1220|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3307. "hebrew_kaph" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1265 1266 (CL-DEFINE-KEYSYM 3308 "hebrew_lamed")-1221|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3308. "hebrew_lamed" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1266 1267 (CL-DEFINE-KEYSYM 3309 "hebrew_finalmem")-1222|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3309. "hebrew_finalmem" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1267 1268 (CL-DEFINE-KEYSYM 3310 "hebrew_mem")-1223|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3310. "hebrew_mem" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1268 1269 (CL-DEFINE-KEYSYM 3311 "hebrew_finalnun")-1224|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3311. "hebrew_finalnun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1269 1270 (CL-DEFINE-KEYSYM 3312 "hebrew_nun")-1225|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3312. "hebrew_nun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1270 1271 (CL-DEFINE-KEYSYM 3313 "hebrew_samech")-1226|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3313. "hebrew_samech" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1271 1272 (CL-DEFINE-KEYSYM 3313 "hebrew_samekh")-1227|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3313. "hebrew_samekh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1272 1273 (CL-DEFINE-KEYSYM 3314 "hebrew_ayin")-1228|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3314. "hebrew_ayin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1273 1274 (CL-DEFINE-KEYSYM 3315 "hebrew_finalpe")-1229|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3315. "hebrew_finalpe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1274 1275 (CL-DEFINE-KEYSYM 3316 "hebrew_pe")-1230|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3316. "hebrew_pe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1275 1276 (CL-DEFINE-KEYSYM 3317 "hebrew_finalzade")-1231|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3317. "hebrew_finalzade" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1276 1277 (CL-DEFINE-KEYSYM 3317 "hebrew_finalzadi")-1232|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3317. "hebrew_finalzadi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1277 1278 (CL-DEFINE-KEYSYM 3318 "hebrew_zade")-1233|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3318. "hebrew_zade" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1278 1279 (CL-DEFINE-KEYSYM 3318 "hebrew_zadi")-1234|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3318. "hebrew_zadi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1279 1280 (CL-DEFINE-KEYSYM 3319 "hebrew_qoph")-1235|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3319. "hebrew_qoph" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1280 1281 (CL-DEFINE-KEYSYM 3319 "hebrew_kuf")-1236|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3319. "hebrew_kuf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1281 1282 (CL-DEFINE-KEYSYM 3320 "hebrew_resh")-1237|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3320. "hebrew_resh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1282 1283 (CL-DEFINE-KEYSYM 3321 "hebrew_shin")-1238|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3321. "hebrew_shin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1283 1284 (CL-DEFINE-KEYSYM 3322 "hebrew_taw")-1239|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3322. "hebrew_taw" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1284 1285 (CL-DEFINE-KEYSYM 3322 "hebrew_taf")-1240|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3322. "hebrew_taf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1285 1286 (CL-DEFINE-KEYSYM 65406 "Hebrew_switch")-1241|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65406. "Hebrew_switch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1286 1287 (CL-DEFINE-KEYSYM 3489 "Thai_kokai")-1242|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3489. "Thai_kokai" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1287 1288 (CL-DEFINE-KEYSYM 3490 "Thai_khokhai")-1243|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3490. "Thai_khokhai" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1288 1289 (CL-DEFINE-KEYSYM 3491 "Thai_khokhuat")-1244|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3491. "Thai_khokhuat" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1289 1290 (CL-DEFINE-KEYSYM 3492 "Thai_khokhwai")-1245|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3492. "Thai_khokhwai" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1290 1291 (CL-DEFINE-KEYSYM 3493 "Thai_khokhon")-1246|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3493. "Thai_khokhon" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1291 1292 (CL-DEFINE-KEYSYM 3494 "Thai_khorakhang")-1247|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3494. "Thai_khorakhang" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1292 1293 (CL-DEFINE-KEYSYM 3495 "Thai_ngongu")-1248|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3495. "Thai_ngongu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1293 1294 (CL-DEFINE-KEYSYM 3496 "Thai_chochan")-1249|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3496. "Thai_chochan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1294 1295 (CL-DEFINE-KEYSYM 3497 "Thai_choching")-1250|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3497. "Thai_choching" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1295 1296 (CL-DEFINE-KEYSYM 3498 "Thai_chochang")-1251|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3498. "Thai_chochang" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1296 1297 (CL-DEFINE-KEYSYM 3499 "Thai_soso")-1252|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3499. "Thai_soso" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1297 1298 (CL-DEFINE-KEYSYM 3500 "Thai_chochoe")-1253|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3500. "Thai_chochoe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1298 1299 (CL-DEFINE-KEYSYM 3501 "Thai_yoying")-1254|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3501. "Thai_yoying" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1299 1300 (CL-DEFINE-KEYSYM 3502 "Thai_dochada")-1255|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3502. "Thai_dochada" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1300 1301 (CL-DEFINE-KEYSYM 3503 "Thai_topatak")-1256|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3503. "Thai_topatak" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1301 1302 (CL-DEFINE-KEYSYM 3504 "Thai_thothan")-1257|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3504. "Thai_thothan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1302 1303 (CL-DEFINE-KEYSYM 3505 "Thai_thonangmontho")-1258|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3505. "Thai_thonangmontho" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1303 1304 (CL-DEFINE-KEYSYM 3506 "Thai_thophuthao")-1259|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3506. "Thai_thophuthao" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1304 1305 (CL-DEFINE-KEYSYM 3507 "Thai_nonen")-1260|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3507. "Thai_nonen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1305 1306 (CL-DEFINE-KEYSYM 3508 "Thai_dodek")-1261|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3508. "Thai_dodek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1306 1307 (CL-DEFINE-KEYSYM 3509 "Thai_totao")-1262|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3509. "Thai_totao" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1307 1308 (CL-DEFINE-KEYSYM 3510 "Thai_thothung")-1263|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3510. "Thai_thothung" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1308 1309 (CL-DEFINE-KEYSYM 3511 "Thai_thothahan")-1264|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3511. "Thai_thothahan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1309 1310 (CL-DEFINE-KEYSYM 3512 "Thai_thothong")-1265|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3512. "Thai_thothong" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1310 1311 (CL-DEFINE-KEYSYM 3513 "Thai_nonu")-1266|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3513. "Thai_nonu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1311 1312 (CL-DEFINE-KEYSYM 3514 "Thai_bobaimai")-1267|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3514. "Thai_bobaimai" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1312 1313 (CL-DEFINE-KEYSYM 3515 "Thai_popla")-1268|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3515. "Thai_popla" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1313 1314 (CL-DEFINE-KEYSYM 3516 "Thai_phophung")-1269|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3516. "Thai_phophung" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1314 1315 (CL-DEFINE-KEYSYM 3517 "Thai_fofa")-1270|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3517. "Thai_fofa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1315 1316 (CL-DEFINE-KEYSYM 3518 "Thai_phophan")-1271|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3518. "Thai_phophan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1316 1317 (CL-DEFINE-KEYSYM 3519 "Thai_fofan")-1272|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3519. "Thai_fofan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1317 1318 (CL-DEFINE-KEYSYM 3520 "Thai_phosamphao")-1273|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3520. "Thai_phosamphao" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1318 1319 (CL-DEFINE-KEYSYM 3521 "Thai_moma")-1274|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3521. "Thai_moma" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1319 1320 (CL-DEFINE-KEYSYM 3522 "Thai_yoyak")-1275|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3522. "Thai_yoyak" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1320 1321 (CL-DEFINE-KEYSYM 3523 "Thai_rorua")-1276|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3523. "Thai_rorua" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1321 1322 (CL-DEFINE-KEYSYM 3524 "Thai_ru")-1277|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3524. "Thai_ru" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1322 1323 (CL-DEFINE-KEYSYM 3525 "Thai_loling")-1278|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3525. "Thai_loling" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1323 1324 (CL-DEFINE-KEYSYM 3526 "Thai_lu")-1279|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3526. "Thai_lu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1324 1325 (CL-DEFINE-KEYSYM 3527 "Thai_wowaen")-1280|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3527. "Thai_wowaen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1325 1326 (CL-DEFINE-KEYSYM 3528 "Thai_sosala")-1281|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3528. "Thai_sosala" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1326 1327 (CL-DEFINE-KEYSYM 3529 "Thai_sorusi")-1282|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3529. "Thai_sorusi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1327 1328 (CL-DEFINE-KEYSYM 3530 "Thai_sosua")-1283|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3530. "Thai_sosua" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1328 1329 (CL-DEFINE-KEYSYM 3531 "Thai_hohip")-1284|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3531. "Thai_hohip" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1329 1330 (CL-DEFINE-KEYSYM 3532 "Thai_lochula")-1285|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3532. "Thai_lochula" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1330 1331 (CL-DEFINE-KEYSYM 3533 "Thai_oang")-1286|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3533. "Thai_oang" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1331 1332 (CL-DEFINE-KEYSYM 3534 "Thai_honokhuk")-1287|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3534. "Thai_honokhuk" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1332 1333 (CL-DEFINE-KEYSYM 3535 "Thai_paiyannoi")-1288|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3535. "Thai_paiyannoi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1333 1334 (CL-DEFINE-KEYSYM 3536 "Thai_saraa")-1289|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3536. "Thai_saraa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1334 1335 (CL-DEFINE-KEYSYM 3537 "Thai_maihanakat")-1290|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3537. "Thai_maihanakat" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1335 1336 (CL-DEFINE-KEYSYM 3538 "Thai_saraaa")-1291|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3538. "Thai_saraaa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1336 1337 (CL-DEFINE-KEYSYM 3539 "Thai_saraam")-1292|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3539. "Thai_saraam" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1337 1338 (CL-DEFINE-KEYSYM 3540 "Thai_sarai")-1293|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3540. "Thai_sarai" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1338 1339 (CL-DEFINE-KEYSYM 3541 "Thai_saraii")-1294|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3541. "Thai_saraii" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1339 1340 (CL-DEFINE-KEYSYM 3542 "Thai_saraue")-1295|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3542. "Thai_saraue" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1340 1341 (CL-DEFINE-KEYSYM 3543 "Thai_sarauee")-1296|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3543. "Thai_sarauee" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1341 1342 (CL-DEFINE-KEYSYM 3544 "Thai_sarau")-1297|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3544. "Thai_sarau" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1342 1343 (CL-DEFINE-KEYSYM 3545 "Thai_sarauu")-1298|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3545. "Thai_sarauu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1343 1344 (CL-DEFINE-KEYSYM 3546 "Thai_phinthu")-1299|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3546. "Thai_phinthu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1344 1345 (CL-DEFINE-KEYSYM 3550 "Thai_maihanakat_maitho")-1300|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3550. "Thai_maihanakat_maitho" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1346 1346 (CL-DEFINE-KEYSYM 3551 "Thai_baht")-1301|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3551. "Thai_baht" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1346 1347 (CL-DEFINE-KEYSYM 3552 "Thai_sarae")-1302|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3552. "Thai_sarae" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1347 1348 (CL-DEFINE-KEYSYM 3553 "Thai_saraae")-1303|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3553. "Thai_saraae" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1348 1349 (CL-DEFINE-KEYSYM 3554 "Thai_sarao")-1304|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3554. "Thai_sarao" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1349 1350 (CL-DEFINE-KEYSYM 3555 "Thai_saraaimaimuan")-1305|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3555. "Thai_saraaimaimuan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1350 1351 (CL-DEFINE-KEYSYM 3556 "Thai_saraaimaimalai")-1306|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3556. "Thai_saraaimaimalai" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1351 1352 (CL-DEFINE-KEYSYM 3557 "Thai_lakkhangyao")-1307|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3557. "Thai_lakkhangyao" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1352 1353 (CL-DEFINE-KEYSYM 3558 "Thai_maiyamok")-1308|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3558. "Thai_maiyamok" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1353 1354 (CL-DEFINE-KEYSYM 3559 "Thai_maitaikhu")-1309|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3559. "Thai_maitaikhu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1354 1355 (CL-DEFINE-KEYSYM 3560 "Thai_maiek")-1310|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3560. "Thai_maiek" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1355 1356 (CL-DEFINE-KEYSYM 3561 "Thai_maitho")-1311|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3561. "Thai_maitho" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1356 1357 (CL-DEFINE-KEYSYM 3562 "Thai_maitri")-1312|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3562. "Thai_maitri" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1357 1358 (CL-DEFINE-KEYSYM 3563 "Thai_maichattawa")-1313|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3563. "Thai_maichattawa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1358 1359 (CL-DEFINE-KEYSYM 3564 "Thai_thanthakhat")-1314|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3564. "Thai_thanthakhat" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1359 1360 (CL-DEFINE-KEYSYM 3565 "Thai_nikhahit")-1315|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3565. "Thai_nikhahit" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1360 1361 (CL-DEFINE-KEYSYM 3568 "Thai_leksun")-1316|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3568. "Thai_leksun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1361 1362 (CL-DEFINE-KEYSYM 3569 "Thai_leknung")-1317|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3569. "Thai_leknung" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1362 1363 (CL-DEFINE-KEYSYM 3570 "Thai_leksong")-1318|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3570. "Thai_leksong" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1363 1364 (CL-DEFINE-KEYSYM 3571 "Thai_leksam")-1319|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3571. "Thai_leksam" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1364 1365 (CL-DEFINE-KEYSYM 3572 "Thai_leksi")-1320|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3572. "Thai_leksi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1365 1366 (CL-DEFINE-KEYSYM 3573 "Thai_lekha")-1321|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3573. "Thai_lekha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1366 1367 (CL-DEFINE-KEYSYM 3574 "Thai_lekhok")-1322|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3574. "Thai_lekhok" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1367 1368 (CL-DEFINE-KEYSYM 3575 "Thai_lekchet")-1323|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3575. "Thai_lekchet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1368 1369 (CL-DEFINE-KEYSYM 3576 "Thai_lekpaet")-1324|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3576. "Thai_lekpaet" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1369 1370 (CL-DEFINE-KEYSYM 3577 "Thai_lekkao")-1325|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3577. "Thai_lekkao" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1370 1371 (CL-DEFINE-KEYSYM 65329 "Hangul")-1326|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65329. "Hangul" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1371 1372 (CL-DEFINE-KEYSYM 65330 "Hangul_Start")-1327|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65330. "Hangul_Start" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1372 1373 (CL-DEFINE-KEYSYM 65331 "Hangul_End")-1328|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65331. "Hangul_End" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1373 1374 (CL-DEFINE-KEYSYM 65332 "Hangul_Hanja")-1329|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65332. "Hangul_Hanja" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1374 1375 (CL-DEFINE-KEYSYM 65333 "Hangul_Jamo")-1330|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65333. "Hangul_Jamo" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1375 1376 (CL-DEFINE-KEYSYM 65334 "Hangul_Romaja")-1331|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65334. "Hangul_Romaja" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1376 1377 (CL-DEFINE-KEYSYM 65335 "Hangul_Codeinput")-1332|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65335. "Hangul_Codeinput" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1377 1378 (CL-DEFINE-KEYSYM 65336 "Hangul_Jeonja")-1333|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65336. "Hangul_Jeonja" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1378 1379 (CL-DEFINE-KEYSYM 65337 "Hangul_Banja")-1334|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65337. "Hangul_Banja" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1379 1380 (CL-DEFINE-KEYSYM 65338 "Hangul_PreHanja")-1335|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65338. "Hangul_PreHanja" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1380 1381 (CL-DEFINE-KEYSYM 65339 "Hangul_PostHanja")-1336|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65339. "Hangul_PostHanja" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1381 1382 (CL-DEFINE-KEYSYM 65340 "Hangul_SingleCandidate")-1337|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65340. "Hangul_SingleCandidate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1382 1383 (CL-DEFINE-KEYSYM 65341 "Hangul_MultipleCandidate")-1338|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65341. "Hangul_MultipleCandidate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1383 1384 (CL-DEFINE-KEYSYM 65342 "Hangul_PreviousCandidate")-1339|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65342. "Hangul_PreviousCandidate" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1384 1385 (CL-DEFINE-KEYSYM 65343 "Hangul_Special")-1340|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65343. "Hangul_Special" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1385 1386 (CL-DEFINE-KEYSYM 65406 "Hangul_switch")-1341|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (65406. "Hangul_switch" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1386 1387 (CL-DEFINE-KEYSYM 3745 "Hangul_Kiyeog")-1342|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3745. "Hangul_Kiyeog" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1388 1388 (CL-DEFINE-KEYSYM 3746 "Hangul_SsangKiyeog")-1343|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3746. "Hangul_SsangKiyeog" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1389 1389 (CL-DEFINE-KEYSYM 3747 "Hangul_KiyeogSios")-1344|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3747. "Hangul_KiyeogSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1390 1390 (CL-DEFINE-KEYSYM 3748 "Hangul_Nieun")-1345|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3748. "Hangul_Nieun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1391 1391 (CL-DEFINE-KEYSYM 3749 "Hangul_NieunJieuj")-1346|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3749. "Hangul_NieunJieuj" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1392 1392 (CL-DEFINE-KEYSYM 3750 "Hangul_NieunHieuh")-1347|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3750. "Hangul_NieunHieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1393 1393 (CL-DEFINE-KEYSYM 3751 "Hangul_Dikeud")-1348|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3751. "Hangul_Dikeud" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1394 1394 (CL-DEFINE-KEYSYM 3752 "Hangul_SsangDikeud")-1349|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3752. "Hangul_SsangDikeud" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1395 1395 (CL-DEFINE-KEYSYM 3753 "Hangul_Rieul")-1350|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3753. "Hangul_Rieul" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1396 1396 (CL-DEFINE-KEYSYM 3754 "Hangul_RieulKiyeog")-1351|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3754. "Hangul_RieulKiyeog" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1397 1397 (CL-DEFINE-KEYSYM 3755 "Hangul_RieulMieum")-1352|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3755. "Hangul_RieulMieum" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1398 1398 (CL-DEFINE-KEYSYM 3756 "Hangul_RieulPieub")-1353|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3756. "Hangul_RieulPieub" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1399 1399 (CL-DEFINE-KEYSYM 3757 "Hangul_RieulSios")-1354|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3757. "Hangul_RieulSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1400 1400 (CL-DEFINE-KEYSYM 3758 "Hangul_RieulTieut")-1355|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3758. "Hangul_RieulTieut" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1401 1401 (CL-DEFINE-KEYSYM 3759 "Hangul_RieulPhieuf")-1356|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3759. "Hangul_RieulPhieuf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1402 1402 (CL-DEFINE-KEYSYM 3760 "Hangul_RieulHieuh")-1357|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3760. "Hangul_RieulHieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1403 1403 (CL-DEFINE-KEYSYM 3761 "Hangul_Mieum")-1358|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3761. "Hangul_Mieum" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1404 1404 (CL-DEFINE-KEYSYM 3762 "Hangul_Pieub")-1359|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3762. "Hangul_Pieub" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1405 1405 (CL-DEFINE-KEYSYM 3763 "Hangul_SsangPieub")-1360|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3763. "Hangul_SsangPieub" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1406 1406 (CL-DEFINE-KEYSYM 3764 "Hangul_PieubSios")-1361|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3764. "Hangul_PieubSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1407 1407 (CL-DEFINE-KEYSYM 3765 "Hangul_Sios")-1362|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3765. "Hangul_Sios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1408 1408 (CL-DEFINE-KEYSYM 3766 "Hangul_SsangSios")-1363|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3766. "Hangul_SsangSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1409 1409 (CL-DEFINE-KEYSYM 3767 "Hangul_Ieung")-1364|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3767. "Hangul_Ieung" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1410 1410 (CL-DEFINE-KEYSYM 3768 "Hangul_Jieuj")-1365|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3768. "Hangul_Jieuj" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1411 1411 (CL-DEFINE-KEYSYM 3769 "Hangul_SsangJieuj")-1366|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3769. "Hangul_SsangJieuj" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1412 1412 (CL-DEFINE-KEYSYM 3770 "Hangul_Cieuc")-1367|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3770. "Hangul_Cieuc" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1413 1413 (CL-DEFINE-KEYSYM 3771 "Hangul_Khieuq")-1368|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3771. "Hangul_Khieuq" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1414 1414 (CL-DEFINE-KEYSYM 3772 "Hangul_Tieut")-1369|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3772. "Hangul_Tieut" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1415 1415 (CL-DEFINE-KEYSYM 3773 "Hangul_Phieuf")-1370|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3773. "Hangul_Phieuf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1416 1416 (CL-DEFINE-KEYSYM 3774 "Hangul_Hieuh")-1371|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3774. "Hangul_Hieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1417 1417 (CL-DEFINE-KEYSYM 3775 "Hangul_A")-1372|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3775. "Hangul_A" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1418 1418 (CL-DEFINE-KEYSYM 3776 "Hangul_AE")-1373|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3776. "Hangul_AE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1419 1419 (CL-DEFINE-KEYSYM 3777 "Hangul_YA")-1374|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3777. "Hangul_YA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1420 1420 (CL-DEFINE-KEYSYM 3778 "Hangul_YAE")-1375|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3778. "Hangul_YAE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1421 1421 (CL-DEFINE-KEYSYM 3779 "Hangul_EO")-1376|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3779. "Hangul_EO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1422 1422 (CL-DEFINE-KEYSYM 3780 "Hangul_E")-1377|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3780. "Hangul_E" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1423 1423 (CL-DEFINE-KEYSYM 3781 "Hangul_YEO")-1378|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3781. "Hangul_YEO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1424 1424 (CL-DEFINE-KEYSYM 3782 "Hangul_YE")-1379|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3782. "Hangul_YE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1425 1425 (CL-DEFINE-KEYSYM 3783 "Hangul_O")-1380|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3783. "Hangul_O" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1426 1426 (CL-DEFINE-KEYSYM 3784 "Hangul_WA")-1381|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3784. "Hangul_WA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1427 1427 (CL-DEFINE-KEYSYM 3785 "Hangul_WAE")-1382|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3785. "Hangul_WAE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1428 1428 (CL-DEFINE-KEYSYM 3786 "Hangul_OE")-1383|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3786. "Hangul_OE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1429 1429 (CL-DEFINE-KEYSYM 3787 "Hangul_YO")-1384|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3787. "Hangul_YO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1430 1430 (CL-DEFINE-KEYSYM 3788 "Hangul_U")-1385|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3788. "Hangul_U" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1431 1431 (CL-DEFINE-KEYSYM 3789 "Hangul_WEO")-1386|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3789. "Hangul_WEO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1432 1432 (CL-DEFINE-KEYSYM 3790 "Hangul_WE")-1387|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3790. "Hangul_WE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1433 1433 (CL-DEFINE-KEYSYM 3791 "Hangul_WI")-1388|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3791. "Hangul_WI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1434 1434 (CL-DEFINE-KEYSYM 3792 "Hangul_YU")-1389|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3792. "Hangul_YU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1435 1435 (CL-DEFINE-KEYSYM 3793 "Hangul_EU")-1390|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3793. "Hangul_EU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1436 1436 (CL-DEFINE-KEYSYM 3794 "Hangul_YI")-1391|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3794. "Hangul_YI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1437 1437 (CL-DEFINE-KEYSYM 3795 "Hangul_I")-1392|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3795. "Hangul_I" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1438 1438 (CL-DEFINE-KEYSYM 3796 "Hangul_J_Kiyeog")-1393|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3796. "Hangul_J_Kiyeog" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1439 1439 (CL-DEFINE-KEYSYM 3797 "Hangul_J_SsangKiyeog")-1394|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3797. "Hangul_J_SsangKiyeog" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1440 1440 (CL-DEFINE-KEYSYM 3798 "Hangul_J_KiyeogSios")-1395|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3798. "Hangul_J_KiyeogSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1441 1441 (CL-DEFINE-KEYSYM 3799 "Hangul_J_Nieun")-1396|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3799. "Hangul_J_Nieun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1442 1442 (CL-DEFINE-KEYSYM 3800 "Hangul_J_NieunJieuj")-1397|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3800. "Hangul_J_NieunJieuj" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1443 1443 (CL-DEFINE-KEYSYM 3801 "Hangul_J_NieunHieuh")-1398|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3801. "Hangul_J_NieunHieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1444 1444 (CL-DEFINE-KEYSYM 3802 "Hangul_J_Dikeud")-1399|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3802. "Hangul_J_Dikeud" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1445 1445 (CL-DEFINE-KEYSYM 3803 "Hangul_J_Rieul")-1400|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3803. "Hangul_J_Rieul" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1446 1446 (CL-DEFINE-KEYSYM 3804 "Hangul_J_RieulKiyeog")-1401|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3804. "Hangul_J_RieulKiyeog" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1447 1447 (CL-DEFINE-KEYSYM 3805 "Hangul_J_RieulMieum")-1402|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3805. "Hangul_J_RieulMieum" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1448 1448 (CL-DEFINE-KEYSYM 3806 "Hangul_J_RieulPieub")-1403|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3806. "Hangul_J_RieulPieub" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1449 1449 (CL-DEFINE-KEYSYM 3807 "Hangul_J_RieulSios")-1404|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3807. "Hangul_J_RieulSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1450 1450 (CL-DEFINE-KEYSYM 3808 "Hangul_J_RieulTieut")-1405|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3808. "Hangul_J_RieulTieut" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1451 1451 (CL-DEFINE-KEYSYM 3809 "Hangul_J_RieulPhieuf")-1406|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3809. "Hangul_J_RieulPhieuf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1452 1452 (CL-DEFINE-KEYSYM 3810 "Hangul_J_RieulHieuh")-1407|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3810. "Hangul_J_RieulHieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1453 1453 (CL-DEFINE-KEYSYM 3811 "Hangul_J_Mieum")-1408|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3811. "Hangul_J_Mieum" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1454 1454 (CL-DEFINE-KEYSYM 3812 "Hangul_J_Pieub")-1409|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3812. "Hangul_J_Pieub" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1455 1455 (CL-DEFINE-KEYSYM 3813 "Hangul_J_PieubSios")-1410|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3813. "Hangul_J_PieubSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1456 1456 (CL-DEFINE-KEYSYM 3814 "Hangul_J_Sios")-1411|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3814. "Hangul_J_Sios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1457 1457 (CL-DEFINE-KEYSYM 3815 "Hangul_J_SsangSios")-1412|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3815. "Hangul_J_SsangSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1458 1458 (CL-DEFINE-KEYSYM 3816 "Hangul_J_Ieung")-1413|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3816. "Hangul_J_Ieung" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1459 1459 (CL-DEFINE-KEYSYM 3817 "Hangul_J_Jieuj")-1414|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3817. "Hangul_J_Jieuj" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1460 1460 (CL-DEFINE-KEYSYM 3818 "Hangul_J_Cieuc")-1415|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3818. "Hangul_J_Cieuc" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1461 1461 (CL-DEFINE-KEYSYM 3819 "Hangul_J_Khieuq")-1416|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3819. "Hangul_J_Khieuq" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1462 1462 (CL-DEFINE-KEYSYM 3820 "Hangul_J_Tieut")-1417|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3820. "Hangul_J_Tieut" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1463 1463 (CL-DEFINE-KEYSYM 3821 "Hangul_J_Phieuf")-1418|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3821. "Hangul_J_Phieuf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1464 1464 (CL-DEFINE-KEYSYM 3822 "Hangul_J_Hieuh")-1419|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3822. "Hangul_J_Hieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1465 1465 (CL-DEFINE-KEYSYM 3823 "Hangul_RieulYeorinHieuh")-1420|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3823. "Hangul_RieulYeorinHieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1466 1466 (CL-DEFINE-KEYSYM 3824 "Hangul_SunkyeongeumMieum")-1421|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3824. "Hangul_SunkyeongeumMieum" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1467 1467 (CL-DEFINE-KEYSYM 3825 "Hangul_SunkyeongeumPieub")-1422|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3825. "Hangul_SunkyeongeumPieub" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1468 1468 (CL-DEFINE-KEYSYM 3826 "Hangul_PanSios")-1423|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3826. "Hangul_PanSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1469 1469 (CL-DEFINE-KEYSYM 3827 "Hangul_KkogjiDalrinIeung")-1424|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3827. "Hangul_KkogjiDalrinIeung" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1470 1470 (CL-DEFINE-KEYSYM 3828 "Hangul_SunkyeongeumPhieuf")-1425|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3828. "Hangul_SunkyeongeumPhieuf" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1471 1471 (CL-DEFINE-KEYSYM 3829 "Hangul_YeorinHieuh")-1426|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3829. "Hangul_YeorinHieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1472 1472 (CL-DEFINE-KEYSYM 3830 "Hangul_AraeA")-1427|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3830. "Hangul_AraeA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1473 1473 (CL-DEFINE-KEYSYM 3831 "Hangul_AraeAE")-1428|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3831. "Hangul_AraeAE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1474 1474 (CL-DEFINE-KEYSYM 3832 "Hangul_J_PanSios")-1429|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3832. "Hangul_J_PanSios" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1475 1475 (CL-DEFINE-KEYSYM 3833 "Hangul_J_KkogjiDalrinIeung")-1430|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3833. "Hangul_J_KkogjiDalrinIeung" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1476 1476 (CL-DEFINE-KEYSYM 3834 "Hangul_J_YeorinHieuh")-1431|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3834. "Hangul_J_YeorinHieuh" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1477 1477 (CL-DEFINE-KEYSYM 3839 "Korean_Won")-1432|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (3839. "Korean_Won" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1477 1478 (CL-DEFINE-KEYSYM 16778631 "Armenian_ligature_ew")-1433|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778631. "Armenian_ligature_ew" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1478 1479 (CL-DEFINE-KEYSYM 16778633 "Armenian_full_stop")-1434|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778633. "Armenian_full_stop" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1479 1480 (CL-DEFINE-KEYSYM 16778633 "Armenian_verjaket")-1435|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778633. "Armenian_verjaket" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1480 1481 (CL-DEFINE-KEYSYM 16778589 "Armenian_separation_mark")-1436|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778589. "Armenian_separation_mark" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1481 1482 (CL-DEFINE-KEYSYM 16778589 "Armenian_but")-1437|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778589. "Armenian_but" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1482 1483 (CL-DEFINE-KEYSYM 16778634 "Armenian_hyphen")-1438|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778634. "Armenian_hyphen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1483 1484 (CL-DEFINE-KEYSYM 16778634 "Armenian_yentamna")-1439|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778634. "Armenian_yentamna" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1484 1485 (CL-DEFINE-KEYSYM 16778588 "Armenian_exclam")-1440|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778588. "Armenian_exclam" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1485 1486 (CL-DEFINE-KEYSYM 16778588 "Armenian_amanak")-1441|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778588. "Armenian_amanak" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1486 1487 (CL-DEFINE-KEYSYM 16778587 "Armenian_accent")-1442|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778587. "Armenian_accent" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1487 1488 (CL-DEFINE-KEYSYM 16778587 "Armenian_shesht")-1443|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778587. "Armenian_shesht" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1488 1489 (CL-DEFINE-KEYSYM 16778590 "Armenian_question")-1444|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778590. "Armenian_question" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1489 1490 (CL-DEFINE-KEYSYM 16778590 "Armenian_paruyk")-1445|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778590. "Armenian_paruyk" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1490 1491 (CL-DEFINE-KEYSYM 16778545 "Armenian_AYB")-1446|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778545. "Armenian_AYB" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1491 1492 (CL-DEFINE-KEYSYM 16778593 "Armenian_ayb")-1447|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778593. "Armenian_ayb" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1492 1493 (CL-DEFINE-KEYSYM 16778546 "Armenian_BEN")-1448|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778546. "Armenian_BEN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1493 1494 (CL-DEFINE-KEYSYM 16778594 "Armenian_ben")-1449|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778594. "Armenian_ben" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1494 1495 (CL-DEFINE-KEYSYM 16778547 "Armenian_GIM")-1450|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778547. "Armenian_GIM" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1495 1496 (CL-DEFINE-KEYSYM 16778595 "Armenian_gim")-1451|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778595. "Armenian_gim" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1496 1497 (CL-DEFINE-KEYSYM 16778548 "Armenian_DA")-1452|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778548. "Armenian_DA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1497 1498 (CL-DEFINE-KEYSYM 16778596 "Armenian_da")-1453|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778596. "Armenian_da" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1498 1499 (CL-DEFINE-KEYSYM 16778549 "Armenian_YECH")-1454|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778549. "Armenian_YECH" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1499 1500 (CL-DEFINE-KEYSYM 16778597 "Armenian_yech")-1455|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778597. "Armenian_yech" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1500 1501 (CL-DEFINE-KEYSYM 16778550 "Armenian_ZA")-1456|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778550. "Armenian_ZA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1501 1502 (CL-DEFINE-KEYSYM 16778598 "Armenian_za")-1457|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778598. "Armenian_za" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1502 1503 (CL-DEFINE-KEYSYM 16778551 "Armenian_E")-1458|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778551. "Armenian_E" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1503 1504 (CL-DEFINE-KEYSYM 16778599 "Armenian_e")-1459|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778599. "Armenian_e" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1504 1505 (CL-DEFINE-KEYSYM 16778552 "Armenian_AT")-1460|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778552. "Armenian_AT" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1505 1506 (CL-DEFINE-KEYSYM 16778600 "Armenian_at")-1461|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778600. "Armenian_at" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1506 1507 (CL-DEFINE-KEYSYM 16778553 "Armenian_TO")-1462|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778553. "Armenian_TO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1507 1508 (CL-DEFINE-KEYSYM 16778601 "Armenian_to")-1463|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778601. "Armenian_to" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1508 1509 (CL-DEFINE-KEYSYM 16778554 "Armenian_ZHE")-1464|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778554. "Armenian_ZHE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1509 1510 (CL-DEFINE-KEYSYM 16778602 "Armenian_zhe")-1465|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778602. "Armenian_zhe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1510 1511 (CL-DEFINE-KEYSYM 16778555 "Armenian_INI")-1466|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778555. "Armenian_INI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1511 1512 (CL-DEFINE-KEYSYM 16778603 "Armenian_ini")-1467|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778603. "Armenian_ini" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1512 1513 (CL-DEFINE-KEYSYM 16778556 "Armenian_LYUN")-1468|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778556. "Armenian_LYUN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1513 1514 (CL-DEFINE-KEYSYM 16778604 "Armenian_lyun")-1469|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778604. "Armenian_lyun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1514 1515 (CL-DEFINE-KEYSYM 16778557 "Armenian_KHE")-1470|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778557. "Armenian_KHE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1515 1516 (CL-DEFINE-KEYSYM 16778605 "Armenian_khe")-1471|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778605. "Armenian_khe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1516 1517 (CL-DEFINE-KEYSYM 16778558 "Armenian_TSA")-1472|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778558. "Armenian_TSA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1517 1518 (CL-DEFINE-KEYSYM 16778606 "Armenian_tsa")-1473|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778606. "Armenian_tsa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1518 1519 (CL-DEFINE-KEYSYM 16778559 "Armenian_KEN")-1474|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778559. "Armenian_KEN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1519 1520 (CL-DEFINE-KEYSYM 16778607 "Armenian_ken")-1475|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778607. "Armenian_ken" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1520 1521 (CL-DEFINE-KEYSYM 16778560 "Armenian_HO")-1476|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778560. "Armenian_HO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1521 1522 (CL-DEFINE-KEYSYM 16778608 "Armenian_ho")-1477|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778608. "Armenian_ho" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1522 1523 (CL-DEFINE-KEYSYM 16778561 "Armenian_DZA")-1478|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778561. "Armenian_DZA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1523 1524 (CL-DEFINE-KEYSYM 16778609 "Armenian_dza")-1479|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778609. "Armenian_dza" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1524 1525 (CL-DEFINE-KEYSYM 16778562 "Armenian_GHAT")-1480|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778562. "Armenian_GHAT" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1525 1526 (CL-DEFINE-KEYSYM 16778610 "Armenian_ghat")-1481|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778610. "Armenian_ghat" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1526 1527 (CL-DEFINE-KEYSYM 16778563 "Armenian_TCHE")-1482|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778563. "Armenian_TCHE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1527 1528 (CL-DEFINE-KEYSYM 16778611 "Armenian_tche")-1483|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778611. "Armenian_tche" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1528 1529 (CL-DEFINE-KEYSYM 16778564 "Armenian_MEN")-1484|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778564. "Armenian_MEN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1529 1530 (CL-DEFINE-KEYSYM 16778612 "Armenian_men")-1485|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778612. "Armenian_men" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1530 1531 (CL-DEFINE-KEYSYM 16778565 "Armenian_HI")-1486|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778565. "Armenian_HI" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1531 1532 (CL-DEFINE-KEYSYM 16778613 "Armenian_hi")-1487|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778613. "Armenian_hi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1532 1533 (CL-DEFINE-KEYSYM 16778566 "Armenian_NU")-1488|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778566. "Armenian_NU" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1533 1534 (CL-DEFINE-KEYSYM 16778614 "Armenian_nu")-1489|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778614. "Armenian_nu" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1534 1535 (CL-DEFINE-KEYSYM 16778567 "Armenian_SHA")-1490|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778567. "Armenian_SHA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1535 1536 (CL-DEFINE-KEYSYM 16778615 "Armenian_sha")-1491|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778615. "Armenian_sha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1536 1537 (CL-DEFINE-KEYSYM 16778568 "Armenian_VO")-1492|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778568. "Armenian_VO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1537 1538 (CL-DEFINE-KEYSYM 16778616 "Armenian_vo")-1493|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778616. "Armenian_vo" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1538 1539 (CL-DEFINE-KEYSYM 16778569 "Armenian_CHA")-1494|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778569. "Armenian_CHA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1539 1540 (CL-DEFINE-KEYSYM 16778617 "Armenian_cha")-1495|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778617. "Armenian_cha" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1540 1541 (CL-DEFINE-KEYSYM 16778570 "Armenian_PE")-1496|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778570. "Armenian_PE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1541 1542 (CL-DEFINE-KEYSYM 16778618 "Armenian_pe")-1497|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778618. "Armenian_pe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1542 1543 (CL-DEFINE-KEYSYM 16778571 "Armenian_JE")-1498|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778571. "Armenian_JE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1543 1544 (CL-DEFINE-KEYSYM 16778619 "Armenian_je")-1499|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778619. "Armenian_je" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1544 1545 (CL-DEFINE-KEYSYM 16778572 "Armenian_RA")-1500|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778572. "Armenian_RA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1545 1546 (CL-DEFINE-KEYSYM 16778620 "Armenian_ra")-1501|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778620. "Armenian_ra" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1546 1547 (CL-DEFINE-KEYSYM 16778573 "Armenian_SE")-1502|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778573. "Armenian_SE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1547 1548 (CL-DEFINE-KEYSYM 16778621 "Armenian_se")-1503|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778621. "Armenian_se" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1548 1549 (CL-DEFINE-KEYSYM 16778574 "Armenian_VEV")-1504|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778574. "Armenian_VEV" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1549 1550 (CL-DEFINE-KEYSYM 16778622 "Armenian_vev")-1505|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778622. "Armenian_vev" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1550 1551 (CL-DEFINE-KEYSYM 16778575 "Armenian_TYUN")-1506|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778575. "Armenian_TYUN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1551 1552 (CL-DEFINE-KEYSYM 16778623 "Armenian_tyun")-1507|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778623. "Armenian_tyun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1552 1553 (CL-DEFINE-KEYSYM 16778576 "Armenian_RE")-1508|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778576. "Armenian_RE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1553 1554 (CL-DEFINE-KEYSYM 16778624 "Armenian_re")-1509|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778624. "Armenian_re" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1554 1555 (CL-DEFINE-KEYSYM 16778577 "Armenian_TSO")-1510|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778577. "Armenian_TSO" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1555 1556 (CL-DEFINE-KEYSYM 16778625 "Armenian_tso")-1511|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778625. "Armenian_tso" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1556 1557 (CL-DEFINE-KEYSYM 16778578 "Armenian_VYUN")-1512|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778578. "Armenian_VYUN" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1557 1558 (CL-DEFINE-KEYSYM 16778626 "Armenian_vyun")-1513|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778626. "Armenian_vyun" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1558 1559 (CL-DEFINE-KEYSYM 16778579 "Armenian_PYUR")-1514|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778579. "Armenian_PYUR" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1559 1560 (CL-DEFINE-KEYSYM 16778627 "Armenian_pyur")-1515|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778627. "Armenian_pyur" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1560 1561 (CL-DEFINE-KEYSYM 16778580 "Armenian_KE")-1516|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778580. "Armenian_KE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1561 1562 (CL-DEFINE-KEYSYM 16778628 "Armenian_ke")-1517|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778628. "Armenian_ke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1562 1563 (CL-DEFINE-KEYSYM 16778581 "Armenian_O")-1518|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778581. "Armenian_O" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1563 1564 (CL-DEFINE-KEYSYM 16778629 "Armenian_o")-1519|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778629. "Armenian_o" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1564 1565 (CL-DEFINE-KEYSYM 16778582 "Armenian_FE")-1520|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778582. "Armenian_FE" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1565 1566 (CL-DEFINE-KEYSYM 16778630 "Armenian_fe")-1521|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778630. "Armenian_fe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1566 1567 (CL-DEFINE-KEYSYM 16778586 "Armenian_apostrophe")-1522|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16778586. "Armenian_apostrophe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1567 1568 (CL-DEFINE-KEYSYM 16781520 "Georgian_an")-1523|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781520. "Georgian_an" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1568 1569 (CL-DEFINE-KEYSYM 16781521 "Georgian_ban")-1524|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781521. "Georgian_ban" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1569 1570 (CL-DEFINE-KEYSYM 16781522 "Georgian_gan")-1525|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781522. "Georgian_gan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1570 1571 (CL-DEFINE-KEYSYM 16781523 "Georgian_don")-1526|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781523. "Georgian_don" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1571 1572 (CL-DEFINE-KEYSYM 16781524 "Georgian_en")-1527|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781524. "Georgian_en" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1572 1573 (CL-DEFINE-KEYSYM 16781525 "Georgian_vin")-1528|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781525. "Georgian_vin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1573 1574 (CL-DEFINE-KEYSYM 16781526 "Georgian_zen")-1529|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781526. "Georgian_zen" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1574 1575 (CL-DEFINE-KEYSYM 16781527 "Georgian_tan")-1530|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781527. "Georgian_tan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1575 1576 (CL-DEFINE-KEYSYM 16781528 "Georgian_in")-1531|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781528. "Georgian_in" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1576 1577 (CL-DEFINE-KEYSYM 16781529 "Georgian_kan")-1532|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781529. "Georgian_kan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1577 1578 (CL-DEFINE-KEYSYM 16781530 "Georgian_las")-1533|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781530. "Georgian_las" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1578 1579 (CL-DEFINE-KEYSYM 16781531 "Georgian_man")-1534|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781531. "Georgian_man" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1579 1580 (CL-DEFINE-KEYSYM 16781532 "Georgian_nar")-1535|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781532. "Georgian_nar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1580 1581 (CL-DEFINE-KEYSYM 16781533 "Georgian_on")-1536|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781533. "Georgian_on" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1581 1582 (CL-DEFINE-KEYSYM 16781534 "Georgian_par")-1537|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781534. "Georgian_par" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1582 1583 (CL-DEFINE-KEYSYM 16781535 "Georgian_zhar")-1538|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781535. "Georgian_zhar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1583 1584 (CL-DEFINE-KEYSYM 16781536 "Georgian_rae")-1539|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781536. "Georgian_rae" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1584 1585 (CL-DEFINE-KEYSYM 16781537 "Georgian_san")-1540|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781537. "Georgian_san" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1585 1586 (CL-DEFINE-KEYSYM 16781538 "Georgian_tar")-1541|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781538. "Georgian_tar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1586 1587 (CL-DEFINE-KEYSYM 16781539 "Georgian_un")-1542|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781539. "Georgian_un" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1587 1588 (CL-DEFINE-KEYSYM 16781540 "Georgian_phar")-1543|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781540. "Georgian_phar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1588 1589 (CL-DEFINE-KEYSYM 16781541 "Georgian_khar")-1544|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781541. "Georgian_khar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1589 1590 (CL-DEFINE-KEYSYM 16781542 "Georgian_ghan")-1545|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781542. "Georgian_ghan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1590 1591 (CL-DEFINE-KEYSYM 16781543 "Georgian_qar")-1546|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781543. "Georgian_qar" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1591 1592 (CL-DEFINE-KEYSYM 16781544 "Georgian_shin")-1547|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781544. "Georgian_shin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1592 1593 (CL-DEFINE-KEYSYM 16781545 "Georgian_chin")-1548|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781545. "Georgian_chin" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1593 1594 (CL-DEFINE-KEYSYM 16781546 "Georgian_can")-1549|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781546. "Georgian_can" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1594 1595 (CL-DEFINE-KEYSYM 16781547 "Georgian_jil")-1550|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781547. "Georgian_jil" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1595 1596 (CL-DEFINE-KEYSYM 16781548 "Georgian_cil")-1551|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781548. "Georgian_cil" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1596 1597 (CL-DEFINE-KEYSYM 16781549 "Georgian_char")-1552|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781549. "Georgian_char" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1597 1598 (CL-DEFINE-KEYSYM 16781550 "Georgian_xan")-1553|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781550. "Georgian_xan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1598 1599 (CL-DEFINE-KEYSYM 16781551 "Georgian_jhan")-1554|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781551. "Georgian_jhan" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1599 1600 (CL-DEFINE-KEYSYM 16781552 "Georgian_hae")-1555|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781552. "Georgian_hae" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1600 1601 (CL-DEFINE-KEYSYM 16781553 "Georgian_he")-1556|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781553. "Georgian_he" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1601 1602 (CL-DEFINE-KEYSYM 16781554 "Georgian_hie")-1557|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781554. "Georgian_hie" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1602 1603 (CL-DEFINE-KEYSYM 16781555 "Georgian_we")-1558|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781555. "Georgian_we" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1603 1604 (CL-DEFINE-KEYSYM 16781556 "Georgian_har")-1559|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781556. "Georgian_har" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1604 1605 (CL-DEFINE-KEYSYM 16781557 "Georgian_hoe")-1560|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781557. "Georgian_hoe" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1605 1606 (CL-DEFINE-KEYSYM 16781558 "Georgian_fi")-1561|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16781558. "Georgian_fi" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1606 1607 (CL-DEFINE-KEYSYM 16785034 "Xabovedot")-1562|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785034. "Xabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1607 1608 (CL-DEFINE-KEYSYM 16777516 "Ibreve")-1563|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777516. "Ibreve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1608 1609 (CL-DEFINE-KEYSYM 16777653 "Zstroke")-1564|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777653. "Zstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1609 1610 (CL-DEFINE-KEYSYM 16777702 "Gcaron")-1565|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777702. "Gcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1610 1611 (CL-DEFINE-KEYSYM 16777681 "Ocaron")-1566|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777681. "Ocaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1611 1612 (CL-DEFINE-KEYSYM 16777631 "Obarred")-1567|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777631. "Obarred" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1612 1613 (CL-DEFINE-KEYSYM 16785035 "xabovedot")-1568|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785035. "xabovedot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1613 1614 (CL-DEFINE-KEYSYM 16777517 "ibreve")-1569|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777517. "ibreve" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1614 1615 (CL-DEFINE-KEYSYM 16777654 "zstroke")-1570|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777654. "zstroke" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1615 1616 (CL-DEFINE-KEYSYM 16777703 "gcaron")-1571|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777703. "gcaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1616 1617 (CL-DEFINE-KEYSYM 16777682 "ocaron")-1572|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777682. "ocaron" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1617 1618 (CL-DEFINE-KEYSYM 16777845 "obarred")-1573|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777845. "obarred" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1618 1619 (CL-DEFINE-KEYSYM 16777615 "SCHWA")-1574|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777615. "SCHWA" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1619 1620 (CL-DEFINE-KEYSYM 16777817 "schwa")-1575|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777817. "schwa" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1620 1621 (CL-DEFINE-KEYSYM 16784950 "Lbelowdot")-1576|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784950. "Lbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1621 1622 (CL-DEFINE-KEYSYM 16784951 "lbelowdot")-1577|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16784951. "lbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1622 1623 (CL-DEFINE-KEYSYM 16785056 "Abelowdot")-1578|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785056. "Abelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1623 1624 (CL-DEFINE-KEYSYM 16785057 "abelowdot")-1579|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785057. "abelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1624 1625 (CL-DEFINE-KEYSYM 16785058 "Ahook")-1580|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785058. "Ahook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1625 1626 (CL-DEFINE-KEYSYM 16785059 "ahook")-1581|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785059. "ahook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1626 1627 (CL-DEFINE-KEYSYM 16785060 "Acircumflexacute")-1582|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785060. "Acircumflexacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1627 1628 (CL-DEFINE-KEYSYM 16785061 "acircumflexacute")-1583|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785061. "acircumflexacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1628 1629 (CL-DEFINE-KEYSYM 16785062 "Acircumflexgrave")-1584|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785062. "Acircumflexgrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1629 1630 (CL-DEFINE-KEYSYM 16785063 "acircumflexgrave")-1585|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785063. "acircumflexgrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1630 1631 (CL-DEFINE-KEYSYM 16785064 "Acircumflexhook")-1586|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785064. "Acircumflexhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1631 1632 (CL-DEFINE-KEYSYM 16785065 "acircumflexhook")-1587|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785065. "acircumflexhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1632 1633 (CL-DEFINE-KEYSYM 16785066 "Acircumflextilde")-1588|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785066. "Acircumflextilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1633 1634 (CL-DEFINE-KEYSYM 16785067 "acircumflextilde")-1589|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785067. "acircumflextilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1634 1635 (CL-DEFINE-KEYSYM 16785068 "Acircumflexbelowdot")-1590|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785068. "Acircumflexbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1635 1636 (CL-DEFINE-KEYSYM 16785069 "acircumflexbelowdot")-1591|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785069. "acircumflexbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1636 1637 (CL-DEFINE-KEYSYM 16785070 "Abreveacute")-1592|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785070. "Abreveacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1637 1638 (CL-DEFINE-KEYSYM 16785071 "abreveacute")-1593|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785071. "abreveacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1638 1639 (CL-DEFINE-KEYSYM 16785072 "Abrevegrave")-1594|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785072. "Abrevegrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1639 1640 (CL-DEFINE-KEYSYM 16785073 "abrevegrave")-1595|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785073. "abrevegrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1640 1641 (CL-DEFINE-KEYSYM 16785074 "Abrevehook")-1596|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785074. "Abrevehook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1641 1642 (CL-DEFINE-KEYSYM 16785075 "abrevehook")-1597|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785075. "abrevehook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1642 1643 (CL-DEFINE-KEYSYM 16785076 "Abrevetilde")-1598|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785076. "Abrevetilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1643 1644 (CL-DEFINE-KEYSYM 16785077 "abrevetilde")-1599|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785077. "abrevetilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1644 1645 (CL-DEFINE-KEYSYM 16785078 "Abrevebelowdot")-1600|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785078. "Abrevebelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1645 1646 (CL-DEFINE-KEYSYM 16785079 "abrevebelowdot")-1601|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785079. "abrevebelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1646 1647 (CL-DEFINE-KEYSYM 16785080 "Ebelowdot")-1602|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785080. "Ebelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1647 1648 (CL-DEFINE-KEYSYM 16785081 "ebelowdot")-1603|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785081. "ebelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1648 1649 (CL-DEFINE-KEYSYM 16785082 "Ehook")-1604|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785082. "Ehook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1649 1650 (CL-DEFINE-KEYSYM 16785083 "ehook")-1605|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785083. "ehook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1650 1651 (CL-DEFINE-KEYSYM 16785084 "Etilde")-1606|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785084. "Etilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1651 1652 (CL-DEFINE-KEYSYM 16785085 "etilde")-1607|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785085. "etilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1652 1653 (CL-DEFINE-KEYSYM 16785086 "Ecircumflexacute")-1608|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785086. "Ecircumflexacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1653 1654 (CL-DEFINE-KEYSYM 16785087 "ecircumflexacute")-1609|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785087. "ecircumflexacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1654 1655 (CL-DEFINE-KEYSYM 16785088 "Ecircumflexgrave")-1610|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785088. "Ecircumflexgrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1655 1656 (CL-DEFINE-KEYSYM 16785089 "ecircumflexgrave")-1611|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785089. "ecircumflexgrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1656 1657 (CL-DEFINE-KEYSYM 16785090 "Ecircumflexhook")-1612|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785090. "Ecircumflexhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1657 1658 (CL-DEFINE-KEYSYM 16785091 "ecircumflexhook")-1613|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785091. "ecircumflexhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1658 1659 (CL-DEFINE-KEYSYM 16785092 "Ecircumflextilde")-1614|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785092. "Ecircumflextilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1659 1660 (CL-DEFINE-KEYSYM 16785093 "ecircumflextilde")-1615|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785093. "ecircumflextilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1660 1661 (CL-DEFINE-KEYSYM 16785094 "Ecircumflexbelowdot")-1616|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785094. "Ecircumflexbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1661 1662 (CL-DEFINE-KEYSYM 16785095 "ecircumflexbelowdot")-1617|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785095. "ecircumflexbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1662 1663 (CL-DEFINE-KEYSYM 16785096 "Ihook")-1618|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785096. "Ihook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1663 1664 (CL-DEFINE-KEYSYM 16785097 "ihook")-1619|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785097. "ihook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1664 1665 (CL-DEFINE-KEYSYM 16785098 "Ibelowdot")-1620|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785098. "Ibelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1665 1666 (CL-DEFINE-KEYSYM 16785099 "ibelowdot")-1621|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785099. "ibelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1666 1667 (CL-DEFINE-KEYSYM 16785100 "Obelowdot")-1622|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785100. "Obelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1667 1668 (CL-DEFINE-KEYSYM 16785101 "obelowdot")-1623|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785101. "obelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1668 1669 (CL-DEFINE-KEYSYM 16785102 "Ohook")-1624|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785102. "Ohook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1669 1670 (CL-DEFINE-KEYSYM 16785103 "ohook")-1625|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785103. "ohook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1670 1671 (CL-DEFINE-KEYSYM 16785104 "Ocircumflexacute")-1626|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785104. "Ocircumflexacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1671 1672 (CL-DEFINE-KEYSYM 16785105 "ocircumflexacute")-1627|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785105. "ocircumflexacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1672 1673 (CL-DEFINE-KEYSYM 16785106 "Ocircumflexgrave")-1628|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785106. "Ocircumflexgrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1673 1674 (CL-DEFINE-KEYSYM 16785107 "ocircumflexgrave")-1629|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785107. "ocircumflexgrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1674 1675 (CL-DEFINE-KEYSYM 16785108 "Ocircumflexhook")-1630|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785108. "Ocircumflexhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1675 1676 (CL-DEFINE-KEYSYM 16785109 "ocircumflexhook")-1631|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785109. "ocircumflexhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1676 1677 (CL-DEFINE-KEYSYM 16785110 "Ocircumflextilde")-1632|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785110. "Ocircumflextilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1677 1678 (CL-DEFINE-KEYSYM 16785111 "ocircumflextilde")-1633|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785111. "ocircumflextilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1678 1679 (CL-DEFINE-KEYSYM 16785112 "Ocircumflexbelowdot")-1634|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785112. "Ocircumflexbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1679 1680 (CL-DEFINE-KEYSYM 16785113 "ocircumflexbelowdot")-1635|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785113. "ocircumflexbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1680 1681 (CL-DEFINE-KEYSYM 16785114 "Ohornacute")-1636|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785114. "Ohornacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1681 1682 (CL-DEFINE-KEYSYM 16785115 "ohornacute")-1637|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785115. "ohornacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1682 1683 (CL-DEFINE-KEYSYM 16785116 "Ohorngrave")-1638|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785116. "Ohorngrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1683 1684 (CL-DEFINE-KEYSYM 16785117 "ohorngrave")-1639|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785117. "ohorngrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1684 1685 (CL-DEFINE-KEYSYM 16785118 "Ohornhook")-1640|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785118. "Ohornhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1685 1686 (CL-DEFINE-KEYSYM 16785119 "ohornhook")-1641|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785119. "ohornhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1686 1687 (CL-DEFINE-KEYSYM 16785120 "Ohorntilde")-1642|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785120. "Ohorntilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1687 1688 (CL-DEFINE-KEYSYM 16785121 "ohorntilde")-1643|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785121. "ohorntilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1688 1689 (CL-DEFINE-KEYSYM 16785122 "Ohornbelowdot")-1644|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785122. "Ohornbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1689 1690 (CL-DEFINE-KEYSYM 16785123 "ohornbelowdot")-1645|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785123. "ohornbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1690 1691 (CL-DEFINE-KEYSYM 16785124 "Ubelowdot")-1646|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785124. "Ubelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1691 1692 (CL-DEFINE-KEYSYM 16785125 "ubelowdot")-1647|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785125. "ubelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1692 1693 (CL-DEFINE-KEYSYM 16785126 "Uhook")-1648|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785126. "Uhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1693 1694 (CL-DEFINE-KEYSYM 16785127 "uhook")-1649|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785127. "uhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1694 1695 (CL-DEFINE-KEYSYM 16785128 "Uhornacute")-1650|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785128. "Uhornacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1695 1696 (CL-DEFINE-KEYSYM 16785129 "uhornacute")-1651|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785129. "uhornacute" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1696 1697 (CL-DEFINE-KEYSYM 16785130 "Uhorngrave")-1652|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785130. "Uhorngrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1697 1698 (CL-DEFINE-KEYSYM 16785131 "uhorngrave")-1653|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785131. "uhorngrave" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1698 1699 (CL-DEFINE-KEYSYM 16785132 "Uhornhook")-1654|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785132. "Uhornhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1699 1700 (CL-DEFINE-KEYSYM 16785133 "uhornhook")-1655|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785133. "uhornhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1700 1701 (CL-DEFINE-KEYSYM 16785134 "Uhorntilde")-1656|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785134. "Uhorntilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1701 1702 (CL-DEFINE-KEYSYM 16785135 "uhorntilde")-1657|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785135. "uhorntilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1702 1703 (CL-DEFINE-KEYSYM 16785136 "Uhornbelowdot")-1658|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785136. "Uhornbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1703 1704 (CL-DEFINE-KEYSYM 16785137 "uhornbelowdot")-1659|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785137. "uhornbelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1704 1705 (CL-DEFINE-KEYSYM 16785140 "Ybelowdot")-1660|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785140. "Ybelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1705 1706 (CL-DEFINE-KEYSYM 16785141 "ybelowdot")-1661|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785141. "ybelowdot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1706 1707 (CL-DEFINE-KEYSYM 16785142 "Yhook")-1662|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785142. "Yhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1707 1708 (CL-DEFINE-KEYSYM 16785143 "yhook")-1663|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785143. "yhook" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1708 1709 (CL-DEFINE-KEYSYM 16785144 "Ytilde")-1664|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785144. "Ytilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1709 1710 (CL-DEFINE-KEYSYM 16785145 "ytilde")-1665|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785145. "ytilde" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1710 1711 (CL-DEFINE-KEYSYM 16777632 "Ohorn")-1666|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777632. "Ohorn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1711 1712 (CL-DEFINE-KEYSYM 16777633 "ohorn")-1667|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777633. "ohorn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1712 1713 (CL-DEFINE-KEYSYM 16777647 "Uhorn")-1668|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777647. "Uhorn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1713 1714 (CL-DEFINE-KEYSYM 16777648 "uhorn")-1669|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16777648. "uhorn" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1714 1715 (CL-DEFINE-KEYSYM 16785568 "EcuSign")-1670|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785568. "EcuSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1715 1716 (CL-DEFINE-KEYSYM 16785569 "ColonSign")-1671|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785569. "ColonSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1716 1717 (CL-DEFINE-KEYSYM 16785570 "CruzeiroSign")-1672|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785570. "CruzeiroSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1717 1718 (CL-DEFINE-KEYSYM 16785571 "FFrancSign")-1673|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785571. "FFrancSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1718 1719 (CL-DEFINE-KEYSYM 16785572 "LiraSign")-1674|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785572. "LiraSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1719 1720 (CL-DEFINE-KEYSYM 16785573 "MillSign")-1675|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785573. "MillSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1720 1721 (CL-DEFINE-KEYSYM 16785574 "NairaSign")-1676|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785574. "NairaSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1721 1722 (CL-DEFINE-KEYSYM 16785575 "PesetaSign")-1677|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785575. "PesetaSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1722 1723 (CL-DEFINE-KEYSYM 16785576 "RupeeSign")-1678|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785576. "RupeeSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1723 1724 (CL-DEFINE-KEYSYM 16785577 "WonSign")-1679|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785577. "WonSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1724 1725 (CL-DEFINE-KEYSYM 16785578 "NewSheqelSign")-1680|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785578. "NewSheqelSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1725 1726 (CL-DEFINE-KEYSYM 16785579 "DongSign")-1681|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785579. "DongSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1726 1727 (CL-DEFINE-KEYSYM 8364 "EuroSign")-1682|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (8364. "EuroSign" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1727 1728 (CL-DEFINE-KEYSYM 16785520 "zerosuperior")-1683|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785520. "zerosuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1728 1729 (CL-DEFINE-KEYSYM 16785524 "foursuperior")-1684|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785524. "foursuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1729 1730 (CL-DEFINE-KEYSYM 16785525 "fivesuperior")-1685|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785525. "fivesuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1730 1731 (CL-DEFINE-KEYSYM 16785526 "sixsuperior")-1686|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785526. "sixsuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1731 1732 (CL-DEFINE-KEYSYM 16785527 "sevensuperior")-1687|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785527. "sevensuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1732 1733 (CL-DEFINE-KEYSYM 16785528 "eightsuperior")-1688|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785528. "eightsuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1733 1734 (CL-DEFINE-KEYSYM 16785529 "ninesuperior")-1689|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785529. "ninesuperior" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1734 1735 (CL-DEFINE-KEYSYM 16785536 "zerosubscript")-1690|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785536. "zerosubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1735 1736 (CL-DEFINE-KEYSYM 16785537 "onesubscript")-1691|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785537. "onesubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1736 1737 (CL-DEFINE-KEYSYM 16785538 "twosubscript")-1692|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785538. "twosubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1737 1738 (CL-DEFINE-KEYSYM 16785539 "threesubscript")-1693|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785539. "threesubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1738 1739 (CL-DEFINE-KEYSYM 16785540 "foursubscript")-1694|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785540. "foursubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1739 1740 (CL-DEFINE-KEYSYM 16785541 "fivesubscript")-1695|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785541. "fivesubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1740 1741 (CL-DEFINE-KEYSYM 16785542 "sixsubscript")-1696|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785542. "sixsubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1741 1742 (CL-DEFINE-KEYSYM 16785543 "sevensubscript")-1697|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785543. "sevensubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1742 1743 (CL-DEFINE-KEYSYM 16785544 "eightsubscript")-1698|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785544. "eightsubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1743 1744 (CL-DEFINE-KEYSYM 16785545 "ninesubscript")-1699|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785545. "ninesubscript" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1744 1745 (CL-DEFINE-KEYSYM 16785922 "partdifferential")-1700|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785922. "partdifferential" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1745 1746 (CL-DEFINE-KEYSYM 16785925 "emptyset")-1701|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785925. "emptyset" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1746 1747 (CL-DEFINE-KEYSYM 16785928 "elementof")-1702|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785928. "elementof" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1747 1748 (CL-DEFINE-KEYSYM 16785929 "notelementof")-1703|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785929. "notelementof" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1748 1749 (CL-DEFINE-KEYSYM 16785931 "containsas")-1704|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785931. "containsas" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1749 1750 (CL-DEFINE-KEYSYM 16785946 "squareroot")-1705|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785946. "squareroot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1750 1751 (CL-DEFINE-KEYSYM 16785947 "cuberoot")-1706|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785947. "cuberoot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1751 1752 (CL-DEFINE-KEYSYM 16785948 "fourthroot")-1707|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785948. "fourthroot" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1752 1753 (CL-DEFINE-KEYSYM 16785964 "dintegral")-1708|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785964. "dintegral" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1753 1754 (CL-DEFINE-KEYSYM 16785965 "tintegral")-1709|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785965. "tintegral" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1754 1755 (CL-DEFINE-KEYSYM 16785973 "because")-1710|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785973. "because" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1755 1756 (CL-DEFINE-KEYSYM 16785992 "approxeq")-1711|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785992. "approxeq" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1756 1757 (CL-DEFINE-KEYSYM 16785991 "notapproxeq")-1712|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16785991. "notapproxeq" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1757 1758 (CL-DEFINE-KEYSYM 16786018 "notidentical")-1713|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16786018. "notidentical" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|1758 1759 (CL-DEFINE-KEYSYM 16786019 "stricteq")-1714|
+   #16Y(00 00 00 00 00 00 00 00 00 01 DA DB 30 02 19 01)
+   (16786019. "stricteq" |CLFSWM|::|CL-DEFINE-KEYSYM|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: keysyms.fasl
==============================================================================
Binary file. No diff available.

Added: keysyms.lib
==============================================================================
--- (empty file)
+++ keysyms.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,13 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*KEYSYM-NAME-TRANSLATIONS*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*NAME-KEYSYM-TRANSLATIONS*|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CL-DEFINE-KEYSYM|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|KEYSYM| |CLFSWM|::|NAME|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|KEYSYM-NAME->KEYSYM|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|NAME|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|KEYSYM->KEYSYM-NAME|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|KEYSYM|)))

Added: keysyms.lisp
==============================================================================
--- (empty file)
+++ keysyms.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,1759 @@
+;; Copyright (C) 2006 Matthew Kennedy
+;;
+;;  This file is part of stumpwm.
+;;
+;; stumpwm 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.
+ 
+;; stumpwm 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 software; see the file COPYING.  If not, write to
+;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+;; Boston, MA 02111-1307 USA
+
+;; Commentary:
+;;
+;; Mapping a keysym to a name is a client side activity in X11.  Some
+;; of the code here was taken from the CMUCL Hemlocks code base.  The
+;; actual mappings were taken from Xorg's keysymdefs.h.
+;;
+;; Code:
+
+(in-package :clfswm)
+
+(defvar *keysym-name-translations* (make-hash-table))
+(defvar *name-keysym-translations* (make-hash-table :test #'equal))
+
+(defun cl-define-keysym (keysym name)
+  "Define a mapping from a keysym name to a keysym."
+  (setf (gethash keysym *keysym-name-translations*) name
+	(gethash name *name-keysym-translations*) keysym))
+
+(defun keysym-name->keysym (name)
+  "Return the keysym corresponding to NAME."
+  (multiple-value-bind (value present-p)
+      (gethash name *name-keysym-translations*)
+    (declare (ignore present-p))
+    value))
+
+(defun keysym->keysym-name (keysym)
+  "Return the name corresponding to KEYSYM."
+  (multiple-value-bind (value present-p)
+      (gethash keysym *keysym-name-translations*)
+    (declare (ignore present-p))
+    value))
+
+(cl-define-keysym #xffffff "VoidSymbol") ;Void symbol 
+(cl-define-keysym #xff08 "BackSpace")	 ;Back space, back char 
+(cl-define-keysym #xff09 "Tab")
+(cl-define-keysym #xff0a "Linefeed")	;Linefeed, LF 
+(cl-define-keysym #xff0b "Clear")
+(cl-define-keysym #xff0d "Return")		;Return, enter 
+(cl-define-keysym #xff13 "Pause")		;Pause, hold 
+(cl-define-keysym #xff14 "Scroll_Lock")
+(cl-define-keysym #xff15 "Sys_Req")
+(cl-define-keysym #xff1b "Escape")
+(cl-define-keysym #xffff "Delete")	;Delete, rubout 
+(cl-define-keysym #xff20 "Multi_key")	;Multi-key character compose 
+(cl-define-keysym #xff37 "Codeinput")
+(cl-define-keysym #xff3c "SingleCandidate")
+(cl-define-keysym #xff3d "MultipleCandidate")
+(cl-define-keysym #xff3e "PreviousCandidate")
+(cl-define-keysym #xff21 "Kanji")	;Kanji, Kanji convert 
+(cl-define-keysym #xff22 "Muhenkan")	;Cancel Conversion 
+(cl-define-keysym #xff23 "Henkan_Mode")	;Start/Stop Conversion 
+(cl-define-keysym #xff23 "Henkan")	;Alias for Henkan_Mode 
+(cl-define-keysym #xff24 "Romaji")	;to Romaji 
+(cl-define-keysym #xff25 "Hiragana")	;to Hiragana 
+(cl-define-keysym #xff26 "Katakana")	;to Katakana 
+(cl-define-keysym #xff27 "Hiragana_Katakana") ;Hiragana/Katakana toggle 
+(cl-define-keysym #xff28 "Zenkaku")	      ;to Zenkaku 
+(cl-define-keysym #xff29 "Hankaku")	      ;to Hankaku 
+(cl-define-keysym #xff2a "Zenkaku_Hankaku")   ;Zenkaku/Hankaku toggle 
+(cl-define-keysym #xff2b "Touroku")	      ;Add to Dictionary 
+(cl-define-keysym #xff2c "Massyo")	      ;Delete from Dictionary 
+(cl-define-keysym #xff2d "Kana_Lock")	      ;Kana Lock 
+(cl-define-keysym #xff2e "Kana_Shift")	      ;Kana Shift 
+(cl-define-keysym #xff2f "Eisu_Shift")	      ;Alphanumeric Shift 
+(cl-define-keysym #xff30 "Eisu_toggle")	      ;Alphanumeric toggle 
+(cl-define-keysym #xff37 "Kanji_Bangou")      ;Codeinput 
+(cl-define-keysym #xff3d "Zen_Koho")	   ;Multiple/All Candidate(s) 
+(cl-define-keysym #xff3e "Mae_Koho")	   ;Previous Candidate 
+(cl-define-keysym #xff50 "Home")
+(cl-define-keysym #xff51 "Left")	;Move left, left arrow 
+(cl-define-keysym #xff52 "Up")		;Move up, up arrow 
+(cl-define-keysym #xff53 "Right")	;Move right, right arrow 
+(cl-define-keysym #xff54 "Down")	;Move down, down arrow 
+(cl-define-keysym #xff55 "Prior")	;Prior, previous 
+(cl-define-keysym #xff55 "Page_Up")
+(cl-define-keysym #xff56 "Next")	;Next 
+(cl-define-keysym #xff56 "Page_Down")
+(cl-define-keysym #xff57 "End")			;EOL 
+(cl-define-keysym #xff58 "Begin")		;BOL 
+(cl-define-keysym #xff60 "Select")		;Select, mark 
+(cl-define-keysym #xff61 "Print")
+(cl-define-keysym #xff62 "Execute")		;Execute, run, do 
+(cl-define-keysym #xff63 "Insert")		;Insert, insert here 
+(cl-define-keysym #xff65 "Undo")
+(cl-define-keysym #xff66 "Redo")	;Redo, again 
+(cl-define-keysym #xff67 "Menu")
+(cl-define-keysym #xff68 "Find")		;Find, search 
+(cl-define-keysym #xff69 "Cancel")	;Cancel, stop, abort, exit 
+(cl-define-keysym #xff6a "Help")	;Help 
+(cl-define-keysym #xff6b "Break")
+(cl-define-keysym #xff7e "Mode_switch")		;Character set switch 
+(cl-define-keysym #xff7e "script_switch") ;Alias for mode_switch 
+(cl-define-keysym #xff7f "Num_Lock")
+(cl-define-keysym #xff80 "KP_Space")	;Space 
+(cl-define-keysym #xff89 "KP_Tab")
+(cl-define-keysym #xff8d "KP_Enter")		;Enter 
+(cl-define-keysym #xff91 "KP_F1")		;PF1, KP_A, ... 
+(cl-define-keysym #xff92 "KP_F2")
+(cl-define-keysym #xff93 "KP_F3")
+(cl-define-keysym #xff94 "KP_F4")
+(cl-define-keysym #xff95 "KP_Home")
+(cl-define-keysym #xff96 "KP_Left")
+(cl-define-keysym #xff97 "KP_Up")
+(cl-define-keysym #xff98 "KP_Right")
+(cl-define-keysym #xff99 "KP_Down")
+(cl-define-keysym #xff9a "KP_Prior")
+(cl-define-keysym #xff9a "KP_Page_Up")
+(cl-define-keysym #xff9b "KP_Next")
+(cl-define-keysym #xff9b "KP_Page_Down")
+(cl-define-keysym #xff9c "KP_End")
+(cl-define-keysym #xff9d "KP_Begin")
+(cl-define-keysym #xff9e "KP_Insert")
+(cl-define-keysym #xff9f "KP_Delete")
+(cl-define-keysym #xffbd "KP_Equal")	;Equals 
+(cl-define-keysym #xffaa "KP_Multiply")
+(cl-define-keysym #xffab "KP_Add")
+(cl-define-keysym #xffac "KP_Separator") ;Separator, often comma 
+(cl-define-keysym #xffad "KP_Subtract")
+(cl-define-keysym #xffae "KP_Decimal")
+(cl-define-keysym #xffaf "KP_Divide")
+(cl-define-keysym #xffb0 "KP_0")
+(cl-define-keysym #xffb1 "KP_1")
+(cl-define-keysym #xffb2 "KP_2")
+(cl-define-keysym #xffb3 "KP_3")
+(cl-define-keysym #xffb4 "KP_4")
+(cl-define-keysym #xffb5 "KP_5")
+(cl-define-keysym #xffb6 "KP_6")
+(cl-define-keysym #xffb7 "KP_7")
+(cl-define-keysym #xffb8 "KP_8")
+(cl-define-keysym #xffb9 "KP_9")
+(cl-define-keysym #xffbe "F1")
+(cl-define-keysym #xffbf "F2")
+(cl-define-keysym #xffc0 "F3")
+(cl-define-keysym #xffc1 "F4")
+(cl-define-keysym #xffc2 "F5")
+(cl-define-keysym #xffc3 "F6")
+(cl-define-keysym #xffc4 "F7")
+(cl-define-keysym #xffc5 "F8")
+(cl-define-keysym #xffc6 "F9")
+(cl-define-keysym #xffc7 "F10")
+(cl-define-keysym #xffc8 "F11")
+(cl-define-keysym #xffc8 "L1")
+(cl-define-keysym #xffc9 "F12")
+(cl-define-keysym #xffc9 "L2")
+(cl-define-keysym #xffca "F13")
+(cl-define-keysym #xffca "L3")
+(cl-define-keysym #xffcb "F14")
+(cl-define-keysym #xffcb "L4")
+(cl-define-keysym #xffcc "F15")
+(cl-define-keysym #xffcc "L5")
+(cl-define-keysym #xffcd "F16")
+(cl-define-keysym #xffcd "L6")
+(cl-define-keysym #xffce "F17")
+(cl-define-keysym #xffce "L7")
+(cl-define-keysym #xffcf "F18")
+(cl-define-keysym #xffcf "L8")
+(cl-define-keysym #xffd0 "F19")
+(cl-define-keysym #xffd0 "L9")
+(cl-define-keysym #xffd1 "F20")
+(cl-define-keysym #xffd1 "L10")
+(cl-define-keysym #xffd2 "F21")
+(cl-define-keysym #xffd2 "R1")
+(cl-define-keysym #xffd3 "F22")
+(cl-define-keysym #xffd3 "R2")
+(cl-define-keysym #xffd4 "F23")
+(cl-define-keysym #xffd4 "R3")
+(cl-define-keysym #xffd5 "F24")
+(cl-define-keysym #xffd5 "R4")
+(cl-define-keysym #xffd6 "F25")
+(cl-define-keysym #xffd6 "R5")
+(cl-define-keysym #xffd7 "F26")
+(cl-define-keysym #xffd7 "R6")
+(cl-define-keysym #xffd8 "F27")
+(cl-define-keysym #xffd8 "R7")
+(cl-define-keysym #xffd9 "F28")
+(cl-define-keysym #xffd9 "R8")
+(cl-define-keysym #xffda "F29")
+(cl-define-keysym #xffda "R9")
+(cl-define-keysym #xffdb "F30")
+(cl-define-keysym #xffdb "R10")
+(cl-define-keysym #xffdc "F31")
+(cl-define-keysym #xffdc "R11")
+(cl-define-keysym #xffdd "F32")
+(cl-define-keysym #xffdd "R12")
+(cl-define-keysym #xffde "F33")
+(cl-define-keysym #xffde "R13")
+(cl-define-keysym #xffdf "F34")
+(cl-define-keysym #xffdf "R14")
+(cl-define-keysym #xffe0 "F35")
+(cl-define-keysym #xffe0 "R15")
+(cl-define-keysym #xffe1 "Shift_L")	;Left shift 
+(cl-define-keysym #xffe2 "Shift_R")	;Right shift 
+(cl-define-keysym #xffe3 "Control_L")	;Left control 
+(cl-define-keysym #xffe4 "Control_R")	;Right control 
+(cl-define-keysym #xffe5 "Caps_Lock")	;Caps lock 
+(cl-define-keysym #xffe6 "Shift_Lock")	;Shift lock 
+(cl-define-keysym #xffe7 "Meta_L")	;Left meta 
+(cl-define-keysym #xffe8 "Meta_R")	;Right meta 
+(cl-define-keysym #xffe9 "Alt_L")	;Left alt 
+(cl-define-keysym #xffea "Alt_R")	;Right alt 
+(cl-define-keysym #xffeb "Super_L")	;Left super 
+(cl-define-keysym #xffec "Super_R")	;Right super 
+(cl-define-keysym #xffed "Hyper_L")	;Left hyper 
+(cl-define-keysym #xffee "Hyper_R")	;Right hyper 
+(cl-define-keysym #xfe01 "ISO_Lock")
+(cl-define-keysym #xfe02 "ISO_Level2_Latch")
+(cl-define-keysym #xfe03 "ISO_Level3_Shift")
+(cl-define-keysym #xfe04 "ISO_Level3_Latch")
+(cl-define-keysym #xfe05 "ISO_Level3_Lock")
+(cl-define-keysym #xff7e "ISO_Group_Shift") ;Alias for mode_switch 
+(cl-define-keysym #xfe06 "ISO_Group_Latch")
+(cl-define-keysym #xfe07 "ISO_Group_Lock")
+(cl-define-keysym #xfe08 "ISO_Next_Group")
+(cl-define-keysym #xfe09 "ISO_Next_Group_Lock")
+(cl-define-keysym #xfe0a "ISO_Prev_Group")
+(cl-define-keysym #xfe0b "ISO_Prev_Group_Lock")
+(cl-define-keysym #xfe0c "ISO_First_Group")
+(cl-define-keysym #xfe0d "ISO_First_Group_Lock")
+(cl-define-keysym #xfe0e "ISO_Last_Group")
+(cl-define-keysym #xfe0f "ISO_Last_Group_Lock")
+(cl-define-keysym #xfe20 "ISO_Left_Tab")
+(cl-define-keysym #xfe21 "ISO_Move_Line_Up")
+(cl-define-keysym #xfe22 "ISO_Move_Line_Down")
+(cl-define-keysym #xfe23 "ISO_Partial_Line_Up")
+(cl-define-keysym #xfe24 "ISO_Partial_Line_Down")
+(cl-define-keysym #xfe25 "ISO_Partial_Space_Left")
+(cl-define-keysym #xfe26 "ISO_Partial_Space_Right")
+(cl-define-keysym #xfe27 "ISO_Set_Margin_Left")
+(cl-define-keysym #xfe28 "ISO_Set_Margin_Right")
+(cl-define-keysym #xfe29 "ISO_Release_Margin_Left")
+(cl-define-keysym #xfe2a "ISO_Release_Margin_Right")
+(cl-define-keysym #xfe2b "ISO_Release_Both_Margins")
+(cl-define-keysym #xfe2c "ISO_Fast_Cursor_Left")
+(cl-define-keysym #xfe2d "ISO_Fast_Cursor_Right")
+(cl-define-keysym #xfe2e "ISO_Fast_Cursor_Up")
+(cl-define-keysym #xfe2f "ISO_Fast_Cursor_Down")
+(cl-define-keysym #xfe30 "ISO_Continuous_Underline")
+(cl-define-keysym #xfe31 "ISO_Discontinuous_Underline")
+(cl-define-keysym #xfe32 "ISO_Emphasize")
+(cl-define-keysym #xfe33 "ISO_Center_Object")
+(cl-define-keysym #xfe34 "ISO_Enter")
+(cl-define-keysym #xfe50 "dead_grave")
+(cl-define-keysym #xfe51 "dead_acute")
+(cl-define-keysym #xfe52 "dead_circumflex")
+(cl-define-keysym #xfe53 "dead_tilde")
+(cl-define-keysym #xfe54 "dead_macron")
+(cl-define-keysym #xfe55 "dead_breve")
+(cl-define-keysym #xfe56 "dead_abovedot")
+(cl-define-keysym #xfe57 "dead_diaeresis")
+(cl-define-keysym #xfe58 "dead_abovering")
+(cl-define-keysym #xfe59 "dead_doubleacute")
+(cl-define-keysym #xfe5a "dead_caron")
+(cl-define-keysym #xfe5b "dead_cedilla")
+(cl-define-keysym #xfe5c "dead_ogonek")
+(cl-define-keysym #xfe5d "dead_iota")
+(cl-define-keysym #xfe5e "dead_voiced_sound")
+(cl-define-keysym #xfe5f "dead_semivoiced_sound")
+(cl-define-keysym #xfe60 "dead_belowdot")
+(cl-define-keysym #xfe61 "dead_hook")
+(cl-define-keysym #xfe62 "dead_horn")
+(cl-define-keysym #xfed0 "First_Virtual_Screen")
+(cl-define-keysym #xfed1 "Prev_Virtual_Screen")
+(cl-define-keysym #xfed2 "Next_Virtual_Screen")
+(cl-define-keysym #xfed4 "Last_Virtual_Screen")
+(cl-define-keysym #xfed5 "Terminate_Server")
+(cl-define-keysym #xfe70 "AccessX_Enable")
+(cl-define-keysym #xfe71 "AccessX_Feedback_Enable")
+(cl-define-keysym #xfe72 "RepeatKeys_Enable")
+(cl-define-keysym #xfe73 "SlowKeys_Enable")
+(cl-define-keysym #xfe74 "BounceKeys_Enable")
+(cl-define-keysym #xfe75 "StickyKeys_Enable")
+(cl-define-keysym #xfe76 "MouseKeys_Enable")
+(cl-define-keysym #xfe77 "MouseKeys_Accel_Enable")
+(cl-define-keysym #xfe78 "Overlay1_Enable")
+(cl-define-keysym #xfe79 "Overlay2_Enable")
+(cl-define-keysym #xfe7a "AudibleBell_Enable")
+(cl-define-keysym #xfee0 "Pointer_Left")
+(cl-define-keysym #xfee1 "Pointer_Right")
+(cl-define-keysym #xfee2 "Pointer_Up")
+(cl-define-keysym #xfee3 "Pointer_Down")
+(cl-define-keysym #xfee4 "Pointer_UpLeft")
+(cl-define-keysym #xfee5 "Pointer_UpRight")
+(cl-define-keysym #xfee6 "Pointer_DownLeft")
+(cl-define-keysym #xfee7 "Pointer_DownRight")
+(cl-define-keysym #xfee8 "Pointer_Button_Dflt")
+(cl-define-keysym #xfee9 "Pointer_Button1")
+(cl-define-keysym #xfeea "Pointer_Button2")
+(cl-define-keysym #xfeeb "Pointer_Button3")
+(cl-define-keysym #xfeec "Pointer_Button4")
+(cl-define-keysym #xfeed "Pointer_Button5")
+(cl-define-keysym #xfeee "Pointer_DblClick_Dflt")
+(cl-define-keysym #xfeef "Pointer_DblClick1")
+(cl-define-keysym #xfef0 "Pointer_DblClick2")
+(cl-define-keysym #xfef1 "Pointer_DblClick3")
+(cl-define-keysym #xfef2 "Pointer_DblClick4")
+(cl-define-keysym #xfef3 "Pointer_DblClick5")
+(cl-define-keysym #xfef4 "Pointer_Drag_Dflt")
+(cl-define-keysym #xfef5 "Pointer_Drag1")
+(cl-define-keysym #xfef6 "Pointer_Drag2")
+(cl-define-keysym #xfef7 "Pointer_Drag3")
+(cl-define-keysym #xfef8 "Pointer_Drag4")
+(cl-define-keysym #xfefd "Pointer_Drag5")
+(cl-define-keysym #xfef9 "Pointer_EnableKeys")
+(cl-define-keysym #xfefa "Pointer_Accelerate")
+(cl-define-keysym #xfefb "Pointer_DfltBtnNext")
+(cl-define-keysym #xfefc "Pointer_DfltBtnPrev")
+(cl-define-keysym #xfd01 "3270_Duplicate")
+(cl-define-keysym #xfd02 "3270_FieldMark")
+(cl-define-keysym #xfd03 "3270_Right2")
+(cl-define-keysym #xfd04 "3270_Left2")
+(cl-define-keysym #xfd05 "3270_BackTab")
+(cl-define-keysym #xfd06 "3270_EraseEOF")
+(cl-define-keysym #xfd07 "3270_EraseInput")
+(cl-define-keysym #xfd08 "3270_Reset")
+(cl-define-keysym #xfd09 "3270_Quit")
+(cl-define-keysym #xfd0a "3270_PA1")
+(cl-define-keysym #xfd0b "3270_PA2")
+(cl-define-keysym #xfd0c "3270_PA3")
+(cl-define-keysym #xfd0d "3270_Test")
+(cl-define-keysym #xfd0e "3270_Attn")
+(cl-define-keysym #xfd0f "3270_CursorBlink")
+(cl-define-keysym #xfd10 "3270_AltCursor")
+(cl-define-keysym #xfd11 "3270_KeyClick")
+(cl-define-keysym #xfd12 "3270_Jump")
+(cl-define-keysym #xfd13 "3270_Ident")
+(cl-define-keysym #xfd14 "3270_Rule")
+(cl-define-keysym #xfd15 "3270_Copy")
+(cl-define-keysym #xfd16 "3270_Play")
+(cl-define-keysym #xfd17 "3270_Setup")
+(cl-define-keysym #xfd18 "3270_Record")
+(cl-define-keysym #xfd19 "3270_ChangeScreen")
+(cl-define-keysym #xfd1a "3270_DeleteWord")
+(cl-define-keysym #xfd1b "3270_ExSelect")
+(cl-define-keysym #xfd1c "3270_CursorSelect")
+(cl-define-keysym #xfd1d "3270_PrintScreen")
+(cl-define-keysym #xfd1e "3270_Enter")
+(cl-define-keysym #x0020 "space")		;U+0020 SPACE 
+(cl-define-keysym #x0021 "exclam")	;U+0021 EXCLAMATION MARK 
+(cl-define-keysym #x0022 "quotedbl")	;U+0022 QUOTATION MARK 
+(cl-define-keysym #x0023 "numbersign")	;U+0023 NUMBER SIGN 
+(cl-define-keysym #x0024 "dollar")	;U+0024 DOLLAR SIGN 
+(cl-define-keysym #x0025 "percent")	;U+0025 PERCENT SIGN 
+(cl-define-keysym #x0026 "ampersand")	;U+0026 AMPERSAND 
+(cl-define-keysym #x0027 "apostrophe")	;U+0027 APOSTROPHE 
+(cl-define-keysym #x0027 "quoteright")	;deprecated 
+(cl-define-keysym #x0028 "parenleft")	;U+0028 LEFT PARENTHESIS 
+(cl-define-keysym #x0029 "parenright")	;U+0029 RIGHT PARENTHESIS 
+(cl-define-keysym #x002a "asterisk")	;U+002A ASTERISK 
+(cl-define-keysym #x002b "plus")	;U+002B PLUS SIGN 
+(cl-define-keysym #x002c "comma")	;U+002C COMMA 
+(cl-define-keysym #x002d "minus")	;U+002D HYPHEN-MINUS 
+(cl-define-keysym #x002e "period")	;U+002E FULL STOP 
+(cl-define-keysym #x002f "slash")	;U+002F SOLIDUS 
+(cl-define-keysym #x0030 "0")		;U+0030 DIGIT ZERO 
+(cl-define-keysym #x0031 "1")		;U+0031 DIGIT ONE 
+(cl-define-keysym #x0032 "2")		;U+0032 DIGIT TWO 
+(cl-define-keysym #x0033 "3")		;U+0033 DIGIT THREE 
+(cl-define-keysym #x0034 "4")		;U+0034 DIGIT FOUR 
+(cl-define-keysym #x0035 "5")		;U+0035 DIGIT FIVE 
+(cl-define-keysym #x0036 "6")		;U+0036 DIGIT SIX 
+(cl-define-keysym #x0037 "7")		;U+0037 DIGIT SEVEN 
+(cl-define-keysym #x0038 "8")		;U+0038 DIGIT EIGHT 
+(cl-define-keysym #x0039 "9")		;U+0039 DIGIT NINE 
+(cl-define-keysym #x003a "colon")	;U+003A COLON 
+(cl-define-keysym #x003b "semicolon")	;U+003B SEMICOLON 
+(cl-define-keysym #x003c "less")	;U+003C LESS-THAN SIGN 
+(cl-define-keysym #x003d "equal")	;U+003D EQUALS SIGN 
+(cl-define-keysym #x003e "greater")	;U+003E GREATER-THAN SIGN 
+(cl-define-keysym #x003f "question")	;U+003F QUESTION MARK 
+(cl-define-keysym #x0040 "at")		;U+0040 COMMERCIAL AT 
+(cl-define-keysym #x0041 "A")	       ;U+0041 LATIN CAPITAL LETTER A 
+(cl-define-keysym #x0042 "B")	       ;U+0042 LATIN CAPITAL LETTER B 
+(cl-define-keysym #x0043 "C")	       ;U+0043 LATIN CAPITAL LETTER C 
+(cl-define-keysym #x0044 "D")	       ;U+0044 LATIN CAPITAL LETTER D 
+(cl-define-keysym #x0045 "E")	       ;U+0045 LATIN CAPITAL LETTER E 
+(cl-define-keysym #x0046 "F")	       ;U+0046 LATIN CAPITAL LETTER F 
+(cl-define-keysym #x0047 "G")	       ;U+0047 LATIN CAPITAL LETTER G 
+(cl-define-keysym #x0048 "H")	       ;U+0048 LATIN CAPITAL LETTER H 
+(cl-define-keysym #x0049 "I")	       ;U+0049 LATIN CAPITAL LETTER I 
+(cl-define-keysym #x004a "J")	       ;U+004A LATIN CAPITAL LETTER J 
+(cl-define-keysym #x004b "K")	       ;U+004B LATIN CAPITAL LETTER K 
+(cl-define-keysym #x004c "L")	       ;U+004C LATIN CAPITAL LETTER L 
+(cl-define-keysym #x004d "M")	       ;U+004D LATIN CAPITAL LETTER M 
+(cl-define-keysym #x004e "N")	       ;U+004E LATIN CAPITAL LETTER N 
+(cl-define-keysym #x004f "O")	       ;U+004F LATIN CAPITAL LETTER O 
+(cl-define-keysym #x0050 "P")	       ;U+0050 LATIN CAPITAL LETTER P 
+(cl-define-keysym #x0051 "Q")	       ;U+0051 LATIN CAPITAL LETTER Q 
+(cl-define-keysym #x0052 "R")	       ;U+0052 LATIN CAPITAL LETTER R 
+(cl-define-keysym #x0053 "S")	       ;U+0053 LATIN CAPITAL LETTER S 
+(cl-define-keysym #x0054 "T")	       ;U+0054 LATIN CAPITAL LETTER T 
+(cl-define-keysym #x0055 "U")	       ;U+0055 LATIN CAPITAL LETTER U 
+(cl-define-keysym #x0056 "V")	       ;U+0056 LATIN CAPITAL LETTER V 
+(cl-define-keysym #x0057 "W")	       ;U+0057 LATIN CAPITAL LETTER W 
+(cl-define-keysym #x0058 "X")	       ;U+0058 LATIN CAPITAL LETTER X 
+(cl-define-keysym #x0059 "Y")	       ;U+0059 LATIN CAPITAL LETTER Y 
+(cl-define-keysym #x005a "Z")	       ;U+005A LATIN CAPITAL LETTER Z 
+(cl-define-keysym #x005b "bracketleft")	;U+005B LEFT SQUARE BRACKET 
+(cl-define-keysym #x005c "backslash")	;U+005C REVERSE SOLIDUS 
+(cl-define-keysym #x005d "bracketright") ;U+005D RIGHT SQUARE BRACKET 
+(cl-define-keysym #x005e "asciicircum")	 ;U+005E CIRCUMFLEX ACCENT 
+(cl-define-keysym #x005f "underscore")	 ;U+005F LOW LINE 
+(cl-define-keysym #x0060 "grave")	 ;U+0060 GRAVE ACCENT 
+(cl-define-keysym #x0060 "quoteleft")	 ;deprecated 
+(cl-define-keysym #x0061 "a")		 ;U+0061 LATIN SMALL LETTER A 
+(cl-define-keysym #x0062 "b")		 ;U+0062 LATIN SMALL LETTER B 
+(cl-define-keysym #x0063 "c")		 ;U+0063 LATIN SMALL LETTER C 
+(cl-define-keysym #x0064 "d")		 ;U+0064 LATIN SMALL LETTER D 
+(cl-define-keysym #x0065 "e")		 ;U+0065 LATIN SMALL LETTER E 
+(cl-define-keysym #x0066 "f")		 ;U+0066 LATIN SMALL LETTER F 
+(cl-define-keysym #x0067 "g")		 ;U+0067 LATIN SMALL LETTER G 
+(cl-define-keysym #x0068 "h")		 ;U+0068 LATIN SMALL LETTER H 
+(cl-define-keysym #x0069 "i")		 ;U+0069 LATIN SMALL LETTER I 
+(cl-define-keysym #x006a "j")		 ;U+006A LATIN SMALL LETTER J 
+(cl-define-keysym #x006b "k")		 ;U+006B LATIN SMALL LETTER K 
+(cl-define-keysym #x006c "l")		 ;U+006C LATIN SMALL LETTER L 
+(cl-define-keysym #x006d "m")		 ;U+006D LATIN SMALL LETTER M 
+(cl-define-keysym #x006e "n")		 ;U+006E LATIN SMALL LETTER N 
+(cl-define-keysym #x006f "o")		 ;U+006F LATIN SMALL LETTER O 
+(cl-define-keysym #x0070 "p")		 ;U+0070 LATIN SMALL LETTER P 
+(cl-define-keysym #x0071 "q")		 ;U+0071 LATIN SMALL LETTER Q 
+(cl-define-keysym #x0072 "r")		 ;U+0072 LATIN SMALL LETTER R 
+(cl-define-keysym #x0073 "s")		 ;U+0073 LATIN SMALL LETTER S 
+(cl-define-keysym #x0074 "t")		 ;U+0074 LATIN SMALL LETTER T 
+(cl-define-keysym #x0075 "u")		 ;U+0075 LATIN SMALL LETTER U 
+(cl-define-keysym #x0076 "v")		 ;U+0076 LATIN SMALL LETTER V 
+(cl-define-keysym #x0077 "w")		 ;U+0077 LATIN SMALL LETTER W 
+(cl-define-keysym #x0078 "x")		 ;U+0078 LATIN SMALL LETTER X 
+(cl-define-keysym #x0079 "y")		 ;U+0079 LATIN SMALL LETTER Y 
+(cl-define-keysym #x007a "z")		 ;U+007A LATIN SMALL LETTER Z 
+(cl-define-keysym #x007b "braceleft")	 ;U+007B LEFT CURLY BRACKET 
+(cl-define-keysym #x007c "bar")		 ;U+007C VERTICAL LINE 
+(cl-define-keysym #x007d "braceright")	 ;U+007D RIGHT CURLY BRACKET 
+(cl-define-keysym #x007e "asciitilde")	 ;U+007E TILDE 
+(cl-define-keysym #x00a0 "nobreakspace") ;U+00A0 NO-BREAK SPACE 
+(cl-define-keysym #x00a1 "exclamdown") ;U+00A1 INVERTED EXCLAMATION MARK 
+(cl-define-keysym #x00a2 "cent")	;U+00A2 CENT SIGN 
+(cl-define-keysym #x00a3 "sterling")	;U+00A3 POUND SIGN 
+(cl-define-keysym #x00a4 "currency")	;U+00A4 CURRENCY SIGN 
+(cl-define-keysym #x00a5 "yen")		;U+00A5 YEN SIGN 
+(cl-define-keysym #x00a6 "brokenbar")	;U+00A6 BROKEN BAR 
+(cl-define-keysym #x00a7 "section")	;U+00A7 SECTION SIGN 
+(cl-define-keysym #x00a8 "diaeresis")	;U+00A8 DIAERESIS 
+(cl-define-keysym #x00a9 "copyright")	;U+00A9 COPYRIGHT SIGN 
+(cl-define-keysym #x00aa "ordfeminine")	;U+00AA FEMININE ORDINAL INDICATOR 
+(cl-define-keysym #x00ab "guillemotleft") ;U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 
+(cl-define-keysym #x00ac "notsign")	  ;U+00AC NOT SIGN 
+(cl-define-keysym #x00ad "hyphen")	  ;U+00AD SOFT HYPHEN 
+(cl-define-keysym #x00ae "registered")	  ;U+00AE REGISTERED SIGN 
+(cl-define-keysym #x00af "macron")	  ;U+00AF MACRON 
+(cl-define-keysym #x00b0 "degree")	  ;U+00B0 DEGREE SIGN 
+(cl-define-keysym #x00b1 "plusminus")	  ;U+00B1 PLUS-MINUS SIGN 
+(cl-define-keysym #x00b2 "twosuperior")	  ;U+00B2 SUPERSCRIPT TWO 
+(cl-define-keysym #x00b3 "threesuperior") ;U+00B3 SUPERSCRIPT THREE 
+(cl-define-keysym #x00b4 "acute")	  ;U+00B4 ACUTE ACCENT 
+(cl-define-keysym #x00b5 "mu")		  ;U+00B5 MICRO SIGN 
+(cl-define-keysym #x00b6 "paragraph")	  ;U+00B6 PILCROW SIGN 
+(cl-define-keysym #x00b7 "periodcentered") ;U+00B7 MIDDLE DOT 
+(cl-define-keysym #x00b8 "cedilla")	   ;U+00B8 CEDILLA 
+(cl-define-keysym #x00b9 "onesuperior")	   ;U+00B9 SUPERSCRIPT ONE 
+(cl-define-keysym #x00ba "masculine") ;U+00BA MASCULINE ORDINAL INDICATOR 
+(cl-define-keysym #x00bb "guillemotright") ;U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 
+(cl-define-keysym #x00bc "onequarter") ;U+00BC VULGAR FRACTION ONE QUARTER 
+(cl-define-keysym #x00bd "onehalf")  ;U+00BD VULGAR FRACTION ONE HALF 
+(cl-define-keysym #x00be "threequarters") ;U+00BE VULGAR FRACTION THREE QUARTERS 
+(cl-define-keysym #x00bf "questiondown") ;U+00BF INVERTED QUESTION MARK 
+(cl-define-keysym #x00c0 "Agrave") ;U+00C0 LATIN CAPITAL LETTER A WITH GRAVE 
+(cl-define-keysym #x00c1 "Aacute") ;U+00C1 LATIN CAPITAL LETTER A WITH ACUTE 
+(cl-define-keysym #x00c2 "Acircumflex")	;U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX 
+(cl-define-keysym #x00c3 "Atilde") ;U+00C3 LATIN CAPITAL LETTER A WITH TILDE 
+(cl-define-keysym #x00c4 "Adiaeresis") ;U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS 
+(cl-define-keysym #x00c5 "Aring") ;U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE 
+(cl-define-keysym #x00c6 "AE")	      ;U+00C6 LATIN CAPITAL LETTER AE 
+(cl-define-keysym #x00c7 "Ccedilla") ;U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA 
+(cl-define-keysym #x00c8 "Egrave") ;U+00C8 LATIN CAPITAL LETTER E WITH GRAVE 
+(cl-define-keysym #x00c9 "Eacute") ;U+00C9 LATIN CAPITAL LETTER E WITH ACUTE 
+(cl-define-keysym #x00ca "Ecircumflex")	;U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX 
+(cl-define-keysym #x00cb "Ediaeresis") ;U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS 
+(cl-define-keysym #x00cc "Igrave") ;U+00CC LATIN CAPITAL LETTER I WITH GRAVE 
+(cl-define-keysym #x00cd "Iacute") ;U+00CD LATIN CAPITAL LETTER I WITH ACUTE 
+(cl-define-keysym #x00ce "Icircumflex")	;U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX 
+(cl-define-keysym #x00cf "Idiaeresis") ;U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS 
+(cl-define-keysym #x00d0 "ETH")	     ;U+00D0 LATIN CAPITAL LETTER ETH 
+(cl-define-keysym #x00d0 "Eth")			;deprecated 
+(cl-define-keysym #x00d1 "Ntilde") ;U+00D1 LATIN CAPITAL LETTER N WITH TILDE 
+(cl-define-keysym #x00d2 "Ograve") ;U+00D2 LATIN CAPITAL LETTER O WITH GRAVE 
+(cl-define-keysym #x00d3 "Oacute") ;U+00D3 LATIN CAPITAL LETTER O WITH ACUTE 
+(cl-define-keysym #x00d4 "Ocircumflex")	;U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX 
+(cl-define-keysym #x00d5 "Otilde") ;U+00D5 LATIN CAPITAL LETTER O WITH TILDE 
+(cl-define-keysym #x00d6 "Odiaeresis") ;U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS 
+(cl-define-keysym #x00d7 "multiply")	;U+00D7 MULTIPLICATION SIGN 
+(cl-define-keysym #x00d8 "Oslash") ;U+00D8 LATIN CAPITAL LETTER O WITH STROKE 
+(cl-define-keysym #x00d8 "Ooblique") ;U+00D8 LATIN CAPITAL LETTER O WITH STROKE 
+(cl-define-keysym #x00d9 "Ugrave") ;U+00D9 LATIN CAPITAL LETTER U WITH GRAVE 
+(cl-define-keysym #x00da "Uacute") ;U+00DA LATIN CAPITAL LETTER U WITH ACUTE 
+(cl-define-keysym #x00db "Ucircumflex")	;U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX 
+(cl-define-keysym #x00dc "Udiaeresis") ;U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS 
+(cl-define-keysym #x00dd "Yacute") ;U+00DD LATIN CAPITAL LETTER Y WITH ACUTE 
+(cl-define-keysym #x00de "THORN")  ;U+00DE LATIN CAPITAL LETTER THORN 
+(cl-define-keysym #x00de "Thorn")		;deprecated 
+(cl-define-keysym #x00df "ssharp") ;U+00DF LATIN SMALL LETTER SHARP S 
+(cl-define-keysym #x00e0 "agrave") ;U+00E0 LATIN SMALL LETTER A WITH GRAVE 
+(cl-define-keysym #x00e1 "aacute") ;U+00E1 LATIN SMALL LETTER A WITH ACUTE 
+(cl-define-keysym #x00e2 "acircumflex")	;U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX 
+(cl-define-keysym #x00e3 "atilde") ;U+00E3 LATIN SMALL LETTER A WITH TILDE 
+(cl-define-keysym #x00e4 "adiaeresis") ;U+00E4 LATIN SMALL LETTER A WITH DIAERESIS 
+(cl-define-keysym #x00e5 "aring") ;U+00E5 LATIN SMALL LETTER A WITH RING ABOVE 
+(cl-define-keysym #x00e6 "ae")		;U+00E6 LATIN SMALL LETTER AE 
+(cl-define-keysym #x00e7 "ccedilla") ;U+00E7 LATIN SMALL LETTER C WITH CEDILLA 
+(cl-define-keysym #x00e8 "egrave") ;U+00E8 LATIN SMALL LETTER E WITH GRAVE 
+(cl-define-keysym #x00e9 "eacute") ;U+00E9 LATIN SMALL LETTER E WITH ACUTE 
+(cl-define-keysym #x00ea "ecircumflex")	;U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX 
+(cl-define-keysym #x00eb "ediaeresis") ;U+00EB LATIN SMALL LETTER E WITH DIAERESIS 
+(cl-define-keysym #x00ec "igrave") ;U+00EC LATIN SMALL LETTER I WITH GRAVE 
+(cl-define-keysym #x00ed "iacute") ;U+00ED LATIN SMALL LETTER I WITH ACUTE 
+(cl-define-keysym #x00ee "icircumflex")	;U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX 
+(cl-define-keysym #x00ef "idiaeresis") ;U+00EF LATIN SMALL LETTER I WITH DIAERESIS 
+(cl-define-keysym #x00f0 "eth")	       ;U+00F0 LATIN SMALL LETTER ETH 
+(cl-define-keysym #x00f1 "ntilde") ;U+00F1 LATIN SMALL LETTER N WITH TILDE 
+(cl-define-keysym #x00f2 "ograve") ;U+00F2 LATIN SMALL LETTER O WITH GRAVE 
+(cl-define-keysym #x00f3 "oacute") ;U+00F3 LATIN SMALL LETTER O WITH ACUTE 
+(cl-define-keysym #x00f4 "ocircumflex")	;U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX 
+(cl-define-keysym #x00f5 "otilde") ;U+00F5 LATIN SMALL LETTER O WITH TILDE 
+(cl-define-keysym #x00f6 "odiaeresis") ;U+00F6 LATIN SMALL LETTER O WITH DIAERESIS 
+(cl-define-keysym #x00f7 "division")		;U+00F7 DIVISION SIGN 
+(cl-define-keysym #x00f8 "oslash") ;U+00F8 LATIN SMALL LETTER O WITH STROKE 
+(cl-define-keysym #x00f8 "ooblique") ;U+00F8 LATIN SMALL LETTER O WITH STROKE 
+(cl-define-keysym #x00f9 "ugrave") ;U+00F9 LATIN SMALL LETTER U WITH GRAVE 
+(cl-define-keysym #x00fa "uacute") ;U+00FA LATIN SMALL LETTER U WITH ACUTE 
+(cl-define-keysym #x00fb "ucircumflex")	;U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX 
+(cl-define-keysym #x00fc "udiaeresis") ;U+00FC LATIN SMALL LETTER U WITH DIAERESIS 
+(cl-define-keysym #x00fd "yacute") ;U+00FD LATIN SMALL LETTER Y WITH ACUTE 
+(cl-define-keysym #x00fe "thorn")    ;U+00FE LATIN SMALL LETTER THORN 
+(cl-define-keysym #x00ff "ydiaeresis") ;U+00FF LATIN SMALL LETTER Y WITH DIAERESIS 
+(cl-define-keysym #x01a1 "Aogonek") ;U+0104 LATIN CAPITAL LETTER A WITH OGONEK 
+(cl-define-keysym #x01a2 "breve")	;U+02D8 BREVE 
+(cl-define-keysym #x01a3 "Lstroke") ;U+0141 LATIN CAPITAL LETTER L WITH STROKE 
+(cl-define-keysym #x01a5 "Lcaron") ;U+013D LATIN CAPITAL LETTER L WITH CARON 
+(cl-define-keysym #x01a6 "Sacute") ;U+015A LATIN CAPITAL LETTER S WITH ACUTE 
+(cl-define-keysym #x01a9 "Scaron") ;U+0160 LATIN CAPITAL LETTER S WITH CARON 
+(cl-define-keysym #x01aa "Scedilla") ;U+015E LATIN CAPITAL LETTER S WITH CEDILLA 
+(cl-define-keysym #x01ab "Tcaron") ;U+0164 LATIN CAPITAL LETTER T WITH CARON 
+(cl-define-keysym #x01ac "Zacute") ;U+0179 LATIN CAPITAL LETTER Z WITH ACUTE 
+(cl-define-keysym #x01ae "Zcaron") ;U+017D LATIN CAPITAL LETTER Z WITH CARON 
+(cl-define-keysym #x01af "Zabovedot") ;U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE 
+(cl-define-keysym #x01b1 "aogonek") ;U+0105 LATIN SMALL LETTER A WITH OGONEK 
+(cl-define-keysym #x01b2 "ogonek")	;U+02DB OGONEK 
+(cl-define-keysym #x01b3 "lstroke") ;U+0142 LATIN SMALL LETTER L WITH STROKE 
+(cl-define-keysym #x01b5 "lcaron") ;U+013E LATIN SMALL LETTER L WITH CARON 
+(cl-define-keysym #x01b6 "sacute") ;U+015B LATIN SMALL LETTER S WITH ACUTE 
+(cl-define-keysym #x01b7 "caron")		;U+02C7 CARON 
+(cl-define-keysym #x01b9 "scaron") ;U+0161 LATIN SMALL LETTER S WITH CARON 
+(cl-define-keysym #x01ba "scedilla") ;U+015F LATIN SMALL LETTER S WITH CEDILLA 
+(cl-define-keysym #x01bb "tcaron") ;U+0165 LATIN SMALL LETTER T WITH CARON 
+(cl-define-keysym #x01bc "zacute") ;U+017A LATIN SMALL LETTER Z WITH ACUTE 
+(cl-define-keysym #x01bd "doubleacute")	;U+02DD DOUBLE ACUTE ACCENT 
+(cl-define-keysym #x01be "zcaron") ;U+017E LATIN SMALL LETTER Z WITH CARON 
+(cl-define-keysym #x01bf "zabovedot") ;U+017C LATIN SMALL LETTER Z WITH DOT ABOVE 
+(cl-define-keysym #x01c0 "Racute") ;U+0154 LATIN CAPITAL LETTER R WITH ACUTE 
+(cl-define-keysym #x01c3 "Abreve") ;U+0102 LATIN CAPITAL LETTER A WITH BREVE 
+(cl-define-keysym #x01c5 "Lacute") ;U+0139 LATIN CAPITAL LETTER L WITH ACUTE 
+(cl-define-keysym #x01c6 "Cacute") ;U+0106 LATIN CAPITAL LETTER C WITH ACUTE 
+(cl-define-keysym #x01c8 "Ccaron") ;U+010C LATIN CAPITAL LETTER C WITH CARON 
+(cl-define-keysym #x01ca "Eogonek") ;U+0118 LATIN CAPITAL LETTER E WITH OGONEK 
+(cl-define-keysym #x01cc "Ecaron") ;U+011A LATIN CAPITAL LETTER E WITH CARON 
+(cl-define-keysym #x01cf "Dcaron") ;U+010E LATIN CAPITAL LETTER D WITH CARON 
+(cl-define-keysym #x01d0 "Dstroke") ;U+0110 LATIN CAPITAL LETTER D WITH STROKE 
+(cl-define-keysym #x01d1 "Nacute") ;U+0143 LATIN CAPITAL LETTER N WITH ACUTE 
+(cl-define-keysym #x01d2 "Ncaron") ;U+0147 LATIN CAPITAL LETTER N WITH CARON 
+(cl-define-keysym #x01d5 "Odoubleacute") ;U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE 
+(cl-define-keysym #x01d8 "Rcaron") ;U+0158 LATIN CAPITAL LETTER R WITH CARON 
+(cl-define-keysym #x01d9 "Uring") ;U+016E LATIN CAPITAL LETTER U WITH RING ABOVE 
+(cl-define-keysym #x01db "Udoubleacute") ;U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE 
+(cl-define-keysym #x01de "Tcedilla") ;U+0162 LATIN CAPITAL LETTER T WITH CEDILLA 
+(cl-define-keysym #x01e0 "racute") ;U+0155 LATIN SMALL LETTER R WITH ACUTE 
+(cl-define-keysym #x01e3 "abreve") ;U+0103 LATIN SMALL LETTER A WITH BREVE 
+(cl-define-keysym #x01e5 "lacute") ;U+013A LATIN SMALL LETTER L WITH ACUTE 
+(cl-define-keysym #x01e6 "cacute") ;U+0107 LATIN SMALL LETTER C WITH ACUTE 
+(cl-define-keysym #x01e8 "ccaron") ;U+010D LATIN SMALL LETTER C WITH CARON 
+(cl-define-keysym #x01ea "eogonek") ;U+0119 LATIN SMALL LETTER E WITH OGONEK 
+(cl-define-keysym #x01ec "ecaron") ;U+011B LATIN SMALL LETTER E WITH CARON 
+(cl-define-keysym #x01ef "dcaron") ;U+010F LATIN SMALL LETTER D WITH CARON 
+(cl-define-keysym #x01f0 "dstroke") ;U+0111 LATIN SMALL LETTER D WITH STROKE 
+(cl-define-keysym #x01f1 "nacute") ;U+0144 LATIN SMALL LETTER N WITH ACUTE 
+(cl-define-keysym #x01f2 "ncaron") ;U+0148 LATIN SMALL LETTER N WITH CARON 
+(cl-define-keysym #x01f5 "odoubleacute") ;U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE 
+(cl-define-keysym #x01fb "udoubleacute") ;U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE 
+(cl-define-keysym #x01f8 "rcaron") ;U+0159 LATIN SMALL LETTER R WITH CARON 
+(cl-define-keysym #x01f9 "uring") ;U+016F LATIN SMALL LETTER U WITH RING ABOVE 
+(cl-define-keysym #x01fe "tcedilla") ;U+0163 LATIN SMALL LETTER T WITH CEDILLA 
+(cl-define-keysym #x01ff "abovedot")	;U+02D9 DOT ABOVE 
+(cl-define-keysym #x02a1 "Hstroke") ;U+0126 LATIN CAPITAL LETTER H WITH STROKE 
+(cl-define-keysym #x02a6 "Hcircumflex")	;U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX 
+(cl-define-keysym #x02a9 "Iabovedot") ;U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE 
+(cl-define-keysym #x02ab "Gbreve") ;U+011E LATIN CAPITAL LETTER G WITH BREVE 
+(cl-define-keysym #x02ac "Jcircumflex")	;U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX 
+(cl-define-keysym #x02b1 "hstroke") ;U+0127 LATIN SMALL LETTER H WITH STROKE 
+(cl-define-keysym #x02b6 "hcircumflex")	;U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX 
+(cl-define-keysym #x02b9 "idotless") ;U+0131 LATIN SMALL LETTER DOTLESS I 
+(cl-define-keysym #x02bb "gbreve") ;U+011F LATIN SMALL LETTER G WITH BREVE 
+(cl-define-keysym #x02bc "jcircumflex")	;U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX 
+(cl-define-keysym #x02c5 "Cabovedot") ;U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE 
+(cl-define-keysym #x02c6 "Ccircumflex")	;U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX 
+(cl-define-keysym #x02d5 "Gabovedot") ;U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE 
+(cl-define-keysym #x02d8 "Gcircumflex")	;U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX 
+(cl-define-keysym #x02dd "Ubreve") ;U+016C LATIN CAPITAL LETTER U WITH BREVE 
+(cl-define-keysym #x02de "Scircumflex")	;U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX 
+(cl-define-keysym #x02e5 "cabovedot") ;U+010B LATIN SMALL LETTER C WITH DOT ABOVE 
+(cl-define-keysym #x02e6 "ccircumflex")	;U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX 
+(cl-define-keysym #x02f5 "gabovedot") ;U+0121 LATIN SMALL LETTER G WITH DOT ABOVE 
+(cl-define-keysym #x02f8 "gcircumflex")	;U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX 
+(cl-define-keysym #x02fd "ubreve") ;U+016D LATIN SMALL LETTER U WITH BREVE 
+(cl-define-keysym #x02fe "scircumflex")	;U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX 
+(cl-define-keysym #x03a2 "kra")	       ;U+0138 LATIN SMALL LETTER KRA 
+(cl-define-keysym #x03a2 "kappa")	;deprecated 
+(cl-define-keysym #x03a3 "Rcedilla") ;U+0156 LATIN CAPITAL LETTER R WITH CEDILLA 
+(cl-define-keysym #x03a5 "Itilde") ;U+0128 LATIN CAPITAL LETTER I WITH TILDE 
+(cl-define-keysym #x03a6 "Lcedilla") ;U+013B LATIN CAPITAL LETTER L WITH CEDILLA 
+(cl-define-keysym #x03aa "Emacron") ;U+0112 LATIN CAPITAL LETTER E WITH MACRON 
+(cl-define-keysym #x03ab "Gcedilla") ;U+0122 LATIN CAPITAL LETTER G WITH CEDILLA 
+(cl-define-keysym #x03ac "Tslash") ;U+0166 LATIN CAPITAL LETTER T WITH STROKE 
+(cl-define-keysym #x03b3 "rcedilla") ;U+0157 LATIN SMALL LETTER R WITH CEDILLA 
+(cl-define-keysym #x03b5 "itilde") ;U+0129 LATIN SMALL LETTER I WITH TILDE 
+(cl-define-keysym #x03b6 "lcedilla") ;U+013C LATIN SMALL LETTER L WITH CEDILLA 
+(cl-define-keysym #x03ba "emacron") ;U+0113 LATIN SMALL LETTER E WITH MACRON 
+(cl-define-keysym #x03bb "gcedilla") ;U+0123 LATIN SMALL LETTER G WITH CEDILLA 
+(cl-define-keysym #x03bc "tslash") ;U+0167 LATIN SMALL LETTER T WITH STROKE 
+(cl-define-keysym #x03bd "ENG")	     ;U+014A LATIN CAPITAL LETTER ENG 
+(cl-define-keysym #x03bf "eng")	       ;U+014B LATIN SMALL LETTER ENG 
+(cl-define-keysym #x03c0 "Amacron") ;U+0100 LATIN CAPITAL LETTER A WITH MACRON 
+(cl-define-keysym #x03c7 "Iogonek") ;U+012E LATIN CAPITAL LETTER I WITH OGONEK 
+(cl-define-keysym #x03cc "Eabovedot") ;U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE 
+(cl-define-keysym #x03cf "Imacron") ;U+012A LATIN CAPITAL LETTER I WITH MACRON 
+(cl-define-keysym #x03d1 "Ncedilla") ;U+0145 LATIN CAPITAL LETTER N WITH CEDILLA 
+(cl-define-keysym #x03d2 "Omacron") ;U+014C LATIN CAPITAL LETTER O WITH MACRON 
+(cl-define-keysym #x03d3 "Kcedilla") ;U+0136 LATIN CAPITAL LETTER K WITH CEDILLA 
+(cl-define-keysym #x03d9 "Uogonek") ;U+0172 LATIN CAPITAL LETTER U WITH OGONEK 
+(cl-define-keysym #x03dd "Utilde") ;U+0168 LATIN CAPITAL LETTER U WITH TILDE 
+(cl-define-keysym #x03de "Umacron") ;U+016A LATIN CAPITAL LETTER U WITH MACRON 
+(cl-define-keysym #x03e0 "amacron") ;U+0101 LATIN SMALL LETTER A WITH MACRON 
+(cl-define-keysym #x03e7 "iogonek") ;U+012F LATIN SMALL LETTER I WITH OGONEK 
+(cl-define-keysym #x03ec "eabovedot") ;U+0117 LATIN SMALL LETTER E WITH DOT ABOVE 
+(cl-define-keysym #x03ef "imacron") ;U+012B LATIN SMALL LETTER I WITH MACRON 
+(cl-define-keysym #x03f1 "ncedilla") ;U+0146 LATIN SMALL LETTER N WITH CEDILLA 
+(cl-define-keysym #x03f2 "omacron") ;U+014D LATIN SMALL LETTER O WITH MACRON 
+(cl-define-keysym #x03f3 "kcedilla") ;U+0137 LATIN SMALL LETTER K WITH CEDILLA 
+(cl-define-keysym #x03f9 "uogonek") ;U+0173 LATIN SMALL LETTER U WITH OGONEK 
+(cl-define-keysym #x03fd "utilde") ;U+0169 LATIN SMALL LETTER U WITH TILDE 
+(cl-define-keysym #x03fe "umacron") ;U+016B LATIN SMALL LETTER U WITH MACRON 
+(cl-define-keysym #x1001e02 "Babovedot") ;U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE 
+(cl-define-keysym #x1001e03 "babovedot") ;U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE 
+(cl-define-keysym #x1001e0a "Dabovedot") ;U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE 
+(cl-define-keysym #x1001e80 "Wgrave") ;U+1E80 LATIN CAPITAL LETTER W WITH GRAVE 
+(cl-define-keysym #x1001e82 "Wacute") ;U+1E82 LATIN CAPITAL LETTER W WITH ACUTE 
+(cl-define-keysym #x1001e0b "dabovedot") ;U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE 
+(cl-define-keysym #x1001ef2 "Ygrave") ;U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE 
+(cl-define-keysym #x1001e1e "Fabovedot") ;U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE 
+(cl-define-keysym #x1001e1f "fabovedot") ;U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE 
+(cl-define-keysym #x1001e40 "Mabovedot") ;U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE 
+(cl-define-keysym #x1001e41 "mabovedot") ;U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE 
+(cl-define-keysym #x1001e56 "Pabovedot") ;U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE 
+(cl-define-keysym #x1001e81 "wgrave") ;U+1E81 LATIN SMALL LETTER W WITH GRAVE 
+(cl-define-keysym #x1001e57 "pabovedot") ;U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE 
+(cl-define-keysym #x1001e83 "wacute") ;U+1E83 LATIN SMALL LETTER W WITH ACUTE 
+(cl-define-keysym #x1001e60 "Sabovedot") ;U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE 
+(cl-define-keysym #x1001ef3 "ygrave") ;U+1EF3 LATIN SMALL LETTER Y WITH GRAVE 
+(cl-define-keysym #x1001e84 "Wdiaeresis") ;U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS 
+(cl-define-keysym #x1001e85 "wdiaeresis") ;U+1E85 LATIN SMALL LETTER W WITH DIAERESIS 
+(cl-define-keysym #x1001e61 "sabovedot") ;U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE 
+(cl-define-keysym #x1000174 "Wcircumflex") ;U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX 
+(cl-define-keysym #x1001e6a "Tabovedot") ;U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE 
+(cl-define-keysym #x1000176 "Ycircumflex") ;U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX 
+(cl-define-keysym #x1000175 "wcircumflex") ;U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX 
+(cl-define-keysym #x1001e6b "tabovedot") ;U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE 
+(cl-define-keysym #x1000177 "ycircumflex") ;U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX 
+(cl-define-keysym #x13bc "OE")	    ;U+0152 LATIN CAPITAL LIGATURE OE 
+(cl-define-keysym #x13bd "oe")	      ;U+0153 LATIN SMALL LIGATURE OE 
+(cl-define-keysym #x13be "Ydiaeresis") ;U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS 
+(cl-define-keysym #x047e "overline")		;U+203E OVERLINE 
+(cl-define-keysym #x04a1 "kana_fullstop") ;U+3002 IDEOGRAPHIC FULL STOP 
+(cl-define-keysym #x04a2 "kana_openingbracket") ;U+300C LEFT CORNER BRACKET 
+(cl-define-keysym #x04a3 "kana_closingbracket") ;U+300D RIGHT CORNER BRACKET 
+(cl-define-keysym #x04a4 "kana_comma")	;U+3001 IDEOGRAPHIC COMMA 
+(cl-define-keysym #x04a5 "kana_conjunctive") ;U+30FB KATAKANA MIDDLE DOT 
+(cl-define-keysym #x04a5 "kana_middledot")   ;deprecated 
+(cl-define-keysym #x04a6 "kana_WO")	;U+30F2 KATAKANA LETTER WO 
+(cl-define-keysym #x04a7 "kana_a")    ;U+30A1 KATAKANA LETTER SMALL A 
+(cl-define-keysym #x04a8 "kana_i")    ;U+30A3 KATAKANA LETTER SMALL I 
+(cl-define-keysym #x04a9 "kana_u")    ;U+30A5 KATAKANA LETTER SMALL U 
+(cl-define-keysym #x04aa "kana_e")    ;U+30A7 KATAKANA LETTER SMALL E 
+(cl-define-keysym #x04ab "kana_o")    ;U+30A9 KATAKANA LETTER SMALL O 
+(cl-define-keysym #x04ac "kana_ya")  ;U+30E3 KATAKANA LETTER SMALL YA 
+(cl-define-keysym #x04ad "kana_yu")  ;U+30E5 KATAKANA LETTER SMALL YU 
+(cl-define-keysym #x04ae "kana_yo")  ;U+30E7 KATAKANA LETTER SMALL YO 
+(cl-define-keysym #x04af "kana_tsu") ;U+30C3 KATAKANA LETTER SMALL TU 
+(cl-define-keysym #x04af "kana_tu")		     ;deprecated 
+(cl-define-keysym #x04b0 "prolongedsound") ;U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK 
+(cl-define-keysym #x04b1 "kana_A")	   ;U+30A2 KATAKANA LETTER A 
+(cl-define-keysym #x04b2 "kana_I")	   ;U+30A4 KATAKANA LETTER I 
+(cl-define-keysym #x04b3 "kana_U")	   ;U+30A6 KATAKANA LETTER U 
+(cl-define-keysym #x04b4 "kana_E")	   ;U+30A8 KATAKANA LETTER E 
+(cl-define-keysym #x04b5 "kana_O")	   ;U+30AA KATAKANA LETTER O 
+(cl-define-keysym #x04b6 "kana_KA")	   ;U+30AB KATAKANA LETTER KA 
+(cl-define-keysym #x04b7 "kana_KI")	   ;U+30AD KATAKANA LETTER KI 
+(cl-define-keysym #x04b8 "kana_KU")	   ;U+30AF KATAKANA LETTER KU 
+(cl-define-keysym #x04b9 "kana_KE")	   ;U+30B1 KATAKANA LETTER KE 
+(cl-define-keysym #x04ba "kana_KO")	   ;U+30B3 KATAKANA LETTER KO 
+(cl-define-keysym #x04bb "kana_SA")	   ;U+30B5 KATAKANA LETTER SA 
+(cl-define-keysym #x04bc "kana_SHI")	   ;U+30B7 KATAKANA LETTER SI 
+(cl-define-keysym #x04bd "kana_SU")	   ;U+30B9 KATAKANA LETTER SU 
+(cl-define-keysym #x04be "kana_SE")	   ;U+30BB KATAKANA LETTER SE 
+(cl-define-keysym #x04bf "kana_SO")	   ;U+30BD KATAKANA LETTER SO 
+(cl-define-keysym #x04c0 "kana_TA")	   ;U+30BF KATAKANA LETTER TA 
+(cl-define-keysym #x04c1 "kana_CHI")	   ;U+30C1 KATAKANA LETTER TI 
+(cl-define-keysym #x04c1 "kana_TI")	   ;deprecated 
+(cl-define-keysym #x04c2 "kana_TSU")	   ;U+30C4 KATAKANA LETTER TU 
+(cl-define-keysym #x04c2 "kana_TU")	   ;deprecated 
+(cl-define-keysym #x04c3 "kana_TE")	   ;U+30C6 KATAKANA LETTER TE 
+(cl-define-keysym #x04c4 "kana_TO")	   ;U+30C8 KATAKANA LETTER TO 
+(cl-define-keysym #x04c5 "kana_NA")	   ;U+30CA KATAKANA LETTER NA 
+(cl-define-keysym #x04c6 "kana_NI")	   ;U+30CB KATAKANA LETTER NI 
+(cl-define-keysym #x04c7 "kana_NU")	   ;U+30CC KATAKANA LETTER NU 
+(cl-define-keysym #x04c8 "kana_NE")	   ;U+30CD KATAKANA LETTER NE 
+(cl-define-keysym #x04c9 "kana_NO")	   ;U+30CE KATAKANA LETTER NO 
+(cl-define-keysym #x04ca "kana_HA")	   ;U+30CF KATAKANA LETTER HA 
+(cl-define-keysym #x04cb "kana_HI")	   ;U+30D2 KATAKANA LETTER HI 
+(cl-define-keysym #x04cc "kana_FU")	   ;U+30D5 KATAKANA LETTER HU 
+(cl-define-keysym #x04cc "kana_HU")	   ;deprecated 
+(cl-define-keysym #x04cd "kana_HE")	   ;U+30D8 KATAKANA LETTER HE 
+(cl-define-keysym #x04ce "kana_HO")	   ;U+30DB KATAKANA LETTER HO 
+(cl-define-keysym #x04cf "kana_MA")	   ;U+30DE KATAKANA LETTER MA 
+(cl-define-keysym #x04d0 "kana_MI")	   ;U+30DF KATAKANA LETTER MI 
+(cl-define-keysym #x04d1 "kana_MU")	   ;U+30E0 KATAKANA LETTER MU 
+(cl-define-keysym #x04d2 "kana_ME")	   ;U+30E1 KATAKANA LETTER ME 
+(cl-define-keysym #x04d3 "kana_MO")	   ;U+30E2 KATAKANA LETTER MO 
+(cl-define-keysym #x04d4 "kana_YA")	   ;U+30E4 KATAKANA LETTER YA 
+(cl-define-keysym #x04d5 "kana_YU")	   ;U+30E6 KATAKANA LETTER YU 
+(cl-define-keysym #x04d6 "kana_YO")	   ;U+30E8 KATAKANA LETTER YO 
+(cl-define-keysym #x04d7 "kana_RA")	   ;U+30E9 KATAKANA LETTER RA 
+(cl-define-keysym #x04d8 "kana_RI")	   ;U+30EA KATAKANA LETTER RI 
+(cl-define-keysym #x04d9 "kana_RU")	   ;U+30EB KATAKANA LETTER RU 
+(cl-define-keysym #x04da "kana_RE")	   ;U+30EC KATAKANA LETTER RE 
+(cl-define-keysym #x04db "kana_RO")	   ;U+30ED KATAKANA LETTER RO 
+(cl-define-keysym #x04dc "kana_WA")	   ;U+30EF KATAKANA LETTER WA 
+(cl-define-keysym #x04dd "kana_N")	   ;U+30F3 KATAKANA LETTER N 
+(cl-define-keysym #x04de "voicedsound")	;U+309B KATAKANA-HIRAGANA VOICED SOUND MARK 
+(cl-define-keysym #x04df "semivoicedsound") ;U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK 
+(cl-define-keysym #xff7e "kana_switch")	    ;Alias for mode_switch 
+(cl-define-keysym #x10006f0 "Farsi_0") ;U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO 
+(cl-define-keysym #x10006f1 "Farsi_1") ;U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE 
+(cl-define-keysym #x10006f2 "Farsi_2") ;U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO 
+(cl-define-keysym #x10006f3 "Farsi_3") ;U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE 
+(cl-define-keysym #x10006f4 "Farsi_4") ;U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR 
+(cl-define-keysym #x10006f5 "Farsi_5") ;U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE 
+(cl-define-keysym #x10006f6 "Farsi_6") ;U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX 
+(cl-define-keysym #x10006f7 "Farsi_7") ;U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN 
+(cl-define-keysym #x10006f8 "Farsi_8") ;U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT 
+(cl-define-keysym #x10006f9 "Farsi_9") ;U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE 
+(cl-define-keysym #x100066a "Arabic_percent") ;U+066A ARABIC PERCENT SIGN 
+(cl-define-keysym #x1000670 "Arabic_superscript_alef") ;U+0670 ARABIC LETTER SUPERSCRIPT ALEF 
+(cl-define-keysym #x1000679 "Arabic_tteh") ;U+0679 ARABIC LETTER TTEH 
+(cl-define-keysym #x100067e "Arabic_peh")  ;U+067E ARABIC LETTER PEH 
+(cl-define-keysym #x1000686 "Arabic_tcheh") ;U+0686 ARABIC LETTER TCHEH 
+(cl-define-keysym #x1000688 "Arabic_ddal") ;U+0688 ARABIC LETTER DDAL 
+(cl-define-keysym #x1000691 "Arabic_rreh") ;U+0691 ARABIC LETTER RREH 
+(cl-define-keysym #x05ac "Arabic_comma")   ;U+060C ARABIC COMMA 
+(cl-define-keysym #x10006d4 "Arabic_fullstop") ;U+06D4 ARABIC FULL STOP 
+(cl-define-keysym #x1000660 "Arabic_0")	;U+0660 ARABIC-INDIC DIGIT ZERO 
+(cl-define-keysym #x1000661 "Arabic_1")	;U+0661 ARABIC-INDIC DIGIT ONE 
+(cl-define-keysym #x1000662 "Arabic_2")	;U+0662 ARABIC-INDIC DIGIT TWO 
+(cl-define-keysym #x1000663 "Arabic_3")	;U+0663 ARABIC-INDIC DIGIT THREE 
+(cl-define-keysym #x1000664 "Arabic_4")	;U+0664 ARABIC-INDIC DIGIT FOUR 
+(cl-define-keysym #x1000665 "Arabic_5")	;U+0665 ARABIC-INDIC DIGIT FIVE 
+(cl-define-keysym #x1000666 "Arabic_6")	;U+0666 ARABIC-INDIC DIGIT SIX 
+(cl-define-keysym #x1000667 "Arabic_7")	;U+0667 ARABIC-INDIC DIGIT SEVEN 
+(cl-define-keysym #x1000668 "Arabic_8")	;U+0668 ARABIC-INDIC DIGIT EIGHT 
+(cl-define-keysym #x1000669 "Arabic_9")	;U+0669 ARABIC-INDIC DIGIT NINE 
+(cl-define-keysym #x05bb "Arabic_semicolon") ;U+061B ARABIC SEMICOLON 
+(cl-define-keysym #x05bf "Arabic_question_mark") ;U+061F ARABIC QUESTION MARK 
+(cl-define-keysym #x05c1 "Arabic_hamza") ;U+0621 ARABIC LETTER HAMZA 
+(cl-define-keysym #x05c2 "Arabic_maddaonalef") ;U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE 
+(cl-define-keysym #x05c3 "Arabic_hamzaonalef") ;U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE 
+(cl-define-keysym #x05c4 "Arabic_hamzaonwaw") ;U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE 
+(cl-define-keysym #x05c5 "Arabic_hamzaunderalef") ;U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW 
+(cl-define-keysym #x05c6 "Arabic_hamzaonyeh") ;U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE 
+(cl-define-keysym #x05c7 "Arabic_alef")	;U+0627 ARABIC LETTER ALEF 
+(cl-define-keysym #x05c8 "Arabic_beh")	;U+0628 ARABIC LETTER BEH 
+(cl-define-keysym #x05c9 "Arabic_tehmarbuta") ;U+0629 ARABIC LETTER TEH MARBUTA 
+(cl-define-keysym #x05ca "Arabic_teh")	;U+062A ARABIC LETTER TEH 
+(cl-define-keysym #x05cb "Arabic_theh")	;U+062B ARABIC LETTER THEH 
+(cl-define-keysym #x05cc "Arabic_jeem")	;U+062C ARABIC LETTER JEEM 
+(cl-define-keysym #x05cd "Arabic_hah")	;U+062D ARABIC LETTER HAH 
+(cl-define-keysym #x05ce "Arabic_khah")	;U+062E ARABIC LETTER KHAH 
+(cl-define-keysym #x05cf "Arabic_dal")	;U+062F ARABIC LETTER DAL 
+(cl-define-keysym #x05d0 "Arabic_thal")	;U+0630 ARABIC LETTER THAL 
+(cl-define-keysym #x05d1 "Arabic_ra")	;U+0631 ARABIC LETTER REH 
+(cl-define-keysym #x05d2 "Arabic_zain")	;U+0632 ARABIC LETTER ZAIN 
+(cl-define-keysym #x05d3 "Arabic_seen")	;U+0633 ARABIC LETTER SEEN 
+(cl-define-keysym #x05d4 "Arabic_sheen") ;U+0634 ARABIC LETTER SHEEN 
+(cl-define-keysym #x05d5 "Arabic_sad")	 ;U+0635 ARABIC LETTER SAD 
+(cl-define-keysym #x05d6 "Arabic_dad")	 ;U+0636 ARABIC LETTER DAD 
+(cl-define-keysym #x05d7 "Arabic_tah")	 ;U+0637 ARABIC LETTER TAH 
+(cl-define-keysym #x05d8 "Arabic_zah")	 ;U+0638 ARABIC LETTER ZAH 
+(cl-define-keysym #x05d9 "Arabic_ain")	 ;U+0639 ARABIC LETTER AIN 
+(cl-define-keysym #x05da "Arabic_ghain") ;U+063A ARABIC LETTER GHAIN 
+(cl-define-keysym #x05e0 "Arabic_tatweel") ;U+0640 ARABIC TATWEEL 
+(cl-define-keysym #x05e1 "Arabic_feh")	   ;U+0641 ARABIC LETTER FEH 
+(cl-define-keysym #x05e2 "Arabic_qaf")	   ;U+0642 ARABIC LETTER QAF 
+(cl-define-keysym #x05e3 "Arabic_kaf")	   ;U+0643 ARABIC LETTER KAF 
+(cl-define-keysym #x05e4 "Arabic_lam")	   ;U+0644 ARABIC LETTER LAM 
+(cl-define-keysym #x05e5 "Arabic_meem")	   ;U+0645 ARABIC LETTER MEEM 
+(cl-define-keysym #x05e6 "Arabic_noon")	   ;U+0646 ARABIC LETTER NOON 
+(cl-define-keysym #x05e7 "Arabic_ha")	   ;U+0647 ARABIC LETTER HEH 
+(cl-define-keysym #x05e7 "Arabic_heh")	   ;deprecated 
+(cl-define-keysym #x05e8 "Arabic_waw")	   ;U+0648 ARABIC LETTER WAW 
+(cl-define-keysym #x05e9 "Arabic_alefmaksura") ;U+0649 ARABIC LETTER ALEF MAKSURA 
+(cl-define-keysym #x05ea "Arabic_yeh")	;U+064A ARABIC LETTER YEH 
+(cl-define-keysym #x05eb "Arabic_fathatan") ;U+064B ARABIC FATHATAN 
+(cl-define-keysym #x05ec "Arabic_dammatan") ;U+064C ARABIC DAMMATAN 
+(cl-define-keysym #x05ed "Arabic_kasratan") ;U+064D ARABIC KASRATAN 
+(cl-define-keysym #x05ee "Arabic_fatha")    ;U+064E ARABIC FATHA 
+(cl-define-keysym #x05ef "Arabic_damma")    ;U+064F ARABIC DAMMA 
+(cl-define-keysym #x05f0 "Arabic_kasra")    ;U+0650 ARABIC KASRA 
+(cl-define-keysym #x05f1 "Arabic_shadda")   ;U+0651 ARABIC SHADDA 
+(cl-define-keysym #x05f2 "Arabic_sukun")    ;U+0652 ARABIC SUKUN 
+(cl-define-keysym #x1000653 "Arabic_madda_above") ;U+0653 ARABIC MADDAH ABOVE 
+(cl-define-keysym #x1000654 "Arabic_hamza_above") ;U+0654 ARABIC HAMZA ABOVE 
+(cl-define-keysym #x1000655 "Arabic_hamza_below") ;U+0655 ARABIC HAMZA BELOW 
+(cl-define-keysym #x1000698 "Arabic_jeh") ;U+0698 ARABIC LETTER JEH 
+(cl-define-keysym #x10006a4 "Arabic_veh") ;U+06A4 ARABIC LETTER VEH 
+(cl-define-keysym #x10006a9 "Arabic_keheh") ;U+06A9 ARABIC LETTER KEHEH 
+(cl-define-keysym #x10006af "Arabic_gaf")   ;U+06AF ARABIC LETTER GAF 
+(cl-define-keysym #x10006ba "Arabic_noon_ghunna") ;U+06BA ARABIC LETTER NOON GHUNNA 
+(cl-define-keysym #x10006be "Arabic_heh_doachashmee") ;U+06BE ARABIC LETTER HEH DOACHASHMEE 
+(cl-define-keysym #x10006cc "Farsi_yeh") ;U+06CC ARABIC LETTER FARSI YEH 
+(cl-define-keysym #x10006cc "Arabic_farsi_yeh")	;U+06CC ARABIC LETTER FARSI YEH 
+(cl-define-keysym #x10006d2 "Arabic_yeh_baree")	;U+06D2 ARABIC LETTER YEH BARREE 
+(cl-define-keysym #x10006c1 "Arabic_heh_goal") ;U+06C1 ARABIC LETTER HEH GOAL 
+(cl-define-keysym #xff7e "Arabic_switch")      ;Alias for mode_switch 
+(cl-define-keysym #x1000492 "Cyrillic_GHE_bar")	;U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE 
+(cl-define-keysym #x1000493 "Cyrillic_ghe_bar")	;U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE 
+(cl-define-keysym #x1000496 "Cyrillic_ZHE_descender") ;U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER 
+(cl-define-keysym #x1000497 "Cyrillic_zhe_descender") ;U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER 
+(cl-define-keysym #x100049a "Cyrillic_KA_descender") ;U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER 
+(cl-define-keysym #x100049b "Cyrillic_ka_descender") ;U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER 
+(cl-define-keysym #x100049c "Cyrillic_KA_vertstroke") ;U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE 
+(cl-define-keysym #x100049d "Cyrillic_ka_vertstroke") ;U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE 
+(cl-define-keysym #x10004a2 "Cyrillic_EN_descender") ;U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER 
+(cl-define-keysym #x10004a3 "Cyrillic_en_descender") ;U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER 
+(cl-define-keysym #x10004ae "Cyrillic_U_straight") ;U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U 
+(cl-define-keysym #x10004af "Cyrillic_u_straight") ;U+04AF CYRILLIC SMALL LETTER STRAIGHT U 
+(cl-define-keysym #x10004b0 "Cyrillic_U_straight_bar") ;U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE 
+(cl-define-keysym #x10004b1 "Cyrillic_u_straight_bar") ;U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE 
+(cl-define-keysym #x10004b2 "Cyrillic_HA_descender") ;U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER 
+(cl-define-keysym #x10004b3 "Cyrillic_ha_descender") ;U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER 
+(cl-define-keysym #x10004b6 "Cyrillic_CHE_descender") ;U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER 
+(cl-define-keysym #x10004b7 "Cyrillic_che_descender") ;U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER 
+(cl-define-keysym #x10004b8 "Cyrillic_CHE_vertstroke") ;U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE 
+(cl-define-keysym #x10004b9 "Cyrillic_che_vertstroke") ;U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE 
+(cl-define-keysym #x10004ba "Cyrillic_SHHA") ;U+04BA CYRILLIC CAPITAL LETTER SHHA 
+(cl-define-keysym #x10004bb "Cyrillic_shha") ;U+04BB CYRILLIC SMALL LETTER SHHA 
+(cl-define-keysym #x10004d8 "Cyrillic_SCHWA") ;U+04D8 CYRILLIC CAPITAL LETTER SCHWA 
+(cl-define-keysym #x10004d9 "Cyrillic_schwa") ;U+04D9 CYRILLIC SMALL LETTER SCHWA 
+(cl-define-keysym #x10004e2 "Cyrillic_I_macron") ;U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON 
+(cl-define-keysym #x10004e3 "Cyrillic_i_macron") ;U+04E3 CYRILLIC SMALL LETTER I WITH MACRON 
+(cl-define-keysym #x10004e8 "Cyrillic_O_bar") ;U+04E8 CYRILLIC CAPITAL LETTER BARRED O 
+(cl-define-keysym #x10004e9 "Cyrillic_o_bar") ;U+04E9 CYRILLIC SMALL LETTER BARRED O 
+(cl-define-keysym #x10004ee "Cyrillic_U_macron") ;U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON 
+(cl-define-keysym #x10004ef "Cyrillic_u_macron") ;U+04EF CYRILLIC SMALL LETTER U WITH MACRON 
+(cl-define-keysym #x06a1 "Serbian_dje")	;U+0452 CYRILLIC SMALL LETTER DJE 
+(cl-define-keysym #x06a2 "Macedonia_gje") ;U+0453 CYRILLIC SMALL LETTER GJE 
+(cl-define-keysym #x06a3 "Cyrillic_io")	;U+0451 CYRILLIC SMALL LETTER IO 
+(cl-define-keysym #x06a4 "Ukrainian_ie") ;U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE 
+(cl-define-keysym #x06a4 "Ukranian_je")	 ;deprecated 
+(cl-define-keysym #x06a5 "Macedonia_dse") ;U+0455 CYRILLIC SMALL LETTER DZE 
+(cl-define-keysym #x06a6 "Ukrainian_i")	;U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 
+(cl-define-keysym #x06a6 "Ukranian_i")	;deprecated 
+(cl-define-keysym #x06a7 "Ukrainian_yi") ;U+0457 CYRILLIC SMALL LETTER YI 
+(cl-define-keysym #x06a7 "Ukranian_yi")	 ;deprecated 
+(cl-define-keysym #x06a8 "Cyrillic_je")	;U+0458 CYRILLIC SMALL LETTER JE 
+(cl-define-keysym #x06a8 "Serbian_je")	;deprecated 
+(cl-define-keysym #x06a9 "Cyrillic_lje") ;U+0459 CYRILLIC SMALL LETTER LJE 
+(cl-define-keysym #x06a9 "Serbian_lje")	 ;deprecated 
+(cl-define-keysym #x06aa "Cyrillic_nje") ;U+045A CYRILLIC SMALL LETTER NJE 
+(cl-define-keysym #x06aa "Serbian_nje")	 ;deprecated 
+(cl-define-keysym #x06ab "Serbian_tshe") ;U+045B CYRILLIC SMALL LETTER TSHE 
+(cl-define-keysym #x06ac "Macedonia_kje") ;U+045C CYRILLIC SMALL LETTER KJE 
+(cl-define-keysym #x06ad "Ukrainian_ghe_with_upturn") ;U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN 
+(cl-define-keysym #x06ae "Byelorussian_shortu")	;U+045E CYRILLIC SMALL LETTER SHORT U 
+(cl-define-keysym #x06af "Cyrillic_dzhe") ;U+045F CYRILLIC SMALL LETTER DZHE 
+(cl-define-keysym #x06af "Serbian_dze")	  ;deprecated 
+(cl-define-keysym #x06b0 "numerosign")	  ;U+2116 NUMERO SIGN 
+(cl-define-keysym #x06b1 "Serbian_DJE")	;U+0402 CYRILLIC CAPITAL LETTER DJE 
+(cl-define-keysym #x06b2 "Macedonia_GJE") ;U+0403 CYRILLIC CAPITAL LETTER GJE 
+(cl-define-keysym #x06b3 "Cyrillic_IO")	;U+0401 CYRILLIC CAPITAL LETTER IO 
+(cl-define-keysym #x06b4 "Ukrainian_IE") ;U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE 
+(cl-define-keysym #x06b4 "Ukranian_JE")	 ;deprecated 
+(cl-define-keysym #x06b5 "Macedonia_DSE") ;U+0405 CYRILLIC CAPITAL LETTER DZE 
+(cl-define-keysym #x06b6 "Ukrainian_I")	;U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I 
+(cl-define-keysym #x06b6 "Ukranian_I")	;deprecated 
+(cl-define-keysym #x06b7 "Ukrainian_YI") ;U+0407 CYRILLIC CAPITAL LETTER YI 
+(cl-define-keysym #x06b7 "Ukranian_YI")	 ;deprecated 
+(cl-define-keysym #x06b8 "Cyrillic_JE")	;U+0408 CYRILLIC CAPITAL LETTER JE 
+(cl-define-keysym #x06b8 "Serbian_JE")	;deprecated 
+(cl-define-keysym #x06b9 "Cyrillic_LJE") ;U+0409 CYRILLIC CAPITAL LETTER LJE 
+(cl-define-keysym #x06b9 "Serbian_LJE")	 ;deprecated 
+(cl-define-keysym #x06ba "Cyrillic_NJE") ;U+040A CYRILLIC CAPITAL LETTER NJE 
+(cl-define-keysym #x06ba "Serbian_NJE")	 ;deprecated 
+(cl-define-keysym #x06bb "Serbian_TSHE") ;U+040B CYRILLIC CAPITAL LETTER TSHE 
+(cl-define-keysym #x06bc "Macedonia_KJE") ;U+040C CYRILLIC CAPITAL LETTER KJE 
+(cl-define-keysym #x06bd "Ukrainian_GHE_WITH_UPTURN") ;U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN 
+(cl-define-keysym #x06be "Byelorussian_SHORTU")	;U+040E CYRILLIC CAPITAL LETTER SHORT U 
+(cl-define-keysym #x06bf "Cyrillic_DZHE") ;U+040F CYRILLIC CAPITAL LETTER DZHE 
+(cl-define-keysym #x06bf "Serbian_DZE")	  ;deprecated 
+(cl-define-keysym #x06c0 "Cyrillic_yu")	;U+044E CYRILLIC SMALL LETTER YU 
+(cl-define-keysym #x06c1 "Cyrillic_a") ;U+0430 CYRILLIC SMALL LETTER A 
+(cl-define-keysym #x06c2 "Cyrillic_be")	;U+0431 CYRILLIC SMALL LETTER BE 
+(cl-define-keysym #x06c3 "Cyrillic_tse") ;U+0446 CYRILLIC SMALL LETTER TSE 
+(cl-define-keysym #x06c4 "Cyrillic_de")	;U+0434 CYRILLIC SMALL LETTER DE 
+(cl-define-keysym #x06c5 "Cyrillic_ie")	;U+0435 CYRILLIC SMALL LETTER IE 
+(cl-define-keysym #x06c6 "Cyrillic_ef")	;U+0444 CYRILLIC SMALL LETTER EF 
+(cl-define-keysym #x06c7 "Cyrillic_ghe") ;U+0433 CYRILLIC SMALL LETTER GHE 
+(cl-define-keysym #x06c8 "Cyrillic_ha")	;U+0445 CYRILLIC SMALL LETTER HA 
+(cl-define-keysym #x06c9 "Cyrillic_i") ;U+0438 CYRILLIC SMALL LETTER I 
+(cl-define-keysym #x06ca "Cyrillic_shorti") ;U+0439 CYRILLIC SMALL LETTER SHORT I 
+(cl-define-keysym #x06cb "Cyrillic_ka")	;U+043A CYRILLIC SMALL LETTER KA 
+(cl-define-keysym #x06cc "Cyrillic_el")	;U+043B CYRILLIC SMALL LETTER EL 
+(cl-define-keysym #x06cd "Cyrillic_em")	;U+043C CYRILLIC SMALL LETTER EM 
+(cl-define-keysym #x06ce "Cyrillic_en")	;U+043D CYRILLIC SMALL LETTER EN 
+(cl-define-keysym #x06cf "Cyrillic_o") ;U+043E CYRILLIC SMALL LETTER O 
+(cl-define-keysym #x06d0 "Cyrillic_pe")	;U+043F CYRILLIC SMALL LETTER PE 
+(cl-define-keysym #x06d1 "Cyrillic_ya")	;U+044F CYRILLIC SMALL LETTER YA 
+(cl-define-keysym #x06d2 "Cyrillic_er")	;U+0440 CYRILLIC SMALL LETTER ER 
+(cl-define-keysym #x06d3 "Cyrillic_es")	;U+0441 CYRILLIC SMALL LETTER ES 
+(cl-define-keysym #x06d4 "Cyrillic_te")	;U+0442 CYRILLIC SMALL LETTER TE 
+(cl-define-keysym #x06d5 "Cyrillic_u") ;U+0443 CYRILLIC SMALL LETTER U 
+(cl-define-keysym #x06d6 "Cyrillic_zhe") ;U+0436 CYRILLIC SMALL LETTER ZHE 
+(cl-define-keysym #x06d7 "Cyrillic_ve")	;U+0432 CYRILLIC SMALL LETTER VE 
+(cl-define-keysym #x06d8 "Cyrillic_softsign") ;U+044C CYRILLIC SMALL LETTER SOFT SIGN 
+(cl-define-keysym #x06d9 "Cyrillic_yeru") ;U+044B CYRILLIC SMALL LETTER YERU 
+(cl-define-keysym #x06da "Cyrillic_ze")	;U+0437 CYRILLIC SMALL LETTER ZE 
+(cl-define-keysym #x06db "Cyrillic_sha") ;U+0448 CYRILLIC SMALL LETTER SHA 
+(cl-define-keysym #x06dc "Cyrillic_e") ;U+044D CYRILLIC SMALL LETTER E 
+(cl-define-keysym #x06dd "Cyrillic_shcha") ;U+0449 CYRILLIC SMALL LETTER SHCHA 
+(cl-define-keysym #x06de "Cyrillic_che") ;U+0447 CYRILLIC SMALL LETTER CHE 
+(cl-define-keysym #x06df "Cyrillic_hardsign") ;U+044A CYRILLIC SMALL LETTER HARD SIGN 
+(cl-define-keysym #x06e0 "Cyrillic_YU")	;U+042E CYRILLIC CAPITAL LETTER YU 
+(cl-define-keysym #x06e1 "Cyrillic_A") ;U+0410 CYRILLIC CAPITAL LETTER A 
+(cl-define-keysym #x06e2 "Cyrillic_BE")	;U+0411 CYRILLIC CAPITAL LETTER BE 
+(cl-define-keysym #x06e3 "Cyrillic_TSE") ;U+0426 CYRILLIC CAPITAL LETTER TSE 
+(cl-define-keysym #x06e4 "Cyrillic_DE")	;U+0414 CYRILLIC CAPITAL LETTER DE 
+(cl-define-keysym #x06e5 "Cyrillic_IE")	;U+0415 CYRILLIC CAPITAL LETTER IE 
+(cl-define-keysym #x06e6 "Cyrillic_EF")	;U+0424 CYRILLIC CAPITAL LETTER EF 
+(cl-define-keysym #x06e7 "Cyrillic_GHE") ;U+0413 CYRILLIC CAPITAL LETTER GHE 
+(cl-define-keysym #x06e8 "Cyrillic_HA")	;U+0425 CYRILLIC CAPITAL LETTER HA 
+(cl-define-keysym #x06e9 "Cyrillic_I") ;U+0418 CYRILLIC CAPITAL LETTER I 
+(cl-define-keysym #x06ea "Cyrillic_SHORTI") ;U+0419 CYRILLIC CAPITAL LETTER SHORT I 
+(cl-define-keysym #x06eb "Cyrillic_KA")	;U+041A CYRILLIC CAPITAL LETTER KA 
+(cl-define-keysym #x06ec "Cyrillic_EL")	;U+041B CYRILLIC CAPITAL LETTER EL 
+(cl-define-keysym #x06ed "Cyrillic_EM")	;U+041C CYRILLIC CAPITAL LETTER EM 
+(cl-define-keysym #x06ee "Cyrillic_EN")	;U+041D CYRILLIC CAPITAL LETTER EN 
+(cl-define-keysym #x06ef "Cyrillic_O") ;U+041E CYRILLIC CAPITAL LETTER O 
+(cl-define-keysym #x06f0 "Cyrillic_PE")	;U+041F CYRILLIC CAPITAL LETTER PE 
+(cl-define-keysym #x06f1 "Cyrillic_YA")	;U+042F CYRILLIC CAPITAL LETTER YA 
+(cl-define-keysym #x06f2 "Cyrillic_ER")	;U+0420 CYRILLIC CAPITAL LETTER ER 
+(cl-define-keysym #x06f3 "Cyrillic_ES")	;U+0421 CYRILLIC CAPITAL LETTER ES 
+(cl-define-keysym #x06f4 "Cyrillic_TE")	;U+0422 CYRILLIC CAPITAL LETTER TE 
+(cl-define-keysym #x06f5 "Cyrillic_U") ;U+0423 CYRILLIC CAPITAL LETTER U 
+(cl-define-keysym #x06f6 "Cyrillic_ZHE") ;U+0416 CYRILLIC CAPITAL LETTER ZHE 
+(cl-define-keysym #x06f7 "Cyrillic_VE")	;U+0412 CYRILLIC CAPITAL LETTER VE 
+(cl-define-keysym #x06f8 "Cyrillic_SOFTSIGN") ;U+042C CYRILLIC CAPITAL LETTER SOFT SIGN 
+(cl-define-keysym #x06f9 "Cyrillic_YERU") ;U+042B CYRILLIC CAPITAL LETTER YERU 
+(cl-define-keysym #x06fa "Cyrillic_ZE")	;U+0417 CYRILLIC CAPITAL LETTER ZE 
+(cl-define-keysym #x06fb "Cyrillic_SHA") ;U+0428 CYRILLIC CAPITAL LETTER SHA 
+(cl-define-keysym #x06fc "Cyrillic_E") ;U+042D CYRILLIC CAPITAL LETTER E 
+(cl-define-keysym #x06fd "Cyrillic_SHCHA") ;U+0429 CYRILLIC CAPITAL LETTER SHCHA 
+(cl-define-keysym #x06fe "Cyrillic_CHE") ;U+0427 CYRILLIC CAPITAL LETTER CHE 
+(cl-define-keysym #x06ff "Cyrillic_HARDSIGN") ;U+042A CYRILLIC CAPITAL LETTER HARD SIGN 
+(cl-define-keysym #x07a1 "Greek_ALPHAaccent") ;U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS 
+(cl-define-keysym #x07a2 "Greek_EPSILONaccent")	;U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS 
+(cl-define-keysym #x07a3 "Greek_ETAaccent") ;U+0389 GREEK CAPITAL LETTER ETA WITH TONOS 
+(cl-define-keysym #x07a4 "Greek_IOTAaccent") ;U+038A GREEK CAPITAL LETTER IOTA WITH TONOS 
+(cl-define-keysym #x07a5 "Greek_IOTAdieresis") ;U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA 
+(cl-define-keysym #x07a5 "Greek_IOTAdiaeresis")	    ;old typo 
+(cl-define-keysym #x07a7 "Greek_OMICRONaccent")	;U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS 
+(cl-define-keysym #x07a8 "Greek_UPSILONaccent")	;U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS 
+(cl-define-keysym #x07a9 "Greek_UPSILONdieresis") ;U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA 
+(cl-define-keysym #x07ab "Greek_OMEGAaccent") ;U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS 
+(cl-define-keysym #x07ae "Greek_accentdieresis") ;U+0385 GREEK DIALYTIKA TONOS 
+(cl-define-keysym #x07af "Greek_horizbar") ;U+2015 HORIZONTAL BAR 
+(cl-define-keysym #x07b1 "Greek_alphaaccent") ;U+03AC GREEK SMALL LETTER ALPHA WITH TONOS 
+(cl-define-keysym #x07b2 "Greek_epsilonaccent")	;U+03AD GREEK SMALL LETTER EPSILON WITH TONOS 
+(cl-define-keysym #x07b3 "Greek_etaaccent") ;U+03AE GREEK SMALL LETTER ETA WITH TONOS 
+(cl-define-keysym #x07b4 "Greek_iotaaccent") ;U+03AF GREEK SMALL LETTER IOTA WITH TONOS 
+(cl-define-keysym #x07b5 "Greek_iotadieresis") ;U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA 
+(cl-define-keysym #x07b6 "Greek_iotaaccentdieresis") ;U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS 
+(cl-define-keysym #x07b7 "Greek_omicronaccent")	;U+03CC GREEK SMALL LETTER OMICRON WITH TONOS 
+(cl-define-keysym #x07b8 "Greek_upsilonaccent")	;U+03CD GREEK SMALL LETTER UPSILON WITH TONOS 
+(cl-define-keysym #x07b9 "Greek_upsilondieresis") ;U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA 
+(cl-define-keysym #x07ba "Greek_upsilonaccentdieresis") ;U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS 
+(cl-define-keysym #x07bb "Greek_omegaaccent") ;U+03CE GREEK SMALL LETTER OMEGA WITH TONOS 
+(cl-define-keysym #x07c1 "Greek_ALPHA")	;U+0391 GREEK CAPITAL LETTER ALPHA 
+(cl-define-keysym #x07c2 "Greek_BETA") ;U+0392 GREEK CAPITAL LETTER BETA 
+(cl-define-keysym #x07c3 "Greek_GAMMA")	;U+0393 GREEK CAPITAL LETTER GAMMA 
+(cl-define-keysym #x07c4 "Greek_DELTA")	;U+0394 GREEK CAPITAL LETTER DELTA 
+(cl-define-keysym #x07c5 "Greek_EPSILON") ;U+0395 GREEK CAPITAL LETTER EPSILON 
+(cl-define-keysym #x07c6 "Greek_ZETA") ;U+0396 GREEK CAPITAL LETTER ZETA 
+(cl-define-keysym #x07c7 "Greek_ETA") ;U+0397 GREEK CAPITAL LETTER ETA 
+(cl-define-keysym #x07c8 "Greek_THETA")	;U+0398 GREEK CAPITAL LETTER THETA 
+(cl-define-keysym #x07c9 "Greek_IOTA") ;U+0399 GREEK CAPITAL LETTER IOTA 
+(cl-define-keysym #x07ca "Greek_KAPPA")	;U+039A GREEK CAPITAL LETTER KAPPA 
+(cl-define-keysym #x07cb "Greek_LAMDA")	;U+039B GREEK CAPITAL LETTER LAMDA 
+(cl-define-keysym #x07cb "Greek_LAMBDA") ;U+039B GREEK CAPITAL LETTER LAMDA 
+(cl-define-keysym #x07cc "Greek_MU")  ;U+039C GREEK CAPITAL LETTER MU 
+(cl-define-keysym #x07cd "Greek_NU")  ;U+039D GREEK CAPITAL LETTER NU 
+(cl-define-keysym #x07ce "Greek_XI")  ;U+039E GREEK CAPITAL LETTER XI 
+(cl-define-keysym #x07cf "Greek_OMICRON") ;U+039F GREEK CAPITAL LETTER OMICRON 
+(cl-define-keysym #x07d0 "Greek_PI")  ;U+03A0 GREEK CAPITAL LETTER PI 
+(cl-define-keysym #x07d1 "Greek_RHO") ;U+03A1 GREEK CAPITAL LETTER RHO 
+(cl-define-keysym #x07d2 "Greek_SIGMA")	;U+03A3 GREEK CAPITAL LETTER SIGMA 
+(cl-define-keysym #x07d4 "Greek_TAU") ;U+03A4 GREEK CAPITAL LETTER TAU 
+(cl-define-keysym #x07d5 "Greek_UPSILON") ;U+03A5 GREEK CAPITAL LETTER UPSILON 
+(cl-define-keysym #x07d6 "Greek_PHI") ;U+03A6 GREEK CAPITAL LETTER PHI 
+(cl-define-keysym #x07d7 "Greek_CHI") ;U+03A7 GREEK CAPITAL LETTER CHI 
+(cl-define-keysym #x07d8 "Greek_PSI") ;U+03A8 GREEK CAPITAL LETTER PSI 
+(cl-define-keysym #x07d9 "Greek_OMEGA")	;U+03A9 GREEK CAPITAL LETTER OMEGA 
+(cl-define-keysym #x07e1 "Greek_alpha")	;U+03B1 GREEK SMALL LETTER ALPHA 
+(cl-define-keysym #x07e2 "Greek_beta") ;U+03B2 GREEK SMALL LETTER BETA 
+(cl-define-keysym #x07e3 "Greek_gamma")	;U+03B3 GREEK SMALL LETTER GAMMA 
+(cl-define-keysym #x07e4 "Greek_delta")	;U+03B4 GREEK SMALL LETTER DELTA 
+(cl-define-keysym #x07e5 "Greek_epsilon") ;U+03B5 GREEK SMALL LETTER EPSILON 
+(cl-define-keysym #x07e6 "Greek_zeta") ;U+03B6 GREEK SMALL LETTER ZETA 
+(cl-define-keysym #x07e7 "Greek_eta")  ;U+03B7 GREEK SMALL LETTER ETA 
+(cl-define-keysym #x07e8 "Greek_theta")	;U+03B8 GREEK SMALL LETTER THETA 
+(cl-define-keysym #x07e9 "Greek_iota") ;U+03B9 GREEK SMALL LETTER IOTA 
+(cl-define-keysym #x07ea "Greek_kappa")	;U+03BA GREEK SMALL LETTER KAPPA 
+(cl-define-keysym #x07eb "Greek_lamda")	;U+03BB GREEK SMALL LETTER LAMDA 
+(cl-define-keysym #x07eb "Greek_lambda") ;U+03BB GREEK SMALL LETTER LAMDA 
+(cl-define-keysym #x07ec "Greek_mu")	;U+03BC GREEK SMALL LETTER MU 
+(cl-define-keysym #x07ed "Greek_nu")	;U+03BD GREEK SMALL LETTER NU 
+(cl-define-keysym #x07ee "Greek_xi")	;U+03BE GREEK SMALL LETTER XI 
+(cl-define-keysym #x07ef "Greek_omicron") ;U+03BF GREEK SMALL LETTER OMICRON 
+(cl-define-keysym #x07f0 "Greek_pi")	;U+03C0 GREEK SMALL LETTER PI 
+(cl-define-keysym #x07f1 "Greek_rho")  ;U+03C1 GREEK SMALL LETTER RHO 
+(cl-define-keysym #x07f2 "Greek_sigma")	;U+03C3 GREEK SMALL LETTER SIGMA 
+(cl-define-keysym #x07f3 "Greek_finalsmallsigma") ;U+03C2 GREEK SMALL LETTER FINAL SIGMA 
+(cl-define-keysym #x07f4 "Greek_tau")  ;U+03C4 GREEK SMALL LETTER TAU 
+(cl-define-keysym #x07f5 "Greek_upsilon") ;U+03C5 GREEK SMALL LETTER UPSILON 
+(cl-define-keysym #x07f6 "Greek_phi")  ;U+03C6 GREEK SMALL LETTER PHI 
+(cl-define-keysym #x07f7 "Greek_chi")  ;U+03C7 GREEK SMALL LETTER CHI 
+(cl-define-keysym #x07f8 "Greek_psi")  ;U+03C8 GREEK SMALL LETTER PSI 
+(cl-define-keysym #x07f9 "Greek_omega")	;U+03C9 GREEK SMALL LETTER OMEGA 
+(cl-define-keysym #xff7e "Greek_switch") ;Alias for mode_switch 
+(cl-define-keysym #x08a1 "leftradical")	;U+23B7 RADICAL SYMBOL BOTTOM 
+(cl-define-keysym #x08a2 "topleftradical") ;(U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)
+(cl-define-keysym #x08a3 "horizconnector") ;(U+2500 BOX DRAWINGS LIGHT HORIZONTAL)
+(cl-define-keysym #x08a4 "topintegral")	   ;U+2320 TOP HALF INTEGRAL 
+(cl-define-keysym #x08a5 "botintegral")	;U+2321 BOTTOM HALF INTEGRAL 
+(cl-define-keysym #x08a6 "vertconnector") ;(U+2502 BOX DRAWINGS LIGHT VERTICAL)
+(cl-define-keysym #x08a7 "topleftsqbracket") ;U+23A1 LEFT SQUARE BRACKET UPPER CORNER 
+(cl-define-keysym #x08a8 "botleftsqbracket") ;U+23A3 LEFT SQUARE BRACKET LOWER CORNER 
+(cl-define-keysym #x08a9 "toprightsqbracket") ;U+23A4 RIGHT SQUARE BRACKET UPPER CORNER 
+(cl-define-keysym #x08aa "botrightsqbracket") ;U+23A6 RIGHT SQUARE BRACKET LOWER CORNER 
+(cl-define-keysym #x08ab "topleftparens") ;U+239B LEFT PARENTHESIS UPPER HOOK 
+(cl-define-keysym #x08ac "botleftparens") ;U+239D LEFT PARENTHESIS LOWER HOOK 
+(cl-define-keysym #x08ad "toprightparens") ;U+239E RIGHT PARENTHESIS UPPER HOOK 
+(cl-define-keysym #x08ae "botrightparens") ;U+23A0 RIGHT PARENTHESIS LOWER HOOK 
+(cl-define-keysym #x08af "leftmiddlecurlybrace") ;U+23A8 LEFT CURLY BRACKET MIDDLE PIECE 
+(cl-define-keysym #x08b0 "rightmiddlecurlybrace") ;U+23AC RIGHT CURLY BRACKET MIDDLE PIECE 
+(cl-define-keysym #x08b1 "topleftsummation")
+(cl-define-keysym #x08b2 "botleftsummation")
+(cl-define-keysym #x08b3 "topvertsummationconnector")
+(cl-define-keysym #x08b4 "botvertsummationconnector")
+(cl-define-keysym #x08b5 "toprightsummation")
+(cl-define-keysym #x08b6 "botrightsummation")
+(cl-define-keysym #x08b7 "rightmiddlesummation")
+(cl-define-keysym #x08bc "lessthanequal") ;U+2264 LESS-THAN OR EQUAL TO 
+(cl-define-keysym #x08bd "notequal")	  ;U+2260 NOT EQUAL TO 
+(cl-define-keysym #x08be "greaterthanequal") ;U+2265 GREATER-THAN OR EQUAL TO 
+(cl-define-keysym #x08bf "integral")	     ;U+222B INTEGRAL 
+(cl-define-keysym #x08c0 "therefore")	     ;U+2234 THEREFORE 
+(cl-define-keysym #x08c1 "variation")	     ;U+221D PROPORTIONAL TO 
+(cl-define-keysym #x08c2 "infinity")	     ;U+221E INFINITY 
+(cl-define-keysym #x08c5 "nabla")	     ;U+2207 NABLA 
+(cl-define-keysym #x08c8 "approximate")	     ;U+223C TILDE OPERATOR 
+(cl-define-keysym #x08c9 "similarequal") ;U+2243 ASYMPTOTICALLY EQUAL TO 
+(cl-define-keysym #x08cd "ifonlyif")  ;U+21D4 LEFT RIGHT DOUBLE ARROW 
+(cl-define-keysym #x08ce "implies")   ;U+21D2 RIGHTWARDS DOUBLE ARROW 
+(cl-define-keysym #x08cf "identical")	  ;U+2261 IDENTICAL TO 
+(cl-define-keysym #x08d6 "radical")	  ;U+221A SQUARE ROOT 
+(cl-define-keysym #x08da "includedin")	  ;U+2282 SUBSET OF 
+(cl-define-keysym #x08db "includes")	  ;U+2283 SUPERSET OF 
+(cl-define-keysym #x08dc "intersection")  ;U+2229 INTERSECTION 
+(cl-define-keysym #x08dd "union")	  ;U+222A UNION 
+(cl-define-keysym #x08de "logicaland")	  ;U+2227 LOGICAL AND 
+(cl-define-keysym #x08df "logicalor")	  ;U+2228 LOGICAL OR 
+(cl-define-keysym #x08ef "partialderivative") ;U+2202 PARTIAL DIFFERENTIAL 
+(cl-define-keysym #x08f6 "function") ;U+0192 LATIN SMALL LETTER F WITH HOOK 
+(cl-define-keysym #x08fb "leftarrow")	   ;U+2190 LEFTWARDS ARROW 
+(cl-define-keysym #x08fc "uparrow")	   ;U+2191 UPWARDS ARROW 
+(cl-define-keysym #x08fd "rightarrow")	   ;U+2192 RIGHTWARDS ARROW 
+(cl-define-keysym #x08fe "downarrow")	   ;U+2193 DOWNWARDS ARROW 
+(cl-define-keysym #x09df "blank")
+(cl-define-keysym #x09e0 "soliddiamond")	;U+25C6 BLACK DIAMOND 
+(cl-define-keysym #x09e1 "checkerboard")	;U+2592 MEDIUM SHADE 
+(cl-define-keysym #x09e2 "ht") ;U+2409 SYMBOL FOR HORIZONTAL TABULATION 
+(cl-define-keysym #x09e3 "ff")		;U+240C SYMBOL FOR FORM FEED 
+(cl-define-keysym #x09e4 "cr")	   ;U+240D SYMBOL FOR CARRIAGE RETURN 
+(cl-define-keysym #x09e5 "lf")		;U+240A SYMBOL FOR LINE FEED 
+(cl-define-keysym #x09e8 "nl")		;U+2424 SYMBOL FOR NEWLINE 
+(cl-define-keysym #x09e9 "vt") ;U+240B SYMBOL FOR VERTICAL TABULATION 
+(cl-define-keysym #x09ea "lowrightcorner") ;U+2518 BOX DRAWINGS LIGHT UP AND LEFT 
+(cl-define-keysym #x09eb "uprightcorner") ;U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT 
+(cl-define-keysym #x09ec "upleftcorner") ;U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT 
+(cl-define-keysym #x09ed "lowleftcorner") ;U+2514 BOX DRAWINGS LIGHT UP AND RIGHT 
+(cl-define-keysym #x09ee "crossinglines") ;U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL 
+(cl-define-keysym #x09ef "horizlinescan1") ;U+23BA HORIZONTAL SCAN LINE-1 
+(cl-define-keysym #x09f0 "horizlinescan3") ;U+23BB HORIZONTAL SCAN LINE-3 
+(cl-define-keysym #x09f1 "horizlinescan5") ;U+2500 BOX DRAWINGS LIGHT HORIZONTAL 
+(cl-define-keysym #x09f2 "horizlinescan7") ;U+23BC HORIZONTAL SCAN LINE-7 
+(cl-define-keysym #x09f3 "horizlinescan9") ;U+23BD HORIZONTAL SCAN LINE-9 
+(cl-define-keysym #x09f4 "leftt") ;U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT 
+(cl-define-keysym #x09f5 "rightt") ;U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT 
+(cl-define-keysym #x09f6 "bott") ;U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL 
+(cl-define-keysym #x09f7 "topt") ;U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL 
+(cl-define-keysym #x09f8 "vertbar") ;U+2502 BOX DRAWINGS LIGHT VERTICAL 
+(cl-define-keysym #x0aa1 "emspace")	;U+2003 EM SPACE 
+(cl-define-keysym #x0aa2 "enspace")	;U+2002 EN SPACE 
+(cl-define-keysym #x0aa3 "em3space")	;U+2004 THREE-PER-EM SPACE 
+(cl-define-keysym #x0aa4 "em4space")	;U+2005 FOUR-PER-EM SPACE 
+(cl-define-keysym #x0aa5 "digitspace")	;U+2007 FIGURE SPACE 
+(cl-define-keysym #x0aa6 "punctspace")	;U+2008 PUNCTUATION SPACE 
+(cl-define-keysym #x0aa7 "thinspace")	;U+2009 THIN SPACE 
+(cl-define-keysym #x0aa8 "hairspace")	;U+200A HAIR SPACE 
+(cl-define-keysym #x0aa9 "emdash")	;U+2014 EM DASH 
+(cl-define-keysym #x0aaa "endash")	;U+2013 EN DASH 
+(cl-define-keysym #x0aac "signifblank")	;(U+2423 OPEN BOX)
+(cl-define-keysym #x0aae "ellipsis")	;U+2026 HORIZONTAL ELLIPSIS 
+(cl-define-keysym #x0aaf "doubbaselinedot") ;U+2025 TWO DOT LEADER 
+(cl-define-keysym #x0ab0 "onethird") ;U+2153 VULGAR FRACTION ONE THIRD 
+(cl-define-keysym #x0ab1 "twothirds") ;U+2154 VULGAR FRACTION TWO THIRDS 
+(cl-define-keysym #x0ab2 "onefifth") ;U+2155 VULGAR FRACTION ONE FIFTH 
+(cl-define-keysym #x0ab3 "twofifths") ;U+2156 VULGAR FRACTION TWO FIFTHS 
+(cl-define-keysym #x0ab4 "threefifths")	;U+2157 VULGAR FRACTION THREE FIFTHS 
+(cl-define-keysym #x0ab5 "fourfifths") ;U+2158 VULGAR FRACTION FOUR FIFTHS 
+(cl-define-keysym #x0ab6 "onesixth") ;U+2159 VULGAR FRACTION ONE SIXTH 
+(cl-define-keysym #x0ab7 "fivesixths") ;U+215A VULGAR FRACTION FIVE SIXTHS 
+(cl-define-keysym #x0ab8 "careof")	 ;U+2105 CARE OF 
+(cl-define-keysym #x0abb "figdash")	 ;U+2012 FIGURE DASH 
+(cl-define-keysym #x0abc "leftanglebracket") ;(U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)
+(cl-define-keysym #x0abd "decimalpoint")     ;(U+002E FULL STOP)
+(cl-define-keysym #x0abe "rightanglebracket") ;(U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)
+(cl-define-keysym #x0abf "marker")
+(cl-define-keysym #x0ac3 "oneeighth") ;U+215B VULGAR FRACTION ONE EIGHTH 
+(cl-define-keysym #x0ac4 "threeeighths") ;U+215C VULGAR FRACTION THREE EIGHTHS 
+(cl-define-keysym #x0ac5 "fiveeighths")	;U+215D VULGAR FRACTION FIVE EIGHTHS 
+(cl-define-keysym #x0ac6 "seveneighths") ;U+215E VULGAR FRACTION SEVEN EIGHTHS 
+(cl-define-keysym #x0ac9 "trademark")	 ;U+2122 TRADE MARK SIGN 
+(cl-define-keysym #x0aca "signaturemark") ;(U+2613 SALTIRE)
+(cl-define-keysym #x0acb "trademarkincircle")
+(cl-define-keysym #x0acc "leftopentriangle") ;(U+25C1 WHITE LEFT-POINTING TRIANGLE)
+(cl-define-keysym #x0acd "rightopentriangle") ;(U+25B7 WHITE RIGHT-POINTING TRIANGLE)
+(cl-define-keysym #x0ace "emopencircle")      ;(U+25CB WHITE CIRCLE)
+(cl-define-keysym #x0acf "emopenrectangle") ;(U+25AF WHITE VERTICAL RECTANGLE)
+(cl-define-keysym #x0ad0 "leftsinglequotemark")	;U+2018 LEFT SINGLE QUOTATION MARK 
+(cl-define-keysym #x0ad1 "rightsinglequotemark") ;U+2019 RIGHT SINGLE QUOTATION MARK 
+(cl-define-keysym #x0ad2 "leftdoublequotemark")	;U+201C LEFT DOUBLE QUOTATION MARK 
+(cl-define-keysym #x0ad3 "rightdoublequotemark") ;U+201D RIGHT DOUBLE QUOTATION MARK 
+(cl-define-keysym #x0ad4 "prescription") ;U+211E PRESCRIPTION TAKE 
+(cl-define-keysym #x0ad6 "minutes")	 ;U+2032 PRIME 
+(cl-define-keysym #x0ad7 "seconds")	 ;U+2033 DOUBLE PRIME 
+(cl-define-keysym #x0ad9 "latincross")	 ;U+271D LATIN CROSS 
+(cl-define-keysym #x0ada "hexagram")
+(cl-define-keysym #x0adb "filledrectbullet") ;(U+25AC BLACK RECTANGLE)
+(cl-define-keysym #x0adc "filledlefttribullet") ;(U+25C0 BLACK LEFT-POINTING TRIANGLE)
+(cl-define-keysym #x0add "filledrighttribullet") ;(U+25B6 BLACK RIGHT-POINTING TRIANGLE)
+(cl-define-keysym #x0ade "emfilledcircle") ;(U+25CF BLACK CIRCLE)
+(cl-define-keysym #x0adf "emfilledrect") ;(U+25AE BLACK VERTICAL RECTANGLE)
+(cl-define-keysym #x0ae0 "enopencircbullet") ;(U+25E6 WHITE BULLET)
+(cl-define-keysym #x0ae1 "enopensquarebullet") ;(U+25AB WHITE SMALL SQUARE)
+(cl-define-keysym #x0ae2 "openrectbullet") ;(U+25AD WHITE RECTANGLE)
+(cl-define-keysym #x0ae3 "opentribulletup") ;(U+25B3 WHITE UP-POINTING TRIANGLE)
+(cl-define-keysym #x0ae4 "opentribulletdown") ;(U+25BD WHITE DOWN-POINTING TRIANGLE)
+(cl-define-keysym #x0ae5 "openstar")	      ;(U+2606 WHITE STAR)
+(cl-define-keysym #x0ae6 "enfilledcircbullet")   ;(U+2022 BULLET)
+(cl-define-keysym #x0ae7 "enfilledsqbullet") ;(U+25AA BLACK SMALL SQUARE)
+(cl-define-keysym #x0ae8 "filledtribulletup") ;(U+25B2 BLACK UP-POINTING TRIANGLE)
+(cl-define-keysym #x0ae9 "filledtribulletdown")	;(U+25BC BLACK DOWN-POINTING TRIANGLE)
+(cl-define-keysym #x0aea "leftpointer")	;(U+261C WHITE LEFT POINTING INDEX)
+(cl-define-keysym #x0aeb "rightpointer") ;(U+261E WHITE RIGHT POINTING INDEX)
+(cl-define-keysym #x0aec "club")	 ;U+2663 BLACK CLUB SUIT 
+(cl-define-keysym #x0aed "diamond")	 ;U+2666 BLACK DIAMOND SUIT 
+(cl-define-keysym #x0aee "heart")	 ;U+2665 BLACK HEART SUIT 
+(cl-define-keysym #x0af0 "maltesecross") ;U+2720 MALTESE CROSS 
+(cl-define-keysym #x0af1 "dagger")	 ;U+2020 DAGGER 
+(cl-define-keysym #x0af2 "doubledagger") ;U+2021 DOUBLE DAGGER 
+(cl-define-keysym #x0af3 "checkmark")	 ;U+2713 CHECK MARK 
+(cl-define-keysym #x0af4 "ballotcross")	 ;U+2717 BALLOT X 
+(cl-define-keysym #x0af5 "musicalsharp") ;U+266F MUSIC SHARP SIGN 
+(cl-define-keysym #x0af6 "musicalflat")	 ;U+266D MUSIC FLAT SIGN 
+(cl-define-keysym #x0af7 "malesymbol")	 ;U+2642 MALE SIGN 
+(cl-define-keysym #x0af8 "femalesymbol") ;U+2640 FEMALE SIGN 
+(cl-define-keysym #x0af9 "telephone")	 ;U+260E BLACK TELEPHONE 
+(cl-define-keysym #x0afa "telephonerecorder") ;U+2315 TELEPHONE RECORDER 
+(cl-define-keysym #x0afb "phonographcopyright")	;U+2117 SOUND RECORDING COPYRIGHT 
+(cl-define-keysym #x0afc "caret")		;U+2038 CARET 
+(cl-define-keysym #x0afd "singlelowquotemark") ;U+201A SINGLE LOW-9 QUOTATION MARK 
+(cl-define-keysym #x0afe "doublelowquotemark") ;U+201E DOUBLE LOW-9 QUOTATION MARK 
+(cl-define-keysym #x0aff "cursor")
+(cl-define-keysym #x0ba3 "leftcaret")	;(U+003C LESS-THAN SIGN)
+(cl-define-keysym #x0ba6 "rightcaret")	;(U+003E GREATER-THAN SIGN)
+(cl-define-keysym #x0ba8 "downcaret")	;(U+2228 LOGICAL OR)
+(cl-define-keysym #x0ba9 "upcaret")	;(U+2227 LOGICAL AND)
+(cl-define-keysym #x0bc0 "overbar")	;(U+00AF MACRON)
+(cl-define-keysym #x0bc2 "downtack")	;U+22A5 UP TACK 
+(cl-define-keysym #x0bc3 "upshoe")	;(U+2229 INTERSECTION)
+(cl-define-keysym #x0bc4 "downstile")	;U+230A LEFT FLOOR 
+(cl-define-keysym #x0bc6 "underbar")	;(U+005F LOW LINE)
+(cl-define-keysym #x0bca "jot")		;U+2218 RING OPERATOR 
+(cl-define-keysym #x0bcc "quad")   ;U+2395 APL FUNCTIONAL SYMBOL QUAD 
+(cl-define-keysym #x0bce "uptack")		;U+22A4 DOWN TACK 
+(cl-define-keysym #x0bcf "circle")		;U+25CB WHITE CIRCLE 
+(cl-define-keysym #x0bd3 "upstile")		;U+2308 LEFT CEILING 
+(cl-define-keysym #x0bd6 "downshoe")		;(U+222A UNION)
+(cl-define-keysym #x0bd8 "rightshoe")		;(U+2283 SUPERSET OF)
+(cl-define-keysym #x0bda "leftshoe")		;(U+2282 SUBSET OF)
+(cl-define-keysym #x0bdc "lefttack")		;U+22A2 RIGHT TACK 
+(cl-define-keysym #x0bfc "righttack")		;U+22A3 LEFT TACK 
+(cl-define-keysym #x0cdf "hebrew_doublelowline") ;U+2017 DOUBLE LOW LINE 
+(cl-define-keysym #x0ce0 "hebrew_aleph") ;U+05D0 HEBREW LETTER ALEF 
+(cl-define-keysym #x0ce1 "hebrew_bet")	 ;U+05D1 HEBREW LETTER BET 
+(cl-define-keysym #x0ce1 "hebrew_beth")	 ;deprecated 
+(cl-define-keysym #x0ce2 "hebrew_gimel") ;U+05D2 HEBREW LETTER GIMEL 
+(cl-define-keysym #x0ce2 "hebrew_gimmel")	      ;deprecated 
+(cl-define-keysym #x0ce3 "hebrew_dalet") ;U+05D3 HEBREW LETTER DALET 
+(cl-define-keysym #x0ce3 "hebrew_daleth")     ;deprecated 
+(cl-define-keysym #x0ce4 "hebrew_he")	;U+05D4 HEBREW LETTER HE 
+(cl-define-keysym #x0ce5 "hebrew_waw")	;U+05D5 HEBREW LETTER VAV 
+(cl-define-keysym #x0ce6 "hebrew_zain")	;U+05D6 HEBREW LETTER ZAYIN 
+(cl-define-keysym #x0ce6 "hebrew_zayin")      ;deprecated 
+(cl-define-keysym #x0ce7 "hebrew_chet")	;U+05D7 HEBREW LETTER HET 
+(cl-define-keysym #x0ce7 "hebrew_het")	;deprecated 
+(cl-define-keysym #x0ce8 "hebrew_tet")	;U+05D8 HEBREW LETTER TET 
+(cl-define-keysym #x0ce8 "hebrew_teth")	;deprecated 
+(cl-define-keysym #x0ce9 "hebrew_yod")	;U+05D9 HEBREW LETTER YOD 
+(cl-define-keysym #x0cea "hebrew_finalkaph") ;U+05DA HEBREW LETTER FINAL KAF 
+(cl-define-keysym #x0ceb "hebrew_kaph")	;U+05DB HEBREW LETTER KAF 
+(cl-define-keysym #x0cec "hebrew_lamed") ;U+05DC HEBREW LETTER LAMED 
+(cl-define-keysym #x0ced "hebrew_finalmem") ;U+05DD HEBREW LETTER FINAL MEM 
+(cl-define-keysym #x0cee "hebrew_mem")	    ;U+05DE HEBREW LETTER MEM 
+(cl-define-keysym #x0cef "hebrew_finalnun") ;U+05DF HEBREW LETTER FINAL NUN 
+(cl-define-keysym #x0cf0 "hebrew_nun")	    ;U+05E0 HEBREW LETTER NUN 
+(cl-define-keysym #x0cf1 "hebrew_samech") ;U+05E1 HEBREW LETTER SAMEKH 
+(cl-define-keysym #x0cf1 "hebrew_samekh") ;deprecated 
+(cl-define-keysym #x0cf2 "hebrew_ayin")	  ;U+05E2 HEBREW LETTER AYIN 
+(cl-define-keysym #x0cf3 "hebrew_finalpe") ;U+05E3 HEBREW LETTER FINAL PE 
+(cl-define-keysym #x0cf4 "hebrew_pe")	   ;U+05E4 HEBREW LETTER PE 
+(cl-define-keysym #x0cf5 "hebrew_finalzade") ;U+05E5 HEBREW LETTER FINAL TSADI 
+(cl-define-keysym #x0cf5 "hebrew_finalzadi") ;deprecated 
+(cl-define-keysym #x0cf6 "hebrew_zade")	;U+05E6 HEBREW LETTER TSADI 
+(cl-define-keysym #x0cf6 "hebrew_zadi")	;deprecated 
+(cl-define-keysym #x0cf7 "hebrew_qoph")	;U+05E7 HEBREW LETTER QOF 
+(cl-define-keysym #x0cf7 "hebrew_kuf")	;deprecated 
+(cl-define-keysym #x0cf8 "hebrew_resh")	;U+05E8 HEBREW LETTER RESH 
+(cl-define-keysym #x0cf9 "hebrew_shin")	;U+05E9 HEBREW LETTER SHIN 
+(cl-define-keysym #x0cfa "hebrew_taw")	;U+05EA HEBREW LETTER TAV 
+(cl-define-keysym #x0cfa "hebrew_taf")	;deprecated 
+(cl-define-keysym #xff7e "Hebrew_switch")     ;Alias for mode_switch 
+(cl-define-keysym #x0da1 "Thai_kokai")	;U+0E01 THAI CHARACTER KO KAI 
+(cl-define-keysym #x0da2 "Thai_khokhai") ;U+0E02 THAI CHARACTER KHO KHAI 
+(cl-define-keysym #x0da3 "Thai_khokhuat") ;U+0E03 THAI CHARACTER KHO KHUAT 
+(cl-define-keysym #x0da4 "Thai_khokhwai") ;U+0E04 THAI CHARACTER KHO KHWAI 
+(cl-define-keysym #x0da5 "Thai_khokhon") ;U+0E05 THAI CHARACTER KHO KHON 
+(cl-define-keysym #x0da6 "Thai_khorakhang") ;U+0E06 THAI CHARACTER KHO RAKHANG 
+(cl-define-keysym #x0da7 "Thai_ngongu")	;U+0E07 THAI CHARACTER NGO NGU 
+(cl-define-keysym #x0da8 "Thai_chochan") ;U+0E08 THAI CHARACTER CHO CHAN 
+(cl-define-keysym #x0da9 "Thai_choching") ;U+0E09 THAI CHARACTER CHO CHING 
+(cl-define-keysym #x0daa "Thai_chochang") ;U+0E0A THAI CHARACTER CHO CHANG 
+(cl-define-keysym #x0dab "Thai_soso")	;U+0E0B THAI CHARACTER SO SO 
+(cl-define-keysym #x0dac "Thai_chochoe") ;U+0E0C THAI CHARACTER CHO CHOE 
+(cl-define-keysym #x0dad "Thai_yoying")	;U+0E0D THAI CHARACTER YO YING 
+(cl-define-keysym #x0dae "Thai_dochada") ;U+0E0E THAI CHARACTER DO CHADA 
+(cl-define-keysym #x0daf "Thai_topatak") ;U+0E0F THAI CHARACTER TO PATAK 
+(cl-define-keysym #x0db0 "Thai_thothan") ;U+0E10 THAI CHARACTER THO THAN 
+(cl-define-keysym #x0db1 "Thai_thonangmontho") ;U+0E11 THAI CHARACTER THO NANGMONTHO 
+(cl-define-keysym #x0db2 "Thai_thophuthao") ;U+0E12 THAI CHARACTER THO PHUTHAO 
+(cl-define-keysym #x0db3 "Thai_nonen")	;U+0E13 THAI CHARACTER NO NEN 
+(cl-define-keysym #x0db4 "Thai_dodek")	;U+0E14 THAI CHARACTER DO DEK 
+(cl-define-keysym #x0db5 "Thai_totao")	;U+0E15 THAI CHARACTER TO TAO 
+(cl-define-keysym #x0db6 "Thai_thothung") ;U+0E16 THAI CHARACTER THO THUNG 
+(cl-define-keysym #x0db7 "Thai_thothahan") ;U+0E17 THAI CHARACTER THO THAHAN 
+(cl-define-keysym #x0db8 "Thai_thothong") ;U+0E18 THAI CHARACTER THO THONG 
+(cl-define-keysym #x0db9 "Thai_nonu")	;U+0E19 THAI CHARACTER NO NU 
+(cl-define-keysym #x0dba "Thai_bobaimai") ;U+0E1A THAI CHARACTER BO BAIMAI 
+(cl-define-keysym #x0dbb "Thai_popla")	;U+0E1B THAI CHARACTER PO PLA 
+(cl-define-keysym #x0dbc "Thai_phophung") ;U+0E1C THAI CHARACTER PHO PHUNG 
+(cl-define-keysym #x0dbd "Thai_fofa")	;U+0E1D THAI CHARACTER FO FA 
+(cl-define-keysym #x0dbe "Thai_phophan") ;U+0E1E THAI CHARACTER PHO PHAN 
+(cl-define-keysym #x0dbf "Thai_fofan")	;U+0E1F THAI CHARACTER FO FAN 
+(cl-define-keysym #x0dc0 "Thai_phosamphao") ;U+0E20 THAI CHARACTER PHO SAMPHAO 
+(cl-define-keysym #x0dc1 "Thai_moma")	;U+0E21 THAI CHARACTER MO MA 
+(cl-define-keysym #x0dc2 "Thai_yoyak")	;U+0E22 THAI CHARACTER YO YAK 
+(cl-define-keysym #x0dc3 "Thai_rorua")	;U+0E23 THAI CHARACTER RO RUA 
+(cl-define-keysym #x0dc4 "Thai_ru")	;U+0E24 THAI CHARACTER RU 
+(cl-define-keysym #x0dc5 "Thai_loling")	;U+0E25 THAI CHARACTER LO LING 
+(cl-define-keysym #x0dc6 "Thai_lu")	;U+0E26 THAI CHARACTER LU 
+(cl-define-keysym #x0dc7 "Thai_wowaen")	;U+0E27 THAI CHARACTER WO WAEN 
+(cl-define-keysym #x0dc8 "Thai_sosala")	;U+0E28 THAI CHARACTER SO SALA 
+(cl-define-keysym #x0dc9 "Thai_sorusi")	;U+0E29 THAI CHARACTER SO RUSI 
+(cl-define-keysym #x0dca "Thai_sosua")	;U+0E2A THAI CHARACTER SO SUA 
+(cl-define-keysym #x0dcb "Thai_hohip")	;U+0E2B THAI CHARACTER HO HIP 
+(cl-define-keysym #x0dcc "Thai_lochula") ;U+0E2C THAI CHARACTER LO CHULA 
+(cl-define-keysym #x0dcd "Thai_oang")	 ;U+0E2D THAI CHARACTER O ANG 
+(cl-define-keysym #x0dce "Thai_honokhuk") ;U+0E2E THAI CHARACTER HO NOKHUK 
+(cl-define-keysym #x0dcf "Thai_paiyannoi") ;U+0E2F THAI CHARACTER PAIYANNOI 
+(cl-define-keysym #x0dd0 "Thai_saraa")	;U+0E30 THAI CHARACTER SARA A 
+(cl-define-keysym #x0dd1 "Thai_maihanakat") ;U+0E31 THAI CHARACTER MAI HAN-AKAT 
+(cl-define-keysym #x0dd2 "Thai_saraaa")	;U+0E32 THAI CHARACTER SARA AA 
+(cl-define-keysym #x0dd3 "Thai_saraam")	;U+0E33 THAI CHARACTER SARA AM 
+(cl-define-keysym #x0dd4 "Thai_sarai")	;U+0E34 THAI CHARACTER SARA I 
+(cl-define-keysym #x0dd5 "Thai_saraii")	;U+0E35 THAI CHARACTER SARA II 
+(cl-define-keysym #x0dd6 "Thai_saraue")	;U+0E36 THAI CHARACTER SARA UE 
+(cl-define-keysym #x0dd7 "Thai_sarauee") ;U+0E37 THAI CHARACTER SARA UEE 
+(cl-define-keysym #x0dd8 "Thai_sarau")	;U+0E38 THAI CHARACTER SARA U 
+(cl-define-keysym #x0dd9 "Thai_sarauu")	;U+0E39 THAI CHARACTER SARA UU 
+(cl-define-keysym #x0dda "Thai_phinthu") ;U+0E3A THAI CHARACTER PHINTHU 
+(cl-define-keysym #x0dde "Thai_maihanakat_maitho")
+(cl-define-keysym #x0ddf "Thai_baht") ;U+0E3F THAI CURRENCY SYMBOL BAHT 
+(cl-define-keysym #x0de0 "Thai_sarae")	;U+0E40 THAI CHARACTER SARA E 
+(cl-define-keysym #x0de1 "Thai_saraae")	;U+0E41 THAI CHARACTER SARA AE 
+(cl-define-keysym #x0de2 "Thai_sarao")	;U+0E42 THAI CHARACTER SARA O 
+(cl-define-keysym #x0de3 "Thai_saraaimaimuan") ;U+0E43 THAI CHARACTER SARA AI MAIMUAN 
+(cl-define-keysym #x0de4 "Thai_saraaimaimalai") ;U+0E44 THAI CHARACTER SARA AI MAIMALAI 
+(cl-define-keysym #x0de5 "Thai_lakkhangyao") ;U+0E45 THAI CHARACTER LAKKHANGYAO 
+(cl-define-keysym #x0de6 "Thai_maiyamok") ;U+0E46 THAI CHARACTER MAIYAMOK 
+(cl-define-keysym #x0de7 "Thai_maitaikhu") ;U+0E47 THAI CHARACTER MAITAIKHU 
+(cl-define-keysym #x0de8 "Thai_maiek")	;U+0E48 THAI CHARACTER MAI EK 
+(cl-define-keysym #x0de9 "Thai_maitho")	;U+0E49 THAI CHARACTER MAI THO 
+(cl-define-keysym #x0dea "Thai_maitri")	;U+0E4A THAI CHARACTER MAI TRI 
+(cl-define-keysym #x0deb "Thai_maichattawa") ;U+0E4B THAI CHARACTER MAI CHATTAWA 
+(cl-define-keysym #x0dec "Thai_thanthakhat") ;U+0E4C THAI CHARACTER THANTHAKHAT 
+(cl-define-keysym #x0ded "Thai_nikhahit") ;U+0E4D THAI CHARACTER NIKHAHIT 
+(cl-define-keysym #x0df0 "Thai_leksun")	  ;U+0E50 THAI DIGIT ZERO 
+(cl-define-keysym #x0df1 "Thai_leknung")  ;U+0E51 THAI DIGIT ONE 
+(cl-define-keysym #x0df2 "Thai_leksong")  ;U+0E52 THAI DIGIT TWO 
+(cl-define-keysym #x0df3 "Thai_leksam")	  ;U+0E53 THAI DIGIT THREE 
+(cl-define-keysym #x0df4 "Thai_leksi")	  ;U+0E54 THAI DIGIT FOUR 
+(cl-define-keysym #x0df5 "Thai_lekha")	  ;U+0E55 THAI DIGIT FIVE 
+(cl-define-keysym #x0df6 "Thai_lekhok")	  ;U+0E56 THAI DIGIT SIX 
+(cl-define-keysym #x0df7 "Thai_lekchet")  ;U+0E57 THAI DIGIT SEVEN 
+(cl-define-keysym #x0df8 "Thai_lekpaet")  ;U+0E58 THAI DIGIT EIGHT 
+(cl-define-keysym #x0df9 "Thai_lekkao")	  ;U+0E59 THAI DIGIT NINE 
+(cl-define-keysym #xff31 "Hangul")	  ;Hangul start/stop(toggle) 
+(cl-define-keysym #xff32 "Hangul_Start")  ;Hangul start 
+(cl-define-keysym #xff33 "Hangul_End")	  ;Hangul end, English start 
+(cl-define-keysym #xff34 "Hangul_Hanja") ;Start Hangul->Hanja Conversion 
+(cl-define-keysym #xff35 "Hangul_Jamo")	 ;Hangul Jamo mode 
+(cl-define-keysym #xff36 "Hangul_Romaja")	;Hangul Romaja mode 
+(cl-define-keysym #xff37 "Hangul_Codeinput") ;Hangul code input mode 
+(cl-define-keysym #xff38 "Hangul_Jeonja")    ;Jeonja mode 
+(cl-define-keysym #xff39 "Hangul_Banja")     ;Banja mode 
+(cl-define-keysym #xff3a "Hangul_PreHanja")  ;Pre Hanja conversion 
+(cl-define-keysym #xff3b "Hangul_PostHanja") ;Post Hanja conversion 
+(cl-define-keysym #xff3c "Hangul_SingleCandidate") ;Single candidate 
+(cl-define-keysym #xff3d "Hangul_MultipleCandidate") ;Multiple candidate 
+(cl-define-keysym #xff3e "Hangul_PreviousCandidate") ;Previous candidate 
+(cl-define-keysym #xff3f "Hangul_Special")	     ;Special symbols 
+(cl-define-keysym #xff7e "Hangul_switch") ;Alias for mode_switch 
+(cl-define-keysym #x0ea1 "Hangul_Kiyeog")
+(cl-define-keysym #x0ea2 "Hangul_SsangKiyeog")
+(cl-define-keysym #x0ea3 "Hangul_KiyeogSios")
+(cl-define-keysym #x0ea4 "Hangul_Nieun")
+(cl-define-keysym #x0ea5 "Hangul_NieunJieuj")
+(cl-define-keysym #x0ea6 "Hangul_NieunHieuh")
+(cl-define-keysym #x0ea7 "Hangul_Dikeud")
+(cl-define-keysym #x0ea8 "Hangul_SsangDikeud")
+(cl-define-keysym #x0ea9 "Hangul_Rieul")
+(cl-define-keysym #x0eaa "Hangul_RieulKiyeog")
+(cl-define-keysym #x0eab "Hangul_RieulMieum")
+(cl-define-keysym #x0eac "Hangul_RieulPieub")
+(cl-define-keysym #x0ead "Hangul_RieulSios")
+(cl-define-keysym #x0eae "Hangul_RieulTieut")
+(cl-define-keysym #x0eaf "Hangul_RieulPhieuf")
+(cl-define-keysym #x0eb0 "Hangul_RieulHieuh")
+(cl-define-keysym #x0eb1 "Hangul_Mieum")
+(cl-define-keysym #x0eb2 "Hangul_Pieub")
+(cl-define-keysym #x0eb3 "Hangul_SsangPieub")
+(cl-define-keysym #x0eb4 "Hangul_PieubSios")
+(cl-define-keysym #x0eb5 "Hangul_Sios")
+(cl-define-keysym #x0eb6 "Hangul_SsangSios")
+(cl-define-keysym #x0eb7 "Hangul_Ieung")
+(cl-define-keysym #x0eb8 "Hangul_Jieuj")
+(cl-define-keysym #x0eb9 "Hangul_SsangJieuj")
+(cl-define-keysym #x0eba "Hangul_Cieuc")
+(cl-define-keysym #x0ebb "Hangul_Khieuq")
+(cl-define-keysym #x0ebc "Hangul_Tieut")
+(cl-define-keysym #x0ebd "Hangul_Phieuf")
+(cl-define-keysym #x0ebe "Hangul_Hieuh")
+(cl-define-keysym #x0ebf "Hangul_A")
+(cl-define-keysym #x0ec0 "Hangul_AE")
+(cl-define-keysym #x0ec1 "Hangul_YA")
+(cl-define-keysym #x0ec2 "Hangul_YAE")
+(cl-define-keysym #x0ec3 "Hangul_EO")
+(cl-define-keysym #x0ec4 "Hangul_E")
+(cl-define-keysym #x0ec5 "Hangul_YEO")
+(cl-define-keysym #x0ec6 "Hangul_YE")
+(cl-define-keysym #x0ec7 "Hangul_O")
+(cl-define-keysym #x0ec8 "Hangul_WA")
+(cl-define-keysym #x0ec9 "Hangul_WAE")
+(cl-define-keysym #x0eca "Hangul_OE")
+(cl-define-keysym #x0ecb "Hangul_YO")
+(cl-define-keysym #x0ecc "Hangul_U")
+(cl-define-keysym #x0ecd "Hangul_WEO")
+(cl-define-keysym #x0ece "Hangul_WE")
+(cl-define-keysym #x0ecf "Hangul_WI")
+(cl-define-keysym #x0ed0 "Hangul_YU")
+(cl-define-keysym #x0ed1 "Hangul_EU")
+(cl-define-keysym #x0ed2 "Hangul_YI")
+(cl-define-keysym #x0ed3 "Hangul_I")
+(cl-define-keysym #x0ed4 "Hangul_J_Kiyeog")
+(cl-define-keysym #x0ed5 "Hangul_J_SsangKiyeog")
+(cl-define-keysym #x0ed6 "Hangul_J_KiyeogSios")
+(cl-define-keysym #x0ed7 "Hangul_J_Nieun")
+(cl-define-keysym #x0ed8 "Hangul_J_NieunJieuj")
+(cl-define-keysym #x0ed9 "Hangul_J_NieunHieuh")
+(cl-define-keysym #x0eda "Hangul_J_Dikeud")
+(cl-define-keysym #x0edb "Hangul_J_Rieul")
+(cl-define-keysym #x0edc "Hangul_J_RieulKiyeog")
+(cl-define-keysym #x0edd "Hangul_J_RieulMieum")
+(cl-define-keysym #x0ede "Hangul_J_RieulPieub")
+(cl-define-keysym #x0edf "Hangul_J_RieulSios")
+(cl-define-keysym #x0ee0 "Hangul_J_RieulTieut")
+(cl-define-keysym #x0ee1 "Hangul_J_RieulPhieuf")
+(cl-define-keysym #x0ee2 "Hangul_J_RieulHieuh")
+(cl-define-keysym #x0ee3 "Hangul_J_Mieum")
+(cl-define-keysym #x0ee4 "Hangul_J_Pieub")
+(cl-define-keysym #x0ee5 "Hangul_J_PieubSios")
+(cl-define-keysym #x0ee6 "Hangul_J_Sios")
+(cl-define-keysym #x0ee7 "Hangul_J_SsangSios")
+(cl-define-keysym #x0ee8 "Hangul_J_Ieung")
+(cl-define-keysym #x0ee9 "Hangul_J_Jieuj")
+(cl-define-keysym #x0eea "Hangul_J_Cieuc")
+(cl-define-keysym #x0eeb "Hangul_J_Khieuq")
+(cl-define-keysym #x0eec "Hangul_J_Tieut")
+(cl-define-keysym #x0eed "Hangul_J_Phieuf")
+(cl-define-keysym #x0eee "Hangul_J_Hieuh")
+(cl-define-keysym #x0eef "Hangul_RieulYeorinHieuh")
+(cl-define-keysym #x0ef0 "Hangul_SunkyeongeumMieum")
+(cl-define-keysym #x0ef1 "Hangul_SunkyeongeumPieub")
+(cl-define-keysym #x0ef2 "Hangul_PanSios")
+(cl-define-keysym #x0ef3 "Hangul_KkogjiDalrinIeung")
+(cl-define-keysym #x0ef4 "Hangul_SunkyeongeumPhieuf")
+(cl-define-keysym #x0ef5 "Hangul_YeorinHieuh")
+(cl-define-keysym #x0ef6 "Hangul_AraeA")
+(cl-define-keysym #x0ef7 "Hangul_AraeAE")
+(cl-define-keysym #x0ef8 "Hangul_J_PanSios")
+(cl-define-keysym #x0ef9 "Hangul_J_KkogjiDalrinIeung")
+(cl-define-keysym #x0efa "Hangul_J_YeorinHieuh")
+(cl-define-keysym #x0eff "Korean_Won")		    ;(U+20A9 WON SIGN)
+(cl-define-keysym #x1000587 "Armenian_ligature_ew") ;U+0587 ARMENIAN SMALL LIGATURE ECH YIWN 
+(cl-define-keysym #x1000589 "Armenian_full_stop") ;U+0589 ARMENIAN FULL STOP 
+(cl-define-keysym #x1000589 "Armenian_verjaket") ;U+0589 ARMENIAN FULL STOP 
+(cl-define-keysym #x100055d "Armenian_separation_mark") ;U+055D ARMENIAN COMMA 
+(cl-define-keysym #x100055d "Armenian_but") ;U+055D ARMENIAN COMMA 
+(cl-define-keysym #x100058a "Armenian_hyphen") ;U+058A ARMENIAN HYPHEN 
+(cl-define-keysym #x100058a "Armenian_yentamna") ;U+058A ARMENIAN HYPHEN 
+(cl-define-keysym #x100055c "Armenian_exclam") ;U+055C ARMENIAN EXCLAMATION MARK 
+(cl-define-keysym #x100055c "Armenian_amanak") ;U+055C ARMENIAN EXCLAMATION MARK 
+(cl-define-keysym #x100055b "Armenian_accent") ;U+055B ARMENIAN EMPHASIS MARK 
+(cl-define-keysym #x100055b "Armenian_shesht") ;U+055B ARMENIAN EMPHASIS MARK 
+(cl-define-keysym #x100055e "Armenian_question") ;U+055E ARMENIAN QUESTION MARK 
+(cl-define-keysym #x100055e "Armenian_paruyk") ;U+055E ARMENIAN QUESTION MARK 
+(cl-define-keysym #x1000531 "Armenian_AYB") ;U+0531 ARMENIAN CAPITAL LETTER AYB 
+(cl-define-keysym #x1000561 "Armenian_ayb") ;U+0561 ARMENIAN SMALL LETTER AYB 
+(cl-define-keysym #x1000532 "Armenian_BEN") ;U+0532 ARMENIAN CAPITAL LETTER BEN 
+(cl-define-keysym #x1000562 "Armenian_ben") ;U+0562 ARMENIAN SMALL LETTER BEN 
+(cl-define-keysym #x1000533 "Armenian_GIM") ;U+0533 ARMENIAN CAPITAL LETTER GIM 
+(cl-define-keysym #x1000563 "Armenian_gim") ;U+0563 ARMENIAN SMALL LETTER GIM 
+(cl-define-keysym #x1000534 "Armenian_DA") ;U+0534 ARMENIAN CAPITAL LETTER DA 
+(cl-define-keysym #x1000564 "Armenian_da") ;U+0564 ARMENIAN SMALL LETTER DA 
+(cl-define-keysym #x1000535 "Armenian_YECH") ;U+0535 ARMENIAN CAPITAL LETTER ECH 
+(cl-define-keysym #x1000565 "Armenian_yech") ;U+0565 ARMENIAN SMALL LETTER ECH 
+(cl-define-keysym #x1000536 "Armenian_ZA") ;U+0536 ARMENIAN CAPITAL LETTER ZA 
+(cl-define-keysym #x1000566 "Armenian_za") ;U+0566 ARMENIAN SMALL LETTER ZA 
+(cl-define-keysym #x1000537 "Armenian_E") ;U+0537 ARMENIAN CAPITAL LETTER EH 
+(cl-define-keysym #x1000567 "Armenian_e") ;U+0567 ARMENIAN SMALL LETTER EH 
+(cl-define-keysym #x1000538 "Armenian_AT") ;U+0538 ARMENIAN CAPITAL LETTER ET 
+(cl-define-keysym #x1000568 "Armenian_at") ;U+0568 ARMENIAN SMALL LETTER ET 
+(cl-define-keysym #x1000539 "Armenian_TO") ;U+0539 ARMENIAN CAPITAL LETTER TO 
+(cl-define-keysym #x1000569 "Armenian_to") ;U+0569 ARMENIAN SMALL LETTER TO 
+(cl-define-keysym #x100053a "Armenian_ZHE") ;U+053A ARMENIAN CAPITAL LETTER ZHE 
+(cl-define-keysym #x100056a "Armenian_zhe") ;U+056A ARMENIAN SMALL LETTER ZHE 
+(cl-define-keysym #x100053b "Armenian_INI") ;U+053B ARMENIAN CAPITAL LETTER INI 
+(cl-define-keysym #x100056b "Armenian_ini") ;U+056B ARMENIAN SMALL LETTER INI 
+(cl-define-keysym #x100053c "Armenian_LYUN") ;U+053C ARMENIAN CAPITAL LETTER LIWN 
+(cl-define-keysym #x100056c "Armenian_lyun") ;U+056C ARMENIAN SMALL LETTER LIWN 
+(cl-define-keysym #x100053d "Armenian_KHE") ;U+053D ARMENIAN CAPITAL LETTER XEH 
+(cl-define-keysym #x100056d "Armenian_khe") ;U+056D ARMENIAN SMALL LETTER XEH 
+(cl-define-keysym #x100053e "Armenian_TSA") ;U+053E ARMENIAN CAPITAL LETTER CA 
+(cl-define-keysym #x100056e "Armenian_tsa") ;U+056E ARMENIAN SMALL LETTER CA 
+(cl-define-keysym #x100053f "Armenian_KEN") ;U+053F ARMENIAN CAPITAL LETTER KEN 
+(cl-define-keysym #x100056f "Armenian_ken") ;U+056F ARMENIAN SMALL LETTER KEN 
+(cl-define-keysym #x1000540 "Armenian_HO") ;U+0540 ARMENIAN CAPITAL LETTER HO 
+(cl-define-keysym #x1000570 "Armenian_ho") ;U+0570 ARMENIAN SMALL LETTER HO 
+(cl-define-keysym #x1000541 "Armenian_DZA") ;U+0541 ARMENIAN CAPITAL LETTER JA 
+(cl-define-keysym #x1000571 "Armenian_dza") ;U+0571 ARMENIAN SMALL LETTER JA 
+(cl-define-keysym #x1000542 "Armenian_GHAT") ;U+0542 ARMENIAN CAPITAL LETTER GHAD 
+(cl-define-keysym #x1000572 "Armenian_ghat") ;U+0572 ARMENIAN SMALL LETTER GHAD 
+(cl-define-keysym #x1000543 "Armenian_TCHE") ;U+0543 ARMENIAN CAPITAL LETTER CHEH 
+(cl-define-keysym #x1000573 "Armenian_tche") ;U+0573 ARMENIAN SMALL LETTER CHEH 
+(cl-define-keysym #x1000544 "Armenian_MEN") ;U+0544 ARMENIAN CAPITAL LETTER MEN 
+(cl-define-keysym #x1000574 "Armenian_men") ;U+0574 ARMENIAN SMALL LETTER MEN 
+(cl-define-keysym #x1000545 "Armenian_HI") ;U+0545 ARMENIAN CAPITAL LETTER YI 
+(cl-define-keysym #x1000575 "Armenian_hi") ;U+0575 ARMENIAN SMALL LETTER YI 
+(cl-define-keysym #x1000546 "Armenian_NU") ;U+0546 ARMENIAN CAPITAL LETTER NOW 
+(cl-define-keysym #x1000576 "Armenian_nu") ;U+0576 ARMENIAN SMALL LETTER NOW 
+(cl-define-keysym #x1000547 "Armenian_SHA") ;U+0547 ARMENIAN CAPITAL LETTER SHA 
+(cl-define-keysym #x1000577 "Armenian_sha") ;U+0577 ARMENIAN SMALL LETTER SHA 
+(cl-define-keysym #x1000548 "Armenian_VO") ;U+0548 ARMENIAN CAPITAL LETTER VO 
+(cl-define-keysym #x1000578 "Armenian_vo") ;U+0578 ARMENIAN SMALL LETTER VO 
+(cl-define-keysym #x1000549 "Armenian_CHA") ;U+0549 ARMENIAN CAPITAL LETTER CHA 
+(cl-define-keysym #x1000579 "Armenian_cha") ;U+0579 ARMENIAN SMALL LETTER CHA 
+(cl-define-keysym #x100054a "Armenian_PE") ;U+054A ARMENIAN CAPITAL LETTER PEH 
+(cl-define-keysym #x100057a "Armenian_pe") ;U+057A ARMENIAN SMALL LETTER PEH 
+(cl-define-keysym #x100054b "Armenian_JE") ;U+054B ARMENIAN CAPITAL LETTER JHEH 
+(cl-define-keysym #x100057b "Armenian_je") ;U+057B ARMENIAN SMALL LETTER JHEH 
+(cl-define-keysym #x100054c "Armenian_RA") ;U+054C ARMENIAN CAPITAL LETTER RA 
+(cl-define-keysym #x100057c "Armenian_ra") ;U+057C ARMENIAN SMALL LETTER RA 
+(cl-define-keysym #x100054d "Armenian_SE") ;U+054D ARMENIAN CAPITAL LETTER SEH 
+(cl-define-keysym #x100057d "Armenian_se") ;U+057D ARMENIAN SMALL LETTER SEH 
+(cl-define-keysym #x100054e "Armenian_VEV") ;U+054E ARMENIAN CAPITAL LETTER VEW 
+(cl-define-keysym #x100057e "Armenian_vev") ;U+057E ARMENIAN SMALL LETTER VEW 
+(cl-define-keysym #x100054f "Armenian_TYUN") ;U+054F ARMENIAN CAPITAL LETTER TIWN 
+(cl-define-keysym #x100057f "Armenian_tyun") ;U+057F ARMENIAN SMALL LETTER TIWN 
+(cl-define-keysym #x1000550 "Armenian_RE") ;U+0550 ARMENIAN CAPITAL LETTER REH 
+(cl-define-keysym #x1000580 "Armenian_re") ;U+0580 ARMENIAN SMALL LETTER REH 
+(cl-define-keysym #x1000551 "Armenian_TSO") ;U+0551 ARMENIAN CAPITAL LETTER CO 
+(cl-define-keysym #x1000581 "Armenian_tso") ;U+0581 ARMENIAN SMALL LETTER CO 
+(cl-define-keysym #x1000552 "Armenian_VYUN") ;U+0552 ARMENIAN CAPITAL LETTER YIWN 
+(cl-define-keysym #x1000582 "Armenian_vyun") ;U+0582 ARMENIAN SMALL LETTER YIWN 
+(cl-define-keysym #x1000553 "Armenian_PYUR") ;U+0553 ARMENIAN CAPITAL LETTER PIWR 
+(cl-define-keysym #x1000583 "Armenian_pyur") ;U+0583 ARMENIAN SMALL LETTER PIWR 
+(cl-define-keysym #x1000554 "Armenian_KE") ;U+0554 ARMENIAN CAPITAL LETTER KEH 
+(cl-define-keysym #x1000584 "Armenian_ke") ;U+0584 ARMENIAN SMALL LETTER KEH 
+(cl-define-keysym #x1000555 "Armenian_O") ;U+0555 ARMENIAN CAPITAL LETTER OH 
+(cl-define-keysym #x1000585 "Armenian_o") ;U+0585 ARMENIAN SMALL LETTER OH 
+(cl-define-keysym #x1000556 "Armenian_FE") ;U+0556 ARMENIAN CAPITAL LETTER FEH 
+(cl-define-keysym #x1000586 "Armenian_fe") ;U+0586 ARMENIAN SMALL LETTER FEH 
+(cl-define-keysym #x100055a "Armenian_apostrophe") ;U+055A ARMENIAN APOSTROPHE 
+(cl-define-keysym #x10010d0 "Georgian_an") ;U+10D0 GEORGIAN LETTER AN 
+(cl-define-keysym #x10010d1 "Georgian_ban") ;U+10D1 GEORGIAN LETTER BAN 
+(cl-define-keysym #x10010d2 "Georgian_gan") ;U+10D2 GEORGIAN LETTER GAN 
+(cl-define-keysym #x10010d3 "Georgian_don") ;U+10D3 GEORGIAN LETTER DON 
+(cl-define-keysym #x10010d4 "Georgian_en") ;U+10D4 GEORGIAN LETTER EN 
+(cl-define-keysym #x10010d5 "Georgian_vin") ;U+10D5 GEORGIAN LETTER VIN 
+(cl-define-keysym #x10010d6 "Georgian_zen") ;U+10D6 GEORGIAN LETTER ZEN 
+(cl-define-keysym #x10010d7 "Georgian_tan") ;U+10D7 GEORGIAN LETTER TAN 
+(cl-define-keysym #x10010d8 "Georgian_in") ;U+10D8 GEORGIAN LETTER IN 
+(cl-define-keysym #x10010d9 "Georgian_kan") ;U+10D9 GEORGIAN LETTER KAN 
+(cl-define-keysym #x10010da "Georgian_las") ;U+10DA GEORGIAN LETTER LAS 
+(cl-define-keysym #x10010db "Georgian_man") ;U+10DB GEORGIAN LETTER MAN 
+(cl-define-keysym #x10010dc "Georgian_nar") ;U+10DC GEORGIAN LETTER NAR 
+(cl-define-keysym #x10010dd "Georgian_on") ;U+10DD GEORGIAN LETTER ON 
+(cl-define-keysym #x10010de "Georgian_par") ;U+10DE GEORGIAN LETTER PAR 
+(cl-define-keysym #x10010df "Georgian_zhar") ;U+10DF GEORGIAN LETTER ZHAR 
+(cl-define-keysym #x10010e0 "Georgian_rae") ;U+10E0 GEORGIAN LETTER RAE 
+(cl-define-keysym #x10010e1 "Georgian_san") ;U+10E1 GEORGIAN LETTER SAN 
+(cl-define-keysym #x10010e2 "Georgian_tar") ;U+10E2 GEORGIAN LETTER TAR 
+(cl-define-keysym #x10010e3 "Georgian_un") ;U+10E3 GEORGIAN LETTER UN 
+(cl-define-keysym #x10010e4 "Georgian_phar") ;U+10E4 GEORGIAN LETTER PHAR 
+(cl-define-keysym #x10010e5 "Georgian_khar") ;U+10E5 GEORGIAN LETTER KHAR 
+(cl-define-keysym #x10010e6 "Georgian_ghan") ;U+10E6 GEORGIAN LETTER GHAN 
+(cl-define-keysym #x10010e7 "Georgian_qar") ;U+10E7 GEORGIAN LETTER QAR 
+(cl-define-keysym #x10010e8 "Georgian_shin") ;U+10E8 GEORGIAN LETTER SHIN 
+(cl-define-keysym #x10010e9 "Georgian_chin") ;U+10E9 GEORGIAN LETTER CHIN 
+(cl-define-keysym #x10010ea "Georgian_can") ;U+10EA GEORGIAN LETTER CAN 
+(cl-define-keysym #x10010eb "Georgian_jil") ;U+10EB GEORGIAN LETTER JIL 
+(cl-define-keysym #x10010ec "Georgian_cil") ;U+10EC GEORGIAN LETTER CIL 
+(cl-define-keysym #x10010ed "Georgian_char") ;U+10ED GEORGIAN LETTER CHAR 
+(cl-define-keysym #x10010ee "Georgian_xan") ;U+10EE GEORGIAN LETTER XAN 
+(cl-define-keysym #x10010ef "Georgian_jhan") ;U+10EF GEORGIAN LETTER JHAN 
+(cl-define-keysym #x10010f0 "Georgian_hae") ;U+10F0 GEORGIAN LETTER HAE 
+(cl-define-keysym #x10010f1 "Georgian_he") ;U+10F1 GEORGIAN LETTER HE 
+(cl-define-keysym #x10010f2 "Georgian_hie") ;U+10F2 GEORGIAN LETTER HIE 
+(cl-define-keysym #x10010f3 "Georgian_we") ;U+10F3 GEORGIAN LETTER WE 
+(cl-define-keysym #x10010f4 "Georgian_har") ;U+10F4 GEORGIAN LETTER HAR 
+(cl-define-keysym #x10010f5 "Georgian_hoe") ;U+10F5 GEORGIAN LETTER HOE 
+(cl-define-keysym #x10010f6 "Georgian_fi") ;U+10F6 GEORGIAN LETTER FI 
+(cl-define-keysym #x1001e8a "Xabovedot") ;U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE 
+(cl-define-keysym #x100012c "Ibreve") ;U+012C LATIN CAPITAL LETTER I WITH BREVE 
+(cl-define-keysym #x10001b5 "Zstroke") ;U+01B5 LATIN CAPITAL LETTER Z WITH STROKE 
+(cl-define-keysym #x10001e6 "Gcaron") ;U+01E6 LATIN CAPITAL LETTER G WITH CARON 
+(cl-define-keysym #x10001d1 "Ocaron") ;U+01D2 LATIN CAPITAL LETTER O WITH CARON 
+(cl-define-keysym #x100019f "Obarred") ;U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE 
+(cl-define-keysym #x1001e8b "xabovedot") ;U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE 
+(cl-define-keysym #x100012d "ibreve") ;U+012D LATIN SMALL LETTER I WITH BREVE 
+(cl-define-keysym #x10001b6 "zstroke") ;U+01B6 LATIN SMALL LETTER Z WITH STROKE 
+(cl-define-keysym #x10001e7 "gcaron") ;U+01E7 LATIN SMALL LETTER G WITH CARON 
+(cl-define-keysym #x10001d2 "ocaron") ;U+01D2 LATIN SMALL LETTER O WITH CARON 
+(cl-define-keysym #x1000275 "obarred") ;U+0275 LATIN SMALL LETTER BARRED O 
+(cl-define-keysym #x100018f "SCHWA") ;U+018F LATIN CAPITAL LETTER SCHWA 
+(cl-define-keysym #x1000259 "schwa") ;U+0259 LATIN SMALL LETTER SCHWA 
+(cl-define-keysym #x1001e36 "Lbelowdot") ;U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW 
+(cl-define-keysym #x1001e37 "lbelowdot") ;U+1E37 LATIN SMALL LETTER L WITH DOT BELOW 
+(cl-define-keysym #x1001ea0 "Abelowdot") ;U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW 
+(cl-define-keysym #x1001ea1 "abelowdot") ;U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW 
+(cl-define-keysym #x1001ea2 "Ahook") ;U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE 
+(cl-define-keysym #x1001ea3 "ahook") ;U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE 
+(cl-define-keysym #x1001ea4 "Acircumflexacute")	;U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE 
+(cl-define-keysym #x1001ea5 "acircumflexacute")	;U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE 
+(cl-define-keysym #x1001ea6 "Acircumflexgrave")	;U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE 
+(cl-define-keysym #x1001ea7 "acircumflexgrave")	;U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE 
+(cl-define-keysym #x1001ea8 "Acircumflexhook") ;U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE 
+(cl-define-keysym #x1001ea9 "acircumflexhook") ;U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE 
+(cl-define-keysym #x1001eaa "Acircumflextilde")	;U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE 
+(cl-define-keysym #x1001eab "acircumflextilde")	;U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE 
+(cl-define-keysym #x1001eac "Acircumflexbelowdot") ;U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW 
+(cl-define-keysym #x1001ead "acircumflexbelowdot") ;U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW 
+(cl-define-keysym #x1001eae "Abreveacute") ;U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE 
+(cl-define-keysym #x1001eaf "abreveacute") ;U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE 
+(cl-define-keysym #x1001eb0 "Abrevegrave") ;U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE 
+(cl-define-keysym #x1001eb1 "abrevegrave") ;U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE 
+(cl-define-keysym #x1001eb2 "Abrevehook") ;U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE 
+(cl-define-keysym #x1001eb3 "abrevehook") ;U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE 
+(cl-define-keysym #x1001eb4 "Abrevetilde") ;U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE 
+(cl-define-keysym #x1001eb5 "abrevetilde") ;U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE 
+(cl-define-keysym #x1001eb6 "Abrevebelowdot") ;U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW 
+(cl-define-keysym #x1001eb7 "abrevebelowdot") ;U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW 
+(cl-define-keysym #x1001eb8 "Ebelowdot") ;U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW 
+(cl-define-keysym #x1001eb9 "ebelowdot") ;U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW 
+(cl-define-keysym #x1001eba "Ehook") ;U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE 
+(cl-define-keysym #x1001ebb "ehook") ;U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE 
+(cl-define-keysym #x1001ebc "Etilde") ;U+1EBC LATIN CAPITAL LETTER E WITH TILDE 
+(cl-define-keysym #x1001ebd "etilde") ;U+1EBD LATIN SMALL LETTER E WITH TILDE 
+(cl-define-keysym #x1001ebe "Ecircumflexacute")	;U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE 
+(cl-define-keysym #x1001ebf "ecircumflexacute")	;U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE 
+(cl-define-keysym #x1001ec0 "Ecircumflexgrave")	;U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE 
+(cl-define-keysym #x1001ec1 "ecircumflexgrave")	;U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE 
+(cl-define-keysym #x1001ec2 "Ecircumflexhook") ;U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE 
+(cl-define-keysym #x1001ec3 "ecircumflexhook") ;U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE 
+(cl-define-keysym #x1001ec4 "Ecircumflextilde")	;U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE 
+(cl-define-keysym #x1001ec5 "ecircumflextilde")	;U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE 
+(cl-define-keysym #x1001ec6 "Ecircumflexbelowdot") ;U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW 
+(cl-define-keysym #x1001ec7 "ecircumflexbelowdot") ;U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW 
+(cl-define-keysym #x1001ec8 "Ihook") ;U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE 
+(cl-define-keysym #x1001ec9 "ihook") ;U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE 
+(cl-define-keysym #x1001eca "Ibelowdot") ;U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW 
+(cl-define-keysym #x1001ecb "ibelowdot") ;U+1ECB LATIN SMALL LETTER I WITH DOT BELOW 
+(cl-define-keysym #x1001ecc "Obelowdot") ;U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW 
+(cl-define-keysym #x1001ecd "obelowdot") ;U+1ECD LATIN SMALL LETTER O WITH DOT BELOW 
+(cl-define-keysym #x1001ece "Ohook") ;U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE 
+(cl-define-keysym #x1001ecf "ohook") ;U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE 
+(cl-define-keysym #x1001ed0 "Ocircumflexacute")	;U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE 
+(cl-define-keysym #x1001ed1 "ocircumflexacute")	;U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE 
+(cl-define-keysym #x1001ed2 "Ocircumflexgrave")	;U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE 
+(cl-define-keysym #x1001ed3 "ocircumflexgrave")	;U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE 
+(cl-define-keysym #x1001ed4 "Ocircumflexhook") ;U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE 
+(cl-define-keysym #x1001ed5 "ocircumflexhook") ;U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE 
+(cl-define-keysym #x1001ed6 "Ocircumflextilde")	;U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE 
+(cl-define-keysym #x1001ed7 "ocircumflextilde")	;U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE 
+(cl-define-keysym #x1001ed8 "Ocircumflexbelowdot") ;U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW 
+(cl-define-keysym #x1001ed9 "ocircumflexbelowdot") ;U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW 
+(cl-define-keysym #x1001eda "Ohornacute") ;U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE 
+(cl-define-keysym #x1001edb "ohornacute") ;U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE 
+(cl-define-keysym #x1001edc "Ohorngrave") ;U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE 
+(cl-define-keysym #x1001edd "ohorngrave") ;U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE 
+(cl-define-keysym #x1001ede "Ohornhook") ;U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE 
+(cl-define-keysym #x1001edf "ohornhook") ;U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE 
+(cl-define-keysym #x1001ee0 "Ohorntilde") ;U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE 
+(cl-define-keysym #x1001ee1 "ohorntilde") ;U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE 
+(cl-define-keysym #x1001ee2 "Ohornbelowdot") ;U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW 
+(cl-define-keysym #x1001ee3 "ohornbelowdot") ;U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW 
+(cl-define-keysym #x1001ee4 "Ubelowdot") ;U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW 
+(cl-define-keysym #x1001ee5 "ubelowdot") ;U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW 
+(cl-define-keysym #x1001ee6 "Uhook") ;U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE 
+(cl-define-keysym #x1001ee7 "uhook") ;U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE 
+(cl-define-keysym #x1001ee8 "Uhornacute") ;U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE 
+(cl-define-keysym #x1001ee9 "uhornacute") ;U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE 
+(cl-define-keysym #x1001eea "Uhorngrave") ;U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE 
+(cl-define-keysym #x1001eeb "uhorngrave") ;U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE 
+(cl-define-keysym #x1001eec "Uhornhook") ;U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE 
+(cl-define-keysym #x1001eed "uhornhook") ;U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE 
+(cl-define-keysym #x1001eee "Uhorntilde") ;U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE 
+(cl-define-keysym #x1001eef "uhorntilde") ;U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE 
+(cl-define-keysym #x1001ef0 "Uhornbelowdot") ;U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW 
+(cl-define-keysym #x1001ef1 "uhornbelowdot") ;U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW 
+(cl-define-keysym #x1001ef4 "Ybelowdot") ;U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW 
+(cl-define-keysym #x1001ef5 "ybelowdot") ;U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW 
+(cl-define-keysym #x1001ef6 "Yhook") ;U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE 
+(cl-define-keysym #x1001ef7 "yhook") ;U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE 
+(cl-define-keysym #x1001ef8 "Ytilde") ;U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE 
+(cl-define-keysym #x1001ef9 "ytilde") ;U+1EF9 LATIN SMALL LETTER Y WITH TILDE 
+(cl-define-keysym #x10001a0 "Ohorn") ;U+01A0 LATIN CAPITAL LETTER O WITH HORN 
+(cl-define-keysym #x10001a1 "ohorn") ;U+01A1 LATIN SMALL LETTER O WITH HORN 
+(cl-define-keysym #x10001af "Uhorn") ;U+01AF LATIN CAPITAL LETTER U WITH HORN 
+(cl-define-keysym #x10001b0 "uhorn") ;U+01B0 LATIN SMALL LETTER U WITH HORN 
+(cl-define-keysym #x10020a0 "EcuSign")	;U+20A0 EURO-CURRENCY SIGN 
+(cl-define-keysym #x10020a1 "ColonSign") ;U+20A1 COLON SIGN 
+(cl-define-keysym #x10020a2 "CruzeiroSign") ;U+20A2 CRUZEIRO SIGN 
+(cl-define-keysym #x10020a3 "FFrancSign")   ;U+20A3 FRENCH FRANC SIGN 
+(cl-define-keysym #x10020a4 "LiraSign")	    ;U+20A4 LIRA SIGN 
+(cl-define-keysym #x10020a5 "MillSign")	    ;U+20A5 MILL SIGN 
+(cl-define-keysym #x10020a6 "NairaSign")    ;U+20A6 NAIRA SIGN 
+(cl-define-keysym #x10020a7 "PesetaSign")   ;U+20A7 PESETA SIGN 
+(cl-define-keysym #x10020a8 "RupeeSign")    ;U+20A8 RUPEE SIGN 
+(cl-define-keysym #x10020a9 "WonSign")	    ;U+20A9 WON SIGN 
+(cl-define-keysym #x10020aa "NewSheqelSign") ;U+20AA NEW SHEQEL SIGN 
+(cl-define-keysym #x10020ab "DongSign")	     ;U+20AB DONG SIGN 
+(cl-define-keysym #x20ac "EuroSign")	     ;U+20AC EURO SIGN 
+(cl-define-keysym #x1002070 "zerosuperior")  ;U+2070 SUPERSCRIPT ZERO 
+(cl-define-keysym #x1002074 "foursuperior")  ;U+2074 SUPERSCRIPT FOUR 
+(cl-define-keysym #x1002075 "fivesuperior")  ;U+2075 SUPERSCRIPT FIVE 
+(cl-define-keysym #x1002076 "sixsuperior")   ;U+2076 SUPERSCRIPT SIX 
+(cl-define-keysym #x1002077 "sevensuperior") ;U+2077 SUPERSCRIPT SEVEN 
+(cl-define-keysym #x1002078 "eightsuperior") ;U+2078 SUPERSCRIPT EIGHT 
+(cl-define-keysym #x1002079 "ninesuperior")  ;U+2079 SUPERSCRIPT NINE 
+(cl-define-keysym #x1002080 "zerosubscript") ;U+2080 SUBSCRIPT ZERO 
+(cl-define-keysym #x1002081 "onesubscript")  ;U+2081 SUBSCRIPT ONE 
+(cl-define-keysym #x1002082 "twosubscript")  ;U+2082 SUBSCRIPT TWO 
+(cl-define-keysym #x1002083 "threesubscript") ;U+2083 SUBSCRIPT THREE 
+(cl-define-keysym #x1002084 "foursubscript")  ;U+2084 SUBSCRIPT FOUR 
+(cl-define-keysym #x1002085 "fivesubscript")  ;U+2085 SUBSCRIPT FIVE 
+(cl-define-keysym #x1002086 "sixsubscript")   ;U+2086 SUBSCRIPT SIX 
+(cl-define-keysym #x1002087 "sevensubscript") ;U+2087 SUBSCRIPT SEVEN 
+(cl-define-keysym #x1002088 "eightsubscript") ;U+2088 SUBSCRIPT EIGHT 
+(cl-define-keysym #x1002089 "ninesubscript")  ;U+2089 SUBSCRIPT NINE 
+(cl-define-keysym #x1002202 "partdifferential")	;U+2202 PARTIAL DIFFERENTIAL 
+(cl-define-keysym #x1002205 "emptyset")		;U+2205 NULL SET 
+(cl-define-keysym #x1002208 "elementof")	;U+2208 ELEMENT OF 
+(cl-define-keysym #x1002209 "notelementof") ;U+2209 NOT AN ELEMENT OF 
+(cl-define-keysym #x100220B "containsas") ;U+220B CONTAINS AS MEMBER 
+(cl-define-keysym #x100221A "squareroot") ;U+221A SQUARE ROOT 
+(cl-define-keysym #x100221B "cuberoot")	  ;U+221B CUBE ROOT 
+(cl-define-keysym #x100221C "fourthroot") ;U+221C FOURTH ROOT 
+(cl-define-keysym #x100222C "dintegral")  ;U+222C DOUBLE INTEGRAL 
+(cl-define-keysym #x100222D "tintegral")  ;U+222D TRIPLE INTEGRAL 
+(cl-define-keysym #x1002235 "because")	  ;U+2235 BECAUSE 
+(cl-define-keysym #x1002248 "approxeq")	  ;U+2245 ALMOST EQUAL TO 
+(cl-define-keysym #x1002247 "notapproxeq") ;U+2247 NOT ALMOST EQUAL TO 
+(cl-define-keysym #x1002262 "notidentical") ;U+2262 NOT IDENTICAL TO 
+(cl-define-keysym #x1002263 "stricteq")	;U+2263 STRICTLY EQUIVALENT TO           

Added: load.lisp
==============================================================================
--- (empty file)
+++ load.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,59 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Tue Feb 26 23:00:22 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: System loading functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+
+(defparameter *base-dir* (directory-namestring *load-truename*))
+
+#+CMU
+(setf ext:*gc-verbose* nil)
+
+#+CMU
+(require :clx)
+
+#+SBCL
+(require :asdf)
+
+#+SBCL
+(require :sb-posix)
+
+#+SBCL
+(require :clx)
+
+#-ASDF
+(load (make-pathname :host (pathname-host *base-dir*)
+		     :device (pathname-device *base-dir*)
+		     :directory (pathname-directory *base-dir*)
+		     :name "asdf" :type "lisp"))
+
+(push *base-dir* asdf:*central-registry*)
+
+
+(asdf:oos 'asdf:load-op :clfswm)
+
+(in-package :clfswm)
+
+(clfswm:main ":0")

Added: my-html.fas
==============================================================================
--- (empty file)
+++ my-html.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,140 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 30 (IN-PACKAGE :COMMON-LISP-USER)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("COMMON-LISP-USER" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 37 (DEFPACKAGE :MY-HTML (:USE :COMMON-LISP :TOOLS) ...)-2-1|
+   #18Y(00 00 00 00 00 00 00 00 00 01 DA 01 04 31 E1 3E 19 01) ("MY-HTML")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 37 (DEFPACKAGE :MY-HTML (:USE :COMMON-LISP :TOOLS) ...)-2-2|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA DB 31 DE 3E 19 01)
+   (("COMMON-LISP" "TOOLS") "MY-HTML")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 37 (DEFPACKAGE :MY-HTML (:USE :COMMON-LISP :TOOLS) ...)-2-3|
+   #19Y(00 00 00 00 00 00 00 00 00 01 DA DB 63 2D 03 02 3E 19 01)
+   (("INSERT-HTML-DOCTYPE" "PRODUCE-HTML" "WITH-HTML" "PRODUCE-HTML-STRING")
+    "MY-HTML" |SYSTEM|::|INTERN-EXPORT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 37 (DEFPACKAGE :MY-HTML (:USE :COMMON-LISP :TOOLS) ...)-2-4|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 31 CE 19 01) ("MY-HTML")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+#Y(#:|39 39 (IN-PACKAGE :MY-HTML)-3|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("MY-HTML" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|42 44 (DEFUN INSERT-HTML-DOCTYPE NIL ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|MY-HTML|::|INSERT-HTML-DOCTYPE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|MY-HTML|::|INSERT-HTML-DOCTYPE|
+       #13Y(00 00 00 00 00 00 00 00 06 01 C5 19 01)
+       ("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
+     \"http://www.w3.org/TR/html4/transitional.dtd\">")
+       |COMMON-LISP|::|NIL| () |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|48 61 (DEFUN PRODUCE-HTML (TREE &OPTIONAL # ...) ...)-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|MY-HTML|::|PRODUCE-HTML| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|MY-HTML|::|PRODUCE-HTML|
+       #115Y(00 00 00 00 01 00 02 00 06 0D 3B 02 02 C5 FA 3B 01 03 0E 01 F9 AF
+             8E 0D 13 AE AE 30 02 AD B0 8E 09 80 4C CE 14 A2 14 2D 03 04 19 04
+             AE AE 30 02 AD DD 94 05 2D 03 04 95 03 63 1B 1D 94 05 DA E1 94 08
+             38 06 72 60 32 46 1B 5C 87 01 00 14 DF B2 73 02 35 B1 28 FF B3 83
+             01 AD 8D 94 6D 16 02 AE AE 30 02 AD E0 94 05 8E 09 52 A2 5B 1B FF
+             B7 CD 1B FF B1)
+       (0. |COMMON-LISP|::|*STANDARD-OUTPUT*| |TOOLS|::|PRINT-SPACE|
+        #Y(|MY-HTML|::|PRODUCE-HTML-1|
+           #49Y(00 00 00 00 02 00 00 00 01 18 38 01 B0 71 92 72 76 DA AD 31 8A
+                AF AD 31 86 DB AD 31 8A AC 72 77 38 02 71 47 B1 38 02 31 8B 16
+                01 AF 31 8D 9E 19 04)
+           (#\< #\>)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|FORMAT| 2.
+        #Y(|MY-HTML|::|PRODUCE-HTML-2|
+           #51Y(00 00 00 00 02 00 00 00 01 18 38 01 B0 71 92 72 76 DA AD 38 02
+                31 8B AF AD 31 86 DB AD 31 8A AC 72 77 38 02 71 47 B1 38 02 31
+                8B 16 01 AF 31 8D 9E 19 04)
+           ("</" #\>)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #\  "~A~%" "~(~A~)~%")
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|MY-HTML|::|TREE| |COMMON-LISP|::|&OPTIONAL| (|MY-HTML|::|LEVEL| 0.)
+        (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|*STANDARD-OUTPUT*|))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|64 65 (DEFMACRO WITH-HTML (# &REST REST) ...)-6|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|MY-HTML|::|WITH-HTML| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|MY-HTML|::|WITH-HTML|
+       #67Y(00 00 00 00 02 00 00 00 00 03 AE DA 8B 01 1E 9F 5C 78 AC DD DE 2D
+            03 01 1D 18 AC 92 00 22 02 14 A2 5C 79 E6 E7 9F 7A DD B0 61 04 19
+            07 AE 2F 02 19 03 DF E0 B1 E1 B0 E2 6F 09 E4 B3 E5 33 07 1E 5B 1B
+            5C)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| 0. 1. |EXT|::|SOURCE-PROGRAM-ERROR|
+        :|FORM| :|DETAIL| "~S: ~S does not match lambda list element ~:S"
+        |SYSTEM|::|TEXT| |MY-HTML|::|WITH-HTML|
+        (|COMMON-LISP|::|&OPTIONAL|
+         (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|T|))
+        |MY-HTML|::|PRODUCE-HTML| |COMMON-LISP|::|QUOTE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|68 70 (DEFUN PRODUCE-HTML-STRING (TREE &OPTIONAL #) ...)-7|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|MY-HTML|::|PRODUCE-HTML-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|MY-HTML|::|PRODUCE-HTML-STRING|
+       #41Y(03 00 01 00 01 00 01 00 06 08 3B 01 02 C5 F9 DB 38 01 72 76 53 0A
+            B1 B1 B0 2D 03 02 AE 32 77 54 67 00 00 00 2F 03 55 19 04)
+       (0. |COMMON-LISP|::|CHARACTER| |MY-HTML|::|PRODUCE-HTML|
+        |COMMON-LISP|::|CLOSE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|MY-HTML|::|TREE| |COMMON-LISP|::|&OPTIONAL| (|MY-HTML|::|LEVEL| 0.))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|75 87 (DEFUN TEST1 NIL ...)-8|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|MY-HTML|::|TEST1| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|MY-HTML|::|TEST1|
+       #48Y(00 00 00 00 00 00 00 00 06 01 DA DB DC DD DE DF E0 38 02 72 76 E1
+            AD 38 02 31 8B E2 AD 31 86 AC 81 77 00 CE 5D 5D 5D 5D 5D 7A 7B 03
+            2F 0A 19 01)
+       (|MY-HTML|::|HTML| (|MY-HTML|::|HEAD| (|MY-HTML|::|TITLE| "Plop"))
+        |MY-HTML|::|BODY| (|MY-HTML|::|H1| "A title") (|MY-HTML|::|H2| "plop")
+        |MY-HTML|::|PLOP| 4. "Plip=" 8.
+        (("a href=\"index.html\"" |MY-HTML|::|INDEX|)
+         (|MY-HTML|::|UL| (|MY-HTML|::|LI| "toto") (|MY-HTML|::|LI| "klm")))
+        |MY-HTML|::|PRODUCE-HTML|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|90 101 (DEFUN TEST2 NIL ...)-9|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|MY-HTML|::|TEST2| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|MY-HTML|::|TEST2|
+       #18Y(00 00 00 00 00 00 00 00 06 01 DA DB 64 2D 03 02 19 01)
+       ((|MY-HTML|::|HTML| (|MY-HTML|::|HEAD| (|MY-HTML|::|TITLE| "Plop"))
+         "<img src=\"toto.png\">"
+         (|MY-HTML|::|BODY| (|MY-HTML|::|H1| "Un titre")
+          (|MY-HTML|::|H2| "plop")
+          (|MY-HTML|::|UL| (|MY-HTML|::|LI| "toto") (|MY-HTML|::|LI| "klm"))))
+        0. |MY-HTML|::|PRODUCE-HTML|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|104 118 (DEFUN TEST3 NIL ...)-10|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|MY-HTML|::|TEST3| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|MY-HTML|::|TEST3|
+       #49Y(00 00 00 00 00 00 00 00 06 01 DA DB DC DD DE DF E0 38 02 72 76 E1
+            AD 38 02 31 8B E2 AD 31 86 AC 81 77 00 CE 5D 5D 5D 5D 5D 7A 7B 03
+            E4 30 0B 19 01)
+       (|MY-HTML|::|HTML| (|MY-HTML|::|HEAD| (|MY-HTML|::|TITLE| "Plop"))
+        |MY-HTML|::|BODY| (|MY-HTML|::|H1| "A title")
+        (|MY-HTML|::|H2| |MY-HTML|::|PLOP|) |MY-HTML|::|PLOP| 4. "Plip=" 8.
+        (|MY-HTML|::|Foo Bar Baz| ("a href=\"index.html\"" |MY-HTML|::|INDEX|)
+         (|MY-HTML|::|UL| (|MY-HTML|::|LI| "toto") (|MY-HTML|::|LI| "klm")))
+        10. |MY-HTML|::|PRODUCE-HTML-STRING|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: my-html.fasl
==============================================================================
Binary file. No diff available.

Added: my-html.lib
==============================================================================
--- (empty file)
+++ my-html.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,59 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "COMMON-LISP-USER"))
+(|SYSTEM|::|%IN-PACKAGE| "MY-HTML" :|NICKNAMES| '|COMMON-LISP|::|NIL| :|USE|
+ '|COMMON-LISP|::|NIL| :|CASE-SENSITIVE| |COMMON-LISP|::|NIL| :|CASE-INVERTED|
+ |COMMON-LISP|::|NIL|)
+(|COMMON-LISP|::|USE-PACKAGE| '("COMMON-LISP" "TOOLS") "MY-HTML")
+(|SYSTEM|::|INTERN-EXPORT|
+ '("INSERT-HTML-DOCTYPE" "PRODUCE-HTML" "WITH-HTML" "PRODUCE-HTML-STRING")
+ "MY-HTML" |COMMON-LISP|::|NIL|)
+(|COMMON-LISP|::|FIND-PACKAGE| "MY-HTML")
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "MY-HTML"))
+(|SYSTEM|::|C-DEFUN| '|MY-HTML|::|INSERT-HTML-DOCTYPE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|MY-HTML|::|PRODUCE-HTML|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|MY-HTML|::|TREE| |COMMON-LISP|::|&OPTIONAL| (|MY-HTML|::|LEVEL| 0.)
+    (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|*STANDARD-OUTPUT*|))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|MY-HTML|::|WITH-HTML|)
+(|SYSTEM|::|%PUTD| '|MY-HTML|::|WITH-HTML|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |MY-HTML|::|WITH-HTML|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((#1=#:|G46914| (|COMMON-LISP|::|CADR| . #2=(|SYSTEM|::|<MACRO-FORM>|)))
+       (#3=#:|G46915|
+        (|COMMON-LISP|::|IF|
+         (|COMMON-LISP|::|NOT|
+          (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| #1# 0. 1.))
+         (|SYSTEM|::|ERROR-OF-TYPE| '|EXT|::|SOURCE-PROGRAM-ERROR| :|FORM|
+          |SYSTEM|::|<MACRO-FORM>| :|DETAIL| #1#
+          (|SYSTEM|::|TEXT| "~S: ~S does not match lambda list element ~:S")
+          '|MY-HTML|::|WITH-HTML| #1#
+          '(|COMMON-LISP|::|&OPTIONAL|
+            (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|T|)))
+         #1#))
+       (|COMMON-LISP|::|STREAM|
+        (|COMMON-LISP|::|IF| #3# (|COMMON-LISP|::|CAR| #3#)
+         |COMMON-LISP|::|T|))
+       (|COMMON-LISP|::|REST| (|COMMON-LISP|::|CDDR| . #2#)))
+      (|COMMON-LISP|::|BLOCK| |MY-HTML|::|WITH-HTML|
+       `(|MY-HTML|::|PRODUCE-HTML| ',@|COMMON-LISP|::|REST| 0.
+         ,|COMMON-LISP|::|STREAM|))))))))
+(|SYSTEM|::|C-DEFUN| '|MY-HTML|::|PRODUCE-HTML-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|MY-HTML|::|TREE| |COMMON-LISP|::|&OPTIONAL| (|MY-HTML|::|LEVEL| 0.))))
+(|SYSTEM|::|C-DEFUN| '|MY-HTML|::|TEST1|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|MY-HTML|::|TEST2|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|MY-HTML|::|TEST3|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: my-html.lisp
==============================================================================
--- (empty file)
+++ my-html.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,123 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Fri Dec 21 23:00:35 2007
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Html generator helper
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+
+
+(in-package :common-lisp-user)
+
+(defpackage :my-html
+  (:use :common-lisp :tools)
+  (:export :insert-html-doctype
+	   :produce-html
+	   :with-html
+	   :produce-html-string))
+
+(in-package :my-html)
+
+
+(defun insert-html-doctype ()
+  "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
+     \"http://www.w3.org/TR/html4/transitional.dtd\">")
+
+
+
+(defun produce-html (tree &optional (level 0) (stream *standard-output*))
+  (cond ((listp tree)
+	 (print-space level stream)
+	 (format stream "~(<~A>~)~%" (first tree))
+	 (dolist (subtree (rest tree))
+	   (produce-html subtree (+ 2 level) stream))
+	 (print-space level stream)
+	 (format stream "~(</~A>~)~%"
+		 (if (stringp (first tree))
+		     (subseq (first tree) 0 (position #\Space (first tree)))
+		     (first tree))))
+	(t
+	 (print-space level stream)
+	 (format stream (if (stringp tree) "~A~%" "~(~A~)~%") tree))))
+
+
+(defmacro with-html ((&optional (stream t)) &rest rest)
+  `(produce-html ', at rest 0 ,stream))
+
+
+(defun produce-html-string (tree &optional (level 0))
+  (with-output-to-string (str)
+    (produce-html tree level str)))
+
+
+
+
+(defun test1 ()
+  (produce-html `(html
+		  (head
+		   (title "Plop"))
+		  (body
+		   (h1 "A title")
+		   (h2 "plop")
+		   Plop ,(+ 2 2)
+		   ,(format nil "Plip=~A" (+ 3 5))
+		   ("a href=\"index.html\"" index)
+		   (ul
+		    (li "toto")
+		    (li "klm"))))))
+  
+
+(defun test2 ()
+  (with-html ()
+    (html
+     (head
+      (title "Plop"))
+     "<img src=\"toto.png\">"
+     (body
+      (h1 "Un titre")
+      (h2 "plop")
+      (ul
+       (li "toto")
+       (li "klm"))))))
+
+
+(defun test3 ()
+  (produce-html-string `(html
+			 (head
+			  (title "Plop"))
+			 (body
+			  (h1 "A title")
+			  (h2 plop)
+			  Plop ,(+ 2 2)
+			  ,(format nil "Plip=~A" (+ 3 5))
+			  |Foo Bar Baz|
+			  ("a href=\"index.html\"" Index)
+			  (ul
+			   (li "toto")
+			   (li "klm"))))
+		       10))
+  
+
+
+
+

Added: netwm-util.fas
==============================================================================
--- (empty file)
+++ netwm-util.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,75 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 29 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|32 34 (DEFUN NETWM-SET-CLIENT-LIST (ID-LIST) ...)-2|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|NETWM-SET-CLIENT-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|NETWM-SET-CLIENT-LIST|
+       #21Y(00 00 00 00 01 00 00 00 06 02 6B 00 DB AF DC DD 2D 05 04 19 02)
+       (|CLFSWM|::|*ROOT*| :|_NET_CLIENT_LIST| :|WINDOW| 32.
+        |XLIB|::|CHANGE-PROPERTY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ID-LIST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|36 37 (DEFUN NETWM-GET-CLIENT-LIST NIL ...)-3|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|NETWM-GET-CLIENT-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|NETWM-GET-CLIENT-LIST|
+       #17Y(00 00 00 00 00 00 00 00 06 01 6B 00 DB 30 02 19 01)
+       (|CLFSWM|::|*ROOT*| :|_NET_CLIENT_LIST| |XLIB|::|GET-PROPERTY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|39 42 (DEFUN NETWM-ADD-IN-CLIENT-LIST (WINDOW) ...)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|NETWM-ADD-IN-CLIENT-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|NETWM-ADD-IN-CLIENT-LIST|
+       #29Y(00 00 00 00 01 00 00 00 06 02 2E 00 14 DB AF DC 72 2F AD 38 03 80
+            BA 00 14 2F 03 19 03)
+       (|CLFSWM|::|NETWM-GET-CLIENT-LIST| |XLIB|::|WINDOW| 1.
+        |CLFSWM|::|NETWM-SET-CLIENT-LIST|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|44 45 (DEFUN NETWM-REMOVE-IN-CLIENT-LIST (WINDOW) ...)-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|NETWM-REMOVE-IN-CLIENT-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|NETWM-REMOVE-IN-CLIENT-LIST|
+       #26Y(00 00 00 00 01 00 00 00 06 02 DA AE DB 72 2F 2E 02 14 38 07 72 4F
+            2F 03 19 02)
+       (|XLIB|::|WINDOW| 1. |CLFSWM|::|NETWM-GET-CLIENT-LIST|
+        |CLFSWM|::|NETWM-SET-CLIENT-LIST|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|49 64 (DEFUN NETWM-UPDATE-DESKTOP-PROPERTY NIL)-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|NETWM-UPDATE-DESKTOP-PROPERTY|
+    |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|NETWM-UPDATE-DESKTOP-PROPERTY|
+       #13Y(00 00 00 00 00 00 00 00 06 01 00 19 01) () |COMMON-LISP|::|NIL| ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|69 90 (DEFUN NETWM-SET-PROPERTIES NIL ...)-7|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|NETWM-SET-PROPERTIES| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|NETWM-SET-PROPERTIES|
+       #101Y(00 00 00 00 00 00 00 00 06 01 6B 00 DB 63 6B 02 DD 6B 04 73 00 16
+             73 02 22 1B 0D 94 00 6B 05 AD 70 06 84 02 16 01 83 00 AC 8D 94 6F
+             16 01 AC 80 A6 00 E1 E2 2D 05 09 6B 00 E4 6B 0B 7B 01 E6 E2 E7 99
+             0E 2D 07 09 6B 0B E4 6B 0B 7B 01 E6 E2 E7 99 0E 2D 07 09 6B 0B E9
+             EA EB EC E7 99 13 2D 07 09 2E 14 19 01)
+       (|CLFSWM|::|*ROOT*| :|_NET_SUPPORTED| |CLFSWM|::|+NETWM-SUPPORTED+|
+        |COMMON-LISP|::|CAR| |CLFSWM|::|+NETWM-WINDOW-TYPES+|
+        |CLFSWM|::|*DISPLAY*| |XLIB|::|INTERN-ATOM| :|ATOM| 32.
+        |XLIB|::|CHANGE-PROPERTY| :|_NET_SUPPORTING_WM_CHECK|
+        |CLFSWM|::|*NO-FOCUS-WINDOW*| :|WINDOW| :|TRANSFORM|
+        |XLIB|::|DRAWABLE-ID| :|_NET_WM_NAME| "clfswm" :|STRING| 8.
+        |XLIB|::|CHAR->CARD8| |CLFSWM|::|NETWM-UPDATE-DESKTOP-PROPERTY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Set NETWM properties on the root window of the specified screen.
+FOCUS-WINDOW is an extra window used for _NET_SUPPORTING_WM_CHECK."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: netwm-util.fasl
==============================================================================
Binary file. No diff available.

Added: netwm-util.lib
==============================================================================
--- (empty file)
+++ netwm-util.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,15 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NETWM-SET-CLIENT-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|ID-LIST|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NETWM-GET-CLIENT-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NETWM-ADD-IN-CLIENT-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NETWM-REMOVE-IN-CLIENT-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NETWM-UPDATE-DESKTOP-PROPERTY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NETWM-SET-PROPERTIES|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: netwm-util.lisp
==============================================================================
--- (empty file)
+++ netwm-util.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,95 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Wed Feb 20 23:26:21 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: NetWM functions
+;;;   http://freedesktop.org/wiki/Specifications_2fwm_2dspec
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+;;; Client List functions 
+(defun netwm-set-client-list (id-list)
+  (xlib:change-property *root* :_NET_CLIENT_LIST id-list :window 32))
+
+(defun netwm-get-client-list ()
+  (xlib:get-property *root* :_NET_CLIENT_LIST))
+
+(defun netwm-add-in-client-list (window)
+  (let ((last-list (netwm-get-client-list)))
+    (pushnew (xlib:window-id window) last-list)
+    (netwm-set-client-list last-list)))
+
+(defun netwm-remove-in-client-list (window)
+  (netwm-set-client-list (remove (xlib:window-id window) (netwm-get-client-list))))
+
+
+ 
+;;; Desktop functions ;; +PHIL
+(defun netwm-update-desktop-property ()
+  ;;  (xlib:change-property *root* :_NET_NUMBER_OF_DESKTOPS
+  ;;		   (list (length *workspace-list*)) :cardinal 32)
+  ;;  (xlib:change-property *root* :_NET_DESKTOP_GEOMETRY
+  ;;		   (list (xlib:screen-width *screen*)
+  ;;			 (xlib:screen-height *screen*))
+  ;;		   :cardinal 32)
+  ;;  (xlib:change-property *root* :_NET_DESKTOP_VIEWPORT
+  ;;		   (list 0 0) :cardinal 32)
+  ;;  (xlib:change-property *root* :_NET_CURRENT_DESKTOP
+  ;;		   (list 1) :cardinal 32)
+;;; TODO
+  ;;(xlib:change-property *root* :_NET_DESKTOP_NAMES
+  ;;		   (list "toto" "klm" "poi") :string 8 :transform #'xlib:char->card8))
+  )
+
+
+
+
+;;; Taken from stumpwm (thanks)
+(defun netwm-set-properties ()
+  "Set NETWM properties on the root window of the specified screen.
+FOCUS-WINDOW is an extra window used for _NET_SUPPORTING_WM_CHECK."
+  ;; _NET_SUPPORTED
+  (xlib:change-property *root* :_NET_SUPPORTED
+			(mapcar (lambda (a)
+				  (xlib:intern-atom *display* a))
+				(append +netwm-supported+
+					(mapcar 'car +netwm-window-types+)))
+			:atom 32)
+  ;; _NET_SUPPORTING_WM_CHECK
+  (xlib:change-property *root* :_NET_SUPPORTING_WM_CHECK
+			(list *no-focus-window*) :window 32
+			:transform #'xlib:drawable-id)
+  (xlib:change-property *no-focus-window* :_NET_SUPPORTING_WM_CHECK
+			(list *no-focus-window*) :window 32
+			:transform #'xlib:drawable-id)
+  (xlib:change-property *no-focus-window* :_NET_WM_NAME
+			"clfswm"
+			:string 8 :transform #'xlib:char->card8)
+  (netwm-update-desktop-property))
+
+
+
+
+

Added: package.fas
==============================================================================
--- (empty file)
+++ package.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,448 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CL-USER)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CL-USER" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|30 33 (DEFPACKAGE CLFSWM (:USE :COMMON-LISP :MY-HTML ...) ...)-2-1|
+   #18Y(00 00 00 00 00 00 00 00 00 01 DA 01 04 31 E1 3E 19 01) ("CLFSWM")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|30 33 (DEFPACKAGE CLFSWM (:USE :COMMON-LISP :MY-HTML ...) ...)-2-2|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA DB 31 DE 3E 19 01)
+   (("COMMON-LISP" "MY-HTML" "TOOLS") "CLFSWM")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|30 33 (DEFPACKAGE CLFSWM (:USE :COMMON-LISP :MY-HTML ...) ...)-2-3|
+   #19Y(00 00 00 00 00 00 00 00 00 01 DA DB 63 2D 03 02 3E 19 01)
+   (("MAIN") "CLFSWM" |SYSTEM|::|INTERN-EXPORT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|30 33 (DEFPACKAGE CLFSWM (:USE :COMMON-LISP :MY-HTML ...) ...)-2-4|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 31 CE 19 01) ("CLFSWM")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+#Y(#:|35 35 (IN-PACKAGE :CLFSWM)-3|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|38 38 (DEFPARAMETER *DISPLAY* NIL)-4|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*DISPLAY*|) |CLFSWM|::|*DISPLAY*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|39 39 (DEFPARAMETER *SCREEN* NIL)-5|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SCREEN*|) |CLFSWM|::|*SCREEN*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|40 40 (DEFPARAMETER *ROOT* NIL)-6|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ROOT*|) |CLFSWM|::|*ROOT*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|41 41 (DEFPARAMETER *NO-FOCUS-WINDOW* NIL)-7|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*NO-FOCUS-WINDOW*|)
+    |CLFSWM|::|*NO-FOCUS-WINDOW*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|42 42 (DEFPARAMETER *ROOT-GC* NIL)-8|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ROOT-GC*|) |CLFSWM|::|*ROOT-GC*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|44 44 (DEFPARAMETER *DEFAULT-FONT* NIL)-9|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*DEFAULT-FONT*|)
+    |CLFSWM|::|*DEFAULT-FONT*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|45 46 (DEFPARAMETER *DEFAULT-FONT-STRING* "fixed")-10|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*DEFAULT-FONT-STRING*|)
+    |CLFSWM|::|*DEFAULT-FONT-STRING*| "fixed")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|49 49 (DEFPARAMETER *CHILD-SELECTION* NIL)-11|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CHILD-SELECTION*|)
+    |CLFSWM|::|*CHILD-SELECTION*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|51 51 (DEFPARAMETER *LAYOUT-LIST* NIL)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*LAYOUT-LIST*|)
+    |CLFSWM|::|*LAYOUT-LIST*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|54 78 (DEFCLASS GROUP NIL ...)-13|
+   #346Y(00 00 00 00 00 00 00 00 00 01 6B 00 99 01 DC DD 63 DE DF E0 E1 E2 E3
+         E4 E5 E6 E7 63 E8 63 6F 0F 7B 0C DF EA E1 EB E3 EC E5 ED E7 EE E8 EE
+         6F 0F 7B 0C DF EF E1 F0 E3 F1 E5 F2 E7 F3 E8 F3 6F 0F 7B 0C DF F4 E1
+         F5 E3 F6 E5 F7 E7 F3 E8 F3 6F 0F 7B 0C DF 65 1E E1 65 1F E3 65 20 E5
+         65 21 E7 65 22 E8 65 22 6F 0F 7B 0C DF 65 23 E1 65 24 E3 65 25 E5 65
+         26 E7 65 22 E8 65 22 6F 0F 7B 0C DF 65 27 E1 65 28 E3 65 29 E5 65 2A
+         E7 EE E8 EE 6F 0F 7B 0C DF 65 2B E1 65 2C E3 65 2D E5 65 2E E7 EE E8
+         EE 6F 0F 7B 0C DF 65 2F E1 65 30 E3 65 31 E5 65 32 E7 65 33 E8 65 33
+         6F 0F 7B 0C DF 65 34 E1 65 35 E3 65 36 E5 65 37 E7 65 38 E8 65 38 6F
+         0F 7B 0C DF 65 39 E1 65 3A E3 65 3B E5 65 3C E7 63 E8 63 6F 0F 7B 0C
+         DF 65 3D E1 65 3E E3 65 3F E5 65 40 E7 63 E8 63 6F 0F 7B 0C DF 65 41
+         E1 65 42 E3 65 43 E5 65 44 E7 63 E8 63 6F 0F 7B 0C DF 65 45 E1 65 46
+         E3 65 47 E5 65 48 E7 63 E8 63 6F 0F 7B 0C DF 65 49 E1 65 4A E3 65 4B
+         E5 65 4C E7 65 4D E8 65 4E 65 4F 65 50 7B 0E 7B 0F 65 51 B3 65 52 65
+         53 63 65 4F 63 65 54 64 7B 06 33 02 22 37 07 16 01 DC 38 02 32 2A 19
+         01)
+   (|CLOS|::|<STANDARD-CLASS>| |CLOS|::|ENSURE-CLASS| |CLFSWM|::|GROUP|
+    :|DIRECT-SUPERCLASSES| :|DIRECT-SLOTS| :|NAME| |CLFSWM|::|NAME| :|READERS|
+    (|CLFSWM|::|GROUP-NAME|) :|WRITERS|
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-NAME|)) :|INITARGS| (:|NAME|)
+    :|INITFORM| :|INITFUNCTION| |SYSTEM|::|MAKE-CONSTANT-INITFUNCTION|
+    |COMMON-LISP|::|NUMBER| (|CLFSWM|::|GROUP-NUMBER|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-NUMBER|)) (:|NUMBER|) 0.
+    |CLFSWM|::|X| (|CLFSWM|::|GROUP-X|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-X|)) (:|X|) 0.1f0 |CLFSWM|::|Y|
+    (|CLFSWM|::|GROUP-Y|) ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-Y|)) (:|Y|)
+    |CLFSWM|::|W| (|CLFSWM|::|GROUP-W|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-W|)) (:|W|) 0.8f0 |CLFSWM|::|H|
+    (|CLFSWM|::|GROUP-H|) ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-H|)) (:|H|)
+    |CLFSWM|::|RX| (|CLFSWM|::|GROUP-RX|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RX|)) (:|RX|) |CLFSWM|::|RY|
+    (|CLFSWM|::|GROUP-RY|) ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RY|))
+    (:|RY|) |CLFSWM|::|RW| (|CLFSWM|::|GROUP-RW|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RW|)) (:|RW|) 800. |CLFSWM|::|RH|
+    (|CLFSWM|::|GROUP-RH|) ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RH|))
+    (:|RH|) 600. |CLFSWM|::|LAYOUT| (|CLFSWM|::|GROUP-LAYOUT|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-LAYOUT|)) (:|LAYOUT|)
+    |CLFSWM|::|WINDOW| (|CLFSWM|::|GROUP-WINDOW|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-WINDOW|)) (:|WINDOW|)
+    |CLFSWM|::|GC| (|CLFSWM|::|GROUP-GC|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-GC|)) (:|GC|) |CLFSWM|::|CHILD|
+    (|CLFSWM|::|GROUP-CHILD|) ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-CHILD|))
+    (:|CHILD|) |CLFSWM|::|DATA| (|CLFSWM|::|GROUP-DATA|)
+    ((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-DATA|)) (:|DATA|)
+    (|COMMON-LISP|::|LIST| '#1=(:|TILE-SIZE| 0.8f0)
+     '#2=(:|TILE-SPACE-SIZE| 0.1f0))
+    #Y(|CLFSWM|::|DEFAULT-DATA|
+       #16Y(00 00 00 00 00 00 00 00 06 01 DA DB 61 02 19 01) (#1# #2#)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+       |COMMON-LISP|::|NIL|)
+    :|DOCUMENTATION| "An assoc list to store additional data" :|METACLASS|
+    (:|FIXED-SLOT-LOCATIONS| |COMMON-LISP|::|NIL|) :|DIRECT-DEFAULT-INITARGS|
+    :|GENERIC-ACCESSORS|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|82 83 (DEFPARAMETER *ROOT-GROUP* NIL ...)-14|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ROOT-GROUP*|)
+    |CLFSWM|::|*ROOT-GROUP*| |COMMON-LISP|::|VARIABLE|
+    "Root of the root - ie the root group" |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|84 85 (DEFPARAMETER *CURRENT-ROOT* NIL ...)-15|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CURRENT-ROOT*|)
+    |CLFSWM|::|*CURRENT-ROOT*| |COMMON-LISP|::|VARIABLE|
+    "The current fullscreen maximized child" |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|86 87 (DEFPARAMETER *CURRENT-CHILD* NIL ...)-16|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CURRENT-CHILD*|)
+    |CLFSWM|::|*CURRENT-CHILD*| |COMMON-LISP|::|VARIABLE|
+    "The current child with the focus" |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|89 89 (DEFPARAMETER *SHOW-ROOT-GROUP-P* NIL)-17|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SHOW-ROOT-GROUP-P*|)
+    |CLFSWM|::|*SHOW-ROOT-GROUP-P*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|92 92 (DEFPARAMETER *MAIN-KEYS* (MAKE-HASH-TABLE :TEST 'EQUAL))-18|
+   #25Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 38 09 C7 FB 71 64 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MAIN-KEYS*|) |CLFSWM|::|*MAIN-KEYS*|
+    |COMMON-LISP|::|EQUAL|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|93 93 (DEFPARAMETER *SECOND-KEYS* (MAKE-HASH-TABLE :TEST 'EQUAL))-19|
+   #25Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 38 09 C7 FB 71 64 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SECOND-KEYS*|)
+    |CLFSWM|::|*SECOND-KEYS*| |COMMON-LISP|::|EQUAL|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|94 94 (DEFPARAMETER *MOUSE-ACTION* (MAKE-HASH-TABLE :TEST 'EQUAL))-20|
+   #25Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 38 09 C7 FB 71 64 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOUSE-ACTION*|)
+    |CLFSWM|::|*MOUSE-ACTION*| |COMMON-LISP|::|EQUAL|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|95 95 (DEFPARAMETER *PAGER-KEYS* (MAKE-HASH-TABLE :TEST 'EQUAL))-21|
+   #25Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 38 09 C7 FB 71 64 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-KEYS*|)
+    |CLFSWM|::|*PAGER-KEYS*| |COMMON-LISP|::|EQUAL|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|96 96 (DEFPARAMETER *PAGER-MOUSE-ACTION* (MAKE-HASH-TABLE :TEST 'EQUAL))-22|
+   #25Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 38 09 C7 FB 71 64 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-MOUSE-ACTION*|)
+    |CLFSWM|::|*PAGER-MOUSE-ACTION*| |COMMON-LISP|::|EQUAL|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|97 97 (DEFPARAMETER *INFO-KEYS* (MAKE-HASH-TABLE :TEST 'EQUAL))-23|
+   #25Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 38 09 C7 FB 71 64 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-KEYS*|) |CLFSWM|::|*INFO-KEYS*|
+    |COMMON-LISP|::|EQUAL|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|98 98 (DEFPARAMETER *INFO-MOUSE-ACTION* (MAKE-HASH-TABLE :TEST 'EQUAL))-24|
+   #25Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 38 09 C7 FB 71 64 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-MOUSE-ACTION*|)
+    |CLFSWM|::|*INFO-MOUSE-ACTION*| |COMMON-LISP|::|EQUAL|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|101 103 (DEFPARAMETER *OPEN-NEXT-WINDOW-IN-NEW-WORKSPACE* NIL ...)-25|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*OPEN-NEXT-WINDOW-IN-NEW-WORKSPACE*|)
+    |CLFSWM|::|*OPEN-NEXT-WINDOW-IN-NEW-WORKSPACE*| |COMMON-LISP|::|VARIABLE|
+    "Set to t to open the next window in a new workspace
+or to a number to open in a numbered workspace"
+    |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|105 108 (DEFPARAMETER *OPEN-NEXT-WINDOW-IN-NEW-GROUP* NIL ...)-26|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*OPEN-NEXT-WINDOW-IN-NEW-GROUP*|)
+    |CLFSWM|::|*OPEN-NEXT-WINDOW-IN-NEW-GROUP*| |COMMON-LISP|::|VARIABLE|
+    "Set to t to open the each next window in a new group
+or set to :once open the next window in a new group and all
+others in the same group"
+    |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|110 111 (DEFPARAMETER *ARROW-ACTION* NIL ...)-27|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ARROW-ACTION*|)
+    |CLFSWM|::|*ARROW-ACTION*| |COMMON-LISP|::|VARIABLE|
+    "Arrow action in the second mode" |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|113 114 (DEFPARAMETER *PAGER-ARROW-ACTION* NIL ...)-28|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 DB DC DD 2D 03 04 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-ARROW-ACTION*|)
+    |CLFSWM|::|*PAGER-ARROW-ACTION*| |COMMON-LISP|::|VARIABLE|
+    "Arrow action in the pager mode" |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|118 129 (DEFPARAMETER *INIT-HOOK* NIL)-29|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INIT-HOOK*|) |CLFSWM|::|*INIT-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|131 132 (DEFPARAMETER *BUTTON-PRESS-HOOK* NIL)-30|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*BUTTON-PRESS-HOOK*|)
+    |CLFSWM|::|*BUTTON-PRESS-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|133 133 (DEFPARAMETER *BUTTON-MOTION-NOTIFY-HOOK* NIL)-31|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*BUTTON-MOTION-NOTIFY-HOOK*|)
+    |CLFSWM|::|*BUTTON-MOTION-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|134 134 (DEFPARAMETER *KEY-PRESS-HOOK* NIL)-32|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*KEY-PRESS-HOOK*|)
+    |CLFSWM|::|*KEY-PRESS-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|135 135 (DEFPARAMETER *CONFIGURE-REQUEST-HOOK* NIL)-33|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CONFIGURE-REQUEST-HOOK*|)
+    |CLFSWM|::|*CONFIGURE-REQUEST-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|136 136 (DEFPARAMETER *CONFIGURE-NOTIFY-HOOK* NIL)-34|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CONFIGURE-NOTIFY-HOOK*|)
+    |CLFSWM|::|*CONFIGURE-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|137 137 (DEFPARAMETER *CREATE-NOTIFY-HOOK* NIL)-35|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CREATE-NOTIFY-HOOK*|)
+    |CLFSWM|::|*CREATE-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|138 138 (DEFPARAMETER *DESTROY-NOTIFY-HOOK* NIL)-36|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*DESTROY-NOTIFY-HOOK*|)
+    |CLFSWM|::|*DESTROY-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|139 139 (DEFPARAMETER *ENTER-NOTIFY-HOOK* NIL)-37|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ENTER-NOTIFY-HOOK*|)
+    |CLFSWM|::|*ENTER-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|140 140 (DEFPARAMETER *EXPOSURE-HOOK* NIL)-38|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*EXPOSURE-HOOK*|)
+    |CLFSWM|::|*EXPOSURE-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|141 141 (DEFPARAMETER *MAP-REQUEST-HOOK* NIL)-39|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MAP-REQUEST-HOOK*|)
+    |CLFSWM|::|*MAP-REQUEST-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|142 142 (DEFPARAMETER *MAPPING-NOTIFY-HOOK* NIL)-40|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MAPPING-NOTIFY-HOOK*|)
+    |CLFSWM|::|*MAPPING-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|143 143 (DEFPARAMETER *PROPERTY-NOTIFY-HOOK* NIL)-41|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PROPERTY-NOTIFY-HOOK*|)
+    |CLFSWM|::|*PROPERTY-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|144 144 (DEFPARAMETER *UNMAP-NOTIFY-HOOK* NIL)-42|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*UNMAP-NOTIFY-HOOK*|)
+    |CLFSWM|::|*UNMAP-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|147 148 (DEFPARAMETER *SM-BUTTON-PRESS-HOOK* NIL)-43|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-BUTTON-PRESS-HOOK*|)
+    |CLFSWM|::|*SM-BUTTON-PRESS-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|149 149 (DEFPARAMETER *SM-BUTTON-RELEASE-HOOK* NIL)-44|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-BUTTON-RELEASE-HOOK*|)
+    |CLFSWM|::|*SM-BUTTON-RELEASE-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|150 150 (DEFPARAMETER *SM-MOTION-NOTIFY-HOOK* NIL)-45|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-MOTION-NOTIFY-HOOK*|)
+    |CLFSWM|::|*SM-MOTION-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|151 151 (DEFPARAMETER *SM-KEY-PRESS-HOOK* NIL)-46|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-KEY-PRESS-HOOK*|)
+    |CLFSWM|::|*SM-KEY-PRESS-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|152 152 (DEFPARAMETER *SM-CONFIGURE-REQUEST-HOOK* NIL)-47|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-CONFIGURE-REQUEST-HOOK*|)
+    |CLFSWM|::|*SM-CONFIGURE-REQUEST-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|153 153 (DEFPARAMETER *SM-CONFIGURE-NOTIFY-HOOK* NIL)-48|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-CONFIGURE-NOTIFY-HOOK*|)
+    |CLFSWM|::|*SM-CONFIGURE-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|154 154 (DEFPARAMETER *SM-MAP-REQUEST-HOOK* NIL)-49|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-MAP-REQUEST-HOOK*|)
+    |CLFSWM|::|*SM-MAP-REQUEST-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|155 155 (DEFPARAMETER *SM-UNMAP-NOTIFY-HOOK* NIL)-50|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-UNMAP-NOTIFY-HOOK*|)
+    |CLFSWM|::|*SM-UNMAP-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|156 156 (DEFPARAMETER *SM-DESTROY-NOTIFY-HOOK* NIL)-51|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-DESTROY-NOTIFY-HOOK*|)
+    |CLFSWM|::|*SM-DESTROY-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|157 157 (DEFPARAMETER *SM-MAPPING-NOTIFY-HOOK* NIL)-52|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-MAPPING-NOTIFY-HOOK*|)
+    |CLFSWM|::|*SM-MAPPING-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|158 158 (DEFPARAMETER *SM-PROPERTY-NOTIFY-HOOK* NIL)-53|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-PROPERTY-NOTIFY-HOOK*|)
+    |CLFSWM|::|*SM-PROPERTY-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|159 159 (DEFPARAMETER *SM-CREATE-NOTIFY-HOOK* NIL)-54|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-CREATE-NOTIFY-HOOK*|)
+    |CLFSWM|::|*SM-CREATE-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|160 160 (DEFPARAMETER *SM-ENTER-NOTIFY-HOOK* NIL)-55|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-ENTER-NOTIFY-HOOK*|)
+    |CLFSWM|::|*SM-ENTER-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|161 161 (DEFPARAMETER *SM-EXPOSURE-HOOK* NIL)-56|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-EXPOSURE-HOOK*|)
+    |CLFSWM|::|*SM-EXPOSURE-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|164 165 (DEFPARAMETER *PAGER-BUTTON-PRESS-HOOK* NIL)-57|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-BUTTON-PRESS-HOOK*|)
+    |CLFSWM|::|*PAGER-BUTTON-PRESS-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|166 166 (DEFPARAMETER *PAGER-BUTTON-RELEASE-HOOK* NIL)-58|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-BUTTON-RELEASE-HOOK*|)
+    |CLFSWM|::|*PAGER-BUTTON-RELEASE-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|167 167 (DEFPARAMETER *PAGER-MOTION-NOTIFY-HOOK* NIL)-59|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-MOTION-NOTIFY-HOOK*|)
+    |CLFSWM|::|*PAGER-MOTION-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|168 168 (DEFPARAMETER *PAGER-KEY-PRESS-HOOK* NIL)-60|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-KEY-PRESS-HOOK*|)
+    |CLFSWM|::|*PAGER-KEY-PRESS-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|169 169 (DEFPARAMETER *PAGER-CONFIGURE-REQUEST-HOOK* NIL)-61|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-CONFIGURE-REQUEST-HOOK*|)
+    |CLFSWM|::|*PAGER-CONFIGURE-REQUEST-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|170 170 (DEFPARAMETER *PAGER-MAP-REQUEST-HOOK* NIL)-62|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-MAP-REQUEST-HOOK*|)
+    |CLFSWM|::|*PAGER-MAP-REQUEST-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|171 171 (DEFPARAMETER *PAGER-UNMAP-NOTIFY-HOOK* NIL)-63|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-UNMAP-NOTIFY-HOOK*|)
+    |CLFSWM|::|*PAGER-UNMAP-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|172 172 (DEFPARAMETER *PAGER-DESTROY-NOTIFY-HOOK* NIL)-64|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-DESTROY-NOTIFY-HOOK*|)
+    |CLFSWM|::|*PAGER-DESTROY-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|173 173 (DEFPARAMETER *PAGER-MAPPING-NOTIFY-HOOK* NIL)-65|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-MAPPING-NOTIFY-HOOK*|)
+    |CLFSWM|::|*PAGER-MAPPING-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|174 174 (DEFPARAMETER *PAGER-PROPERTY-NOTIFY-HOOK* NIL)-66|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-PROPERTY-NOTIFY-HOOK*|)
+    |CLFSWM|::|*PAGER-PROPERTY-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|175 175 (DEFPARAMETER *PAGER-CREATE-NOTIFY-HOOK* NIL)-67|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-CREATE-NOTIFY-HOOK*|)
+    |CLFSWM|::|*PAGER-CREATE-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|176 176 (DEFPARAMETER *PAGER-ENTER-NOTIFY-HOOK* NIL)-68|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-ENTER-NOTIFY-HOOK*|)
+    |CLFSWM|::|*PAGER-ENTER-NOTIFY-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|177 177 (DEFPARAMETER *PAGER-EXPOSURE-HOOK* NIL)-69|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-EXPOSURE-HOOK*|)
+    |CLFSWM|::|*PAGER-EXPOSURE-HOOK*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|180 181 (DEFPARAMETER *MOTION-ACTION* NIL)-70|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-ACTION*|)
+    |CLFSWM|::|*MOTION-ACTION*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|182 182 (DEFPARAMETER *MOTION-OBJECT* NIL)-71|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-OBJECT*|)
+    |CLFSWM|::|*MOTION-OBJECT*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|183 183 (DEFPARAMETER *MOTION-START-GROUP* NIL)-72|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-START-GROUP*|)
+    |CLFSWM|::|*MOTION-START-GROUP*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|184 184 (DEFPARAMETER *MOTION-DX* NIL)-73|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-DX*|) |CLFSWM|::|*MOTION-DX*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|185 185 (DEFPARAMETER *MOTION-DY* NIL)-74|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 63 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-DY*|) |CLFSWM|::|*MOTION-DY*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: package.fasl
==============================================================================
Binary file. No diff available.

Added: package.lib
==============================================================================
--- (empty file)
+++ package.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,343 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CL-USER"))
+(|SYSTEM|::|%IN-PACKAGE| "CLFSWM" :|NICKNAMES| '|COMMON-LISP|::|NIL| :|USE|
+ '|COMMON-LISP|::|NIL| :|CASE-SENSITIVE| |COMMON-LISP|::|NIL| :|CASE-INVERTED|
+ |COMMON-LISP|::|NIL|)
+(|COMMON-LISP|::|USE-PACKAGE| '("COMMON-LISP" "MY-HTML" "TOOLS") "CLFSWM")
+(|SYSTEM|::|INTERN-EXPORT| '("MAIN") "CLFSWM" |COMMON-LISP|::|NIL|)
+(|COMMON-LISP|::|FIND-PACKAGE| "CLFSWM")
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*DISPLAY*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SCREEN*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ROOT*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*NO-FOCUS-WINDOW*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ROOT-GC*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*DEFAULT-FONT*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*DEFAULT-FONT-STRING*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CHILD-SELECTION*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*LAYOUT-LIST*|))
+(|COMMON-LISP|::|LET*| ((#1=#:|G46974| |CLOS|::|<STANDARD-CLASS>|))
+ (|COMMON-LISP|::|APPLY| #'|CLOS|::|ENSURE-CLASS| '|CLFSWM|::|GROUP|
+  :|DIRECT-SUPERCLASSES| (|COMMON-LISP|::|LIST|) :|DIRECT-SLOTS|
+  (|COMMON-LISP|::|LIST|
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|NAME| :|READERS|
+    '(|CLFSWM|::|GROUP-NAME|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-NAME|)) :|INITARGS| '(:|NAME|)
+    :|INITFORM| '|COMMON-LISP|::|NIL| :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|LIST| :|NAME| '|COMMON-LISP|::|NUMBER| :|READERS|
+    '(|CLFSWM|::|GROUP-NUMBER|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-NUMBER|)) :|INITARGS|
+    '(:|NUMBER|) :|INITFORM| '0. :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| 0.))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|X| :|READERS|
+    '(|CLFSWM|::|GROUP-X|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-X|)) :|INITARGS| '(:|X|)
+    :|INITFORM| '#2=0.1f0 :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| #2#))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|Y| :|READERS|
+    '(|CLFSWM|::|GROUP-Y|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-Y|)) :|INITARGS| '(:|Y|)
+    :|INITFORM| '#3=0.1f0 :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| #3#))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|W| :|READERS|
+    '(|CLFSWM|::|GROUP-W|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-W|)) :|INITARGS| '(:|W|)
+    :|INITFORM| '#4=0.8f0 :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| #4#))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|H| :|READERS|
+    '(|CLFSWM|::|GROUP-H|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-H|)) :|INITARGS| '(:|H|)
+    :|INITFORM| '#5=0.8f0 :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| #5#))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|RX| :|READERS|
+    '(|CLFSWM|::|GROUP-RX|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RX|)) :|INITARGS| '(:|RX|)
+    :|INITFORM| '0. :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| 0.))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|RY| :|READERS|
+    '(|CLFSWM|::|GROUP-RY|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RY|)) :|INITARGS| '(:|RY|)
+    :|INITFORM| '0. :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| 0.))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|RW| :|READERS|
+    '(|CLFSWM|::|GROUP-RW|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RW|)) :|INITARGS| '(:|RW|)
+    :|INITFORM| '800. :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| 800.))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|RH| :|READERS|
+    '(|CLFSWM|::|GROUP-RH|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RH|)) :|INITARGS| '(:|RH|)
+    :|INITFORM| '600. :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| 600.))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|LAYOUT| :|READERS|
+    '(|CLFSWM|::|GROUP-LAYOUT|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-LAYOUT|)) :|INITARGS|
+    '(:|LAYOUT|) :|INITFORM| '|COMMON-LISP|::|NIL| :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|WINDOW| :|READERS|
+    '(|CLFSWM|::|GROUP-WINDOW|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-WINDOW|)) :|INITARGS|
+    '(:|WINDOW|) :|INITFORM| '|COMMON-LISP|::|NIL| :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|GC| :|READERS|
+    '(|CLFSWM|::|GROUP-GC|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-GC|)) :|INITARGS| '(:|GC|)
+    :|INITFORM| '|COMMON-LISP|::|NIL| :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|CHILD| :|READERS|
+    '(|CLFSWM|::|GROUP-CHILD|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-CHILD|)) :|INITARGS| '(:|CHILD|)
+    :|INITFORM| '|COMMON-LISP|::|NIL| :|INITFUNCTION|
+    (|SYSTEM|::|MAKE-CONSTANT-INITFUNCTION| |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|LIST| :|NAME| '|CLFSWM|::|DATA| :|READERS|
+    '(|CLFSWM|::|GROUP-DATA|) :|WRITERS|
+    '((|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-DATA|)) :|INITARGS| '(:|DATA|)
+    :|INITFORM|
+    '#6=(|COMMON-LISP|::|LIST| '(:|TILE-SIZE| 0.8f0)
+         '(:|TILE-SPACE-SIZE| 0.1f0))
+    :|INITFUNCTION|
+    (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|DEFAULT-DATA|
+     (|COMMON-LISP|::|LAMBDA| |COMMON-LISP|::|NIL| #6#))
+    :|DOCUMENTATION| '"An assoc list to store additional data"))
+  :|METACLASS| #1#
+  (|COMMON-LISP|::|APPEND| '(:|FIXED-SLOT-LOCATIONS| |COMMON-LISP|::|NIL|)
+   (|COMMON-LISP|::|LIST| :|DIRECT-DEFAULT-INITARGS| |COMMON-LISP|::|NIL|
+    :|DOCUMENTATION| |COMMON-LISP|::|NIL| :|GENERIC-ACCESSORS|
+    '|COMMON-LISP|::|T|))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-NAME|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-NAME|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-NUMBER|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-NUMBER|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-X|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-X|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-Y|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-Y|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-W|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-W|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-H|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-H|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-RX|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RX|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-RY|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RY|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-RW|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RW|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-RH|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-RH|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-LAYOUT|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-LAYOUT|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-WINDOW|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-WINDOW|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-GC|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-GC|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-CHILD|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-CHILD|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GROUP-DATA|
+ #(1. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |CLFSWM|::|GROUP-DATA|)
+ #(2. 0. |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+   |COMMON-LISP|::|NIL|)
+ |COMMON-LISP|::|NIL| '|CLOS|::|DEFMETHOD|)
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ROOT-GROUP*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CURRENT-ROOT*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CURRENT-CHILD*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SHOW-ROOT-GROUP-P*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MAIN-KEYS*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SECOND-KEYS*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOUSE-ACTION*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-KEYS*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-MOUSE-ACTION*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-KEYS*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INFO-MOUSE-ACTION*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*OPEN-NEXT-WINDOW-IN-NEW-WORKSPACE*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*OPEN-NEXT-WINDOW-IN-NEW-GROUP*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ARROW-ACTION*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-ARROW-ACTION*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*INIT-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*BUTTON-PRESS-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*BUTTON-MOTION-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*KEY-PRESS-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CONFIGURE-REQUEST-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CONFIGURE-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*CREATE-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*DESTROY-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*ENTER-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*EXPOSURE-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MAP-REQUEST-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MAPPING-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PROPERTY-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*UNMAP-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-BUTTON-PRESS-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-BUTTON-RELEASE-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-MOTION-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-KEY-PRESS-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-CONFIGURE-REQUEST-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-CONFIGURE-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-MAP-REQUEST-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-UNMAP-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-DESTROY-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-MAPPING-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-PROPERTY-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-CREATE-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-ENTER-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*SM-EXPOSURE-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-BUTTON-PRESS-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-BUTTON-RELEASE-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-MOTION-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-KEY-PRESS-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-CONFIGURE-REQUEST-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-MAP-REQUEST-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-UNMAP-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-DESTROY-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-MAPPING-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-PROPERTY-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-CREATE-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-ENTER-NOTIFY-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*PAGER-EXPOSURE-HOOK*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-ACTION*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-OBJECT*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-START-GROUP*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-DX*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*MOTION-DY*|))

Added: package.lisp
==============================================================================
--- (empty file)
+++ package.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,203 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Mon Feb 25 21:33:22 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Package definition
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :cl-user)
+
+(defpackage clfswm
+  (:use :common-lisp :my-html :tools)
+  ;;(:shadow :defun)
+  (:export :main))
+
+(in-package :clfswm)
+
+
+(defparameter *display* nil)
+(defparameter *screen* nil)
+(defparameter *root* nil)
+(defparameter *no-focus-window* nil)
+(defparameter *root-gc* nil)
+
+(defparameter *default-font* nil)
+;;(defparameter *default-font-string* "9x15")
+(defparameter *default-font-string* "fixed")
+
+
+(defparameter *child-selection* nil)
+
+(defparameter *layout-list* nil)
+
+
+;;(defstruct group (number (incf *current-group-number*)) name
+;;	   (x 0) (y 0) (w 1) (h 1) rx ry rw rh
+;;	   layout window gc child)
+
+(defclass group ()
+  ((name :initarg :name :accessor group-name :initform nil)
+   (number :initarg :number :accessor group-number :initform 0)
+   ;;; Float size between 0 and 1 - Manipulate only this variable and not real size
+   (x :initarg :x :accessor group-x :initform 0.1)
+   (y :initarg :y :accessor group-y :initform 0.1)
+   (w :initarg :w :accessor group-w :initform 0.8)
+   (h :initarg :h :accessor group-h :initform 0.8)
+   ;;; Real size (integer) in screen size - Don't set directly this variables
+   ;;; they may be recalculated by the layout manager.
+   (rx :initarg :rx :accessor group-rx :initform 0)
+   (ry :initarg :ry :accessor group-ry :initform 0)
+   (rw :initarg :rw :accessor group-rw :initform 800)
+   (rh :initarg :rh :accessor group-rh :initform 600)
+   (layout :initarg :layout :accessor group-layout :initform nil)
+   (window :initarg :window :accessor group-window :initform nil)
+   (gc :initarg :gc :accessor group-gc :initform nil)
+   (child :initarg :child :accessor group-child :initform nil)
+   (data :initarg :data :accessor group-data
+	 :initform (list '(:tile-size 0.8) '(:tile-space-size 0.1))
+	 :documentation "An assoc list to store additional data")))
+
+
+
+(defparameter *root-group* nil
+  "Root of the root - ie the root group")
+(defparameter *current-root* nil
+  "The current fullscreen maximized child")
+(defparameter *current-child* nil
+  "The current child with the focus")
+
+(defparameter *show-root-group-p* nil)
+
+
+(defparameter *main-keys* (make-hash-table :test 'equal))
+(defparameter *second-keys* (make-hash-table :test 'equal))
+(defparameter *mouse-action* (make-hash-table :test 'equal))
+(defparameter *pager-keys*  (make-hash-table :test 'equal))
+(defparameter *pager-mouse-action*  (make-hash-table :test 'equal))
+(defparameter *info-keys*  (make-hash-table :test 'equal))
+(defparameter *info-mouse-action*  (make-hash-table :test 'equal))
+
+
+(defparameter *open-next-window-in-new-workspace* nil
+  "Set to t to open the next window in a new workspace
+or to a number to open in a numbered workspace")
+
+(defparameter *open-next-window-in-new-group* nil
+  "Set to t to open the each next window in a new group
+or set to :once open the next window in a new group and all
+others in the same group")
+
+(defparameter *arrow-action* nil
+  "Arrow action in the second mode")
+
+(defparameter *pager-arrow-action* nil
+  "Arrow action in the pager mode")
+
+
+
+;;; Hook definitions
+;;;
+;;; A hook is a function, a symbol or a list of functions with a rest
+;;; arguments.
+;;;
+;;; This hooks are set in clfswm.lisp, you can overwrite them or extend
+;;; them with a hook list.
+;;;
+;;; See clfswm.lisp for hooks examples.
+
+;;; Init hook. This hook is run just after the first root group is created
+(defparameter *init-hook* nil)
+
+;;; Main mode hooks (set in clfswm.lisp)
+(defparameter *button-press-hook* nil)
+(defparameter *button-motion-notify-hook* nil)
+(defparameter *key-press-hook* nil)
+(defparameter *configure-request-hook* nil)
+(defparameter *configure-notify-hook* nil)
+(defparameter *create-notify-hook* nil)
+(defparameter *destroy-notify-hook* nil)
+(defparameter *enter-notify-hook* nil)
+(defparameter *exposure-hook* nil)
+(defparameter *map-request-hook* nil)
+(defparameter *mapping-notify-hook* nil)
+(defparameter *property-notify-hook* nil)
+(defparameter *unmap-notify-hook* nil)
+
+
+;;; Second mode hooks (set in clfswm-second-mode.lisp)
+(defparameter *sm-button-press-hook* nil)
+(defparameter *sm-button-release-hook* nil)
+(defparameter *sm-motion-notify-hook* nil)
+(defparameter *sm-key-press-hook* nil)
+(defparameter *sm-configure-request-hook* nil)
+(defparameter *sm-configure-notify-hook* nil)
+(defparameter *sm-map-request-hook* nil)
+(defparameter *sm-unmap-notify-hook* nil)
+(defparameter *sm-destroy-notify-hook* nil)
+(defparameter *sm-mapping-notify-hook* nil)
+(defparameter *sm-property-notify-hook* nil)
+(defparameter *sm-create-notify-hook* nil)
+(defparameter *sm-enter-notify-hook* nil)
+(defparameter *sm-exposure-hook* nil)
+
+
+;;; Pager mode hooks (set in clfswm-pager.lisp)
+(defparameter *pager-button-press-hook* nil)
+(defparameter *pager-button-release-hook* nil)
+(defparameter *pager-motion-notify-hook* nil)
+(defparameter *pager-key-press-hook* nil)
+(defparameter *pager-configure-request-hook* nil)
+(defparameter *pager-map-request-hook* nil)
+(defparameter *pager-unmap-notify-hook* nil)
+(defparameter *pager-destroy-notify-hook* nil)
+(defparameter *pager-mapping-notify-hook* nil)
+(defparameter *pager-property-notify-hook* nil)
+(defparameter *pager-create-notify-hook* nil)
+(defparameter *pager-enter-notify-hook* nil)
+(defparameter *pager-exposure-hook* nil)
+
+
+;;; Second mode global variables
+(defparameter *motion-action* nil)
+(defparameter *motion-object* nil)
+(defparameter *motion-start-group* nil)
+(defparameter *motion-dx* nil)
+(defparameter *motion-dy* nil)
+
+
+;; For debug - redefine defun
+;;(shadow :defun)
+;;
+;;(defmacro defun (name args &body body)
+;;  `(progn
+;;    (format t "defun: ~A ~A~%" ',name ',args)
+;;    (force-output)
+;;    (cl:defun ,name ,args
+;;      (handler-case
+;;	  (progn
+;;	    , at body)
+;;	(error (c)
+;;	  (format t "New defun: Error in ~A : ~A~%" ',name c)
+;;	  (format t "Root tree=~A~%All windows=~A~%"
+;;		  (xlib:query-tree *root*) (get-all-windows))
+;;	  (force-output))))))

Added: program
==============================================================================
--- (empty file)
+++ program	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,26 @@
+
+Show clfswm help (Alt-F1) - Main mode, Second mode and Pager mode
+
+Show group creation on root window and pager usage
+
+Create new window with the shell or the ! clfswm command or apwal
+ (xterm, epiphany, abiword)
+
+Move groups, pack, rezise, fill and same things with the pager 
+
+Swap two workspaces, renumber
+
+Show a Gimp usage.
+
+Show xmms and free windows
+
+Copy 3 times the same group and explode group (control+Y) and implode (control+shift+Y)
+
+Show eval application: larswm tile mode (y and Alt+Y) 
+  -> enabled when switching groups "tile.lisp"
+
+Show live debugging: *workspace-list*, *screen*, (query-tree *root*), 
+  wm-name, config.lisp...
+
+
+And so on . Bye!
\ No newline at end of file

Added: sbcl-load.lisp
==============================================================================
--- (empty file)
+++ sbcl-load.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,7 @@
+(require :sb-posix)
+(require :clx)
+(require :clfswm)
+
+(in-package :clfswm)
+
+;;(clfswm:main ":1")

Added: tools.fas
==============================================================================
--- (empty file)
+++ tools.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,799 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 29 (IN-PACKAGE :COMMON-LISP-USER)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("COMMON-LISP-USER" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 77 (DEFPACKAGE TOOLS (:USE COMMON-LISP) ...)-2-1|
+   #18Y(00 00 00 00 00 00 00 00 00 01 DA 01 04 31 E1 3E 19 01) ("TOOLS")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 77 (DEFPACKAGE TOOLS (:USE COMMON-LISP) ...)-2-2|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA DB 31 DE 3E 19 01)
+   (("COMMON-LISP") "TOOLS")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 77 (DEFPACKAGE TOOLS (:USE COMMON-LISP) ...)-2-3|
+   #19Y(00 00 00 00 00 00 00 00 00 01 DA DB 63 2D 03 02 3E 19 01)
+   (("IT" "AWHEN" "AIF" "DBG" "DBGNL" "SETF/=" "CREATE-SYMBOL" "SPLIT-STRING"
+     "EXPAND-NEWLINE" "ENSURE-LIST" "ENSURE-PRINTABLE" "FIND-ASSOC-WORD"
+     "PRINT-SPACE" "ESCAPE-STRING" "FIRST-POSITION" "FIND-FREE-NUMBER"
+     "DO-EXECUTE" "DO-SHELL" "GETENV" "UQUIT" "URUN-PROG" "USHELL" "USH"
+     "USHELL-LOOP" "CLDEBUG" "GET-COMMAND-LINE-WORDS" "STRING-TO-LIST"
+     "NEAR-POSITION" "STRING-TO-LIST-MULTICHAR" "LIST-TO-STRING"
+     "LIST-TO-STRING-LIST" "CLEAN-STRING" "ONE-IN-LIST" "EXCHANGE-ONE-IN-LIST"
+     "ROTATE-LIST" "ANTI-ROTATE-LIST" "APPEND-FORMATED-LIST" "SHUFFLE-LIST"
+     "PARSE-INTEGER-IN-LIST" "CONVERT-TO-NUMBER" "NEXT-IN-LIST" "PREV-IN-LIST"
+     "FIND-STRING" "FIND-ALL-STRINGS" "SUBST-STRINGS" "TEST-FIND-STRING")
+    "TOOLS" |SYSTEM|::|INTERN-EXPORT|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 77 (DEFPACKAGE TOOLS (:USE COMMON-LISP) ...)-2-4|
+   #15Y(00 00 00 00 00 00 00 00 00 01 DA 31 CE 19 01) ("TOOLS")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|))
+#Y(#:|80 80 (IN-PACKAGE :TOOLS)-3|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("TOOLS" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|83 83 (SETQ *RANDOM-STATE* (MAKE-RANDOM-STATE T))-4|
+   #17Y(00 00 00 00 00 00 00 00 00 01 64 32 DE 0F 00 19 01)
+   (|COMMON-LISP|::|*RANDOM-STATE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|87 90 (DEFMACRO AWHEN (TEST &BODY BODY) ...)-5|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|TOOLS|::|AWHEN| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|AWHEN|
+       #42Y(00 00 00 00 02 00 00 00 00 03 AE DA 8B 01 16 9F 5C 78 A0 5C 79 DD
+            DE AF 7B 02 7B 01 DF DE A1 5D 7A 61 03 19 05 AE 2F 02 19 03)
+       (2. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| |COMMON-LISP|::|LET| |TOOLS|::|IT|
+        |COMMON-LISP|::|WHEN|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|92 93 (DEFMACRO AIF (TEST THEN &OPTIONAL ...) ...)-6|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|TOOLS|::|AIF| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|AIF|
+       #52Y(00 00 00 00 02 00 00 00 00 03 AE DA DB 2D 03 02 1D 1D 9F 5C 78 A0
+            5C 5C 78 A1 5C 5C 5C 78 DE DF B0 7B 02 7B 01 E0 DF B1 B1 7B 04 61
+            03 19 06 AE 2F 03 19 03)
+       (3. 4. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| |COMMON-LISP|::|LET| |TOOLS|::|IT|
+        |COMMON-LISP|::|IF|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|96 99 (DEFVAR *%DBG-NAME%* "dbg")-7|
+   #24Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 8C 4F 04 DB DC 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |TOOLS|::|*%DBG-NAME%*|) |TOOLS|::|*%DBG-NAME%*|
+    "dbg")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|100 100 (DEFVAR *%DBG-COUNT%* 0)-8|
+   #24Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB 8C 4F 04 DB DC 31 52 C6 19
+        01)
+   ((|COMMON-LISP|::|SPECIAL| |TOOLS|::|*%DBG-COUNT%*|)
+    |TOOLS|::|*%DBG-COUNT%*| 0.)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|103 118 (DEFMACRO DBG (&REST FORMS) ...)-9|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|TOOLS|::|DBG| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|DBG|
+       #126Y(00 00 00 00 02 00 00 00 00 03 AE 89 00 1B 95 02 DC 63 AE AC 8C 94
+             25 94 00 AC 8E 09 11 AC 8F 0A 11 DD CA 14 AE 61 03 1B 0A AE 2F 01
+             19 03 DD C9 1B 71 00 14 84 02 16 01 83 00 1B 57 16 01 AC 80 A6 00
+             E0 63 B0 1B 1E 00 1B 14 94 00 AC 8E 09 77 AC 8E 0A 73 E1 64 E2 E3
+             B0 7B 02 B0 61 05 14 84 02 16 01 83 00 AC 8D 94 61 16 01 AC 80 A6
+             00 E4 E5 A3 5D 7A 33 02 22 7A 33 02 22 5D 19 04)
+       (|EXT|::|PROPER-LIST-P| |SYSTEM|::|MACRO-CALL-ERROR|
+        |COMMON-LISP|::|PROGN| |COMMON-LISP|::|SETF| |TOOLS|::|*%DBG-NAME%*|
+        |TOOLS|::|*%DBG-COUNT%*|
+        (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T| "~&DEBUG[~A - ~A]  "
+         (|COMMON-LISP|::|INCF| |TOOLS|::|*%DBG-COUNT%*|)
+         |TOOLS|::|*%DBG-NAME%*|)
+        |COMMON-LISP|::|FORMAT| "~A=~S   " |COMMON-LISP|::|QUOTE|
+        (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T| "~%")
+        (|COMMON-LISP|::|FORCE-OUTPUT|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|120 134 (DEFMACRO DBGNL (&REST FORMS) ...)-10|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|TOOLS|::|DBGNL| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|DBGNL|
+       #124Y(00 00 00 00 02 00 00 00 00 03 AE 89 00 1B 95 02 DC 63 AE AC 8C 94
+             25 94 00 AC 8E 09 11 AC 8F 0A 11 DD CA 14 AE 61 03 1B 0A AE 2F 01
+             19 03 DD C9 1B 71 00 14 84 02 16 01 83 00 1B 57 16 01 AC 80 A6 00
+             E0 63 B0 1B 1E 00 1B 14 94 00 AC 8E 09 77 AC 8E 0A 73 E1 64 E2 E3
+             B0 7B 02 B0 61 05 14 84 02 16 01 83 00 AC 8D 94 61 16 01 AC 80 A6
+             00 E4 A2 7A 33 02 22 7A 33 02 22 5D 19 04)
+       (|EXT|::|PROPER-LIST-P| |SYSTEM|::|MACRO-CALL-ERROR|
+        |COMMON-LISP|::|PROGN| |COMMON-LISP|::|SETF| |TOOLS|::|*%DBG-NAME%*|
+        |TOOLS|::|*%DBG-COUNT%*|
+        (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T|
+         "~&DEBUG[~A - ~A] --------------------~%"
+         (|COMMON-LISP|::|INCF| |TOOLS|::|*%DBG-COUNT%*|)
+         |TOOLS|::|*%DBG-NAME%*|)
+        |COMMON-LISP|::|FORMAT| "  -  ~A=~S~%" |COMMON-LISP|::|QUOTE|
+        (|COMMON-LISP|::|FORCE-OUTPUT|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|141 149 (DEFMACRO SETF/= (VAR VAL) ...)-11|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|TOOLS|::|SETF/=| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|SETF/=|
+       #58Y(00 00 00 00 02 00 00 00 00 03 AE DA DA 2D 03 01 1D 23 9F 5C 78 A0
+            5C 5C 78 38 01 72 90 DD AD AF 7B 02 7B 01 DE DF B2 B1 7B 03 E0 B3
+            B2 7B 03 7B 03 61 03 19 06 AE 2F 02 19 03)
+       (3. |SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P|
+        |SYSTEM|::|MACRO-CALL-ERROR| |COMMON-LISP|::|LET| |COMMON-LISP|::|WHEN|
+        |COMMON-LISP|::|/=| |COMMON-LISP|::|SETF|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|152 154 (DEFUN CREATE-SYMBOL (&REST NAMES) ...)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|CREATE-SYMBOL| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|CREATE-SYMBOL|
+       #25Y(00 00 00 00 00 00 00 00 07 16 DA DB A0 77 01 38 02 71 46 38 01 31
+            D6 19 02)
+       (#.#'|COMMON-LISP|::|CONCATENATE| |COMMON-LISP|::|STRING|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |TOOLS|::|NAMES|)
+       "Return a new symbol from names"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|157 163 (DEFUN SPLIT-STRING (STRING &OPTIONAL #) ...)-13|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|SPLIT-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|SPLIT-STRING|
+       #61Y(00 00 00 00 01 00 01 00 06 08 3B 01 02 C5 F9 01 04 C6 FB 1B 0A AD
+            84 00 93 02 1D AE 81 97 03 B1 B3 38 06 A8 FC 81 60 02 B2 B0 B0 81
+            46 01 14 DC 38 04 8D 35 60 92 02 63 AC 31 A6 19 07)
+       (#\  0. "") (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|STRING| |COMMON-LISP|::|&OPTIONAL|
+        (|TOOLS|::|SEPARATOR| #\ ))
+       "Return a list from a string splited at each separators"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|166 171 (DEFUN EXPAND-NEWLINE (LIST) ...)-14|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|EXPAND-NEWLINE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|EXPAND-NEWLINE|
+       #38Y(00 00 00 00 01 00 00 00 06 02 63 AE 63 1B 0E 87 01 00 AE AD DA 70
+            01 82 02 22 02 83 01 AD 8D 94 6E 16 02 15 19 02)
+       (#\Newline |TOOLS|::|SPLIT-STRING|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|LIST|) "Expand all newline in strings in list"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|173 177 (DEFUN ENSURE-LIST (OBJECT) ...)-15|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|ENSURE-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|ENSURE-LIST|
+       #22Y(00 00 00 00 01 00 00 00 06 02 AD 8E 0D 05 AD 61 01 19 02 9E 19 02)
+       () (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+       (|TOOLS|::|OBJECT|) "Ensure an object is a list"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|180 182 (DEFUN ENSURE-PRINTABLE (STRING &OPTIONAL #) ...)-16|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|ENSURE-PRINTABLE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|ENSURE-PRINTABLE|
+       #24Y(00 00 00 00 01 00 01 00 06 08 3B 01 02 C5 F9 AD DB B0 38 05 32 59
+            19 03)
+       (#\? #.#'|COMMON-LISP|::|STANDARD-CHAR-P|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|STRING| |COMMON-LISP|::|&OPTIONAL|
+        (|TOOLS|::|NEW| #\?))
+       "Ensure a string is printable in ascii"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|187 193 (DEFUN FIND-ASSOC-WORD (WORD LINE &OPTIONAL ...) ...)-17|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|FIND-ASSOC-WORD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|FIND-ASSOC-WORD|
+       #65Y(00 00 00 00 02 00 01 00 06 09 3B 01 02 C5 F9 AF AF 38 08 72 67 AE
+            B0 38 06 92 08 01 C6 FC 72 60 AF B1 38 06 92 08 01 C6 14 81 97 04
+            72 60 9F 1F 0E 9E 1F 0B 9D 1F 08 B1 96 02 AE 32 46 19 07 19 07)
+       (#\" 0.) (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|WORD| |TOOLS|::|LINE| |COMMON-LISP|::|&OPTIONAL|
+        (|TOOLS|::|DELIM| #\"))
+       "Find a word pair"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|196 199 (DEFUN PRINT-SPACE (N &OPTIONAL #) ...)-18|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|PRINT-SPACE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|PRINT-SPACE|
+       #34Y(00 00 00 00 01 00 01 00 06 08 3B 01 03 0E 00 F9 DB 1B 06 DC AF 31
+            86 85 00 AC B0 91 01 32 74 00 19 04)
+       (|COMMON-LISP|::|*STANDARD-OUTPUT*| 0. #\ )
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|N| |COMMON-LISP|::|&OPTIONAL|
+        (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|*STANDARD-OUTPUT*|))
+       "Print n spaces on stream"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|202 206 (DEFUN ESCAPE-STRING (STRING &OPTIONAL # ...) ...)-19|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|ESCAPE-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|ESCAPE-STRING|
+       #44Y(00 00 00 00 01 00 02 00 06 0D 3B 02 02 C5 FA 3B 01 14 C6 F9 93 02
+            12 AD 94 03 B1 38 07 72 57 95 03 AF 29 03 07 64 92 02 6E A0 19 04)
+       (#1=(#\/ #\: #\) #\( #\  #\; #\,) #\_)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|STRING| |COMMON-LISP|::|&OPTIONAL|
+        (|TOOLS|::|ESCAPER| '#1#) (|COMMON-LISP|::|CHAR| #\_))
+       "Replace in string all characters found in the escaper list"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|210 212 (DEFUN FIRST-POSITION (WORD STRING) ...)-20|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|FIRST-POSITION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|FIRST-POSITION|
+       #23Y(00 00 00 00 02 00 00 00 06 03 AE AE 38 08 8E 67 01 C5 14 32 92 19
+            03)
+       (-1.) (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|WORD| |COMMON-LISP|::|STRING|)
+       "Return true only if word is at position 0 in string"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|215 227 (DEFUN FIND-FREE-NUMBER (L) ...)-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|FIND-FREE-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|FIND-FREE-NUMBER|
+       #91Y(00 00 00 00 01 00 00 00 06 02 AD DA 38 03 72 68 DB AD 38 01 31 9E
+            5B 1C 01 C6 14 01 02 A1 F9 1B 27 A0 16 04 1B 2F AD 38 01 31 9E 78
+            32 97 19 04 AD 38 01 31 9E 5B 1C 6E C6 19 04 87 01 00 AF AD 90 01
+            2E 5D 85 03 83 01 AF AF 90 01 30 04 AD 8D 94 69 00 16 04 14 93 00
+            57 19 04)
+       (#.#'|COMMON-LISP|::|<| 0.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|L|) "Return a number that is not in the list l."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|233 279 (DEFUN DO-EXECUTE (PROGRAM ARGS &OPTIONAL ...) ...)-22|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|DO-EXECUTE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|DO-EXECUTE|
+       #62Y(00 00 00 00 02 00 01 00 06 09 3D 01 AF AF 63 1B 11 E2 33 00 1D 87
+            01 00 DA AF DB AF 82 03 25 02 83 01 AD 8D 94 6F 16 02 B0 DC B1 DD
+            DE DF DE E0 92 0A 01 02 14 6E 09 07 93 00 56 15 19 05)
+       (|COMMON-LISP|::|STRING| " " :|ARGUMENTS| :|INPUT| :|STREAM| :|OUTPUT|
+        :|WAIT| |EXT|::|RUN-PROGRAM| "Cannot create process.")
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|PROGRAM| |TOOLS|::|ARGS| |COMMON-LISP|::|&OPTIONAL|
+        (|TOOLS|::|WT| |COMMON-LISP|::|NIL|))
+       "execute program with args a list containing the arguments passed to
+the program   if wt is non-nil, the function will wait for the execution
+of the program to return.
+   returns a two way stream connected to stdin/stdout of the program"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|281 282 (DEFUN DO-SHELL (PROGRAM &OPTIONAL ARGS ...) ...)-23|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|DO-SHELL| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|DO-SHELL|
+       #26Y(00 00 00 00 01 00 02 00 06 0D 3D 02 3D 01 DA DB B1 A2 5D 7A AF 2D
+            03 02 19 04)
+       ("/bin/sh" "-c" |TOOLS|::|DO-EXECUTE|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|PROGRAM| |COMMON-LISP|::|&OPTIONAL| |TOOLS|::|ARGS|
+        (|TOOLS|::|WT| |COMMON-LISP|::|NIL|))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|290 303 (DEFUN GETENV (VAR) ...)-24|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|GETENV| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|GETENV|
+       #17Y(00 00 00 00 01 00 00 00 06 02 AD 71 4B 2F 00 19 02)
+       (|EXT|::|GETENV|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|VAR|) "Return the value of the environment variable."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|306 322 (DEFUN (SETF GETENV) (VAL VAR) ...)-25|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C8 19 01)
+   (#.(|SYSTEM|::|GET-SETF-SYMBOL| '|TOOLS|::|GETENV|)
+    |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(#1=(|COMMON-LISP|::|SETF| |TOOLS|::|GETENV|)
+       #20Y(00 00 00 00 02 00 00 00 06 03 AD 71 4B AF 71 4B 30 00 19 03)
+       (|SYSTEM|::|SETENV|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|VAL| |TOOLS|::|VAR|) "Set an environment variable.")
+    #1#)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|330 336 (DEFUN UQUIT NIL ...)-26|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|UQUIT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|UQUIT| #14Y(00 00 00 00 00 00 00 00 06 01 2E 00 19 01)
+       (|EXT|::|QUIT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|341 350 (DEFUN REMOVE-PLIST (PLIST &REST KEYS) ...)-27|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|REMOVE-PLIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|REMOVE-PLIST|
+       #52Y(00 00 00 00 01 00 00 00 07 17 01 02 1B 14 94 04 83 05 84 01 94 04
+            83 05 84 01 B0 9E 23 70 A1 5C 5C FC B0 B0 32 87 42 03 15 16 02 F8
+            1C 6C AD B1 31 A5 19 05)
+       () (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|PLIST| |COMMON-LISP|::|&REST| |TOOLS|::|KEYS|)
+       "Remove the keys from the plist.
+Useful for re-using the &REST arg after removing some options."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|355 376 (DEFUN URUN-PROG (PROG &REST OPTS ...) ...)-28|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|URUN-PROG| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|URUN-PROG|
+       #39Y(00 00 00 00 01 00 00 00 C7 00 02 00 00 00 3D 02 3B 01 02 7E 01 AF
+            DA DB 2D 03 02 FB 99 03 B1 DE B1 DB B2 A6 9B 05 05)
+       (:|ARGS| :|WAIT| |TOOLS|::|REMOVE-PLIST| |EXT|::|RUN-PROGRAM|
+        :|ARGUMENTS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|PROG| |COMMON-LISP|::|&REST| |TOOLS|::|OPTS|
+        |COMMON-LISP|::|&KEY| |TOOLS|::|ARGS|
+        (|TOOLS|::|WAIT| |COMMON-LISP|::|T|)
+        |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)
+       "Common interface to shell. Does not return anything useful."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|379 382 (DEFPARAMETER *SHELL-CMD* "/bin/sh")-29|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |TOOLS|::|*SHELL-CMD*|) |TOOLS|::|*SHELL-CMD*|
+    "/bin/sh")
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|383 383 (DEFPARAMETER *SHELL-CMD-OPT* '("-c"))-30|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 C6 19 01)
+   ((|COMMON-LISP|::|SPECIAL| |TOOLS|::|*SHELL-CMD-OPT*|)
+    |TOOLS|::|*SHELL-CMD-OPT*| ("-c"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|385 390 (DEFUN USHELL (&REST STRINGS) ...)-31|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|USHELL| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|USHELL|
+       #24Y(00 00 00 00 00 00 00 00 07 16 6B 00 DB 6B 02 B0 73 02 22 2D 03 03
+            19 02)
+       (|TOOLS|::|*SHELL-CMD*| :|ARGS| |TOOLS|::|*SHELL-CMD-OPT*|
+        |TOOLS|::|URUN-PROG|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |TOOLS|::|STRINGS|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|392 393 (DEFUN USH (STRING) ...)-32|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|USH| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|USH|
+       #26Y(00 00 00 00 01 00 00 00 06 02 6B 00 DB 6B 02 B0 7B 01 73 02 22 2D
+            03 03 19 02)
+       (|TOOLS|::|*SHELL-CMD*| :|ARGS| |TOOLS|::|*SHELL-CMD-OPT*|
+        |TOOLS|::|URUN-PROG|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|STRING|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|396 400 (DEFUN SET-SHELL-DISPATCH (&OPTIONAL #) ...)-33|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|SET-SHELL-DISPATCH| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|SET-SHELL-DISPATCH|
+       #33Y(00 00 00 00 00 00 01 00 06 07 00 2B 01 3B 02 01 C5 0B 00 00 AC 6D
+            01 01 DC DC AE 38 01 31 74 19 04)
+       (|TOOLS|::|USHELL|
+        #Y(|TOOLS|::|SET-SHELL-DISPATCH-shell-reader|
+           #23Y(00 00 00 00 03 00 00 00 06 04 69 00 01 B0 64 63 64 71 76 61 02
+                19 04)
+           (|COMMON-LISP|::|NIL|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|COMMON-LISP|::|STREAM| |TOOLS|::|SUBCHAR| |TOOLS|::|ARG|)
+           |COMMON-LISP|::|NIL|)
+        #\#)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&OPTIONAL| (|TOOLS|::|SHELL-FUN| '|TOOLS|::|USHELL|))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|403 412 (DEFUN USHELL-LOOP (&OPTIONAL #) ...)-34|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|USHELL-LOOP| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|USHELL-LOOP|
+       #127Y(03 00 01 00 00 00 01 00 06 07 3B 01 80 4F 9A 00 01 1B 80 49 AE 68
+             01 00 E0 38 01 72 46 36 01 16 01 1B 3A 58 67 00 00 01 76 00 AD 36
+             01 18 03 01 19 02 DF 68 01 00 38 06 8E 60 01 C9 14 8E 92 54 E1 6B
+             02 47 08 10 AE 6D 09 01 B2 6D 0A 01 57 0B B0 36 00 16 06 48 43 14
+             33 02 15 16 01 DB 6B 02 33 01 15 00 2B 01 38 04 31 79 0B 00 00 DD
+             68 01 00 38 08 8E 67 01 C9 14 8F 92 FF B6 00 19 03)
+       (|TOOLS|::|USHELL|
+        #Y(|TOOLS|::|USHELL-LOOP-1|
+           #19Y(00 00 00 00 01 00 00 00 01 17 DA AF 38 02 31 8B 9E 19 03)
+           ("UNI-SHELL> ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|*STANDARD-OUTPUT*| "quit" -1. #\! 1.
+        #Y(|TOOLS|::|USHELL-LOOP-2|
+           #46Y(00 00 00 00 02 00 00 00 01 18 AE 1B 15 16 01 1B 17 94 00 83 01
+                B1 31 86 AC 8C 94 71 DA B1 38 02 31 8B AC 8D 94 6B 16 01 AF 31
+                8D 9E 19 04)
+           (" ;
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|NIL|
+        #Y(|TOOLS|::|USHELL-LOOP-3|
+           #16Y(00 00 00 00 00 00 00 00 06 01 DA 2C 01 01 19 01)
+           (|COMMON-LISP|::|NIL|
+            #Y(|TOOLS|::|USHELL-LOOP-3-1|
+               #16Y(00 00 00 00 01 00 00 00 06 02 63 AE 40 02 49 00)
+               (|COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|TOOLS|::|USHELL-LOOP-4|
+           #21Y(00 00 00 00 00 00 00 00 06 01 69 00 01 38 05 71 80 31 5B 19 01)
+           (|COMMON-LISP|::|NIL|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#(|COMMON-LISP|::|ERROR| 25.) 2. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&OPTIONAL| (|TOOLS|::|SHELL-FUN| #'|TOOLS|::|USHELL|))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|419 423 (DEFUN CLDEBUG (&REST REST) ...)-35|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|CLDEBUG| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|CLDEBUG|
+       #41Y(00 00 00 00 00 00 00 00 07 16 DA 38 01 31 86 AD 63 1B 0A 87 01 00
+            14 38 01 31 86 83 01 AD 8D 94 72 16 02 38 01 31 8D 19 02)
+       ("DEBUG: ") (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|&REST| |COMMON-LISP|::|REST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|426 429 (DEFUN GET-COMMAND-LINE-WORDS NIL ...)-36|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|GET-COMMAND-LINE-WORDS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|GET-COMMAND-LINE-WORDS|
+       #14Y(00 00 00 00 00 00 00 00 06 01 0E 00 19 01) (|EXT|::|*ARGS*|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|433 443 (DEFUN STRING-TO-LIST (STR &KEY #) ...)-37|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|STRING-TO-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|STRING-TO-LIST|
+       #86Y(00 00 00 00 01 00 00 00 86 1C 01 00 00 00 3B 01 02 C6 F9 DC AE B0
+            38 06 A5 FC 72 60 63 93 01 1D AE AE 91 01 2E 07 B1 AF AF 72 46 84
+            00 AD 81 97 02 B0 B2 38 06 A7 FC 81 60 01 92 01 63 B1 AF 38 01 72
+            46 DD 38 04 8C 35 08 B1 AF 38 01 72 46 84 00 AC 32 4A 19 06)
+       (:|SPLIT-CHAR| #\  0. "")
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|STR| |COMMON-LISP|::|&KEY| (|TOOLS|::|SPLIT-CHAR| #\ ))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|446 458 (DEFUN NEAR-POSITION (CHARS STR &KEY ...) ...)-38|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|NEAR-POSITION| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|NEAR-POSITION|
+       #72Y(00 00 00 00 02 00 00 00 86 1D 01 00 00 00 3B 01 02 C6 F9 AF 94 00
+            B0 38 06 A7 FC 72 60 AC 93 02 12 83 02 78 B2 38 06 A9 FC 81 60 01
+            1C 14 9D F8 92 02 6E 15 19 06 9E 1B 76 AD AD 90 01 2F 77 9D 1B 6D
+            92 00 74 9E 1B 67)
+       (:|START| 0.) (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|CHARS| |TOOLS|::|STR| |COMMON-LISP|::|&KEY|
+        (|TOOLS|::|START| 0.))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|461 485 (DEFUN STRING-TO-LIST-MULTICHAR (STR &KEY # ...) ...)-39|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|STRING-TO-LIST-MULTICHAR| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|STRING-TO-LIST-MULTICHAR|
+       #99Y(00 00 00 00 01 00 00 00 86 1C 02 00 00 00 3B 02 02 C7 FA 3D 01 DD
+            AF B1 DE AF 6E 04 05 63 93 01 24 B2 AF 92 06 38 A0 14 72 46 AC E0
+            38 04 8C 35 03 AC 84 01 16 01 AD 81 97 02 B1 B3 DE B1 2D 04 05 F9
+            92 01 5C B2 AF 38 01 72 46 E1 38 04 8C 35 08 B2 AF 38 01 72 46 84
+            00 AC 32 4A 19 07 AF 32 97 1B 44)
+       (:|SPLIT-CHARS| :|PRESERVE| #1=(#\ ) 0. :|START|
+        |TOOLS|::|NEAR-POSITION| "" "")
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|STR| |COMMON-LISP|::|&KEY| (|TOOLS|::|SPLIT-CHARS| '#1#)
+        (|TOOLS|::|PRESERVE| |COMMON-LISP|::|NIL|))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|491 492 (DEFUN LIST-TO-STRING (LST) ...)-40|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|LIST-TO-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|LIST-TO-STRING|
+       #27Y(00 00 00 00 01 00 00 00 06 02 DA 38 02 72 76 AF AD 31 86 AC 81 77
+            00 30 01 19 02)
+       (" () " |COMMON-LISP|::|STRING-TRIM|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|LST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|496 499 (DEFUN CLEAN-STRING (STRING) ...)-41|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|CLEAN-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|CLEAN-STRING|
+       #20Y(00 00 00 00 01 00 00 00 06 02 DA AE 70 01 38 02 31 46 19 02)
+       ((#\Newline) |COMMON-LISP|::|STRING-RIGHT-TRIM|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|STRING|) "Remove Newline and upcase string"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|501 502 (DEFUN ONE-IN-LIST (LST) ...)-42|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|ONE-IN-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|ONE-IN-LIST|
+       #22Y(00 00 00 00 01 00 00 00 06 02 AD 72 48 38 01 72 DD AE 31 96 19 02)
+       () (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|LST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|504 509 (DEFUN EXCHANGE-ONE-IN-LIST (LST1 LST2) ...)-43|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|EXCHANGE-ONE-IN-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|EXCHANGE-ONE-IN-LIST|
+       #48Y(00 00 00 00 02 00 00 00 06 03 AE 6F 00 AE 6F 00 AD B1 38 07 72 4F
+            AD 7B 01 82 02 22 04 AC B0 38 07 72 4F AE 7B 01 82 02 22 03 B0 B0
+            40 02 19 05)
+       (|TOOLS|::|ONE-IN-LIST|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|LST1| |TOOLS|::|LST2|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|512 514 (DEFUN ROTATE-LIST (LIST) ...)-44|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|ROTATE-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|ROTATE-LIST|
+       #25Y(00 00 00 00 01 00 00 00 06 02 9E 1F 0A 79 94 02 7B 01 33 02 22 19
+            02 19 02)
+       () (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|LIST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|516 518 (DEFUN ANTI-ROTATE-LIST (LIST) ...)-45|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|ANTI-ROTATE-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|ANTI-ROTATE-LIST|
+       #30Y(00 00 00 00 01 00 00 00 06 02 9E 1F 0F 14 38 01 71 9E AE 38 01 71
+            A7 33 02 22 19 02 19 02)
+       () (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|LIST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|521 536 (DEFUN APPEND-FORMATED-LIST (BASE-STR LST &KEY ...) ...)-46|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|APPEND-FORMATED-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|APPEND-FORMATED-LIST|
+       #104Y(00 00 00 00 02 00 00 00 86 1D 03 00 00 00 3B 03 02 C8 FB 3B 02 02
+             C9 FA 3B 01 02 CA F9 B1 64 B2 63 1B 35 CC 1B 17 E0 AE B1 33 02 25
+             19 08 87 01 00 B3 AD 36 01 1C 1F E0 B0 92 04 67 CD 14 38 02 72 76
+             B6 B1 76 01 AC AE 31 86 16 01 AC 81 77 00 82 03 25 03 7D 02 83 01
+             AD 8D 94 52 16 02 B3 AE 38 04 8C 35 41 9E 19 08)
+       (:|TEST-NOT-FUN| :|PRINT-FUN| :|DEFAULT-STR|
+        #Y(|TOOLS|::|APPEND-FORMATED-LIST-1|
+           #13Y(00 00 00 00 01 00 00 00 06 02 00 19 02) ()
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+           (|TOOLS|::|X|) |COMMON-LISP|::|NIL|)
+        #Y(|TOOLS|::|APPEND-FORMATED-LIST-2|
+           #13Y(00 00 00 00 01 00 00 00 06 02 9E 19 02) ()
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+           (|TOOLS|::|X|) |COMMON-LISP|::|NIL|)
+        #1="" |COMMON-LISP|::|STRING| "" ", ")
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|BASE-STR| |TOOLS|::|LST| |COMMON-LISP|::|&KEY|
+        (|TOOLS|::|TEST-NOT-FUN|
+         #'(|COMMON-LISP|::|LAMBDA| #2=(|TOOLS|::|X|) |TOOLS|::|X|
+            |COMMON-LISP|::|NIL|))
+        (|TOOLS|::|PRINT-FUN|
+         #'(|COMMON-LISP|::|LAMBDA| #3=(|TOOLS|::|X|) |TOOLS|::|X|))
+        (|TOOLS|::|DEFAULT-STR| #1#))
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|539 550 (DEFUN SHUFFLE-LIST (LIST &KEY #) ...)-47|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|SHUFFLE-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|SHUFFLE-LIST|
+       #77Y(00 00 00 00 01 00 00 00 86 1C 01 00 00 00 3B 01 02 C6 F9 AE 71 A0
+            DC DC DC DC 1B 26 B0 72 48 38 01 81 DD 03 B0 72 48 38 01 81 DD 02
+            AF B1 80 96 01 AF B1 B0 B3 71 96 2D 03 03 AE B1 AF 2D 03 03 85 00
+            AC B3 91 01 32 54 16 01 A0 19 07)
+       (:|TIME| 1. 0. |SYSTEM|::|%SETNTH|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|LIST| |COMMON-LISP|::|&KEY| (|COMMON-LISP|::|TIME| 1.))
+       "Shuffle a list by swapping elements time times"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|554 556 (DEFUN CONVERT-TO-NUMBER (STR) ...)-48|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|CONVERT-TO-NUMBER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|CONVERT-TO-NUMBER|
+       #32Y(00 00 00 00 01 00 00 00 06 02 AD 8E 09 07 AD 8E 0A 0B 00 19 02 AD
+            38 03 64 31 81 19 02 9E 19 02)
+       () (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+       (|TOOLS|::|STR|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|558 560 (DEFUN PARSE-INTEGER-IN-LIST (LST) ...)-49|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|PARSE-INTEGER-IN-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|PARSE-INTEGER-IN-LIST|
+       #36Y(00 00 00 00 01 00 00 00 06 02 63 AE 1B 0B 94 00 AC 6F 00 84 02 16
+            01 83 00 AC 8D 94 71 16 01 AC 31 A6 19 03)
+       (|TOOLS|::|CONVERT-TO-NUMBER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|LST|) "Convert all integer string in lst to integer"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|564 568 (DEFUN NEXT-IN-LIST (ITEM LST) ...)-50|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|NEXT-IN-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|NEXT-IN-LIST|
+       #41Y(00 00 00 00 02 00 00 00 06 03 AD 93 00 18 AF 94 01 8F 04 0D 9D 5C
+            5B 1C 04 9F 5B 19 04 9D 5C 1B 79 83 00 92 00 68 00 19 04)
+       () (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|ITEM| |TOOLS|::|LST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|570 571 (DEFUN PREV-IN-LIST (ITEM LST) ...)-51|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|PREV-IN-LIST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|PREV-IN-LIST|
+       #18Y(00 00 00 00 02 00 00 00 06 03 AE AE 72 49 30 00 19 03)
+       (|TOOLS|::|NEXT-IN-LIST|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|ITEM| |TOOLS|::|LST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|574 632 (DEFUN FIND-STRING (SUBSTR STR &KEY ...) ...)-52|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|FIND-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|FIND-STRING|
+       #142Y(00 00 00 00 02 00 00 00 86 1D 04 00 00 00 3B 04 02 C9 FC 3D 03 3D
+             02 3B 01 0A 7D 01 93 03 0E 1B 06 00 19 07 93 03 06 B0 B0 90 01 32
+             74 97 04 63 B4 72 48 93 04 0C B4 38 02 80 46 08 B5 38 02 80 46 09
+             63 93 00 12 1B 3C 00 19 0B B2 B6 B1 B1 36 03 19 0B 7E 00 92 00 2C
+             B6 DE 73 01 01 B6 38 06 B7 81 97 04 04 0F FB 81 60 03 1D 5C B5 B7
+             B1 B6 38 02 80 3A 02 1D 0A 14 B0 73 01 36 AE 90 01 2D 52 93 00 54
+             B2 8E 1F 43 AF AF 40 02 19 0B)
+       (:|START| :|END| :|TEST| :|IGNORE-CASE| 0.)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|SUBSTR| |TOOLS|::|STR| |COMMON-LISP|::|&KEY|
+        (|TOOLS|::|START| 0.) (|TOOLS|::|END| |COMMON-LISP|::|NIL|)
+        (|TOOLS|::|TEST| |COMMON-LISP|::|NIL|)
+        (|TOOLS|::|IGNORE-CASE| |COMMON-LISP|::|NIL|))
+       "Find substr in str. Return begin and end of substr in str as two values.
+Start and end set the findinq region. Ignore-case make find-string case
+insensitive.
+Test (if needed) must be a function which take str pos1 pos2 and must return
+new positions of the substr in str as two values"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|636 649 (DEFUN FIND-ALL-STRINGS (SUBSTR STR &KEY ...) ...)-53|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|FIND-ALL-STRINGS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|FIND-ALL-STRINGS|
+       #73Y(00 00 00 00 02 00 00 00 86 1D 04 00 00 00 3B 04 02 C9 FC 3D 03 3D
+            02 3D 01 B2 B2 DA B3 DB B4 DC B5 DD B6 2D 0A 05 43 14 63 1B 14 AD
+            84 00 B4 B4 DA A1 5C 78 DB B6 DC B7 DD B8 2D 0A 05 43 F9 AD E0 8F
+            04 67 AC 32 4A 19 09)
+       (:|START| :|END| :|TEST| :|IGNORE-CASE| 0. |TOOLS|::|FIND-STRING|
+        (|COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|SUBSTR| |TOOLS|::|STR| |COMMON-LISP|::|&KEY|
+        (|TOOLS|::|START| 0.) (|TOOLS|::|END| |COMMON-LISP|::|NIL|)
+        (|TOOLS|::|TEST| |COMMON-LISP|::|NIL|)
+        (|TOOLS|::|IGNORE-CASE| |COMMON-LISP|::|NIL|))
+       "Find all substr in str. Parameters are the same as find-string.
+Return a list with all begin and end positions of substr in str
+ie: '((pos1.1 pos1.2) (pos2.1 pos2.2))..."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|653 684 (DEFUN SUBST-STRINGS (NEW SUBSTR STR ...) ...)-54|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|SUBST-STRINGS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|SUBST-STRINGS|
+       #132Y(00 00 00 00 03 00 00 00 86 1E 04 00 00 00 3B 04 02 C9 FC 3D 03 3D
+             02 3D 01 B1 DE B2 72 46 B1 DE DE 92 07 04 B5 81 48 07 63 92 00 80
+             54 B7 B7 DA B2 DB B9 DC BA DD BB 2D 0A 05 42 02 6A 02 6A 02 1D 2D
+             E0 B1 B8 B2 B2 72 46 BB 8E 1F 17 04 0F 14 82 03 25 04 93 01 06 14
+             B5 90 01 31 0F A5 FB 93 00 4B 1B 1D BB BA B3 B3 36 03 1B 63 9E 1B
+             6F E0 B1 B8 B2 38 01 72 46 82 02 25 04 7E 00 93 00 FF AC A1 19 0D)
+       (:|START| :|END| :|TEST| :|IGNORE-CASE| 0. |TOOLS|::|FIND-STRING|
+        |COMMON-LISP|::|STRING|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|NEW| |TOOLS|::|SUBSTR| |TOOLS|::|STR| |COMMON-LISP|::|&KEY|
+        (|TOOLS|::|START| 0.) (|TOOLS|::|END| |COMMON-LISP|::|NIL|)
+        (|TOOLS|::|TEST| |COMMON-LISP|::|NIL|)
+        (|TOOLS|::|IGNORE-CASE| |COMMON-LISP|::|NIL|))
+       "Substitute all substr strings in str with new.
+New must be a string or a function witch takes str pos1 pos2
+as parameters and return a string to replace substr"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|688 693 (DEFUN MY-FIND-STRING-TEST (STR POS1 POS2) ...)-55|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|MY-FIND-STRING-TEST| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|MY-FIND-STRING-TEST|
+       #25Y(00 00 00 00 03 00 00 00 06 04 DA B0 DB B0 2D 04 02 42 02 B0 AD 40
+            02 19 06)
+       ("=>" :|START| |TOOLS|::|FIND-STRING|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|TOOLS|::|STR| |TOOLS|::|POS1| |TOOLS|::|POS2|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|696 747 (DEFUN TEST-FIND-STRING NIL ...)-56|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|TOOLS|::|TEST-FIND-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|TOOLS|::|TEST-FIND-STRING|
+       #211Y(00 00 00 00 00 00 00 00 06 01 00 2B 01 C5 0B 00 00 DB 6B 02 DD 33
+             02 15 DE 6B 02 DF DD 30 06 43 14 33 02 15 E1 6B 02 E2 DD E3 E4 E5
+             E6 2D 06 06 43 14 33 02 15 E7 6B 02 E8 DD E9 99 10 2D 04 06 42 02
+             DD AE AE 32 46 16 01 F8 33 02 15 EB 6B 02 EC DD 70 13 33 02 15 EE
+             6B 02 33 01 15 EF DD 70 13 63 1B 13 87 01 00 F0 6B 02 DD 94 03 A1
+             5C 78 72 46 33 02 15 83 01 AD 8D 94 69 16 02 F1 6B 02 33 01 15 F2
+             DD E9 99 10 6E 04 13 63 1B 13 87 01 00 F3 6B 02 DD 94 03 A1 5C 78
+             72 46 33 02 15 83 01 AD 8D 94 69 16 02 F4 6B 02 F5 F6 DD E9 99 10
+             6E 05 1D 33 02 15 65 1E 6B 02 33 01 15 65 1F 6B 02 AE 6D 20 01 65
+             21 DD E9 65 22 6E 05 1D 33 02 15 19 02)
+       (0.
+        #Y(|TOOLS|::|TEST-FIND-STRING-1|
+           #30Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 AF
+                01 02 DB 2D 04 02 9E 19 04)
+           ("Original:
+"
+            2. |SYSTEM|::|FORMAT-TERPRI|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        |COMMON-LISP|::|*STANDARD-OUTPUT*|
+        "bla bla foo <= plop gloup => foo
+baz bar <=klm poi => boo <=plop=> faz
+lab totrs <= plip =>"
+        #Y(|TOOLS|::|TEST-FIND-STRING-2|
+           #26Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 AF
+                31 8D 9E 19 04)
+           ("[1] Simple find on '<=': ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        "<=" |TOOLS|::|FIND-STRING|
+        #Y(|TOOLS|::|TEST-FIND-STRING-3|
+           #26Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 AF
+                31 8D 9E 19 04)
+           ("[2] Find with start=15/end=50: ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        "<=" :|START| 15. :|END| 50.
+        #Y(|TOOLS|::|TEST-FIND-STRING-4|
+           #26Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 AF
+                31 8D 9E 19 04)
+           ("[3] Find with test (ie '<=.*=>'): ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        "<=" :|TEST| |TOOLS|::|MY-FIND-STRING-TEST|
+        #Y(|TOOLS|::|TEST-FIND-STRING-5|
+           #26Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 AF
+                31 8D 9E 19 04)
+           ("[4] Find all strings: ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        "<=" |TOOLS|::|FIND-ALL-STRINGS|
+        #Y(|TOOLS|::|TEST-FIND-STRING-6|
+           #19Y(00 00 00 00 01 00 00 00 01 17 DA AF 38 02 31 8B 9E 19 03)
+           ("[5] Find all strings:
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        "<="
+        #Y(|TOOLS|::|TEST-FIND-STRING-7|
+           #26Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 AF
+                31 8D 9E 19 04)
+           ("Found: ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|TOOLS|::|TEST-FIND-STRING-8|
+           #19Y(00 00 00 00 01 00 00 00 01 17 DA AF 38 02 31 8B 9E 19 03)
+           ("[6] Find all strings with test:
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        "<="
+        #Y(|TOOLS|::|TEST-FIND-STRING-9|
+           #26Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 AF
+                31 8D 9E 19 04)
+           ("Found: ")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|TOOLS|::|TEST-FIND-STRING-10|
+           #23Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 9E
+                19 04)
+           ("[7] Modifie '<=.*=>' with TOTO:
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        "TOTO" "<=" |TOOLS|::|SUBST-STRINGS|
+        #Y(|TOOLS|::|TEST-FIND-STRING-11|
+           #16Y(00 00 00 00 01 00 00 00 01 17 AE 31 8D 9E 19 03) ()
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|TOOLS|::|TEST-FIND-STRING-12|
+           #26Y(00 00 00 00 02 00 00 00 01 18 DA B0 38 02 31 8B AE B0 31 86 AF
+                31 8D 9E 19 04)
+           ("[8] Modifie '<=.*=>' with a complex expression:
+")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+        #Y(|TOOLS|::|TEST-FIND-STRING-13|
+           #83Y(00 00 00 00 03 00 00 00 06 04 DB B0 DC B1 73 02 35 DD B1 73 02
+                35 72 46 70 04 38 02 72 76 69 00 01 32 97 0C 00 01 14 AE 72 49
+                DF AF 38 02 31 8B AD AF 31 86 E0 AF 31 8A AF AF 31 86 E1 AF 38
+                02 31 8B AC AF 31 86 E2 AF 38 02 31 8B 16 02 AC 32 77 19 06)
+           (|COMMON-LISP|::|NIL| " " 2. -2. |COMMON-LISP|::|STRING-TRIM| "<="
+            #\: " (" ")=>")
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|TOOLS|::|STR| |TOOLS|::|POS1| |TOOLS|::|POS2|)
+           |COMMON-LISP|::|NIL|)
+        "<="
+        #Y(|TOOLS|::|TEST-FIND-STRING-14|
+           #25Y(00 00 00 00 03 00 00 00 06 04 DA B0 DB B0 2D 04 02 42 02 B0 AD
+                40 02 19 06)
+           ("=>" :|START| |TOOLS|::|FIND-STRING|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+           (|TOOLS|::|STR| |TOOLS|::|POS1| |TOOLS|::|POS2|)
+           |COMMON-LISP|::|NIL|))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: tools.fasl
==============================================================================
Binary file. No diff available.

Added: tools.lib
==============================================================================
--- (empty file)
+++ tools.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,301 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "COMMON-LISP-USER"))
+(|SYSTEM|::|%IN-PACKAGE| "TOOLS" :|NICKNAMES| '|COMMON-LISP|::|NIL| :|USE|
+ '|COMMON-LISP|::|NIL| :|CASE-SENSITIVE| |COMMON-LISP|::|NIL| :|CASE-INVERTED|
+ |COMMON-LISP|::|NIL|)
+(|COMMON-LISP|::|USE-PACKAGE| '("COMMON-LISP") "TOOLS")
+(|SYSTEM|::|INTERN-EXPORT|
+ '("IT" "AWHEN" "AIF" "DBG" "DBGNL" "SETF/=" "CREATE-SYMBOL" "SPLIT-STRING"
+   "EXPAND-NEWLINE" "ENSURE-LIST" "ENSURE-PRINTABLE" "FIND-ASSOC-WORD"
+   "PRINT-SPACE" "ESCAPE-STRING" "FIRST-POSITION" "FIND-FREE-NUMBER"
+   "DO-EXECUTE" "DO-SHELL" "GETENV" "UQUIT" "URUN-PROG" "USHELL" "USH"
+   "USHELL-LOOP" "CLDEBUG" "GET-COMMAND-LINE-WORDS" "STRING-TO-LIST"
+   "NEAR-POSITION" "STRING-TO-LIST-MULTICHAR" "LIST-TO-STRING"
+   "LIST-TO-STRING-LIST" "CLEAN-STRING" "ONE-IN-LIST" "EXCHANGE-ONE-IN-LIST"
+   "ROTATE-LIST" "ANTI-ROTATE-LIST" "APPEND-FORMATED-LIST" "SHUFFLE-LIST"
+   "PARSE-INTEGER-IN-LIST" "CONVERT-TO-NUMBER" "NEXT-IN-LIST" "PREV-IN-LIST"
+   "FIND-STRING" "FIND-ALL-STRINGS" "SUBST-STRINGS" "TEST-FIND-STRING")
+ "TOOLS" |COMMON-LISP|::|NIL|)
+(|COMMON-LISP|::|FIND-PACKAGE| "TOOLS")
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "TOOLS"))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|TOOLS|::|AWHEN|)
+(|SYSTEM|::|%PUTD| '|TOOLS|::|AWHEN|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |TOOLS|::|AWHEN|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 2.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|TOOLS|::|TEST|
+        (|COMMON-LISP|::|CADR| . #1=(|SYSTEM|::|<MACRO-FORM>|)))
+       (|TOOLS|::|BODY| (|COMMON-LISP|::|CDDR| . #1#)))
+      (|COMMON-LISP|::|BLOCK| |TOOLS|::|AWHEN|
+       `(|COMMON-LISP|::|LET| ((|TOOLS|::|IT| ,|TOOLS|::|TEST|))
+         (|COMMON-LISP|::|WHEN| |TOOLS|::|IT| ,@|TOOLS|::|BODY|)))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|TOOLS|::|AIF|)
+(|SYSTEM|::|%PUTD| '|TOOLS|::|AIF|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |TOOLS|::|AIF|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       4.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|TOOLS|::|TEST|
+        (|COMMON-LISP|::|CADR| . #1=(|SYSTEM|::|<MACRO-FORM>|)))
+       (|TOOLS|::|THEN| (|COMMON-LISP|::|CADDR| . #1#))
+       (|TOOLS|::|ELSE| (|COMMON-LISP|::|CADDDR| . #1#)))
+      (|COMMON-LISP|::|BLOCK| |TOOLS|::|AIF|
+       `(|COMMON-LISP|::|LET| ((|TOOLS|::|IT| ,|TOOLS|::|TEST|))
+         (|COMMON-LISP|::|IF| |TOOLS|::|IT| ,|TOOLS|::|THEN|
+          ,|TOOLS|::|ELSE|)))))))))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |TOOLS|::|*%DBG-NAME%*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |TOOLS|::|*%DBG-COUNT%*|))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|TOOLS|::|DBG|)
+(|SYSTEM|::|%PUTD| '|TOOLS|::|DBG|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |TOOLS|::|DBG|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT| (|EXT|::|PROPER-LIST-P| |SYSTEM|::|<MACRO-FORM>|))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|TOOLS|::|FORMS| (|COMMON-LISP|::|CDR| |SYSTEM|::|<MACRO-FORM>|)))
+      (|COMMON-LISP|::|BLOCK| |TOOLS|::|DBG|
+       `(|COMMON-LISP|::|PROGN|
+         ,@(|COMMON-LISP|::|MAPCAR|
+            #'(|COMMON-LISP|::|LAMBDA| (|TOOLS|::|FORM|)
+               (|COMMON-LISP|::|TYPECASE| |TOOLS|::|FORM|
+                (|COMMON-LISP|::|STRING|
+                 `(|COMMON-LISP|::|SETF| |TOOLS|::|*%DBG-NAME%*|
+                   ,|TOOLS|::|FORM|))
+                (|COMMON-LISP|::|NUMBER|
+                 `(|COMMON-LISP|::|SETF| |TOOLS|::|*%DBG-COUNT%*|
+                   ,|TOOLS|::|FORM|))))
+            |TOOLS|::|FORMS|)
+         (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T| "~&DEBUG[~A - ~A]  "
+          (|COMMON-LISP|::|INCF| |TOOLS|::|*%DBG-COUNT%*|)
+          |TOOLS|::|*%DBG-NAME%*|)
+         ,@(|COMMON-LISP|::|MAPCAR|
+            #'(|COMMON-LISP|::|LAMBDA| (|TOOLS|::|FORM|)
+               (|COMMON-LISP|::|TYPECASE| |TOOLS|::|FORM|
+                ((|COMMON-LISP|::|OR| |COMMON-LISP|::|STRING|
+                  |COMMON-LISP|::|NUMBER|)
+                 |COMMON-LISP|::|NIL|)
+                (|COMMON-LISP|::|T|
+                 `(|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T| "~A=~S   "
+                   ',|TOOLS|::|FORM| ,|TOOLS|::|FORM|))))
+            |TOOLS|::|FORMS|)
+         (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T| "~%")
+         (|COMMON-LISP|::|FORCE-OUTPUT|) ,@|TOOLS|::|FORMS|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|TOOLS|::|DBGNL|)
+(|SYSTEM|::|%PUTD| '|TOOLS|::|DBGNL|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |TOOLS|::|DBGNL|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT| (|EXT|::|PROPER-LIST-P| |SYSTEM|::|<MACRO-FORM>|))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|TOOLS|::|FORMS| (|COMMON-LISP|::|CDR| |SYSTEM|::|<MACRO-FORM>|)))
+      (|COMMON-LISP|::|BLOCK| |TOOLS|::|DBGNL|
+       `(|COMMON-LISP|::|PROGN|
+         ,@(|COMMON-LISP|::|MAPCAR|
+            #'(|COMMON-LISP|::|LAMBDA| (|TOOLS|::|FORM|)
+               (|COMMON-LISP|::|TYPECASE| |TOOLS|::|FORM|
+                (|COMMON-LISP|::|STRING|
+                 `(|COMMON-LISP|::|SETF| |TOOLS|::|*%DBG-NAME%*|
+                   ,|TOOLS|::|FORM|))
+                (|COMMON-LISP|::|NUMBER|
+                 `(|COMMON-LISP|::|SETF| |TOOLS|::|*%DBG-COUNT%*|
+                   ,|TOOLS|::|FORM|))))
+            |TOOLS|::|FORMS|)
+         (|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T|
+          "~&DEBUG[~A - ~A] --------------------~%"
+          (|COMMON-LISP|::|INCF| |TOOLS|::|*%DBG-COUNT%*|)
+          |TOOLS|::|*%DBG-NAME%*|)
+         ,@(|COMMON-LISP|::|MAPCAR|
+            #'(|COMMON-LISP|::|LAMBDA| (|TOOLS|::|FORM|)
+               (|COMMON-LISP|::|TYPECASE| |TOOLS|::|FORM|
+                ((|COMMON-LISP|::|OR| |COMMON-LISP|::|STRING|
+                  |COMMON-LISP|::|NUMBER|)
+                 |COMMON-LISP|::|NIL|)
+                (|COMMON-LISP|::|T|
+                 `(|COMMON-LISP|::|FORMAT| |COMMON-LISP|::|T| "  -  ~A=~S~%"
+                   ',|TOOLS|::|FORM| ,|TOOLS|::|FORM|))))
+            |TOOLS|::|FORMS|)
+         (|COMMON-LISP|::|FORCE-OUTPUT|) ,@|TOOLS|::|FORMS|))))))))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|TOOLS|::|SETF/=|)
+(|SYSTEM|::|%PUTD| '|TOOLS|::|SETF/=|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |TOOLS|::|SETF/=|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    "Set var to val only when var not equal to val"
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT|
+      (|SYSTEM|::|PROPER-LIST-LENGTH-IN-BOUNDS-P| |SYSTEM|::|<MACRO-FORM>| 3.
+       3.))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|TOOLS|::|VAR| (|COMMON-LISP|::|CADR| . #1=(|SYSTEM|::|<MACRO-FORM>|)))
+       (|TOOLS|::|VAL| (|COMMON-LISP|::|CADDR| . #1#)))
+      (|COMMON-LISP|::|BLOCK| |TOOLS|::|SETF/=|
+       (|COMMON-LISP|::|LET| ((|TOOLS|::|GVAL| (|COMMON-LISP|::|GENSYM|)))
+        `(|COMMON-LISP|::|LET| ((,|TOOLS|::|GVAL| ,|TOOLS|::|VAL|))
+          (|COMMON-LISP|::|WHEN|
+           (|COMMON-LISP|::|/=| ,|TOOLS|::|VAR| ,|TOOLS|::|GVAL|)
+           (|COMMON-LISP|::|SETF| ,|TOOLS|::|VAR| ,|TOOLS|::|GVAL|)))))))))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|CREATE-SYMBOL|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |TOOLS|::|NAMES|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|SPLIT-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|STRING| |COMMON-LISP|::|&OPTIONAL|
+    (|TOOLS|::|SEPARATOR| #\ ))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|EXPAND-NEWLINE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|COMMON-LISP|::|LIST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|ENSURE-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|OBJECT|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|ENSURE-PRINTABLE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|STRING| |COMMON-LISP|::|&OPTIONAL| (|TOOLS|::|NEW| #\?))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|FIND-ASSOC-WORD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|WORD| |TOOLS|::|LINE| |COMMON-LISP|::|&OPTIONAL|
+    (|TOOLS|::|DELIM| #\"))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|PRINT-SPACE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|N| |COMMON-LISP|::|&OPTIONAL|
+    (|COMMON-LISP|::|STREAM| |COMMON-LISP|::|*STANDARD-OUTPUT*|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|ESCAPE-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|STRING| |COMMON-LISP|::|&OPTIONAL|
+    (|TOOLS|::|ESCAPER| '(#\/ #\: #\) #\( #\  #\; #\,))
+    (|COMMON-LISP|::|CHAR| #\_))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|FIRST-POSITION|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|WORD| |COMMON-LISP|::|STRING|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|FIND-FREE-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|L|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|DO-EXECUTE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|PROGRAM| |TOOLS|::|ARGS| |COMMON-LISP|::|&OPTIONAL|
+    (|TOOLS|::|WT| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|DO-SHELL|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|PROGRAM| |COMMON-LISP|::|&OPTIONAL| |TOOLS|::|ARGS|
+    (|TOOLS|::|WT| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|GETENV|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|VAR|)))
+(|SYSTEM|::|C-DEFUN| '(|COMMON-LISP|::|SETF| |TOOLS|::|GETENV|)
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|VAL| |TOOLS|::|VAR|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|UQUIT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|REMOVE-PLIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|PLIST| |COMMON-LISP|::|&REST| |TOOLS|::|KEYS|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|URUN-PROG|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|PROG| |COMMON-LISP|::|&REST| |TOOLS|::|OPTS|
+    |COMMON-LISP|::|&KEY| |TOOLS|::|ARGS| (|TOOLS|::|WAIT| |COMMON-LISP|::|T|)
+    |COMMON-LISP|::|&ALLOW-OTHER-KEYS|)))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |TOOLS|::|*SHELL-CMD*|))
+(|SYSTEM|::|C-PROCLAIM| '(|COMMON-LISP|::|SPECIAL| |TOOLS|::|*SHELL-CMD-OPT*|))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|USHELL|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |TOOLS|::|STRINGS|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|USH|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|COMMON-LISP|::|STRING|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|SET-SHELL-DISPATCH|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&OPTIONAL| (|TOOLS|::|SHELL-FUN| '|TOOLS|::|USHELL|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|USHELL-LOOP|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&OPTIONAL| (|TOOLS|::|SHELL-FUN| #'|TOOLS|::|USHELL|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|CLDEBUG|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|&REST| |COMMON-LISP|::|REST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|GET-COMMAND-LINE-WORDS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|STRING-TO-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|STR| |COMMON-LISP|::|&KEY| (|TOOLS|::|SPLIT-CHAR| #\ ))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|NEAR-POSITION|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|CHARS| |TOOLS|::|STR| |COMMON-LISP|::|&KEY|
+    (|TOOLS|::|START| 0.))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|STRING-TO-LIST-MULTICHAR|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|STR| |COMMON-LISP|::|&KEY| (|TOOLS|::|SPLIT-CHARS| '(#\ ))
+    (|TOOLS|::|PRESERVE| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|LIST-TO-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|LST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|CLEAN-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|COMMON-LISP|::|STRING|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|ONE-IN-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|LST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|EXCHANGE-ONE-IN-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|LST1| |TOOLS|::|LST2|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|ROTATE-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|COMMON-LISP|::|LIST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|ANTI-ROTATE-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|COMMON-LISP|::|LIST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|APPEND-FORMATED-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|BASE-STR| |TOOLS|::|LST| |COMMON-LISP|::|&KEY|
+    (|TOOLS|::|TEST-NOT-FUN|
+     #'(|COMMON-LISP|::|LAMBDA| (|TOOLS|::|X|) |TOOLS|::|X|
+        |COMMON-LISP|::|NIL|))
+    (|TOOLS|::|PRINT-FUN|
+     #'(|COMMON-LISP|::|LAMBDA| (|TOOLS|::|X|) |TOOLS|::|X|))
+    (|TOOLS|::|DEFAULT-STR| ""))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|SHUFFLE-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|COMMON-LISP|::|LIST| |COMMON-LISP|::|&KEY| (|COMMON-LISP|::|TIME| 1.))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|CONVERT-TO-NUMBER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|STR|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|PARSE-INTEGER-IN-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|LST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|NEXT-IN-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|ITEM| |TOOLS|::|LST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|PREV-IN-LIST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|TOOLS|::|ITEM| |TOOLS|::|LST|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|FIND-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|SUBSTR| |TOOLS|::|STR| |COMMON-LISP|::|&KEY|
+    (|TOOLS|::|START| 0.) (|TOOLS|::|END| |COMMON-LISP|::|NIL|)
+    (|TOOLS|::|TEST| |COMMON-LISP|::|NIL|)
+    (|TOOLS|::|IGNORE-CASE| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|FIND-ALL-STRINGS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|SUBSTR| |TOOLS|::|STR| |COMMON-LISP|::|&KEY|
+    (|TOOLS|::|START| 0.) (|TOOLS|::|END| |COMMON-LISP|::|NIL|)
+    (|TOOLS|::|TEST| |COMMON-LISP|::|NIL|)
+    (|TOOLS|::|IGNORE-CASE| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|SUBST-STRINGS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|NEW| |TOOLS|::|SUBSTR| |TOOLS|::|STR| |COMMON-LISP|::|&KEY|
+    (|TOOLS|::|START| 0.) (|TOOLS|::|END| |COMMON-LISP|::|NIL|)
+    (|TOOLS|::|TEST| |COMMON-LISP|::|NIL|)
+    (|TOOLS|::|IGNORE-CASE| |COMMON-LISP|::|NIL|))))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|MY-FIND-STRING-TEST|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|TOOLS|::|STR| |TOOLS|::|POS1| |TOOLS|::|POS2|)))
+(|SYSTEM|::|C-DEFUN| '|TOOLS|::|TEST-FIND-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: tools.lisp
==============================================================================
--- (empty file)
+++ tools.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,749 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Tue Feb 26 21:53:55 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: General tools
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+
+(in-package :common-lisp-user)
+
+(defpackage tools
+  (:use common-lisp)
+  (:export :it
+	   :awhen
+	   :aif
+	   :dbg
+	   :dbgnl
+	   :setf/=
+	   :create-symbol
+	   :split-string
+	   :expand-newline
+	   :ensure-list
+	   :ensure-printable
+	   :find-assoc-word
+	   :print-space
+	   :escape-string
+	   :first-position
+	   :find-free-number
+	   :do-execute
+	   :do-shell
+	   :getenv
+	   :uquit
+	   :urun-prog
+	   :ushell
+	   :ush
+	   :ushell-loop
+	   :cldebug
+	   :get-command-line-words
+	   :string-to-list
+	   :near-position
+	   :string-to-list-multichar
+	   :list-to-string
+	   :list-to-string-list
+	   :clean-string
+	   :one-in-list
+	   :exchange-one-in-list
+	   :rotate-list
+	   :anti-rotate-list
+	   :append-formated-list
+	   :shuffle-list
+	   :parse-integer-in-list
+	   :convert-to-number
+	   :next-in-list :prev-in-list
+	   :find-string
+	   :find-all-strings
+	   :subst-strings
+	   :test-find-string))
+
+	    
+(in-package :tools)
+
+
+(setq *random-state* (make-random-state t))
+
+
+
+(defmacro awhen (test &body body)
+  `(let ((it ,test))
+     (when it
+       , at body)))
+
+(defmacro aif (test then &optional else)
+  `(let ((it ,test)) (if it ,then ,else)))
+
+
+;;;,-----
+;;;| Debuging tools
+;;;`-----
+(defvar *%dbg-name%* "dbg")
+(defvar *%dbg-count%* 0)
+
+
+(defmacro dbg (&rest forms)
+  `(progn
+     ,@(mapcar #'(lambda (form)
+		   (typecase form
+		     (string `(setf *%dbg-name%* ,form))
+		     (number `(setf *%dbg-count%* ,form))))
+	       forms)
+     (format t "~&DEBUG[~A - ~A]  " (incf *%dbg-count%*) *%dbg-name%*)
+     ,@(mapcar #'(lambda (form)
+		   (typecase form
+		     ((or string number) nil)
+		     (t `(format t "~A=~S   " ',form ,form))))
+	       forms)
+     (format t "~%")
+     (force-output)
+     , at forms))
+
+(defmacro dbgnl (&rest forms)
+  `(progn
+     ,@(mapcar #'(lambda (form)
+		   (typecase form
+		     (string `(setf *%dbg-name%* ,form))
+		     (number `(setf *%dbg-count%* ,form))))
+	       forms)
+     (format t "~&DEBUG[~A - ~A] --------------------~%" (incf *%dbg-count%*) *%dbg-name%*)
+     ,@(mapcar #'(lambda (form)
+		   (typecase form
+		     ((or string number) nil)
+		     (t `(format t "  -  ~A=~S~%" ',form ,form))))
+	       forms)
+     (force-output)
+     , at forms))
+
+
+
+
+
+
+;;; Tools
+
+
+(defmacro setf/= (var val)
+  "Set var to val only when var not equal to val"
+  (let ((gval (gensym)))
+    `(let ((,gval ,val))
+       (when (/= ,var ,gval)
+	 (setf ,var ,gval)))))
+
+
+(defun create-symbol (&rest names)
+  "Return a new symbol from names"
+  (intern (string-upcase (apply #'concatenate 'string names))))
+
+
+(defun split-string (string &optional (separator #\Space))
+  "Return a list from a string splited at each separators"
+  (loop for i = 0 then (1+ j)
+     as j = (position separator string :start i)
+     as sub = (subseq string i j)
+     unless (string= sub "") collect sub
+     while j))
+
+
+(defun expand-newline (list)
+  "Expand all newline in strings in list"
+  (let ((acc nil))
+    (dolist (l list)
+      (setf acc (append acc (split-string l #\Newline))))
+    acc))
+
+(defun ensure-list (object)
+  "Ensure an object is a list"
+  (if (listp object)
+      object
+      (list object)))
+
+
+(defun ensure-printable (string &optional (new #\?))
+  "Ensure a string is printable in ascii"
+  (substitute-if-not new #'standard-char-p string))
+
+
+
+
+(defun find-assoc-word (word line &optional (delim #\"))
+  "Find a word pair"
+  (let* ((pos (search word line))
+	 (pos-1 (position delim line :start (or pos 0)))
+	 (pos-2 (position delim line :start (1+ (or pos-1 0)))))
+    (when (and pos pos-1 pos-2)
+      (subseq line (1+ pos-1) pos-2))))
+    
+
+(defun print-space (n &optional (stream *standard-output*))
+  "Print n spaces on stream"
+  (dotimes (i n)
+    (princ #\Space stream)))
+
+
+(defun escape-string (string &optional (escaper '(#\/ #\: #\) #\( #\Space #\; #\,)) (char #\_))
+  "Replace in string all characters found in the escaper list"
+  (if escaper
+      (escape-string (substitute char (car escaper) string) (cdr escaper) char)
+      string))
+
+
+
+(defun first-position (word string)
+  "Return true only if word is at position 0 in string"
+  (zerop (or (search word string) -1)))
+
+
+(defun find-free-number (l)		; stolen from stumpwm - thanks
+  "Return a number that is not in the list l."
+  (let* ((nums (sort l #'<))
+	 (new-num (loop for n from 0 to (or (car (last nums)) 0)
+		     for i in nums
+		     when (/= n i)
+		     do (return n))))
+    (if new-num
+	new-num
+	;; there was no space between the numbers, so use the last + 1
+	(if (car (last nums))
+	    (1+ (car (last nums)))
+	    0))))
+
+
+
+
+
+;;; Shell part (taken from ltk)
+(defun do-execute (program args &optional (wt nil))
+  "execute program with args a list containing the arguments passed to
+the program   if wt is non-nil, the function will wait for the execution
+of the program to return.
+   returns a two way stream connected to stdin/stdout of the program"
+  (let ((fullstring program))
+    (dolist (a args)
+      (setf fullstring (concatenate 'string fullstring " " a)))
+    #+:cmu (let ((proc (ext:run-program program args :input :stream
+							    :output :stream :wait wt)))
+             (unless proc
+               (error "Cannot create process."))
+             (make-two-way-stream
+              (ext:process-output proc)
+              (ext:process-input proc)))
+    #+:clisp (let ((proc (ext:run-program program :arguments args
+						  :input :stream :output
+						  :stream :wait (or wt t))))
+	       (unless proc
+		 (error "Cannot create process."))
+	       proc)
+    #+:sbcl (let ((proc (sb-ext:run-program program args :input
+							 :stream :output
+							 :stream :wait wt)))
+	      (unless proc
+		(error "Cannot create process."))
+	      (make-two-way-stream 
+	       (sb-ext:process-output proc)              
+	       (sb-ext:process-input proc)))
+    #+:lispworks (system:open-pipe fullstring :direction :io)
+    #+:allegro (let ((proc (excl:run-shell-command
+			    (apply #'vector program program args)
+			    :input :stream :output :stream :wait wt)))
+		 (unless proc
+		   (error "Cannot create process."))   
+		 proc)
+    #+:ecl(ext:run-program program args :input :stream :output :stream
+			   :error :output)
+    #+:openmcl (let ((proc (ccl:run-program program args :input
+							 :stream :output
+							 :stream :wait wt)))
+		 (unless proc
+		   (error "Cannot create process."))
+		 (make-two-way-stream
+		  (ccl:external-process-output-stream proc)
+		  (ccl:external-process-input-stream proc)))))
+
+(defun do-shell (program &optional args (wt nil))
+  (do-execute "/bin/sh" `("-c" ,program , at args) wt))
+
+
+
+
+
+
+
+(defun getenv (var)
+  "Return the value of the environment variable."
+  #+allegro (sys::getenv (string var))
+  #+clisp (ext:getenv (string var))
+  #+(or cmu scl)
+  (cdr (assoc (string var) ext:*environment-list* :test #'equalp
+              :key #'string))
+  #+gcl (si:getenv (string var))
+  #+lispworks (lw:environment-variable (string var))
+  #+lucid (lcl:environment-variable (string var))
+  #+mcl (ccl::getenv var)
+  #+sbcl (sb-posix:getenv (string var))
+  #-(or allegro clisp cmu gcl lispworks lucid mcl sbcl scl)
+  (error 'not-implemented :proc (list 'getenv var)))
+
+
+(defun (setf getenv) (val var)
+  "Set an environment variable."
+  #+allegro (setf (sys::getenv (string var)) (string val))
+  #+clisp (setf (ext:getenv (string var)) (string val))
+  #+(or cmu scl)
+  (let ((cell (assoc (string var) ext:*environment-list* :test #'equalp
+							 :key #'string)))
+    (if cell
+        (setf (cdr cell) (string val))
+        (push (cons (intern (string var) "KEYWORD") (string val))
+              ext:*environment-list*)))
+  #+gcl (si:setenv (string var) (string val))
+  #+lispworks (setf (lw:environment-variable (string var)) (string val))
+  #+lucid (setf (lcl:environment-variable (string var)) (string val))
+  #+sbcl (sb-posix:putenv (format nil "~A=~A" (string var) (string val)))
+  #-(or allegro clisp cmu gcl lispworks lucid sbcl scl)
+  (error 'not-implemented :proc (list '(setf getenv) var)))
+
+
+
+
+
+
+
+(defun uquit ()
+  #+(or clisp cmu) (ext:quit)
+  #+sbcl (sb-ext:quit)
+  #+ecl (si:quit)
+  #+gcl (lisp:quit)
+  #+lispworks (lw:quit)
+  #+(or allegro-cl allegro-cl-trial) (excl:exit))
+  
+  
+
+
+(defun remove-plist (plist &rest keys)
+  "Remove the keys from the plist.
+Useful for re-using the &REST arg after removing some options."
+  (do (copy rest)
+      ((null (setq rest (nth-value 2 (get-properties plist keys))))
+       (nreconc copy plist))
+    (do () ((eq plist rest))
+      (push (pop plist) copy)
+      (push (pop plist) copy))
+    (setq plist (cddr plist))))
+
+
+
+
+(defun urun-prog (prog &rest opts &key args (wait t) &allow-other-keys)
+  "Common interface to shell. Does not return anything useful."
+  #+gcl (declare (ignore wait))
+  (setq opts (remove-plist opts :args :wait))
+  #+allegro (apply #'excl:run-shell-command (apply #'vector prog prog args)
+                   :wait wait opts)
+  #+(and clisp      lisp=cl)
+  (apply #'ext:run-program prog :arguments args :wait wait opts)
+  #+(and clisp (not lisp=cl))
+  (if wait
+      (apply #'lisp:run-program prog :arguments args opts)
+      (lisp:shell (format nil "~a~{ '~a'~} &" prog args)))
+  #+cmu (apply #'ext:run-program prog args :wait wait :output *standard-output* opts)
+  #+gcl (apply #'si:run-process prog args)
+  #+liquid (apply #'lcl:run-program prog args)
+  #+lispworks (apply #'sys::call-system-showing-output
+                     (format nil "~a~{ '~a'~}~@[ &~]" prog args (not wait))
+                     opts)
+  #+lucid (apply #'lcl:run-program prog :wait wait :arguments args opts)
+  #+sbcl (apply #'sb-ext:run-program prog args :wait wait :output *standard-output* opts)
+  #-(or allegro clisp cmu gcl liquid lispworks lucid sbcl)
+  (error 'not-implemented :proc (list 'run-prog prog opts)))
+
+
+;;(defparameter *shell-cmd* "/usr/bin/env")
+;;(defparameter *shell-cmd-opt* nil)
+
+#+UNIX (defparameter *shell-cmd* "/bin/sh")
+#+UNIX (defparameter *shell-cmd-opt* '("-c"))
+
+#+WIN32 (defparameter *shell-cmd* "cmd.exe")
+#+WIN32 (defparameter *shell-cmd-opt* '("/C"))
+
+
+(defun ushell (&rest strings)
+  (urun-prog *shell-cmd* :args (append *shell-cmd-opt* strings)))
+
+(defun ush (string)
+  (urun-prog *shell-cmd* :args (append *shell-cmd-opt* (list string))))
+
+
+(defun set-shell-dispatch (&optional (shell-fun 'ushell))
+  (labels ((|shell-reader| (stream subchar arg)
+	     (declare (ignore subchar arg))
+	     (list shell-fun (read stream t nil t))))
+    (set-dispatch-macro-character #\# #\# #'|shell-reader|)))
+
+
+(defun ushell-loop (&optional (shell-fun #'ushell))
+  (loop
+     (format t "UNI-SHELL> ")
+     (let* ((line (read-line)))
+       (cond ((zerop (or (search "quit" line) -1)) (return))
+	     ((zerop (or (position #\! line) -1))
+	      (funcall shell-fun (subseq line 1)))
+	     (t (format t "~{~A~^ ;~%~}~%"
+			(multiple-value-list 
+			 (ignore-errors (eval (read-from-string line))))))))))
+
+
+
+
+
+
+(defun cldebug (&rest rest)
+  (princ "DEBUG: ")
+  (dolist (i rest)
+    (princ i))
+  (terpri))
+
+
+(defun get-command-line-words ()
+  #+CLISP ext:*args*
+  #+CMU (nthcdr 3 extensions:*command-line-strings*)
+  #+SBCL sb-ext:*posix-argv*)
+
+
+
+(defun string-to-list (str &key (split-char #\space))
+  (do* ((start 0 (1+ index))
+	(index (position split-char str :start start)
+	       (position split-char str :start start))
+	(accum nil))
+       ((null index)
+	(unless (string= (subseq str start) "")
+	  (push (subseq str start) accum))
+	(nreverse accum))
+    (when (/= start index)
+      (push (subseq str start index) accum))))
+
+
+(defun near-position (chars str &key (start 0))
+  (do* ((char chars (cdr char))
+	(pos (position (car char) str :start start)
+	     (position (car char) str :start start))
+	(ret (when pos pos)
+	     (if pos
+		 (if ret
+		     (if (< pos ret)
+			 pos
+			 ret)
+		     pos)
+		 ret)))
+       ((null char) ret)))
+
+  
+;;;(defun near-position2 (chars str &key (start 0))
+;;;  (loop for i in chars
+;;;	minimize (position i str :start start)))
+
+;;(format t "~S~%" (near-position '(#\! #\. #\Space #\;) "klmsqk ppii;dsdsqkl.jldfksj lkm" :start 0))
+;;(format t "~S~%" (near-position '(#\Space) "klmsqk ppii;dsdsqkl.jldfksj lkm" :start 0))
+;;(format t "~S~%" (near-position '(#\; #\l #\m) "klmsqk ppii;dsdsqkl.jldfksj lkm" :start 0))
+;;(format t "result=~S~%" (string-to-list-multichar "klmsqk ppii;dsdsqkl.jldfksj lkm" :preserve t))
+;;(format t "result=~S~%" (string-to-list-multichar "klmsqk ppii;dsd!sqkl.jldfksj lkm"
+;;						  :split-chars '(#\k  #\! #\. #\; #\m)
+;;						  :preserve nil))
+
+
+(defun string-to-list-multichar (str &key (split-chars '(#\space)) (preserve nil))
+  (do* ((start 0 (1+ index))
+	(index (near-position split-chars str :start start)
+	       (near-position split-chars str :start start))
+	(accum nil))
+       ((null index)
+	(unless (string= (subseq str start) "")
+	  (push (subseq str start) accum))
+	(nreverse accum))
+    (let ((retstr (subseq str start (if preserve (1+ index) index))))
+      (unless (string= retstr "")
+	(push retstr accum)))))
+
+
+
+
+
+(defun list-to-string (lst)
+  (string-trim " () " (format nil "~A" lst)))
+
+
+
+(defun clean-string (string)
+  "Remove Newline and upcase string"
+  (string-upcase
+   (string-right-trim '(#\Newline) string)))
+
+(defun one-in-list (lst)
+  (nth (random (length lst)) lst))
+
+(defun exchange-one-in-list (lst1 lst2)
+  (let ((elem1 (one-in-list lst1))
+	(elem2 (one-in-list lst2)))
+    (setf lst1 (append (remove elem1 lst1) (list elem2)))
+    (setf lst2 (append (remove elem2 lst2) (list elem1)))
+    (values lst1 lst2)))
+
+
+(defun rotate-list (list)
+  (when list
+    (append (cdr list) (list (car list)))))
+
+(defun anti-rotate-list (list)
+  (when list
+    (append (last list) (butlast list))))
+
+
+(defun append-formated-list (base-str
+			     lst 
+			     &key (test-not-fun #'(lambda (x) x nil))
+			     (print-fun #'(lambda (x) x))
+			     (default-str ""))
+  (let ((str base-str) (first t))
+    (dolist (i lst)
+      (cond ((funcall test-not-fun i) nil)
+	    (t (setq str 
+		     (concatenate 'string str
+				  (if first "" ", ")
+				  (format nil "~A"
+					  (funcall print-fun i))))
+	       (setq first nil))))
+    (if (string= base-str str)
+	(concatenate 'string str default-str) str)))
+
+
+(defun shuffle-list (list &key (time 1))
+  "Shuffle a list by swapping elements time times"
+  (let ((result (copy-list list))
+	(ind1 0) (ind2 0) (swap 0))
+    (dotimes (i time)
+      (setf ind1 (random (length result)))
+      (setf ind2 (random (length result)))
+
+      (setf swap (nth ind1 result))
+      (setf (nth ind1 result) (nth ind2 result))
+      (setf (nth ind2 result) swap))
+    result))
+
+
+
+(defun convert-to-number (str)
+  (cond ((stringp str) (parse-integer str :junk-allowed t))
+	((numberp str) str)))
+
+(defun parse-integer-in-list (lst)
+  "Convert all integer string in lst to integer"
+  (mapcar #'(lambda (x) (convert-to-number x)) lst))
+
+
+
+(defun next-in-list (item lst)
+  (do ((x lst (cdr x)))
+      ((null x))
+    (when (equal item (car x))
+      (return (if (cadr x) (cadr x) (car lst))))))
+
+(defun prev-in-list (item lst)
+  (next-in-list item (reverse lst)))
+
+
+;;(defun transfert-stream (in out length &key (bufsize 4096))
+;;;;  (ignore-errors
+;;    (do* ((data (make-array bufsize
+;;			    :element-type (stream-element-type in)))
+;;	  (len 0 (read-sequence data in
+;;				:start 0
+;;				:end (if (> (+ wlen bufsize) length)
+;;					 (- length wlen)
+;;				       bufsize)))
+;;	  (wlen 0 (+ wlen len)))
+;;	((>= wlen length) (write-sequence data out :start 0 :end len))
+;;      (write-sequence data out :start 0 :end len)));)
+;;
+;;
+;;
+;;
+;;
+;;(defun my-copy-file (in-name out-name)
+;;  (with-open-file
+;;   (in in-name :direction :input :element-type '(unsigned-byte 8))
+;;   (with-open-file
+;;    (out out-name :direction :output
+;;	 :if-exists :supersede
+;;	 :element-type '(unsigned-byte 8))
+;;    (transfert-stream in out (file-length in)))))
+
+
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;                                                                  ;;
+;;     Find String part.                                            ;;
+;;                                                                  ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun find-string (substr str &key (start 0) (end nil)
+		    (test nil) (ignore-case nil))
+  "Find substr in str. Return begin and end of substr in str as two values.
+Start and end set the findinq region. Ignore-case make find-string case
+insensitive.
+Test (if needed) must be a function which take str pos1 pos2 and must return
+new positions of the substr in str as two values"
+  (when (and end (>= start end))
+    (return-from find-string nil))
+  (let ((pos1 (- start 1))
+	(pos2 nil)
+	(len (length substr)))
+    (when ignore-case
+      (setq str (string-upcase str)
+	    substr (string-upcase substr)))
+    (do ((done nil))
+	(done (if (functionp test)
+		  (funcall test str pos1 pos2)
+		  (values pos1 pos2)))
+      (setq pos1 (position (aref substr 0) str :start (+ pos1 1) :end end))
+      (unless pos1
+	(return-from find-string nil))
+      (setq pos2 (string>= str substr :start1 pos1 :end1 end))
+      (when (and pos2 (= (- pos2 pos1) len))
+	(setq done t)))))
+
+
+
+(defun find-all-strings (substr str &key (start 0) (end nil)
+			 (test nil) (ignore-case nil))
+  "Find all substr in str. Parameters are the same as find-string.
+Return a list with all begin and end positions of substr in str
+ie: '((pos1.1 pos1.2) (pos2.1 pos2.2))..."
+  (do ((pos (multiple-value-list
+	     (find-string substr str :start start :end end
+						  :test test :ignore-case ignore-case))
+	    (multiple-value-list
+	     (find-string substr str :start (second pos) :end end
+							 :test test :ignore-case ignore-case)))
+       (accum nil))
+      ((equal pos '(nil)) (nreverse accum))
+    (push pos accum)))
+
+
+
+(defun subst-strings (new substr str &key (start 0) (end nil)
+		      (test nil) (ignore-case nil))
+  "Substitute all substr strings in str with new.
+New must be a string or a function witch takes str pos1 pos2
+as parameters and return a string to replace substr"
+  (let ((outstr (subseq str 0 start))
+	(pos1 start)
+	(pos2 0)
+	(newpos 0))
+    (unless end
+      (setq end (length str)))
+    (do ((done nil))
+	(done outstr)
+      (multiple-value-setq
+	  (pos2 newpos)
+	(find-string substr str :start pos1 :end end
+		     :test test :ignore-case ignore-case))
+      (if pos2
+	  (progn
+	    (setq outstr (concatenate 'string
+				      outstr
+				      (subseq str pos1 pos2)
+				      (if (functionp new)
+					  (funcall new str pos2 newpos)
+					  new)))
+	    (setq pos1 (if (and newpos (<= newpos end))
+			   newpos
+			   end)))
+	  (progn
+	    (setq outstr (concatenate 'string
+				      outstr (subseq str pos1)))
+	    (setq done t))))))
+
+
+
+(defun my-find-string-test (str pos1 pos2)
+  (multiple-value-bind
+	(npos1 npos2)
+      (find-string "=>" str :start pos2)
+    (declare (ignore npos1))
+    (values pos1 npos2)))
+
+
+(defun test-find-string ()
+  (let ((count 0)
+	(str "bla bla foo <= plop gloup => foo
+baz bar <=klm poi => boo <=plop=> faz
+lab totrs <= plip =>"))
+
+    (format t "Original:~%~A~2%" str)
+    (format t "[1] Simple find on '<=': ~A~%"
+	    (multiple-value-list
+	     (find-string "<=" str)))
+    (format t "[2] Find with start=15/end=50: ~A~%"
+	    (multiple-value-list
+	     (find-string "<=" str :start 15 :end 50)))
+
+    (format t "[3] Find with test (ie '<=.*=>'): ~A~%"
+	    (multiple-value-bind
+		  (pos1 pos2)
+		(find-string "<=" str :test #'my-find-string-test)
+	      (subseq str pos1 pos2)))
+
+    (format t "[4] Find all strings: ~A~%"
+	    (find-all-strings "<=" str))
+
+    (format t "[5] Find all strings:~%")
+    (dolist (pos (find-all-strings "<=" str))
+      (format t "Found: ~A~%"
+	      (subseq str (car pos) (second pos))))
+
+    (format t "[6] Find all strings with test:~%")
+    (dolist (pos (find-all-strings "<=" str :test #'my-find-string-test))
+      (format t "Found: ~A~%" (subseq str (car pos) (second pos))))
+
+    (format t "[7] Modifie '<=.*=>' with TOTO:~%~A"
+	    (subst-strings "TOTO" "<=" str
+			   :test #'my-find-string-test))
+    (format t "~%")
+    (format t "[8] Modifie '<=.*=>' with a complex expression:~%~A~%"
+	    (subst-strings
+	     #'(lambda (str pos1 pos2)
+		 (let ((repl (string-trim " "
+					  (subseq str (+ pos1 2) (- pos2 2)))))
+		   (format nil "<=~A:~A (~A)=>"
+			   (incf count)
+			   repl
+			   (reverse repl))))
+	     "<=" str
+	     :test #'(lambda (str pos1 pos2)
+		       (multiple-value-bind
+			     (npos1 npos2)
+			   (find-string "=>" str :start pos2)
+			 (declare (ignore npos1))
+			 (values pos1 npos2)))))))
+
+

Added: xlib-util.fas
==============================================================================
--- (empty file)
+++ xlib-util.fas	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,576 @@
+(|SYSTEM|::|VERSION| '(20060802.))
+#0Y |CHARSET|::|UTF-8|
+#Y(#:|1 28 (IN-PACKAGE :CLFSWM)-1|
+   #17Y(00 00 00 00 00 00 00 00 00 01 DA 31 E6 0F 01 19 01)
+   ("CLFSWM" |COMMON-LISP|::|*PACKAGE*|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|31 32 (DEFCONSTANT +WITHDRAWN-STATE+ 0)-2|
+   #34Y(00 00 00 00 00 00 00 00 00 01 DA 38 01 8D 5E 0B DB DA 71 4E 8E 03 04 DA
+        DC 30 03 DA DB 32 84 C5 19 01)
+   (|CLFSWM|::|+WITHDRAWN-STATE+| 0.
+    (|COMMON-LISP|::|DEFCONSTANT| |CLFSWM|::|+WITHDRAWN-STATE+| 0.)
+    |SYSTEM|::|CONSTANT-WARNING|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|33 33 (DEFCONSTANT +NORMAL-STATE+ 1)-3|
+   #34Y(00 00 00 00 00 00 00 00 00 01 DA 38 01 8D 5E 0B DB DA 71 4E 8E 03 04 DA
+        DC 30 03 DA DB 32 84 C5 19 01)
+   (|CLFSWM|::|+NORMAL-STATE+| 1.
+    (|COMMON-LISP|::|DEFCONSTANT| |CLFSWM|::|+NORMAL-STATE+| 1.)
+    |SYSTEM|::|CONSTANT-WARNING|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|34 34 (DEFCONSTANT +ICONIC-STATE+ 3)-4|
+   #34Y(00 00 00 00 00 00 00 00 00 01 DA 38 01 8D 5E 0B DB DA 71 4E 8E 03 04 DA
+        DC 30 03 DA DB 32 84 C5 19 01)
+   (|CLFSWM|::|+ICONIC-STATE+| 3.
+    (|COMMON-LISP|::|DEFCONSTANT| |CLFSWM|::|+ICONIC-STATE+| 3.)
+    |SYSTEM|::|CONSTANT-WARNING|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|37 45 (DEFPARAMETER *WINDOW-EVENTS* '(:STRUCTURE-NOTIFY :PROPERTY-CHANGE :COLORMAP-CHANGE ...) ...)-5|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 DB DD DE 2D 03 05 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*WINDOW-EVENTS*|)
+    |CLFSWM|::|*WINDOW-EVENTS*|
+    (:|STRUCTURE-NOTIFY| :|PROPERTY-CHANGE| :|COLORMAP-CHANGE| :|FOCUS-CHANGE|
+     :|ENTER-WINDOW| :|EXPOSURE|)
+    |COMMON-LISP|::|VARIABLE| "The events to listen for on managed windows."
+    |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|48 57 (DEFPARAMETER +NETWM-SUPPORTED+ '(:_NET_SUPPORTING_WM_CHECK :_NET_NUMBER_OF_DESKTOPS :_NET_DESKTOP_GEOMETRY ...) ...)-6|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 DB DD DE 2D 03 05 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|+NETWM-SUPPORTED+|)
+    |CLFSWM|::|+NETWM-SUPPORTED+|
+    (:|_NET_SUPPORTING_WM_CHECK| :|_NET_NUMBER_OF_DESKTOPS|
+     :|_NET_DESKTOP_GEOMETRY| :|_NET_DESKTOP_VIEWPORT| :|_NET_CURRENT_DESKTOP|
+     :|_NET_WM_WINDOW_TYPE| :|_NET_CLIENT_LIST|)
+    |COMMON-LISP|::|VARIABLE|
+    "Supported NETWM properties.
+Window types are in +WINDOW-TYPES+."
+    |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|59 68 (DEFPARAMETER +NETWM-WINDOW-TYPES+ '(# # # ...) ...)-7|
+   #26Y(00 00 00 00 00 00 00 00 00 01 DA 31 5A DB DC 31 52 DB DD DE 2D 03 05 C6
+        19 01)
+   ((|COMMON-LISP|::|SPECIAL| |CLFSWM|::|+NETWM-WINDOW-TYPES+|)
+    |CLFSWM|::|+NETWM-WINDOW-TYPES+|
+    ((:|_NET_WM_WINDOW_TYPE_DESKTOP| . :|DESKTOP|)
+     (:|_NET_WM_WINDOW_TYPE_DOCK| . :|DOCK|)
+     (:|_NET_WM_WINDOW_TYPE_TOOLBAR| . :|TOOLBAR|)
+     (:|_NET_WM_WINDOW_TYPE_MENU| . :|MENU|)
+     (:|_NET_WM_WINDOW_TYPE_UTILITY| . :|UTILITY|)
+     (:|_NET_WM_WINDOW_TYPE_SPLASH| . :|SPLASH|)
+     (:|_NET_WM_WINDOW_TYPE_DIALOG| . :|DIALOG|)
+     (:|_NET_WM_WINDOW_TYPE_NORMAL| . :|NORMAL|))
+    |COMMON-LISP|::|VARIABLE| "Alist mapping NETWM window types to keywords."
+    |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|71 77 (DEFMACRO WITH-XLIB-PROTECT (&BODY BODY) ...)-8|
+   #22Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 6F 03 32 83 C5 19 01)
+   (|CLFSWM|::|WITH-XLIB-PROTECT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WITH-XLIB-PROTECT|
+       #30Y(00 00 00 00 02 00 00 00 00 03 AE 89 00 0B 95 02 DC DD 9F 7A C9 5D
+            5D 19 04 AE 2F 01 19 03)
+       (|EXT|::|PROPER-LIST-P| |SYSTEM|::|MACRO-CALL-ERROR|
+        |COMMON-LISP|::|HANDLER-CASE| |COMMON-LISP|::|PROGN|
+        (((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+           |XLIB|::|DRAWABLE-ERROR|)
+          (|CLFSWM|::|C|)
+          (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |CLFSWM|::|C|)))))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+    |SYSTEM|::|MAKE-MACRO|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|81 88 (DEFUN PARSE-DISPLAY-STRING (DISPLAY) ...)-9|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|PARSE-DISPLAY-STRING| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|PARSE-DISPLAY-STRING|
+       #49Y(00 00 00 00 01 00 00 00 06 02 DA AE 38 06 72 60 AE DB AE 72 46 AF
+            96 02 38 01 72 46 DC AD 38 06 72 60 AD DB AE 72 46 38 04 71 81 AF
+            AD 40 02 19 07)
+       (#\: 0. #\.) (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|DISPLAY|)
+       "Parse an X11 DISPLAY string and return the host and display from it."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|91 95 (DEFUN BANISH-POINTER NIL ...)-10|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|BANISH-POINTER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|BANISH-POINTER|
+       #37Y(00 00 00 00 00 00 00 00 06 01 6B 00 6B 01 DC AD DD 81 2F 00 72 98
+            6B 01 DC AD DE 81 2F 00 72 98 2D 03 05 19 01)
+       (|CLFSWM|::|*ROOT*| |CLFSWM|::|*SCREEN*| |XLIB|::|SCREEN| 2. 3.
+        |XLIB|::|WARP-POINTER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Move the pointer to the lower right corner of the screen"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|101 103 (DEFUN WINDOW-STATE (WIN) ...)-11|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|WINDOW-STATE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WINDOW-STATE|
+       #17Y(00 00 00 00 01 00 00 00 06 02 AD DA 30 01 5B 19 02)
+       (:|WM_STATE| |XLIB|::|GET-PROPERTY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WIN|)
+       "Get the state (iconic, normal, withdraw of a window."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|106 112 (DEFUN SET-WINDOW-STATE (WIN STATE) ...)-12|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SET-WINDOW-STATE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SET-WINDOW-STATE|
+       #22Y(00 00 00 00 02 00 00 00 06 03 AE DA AF 7B 01 DA DB 2D 05 02 19 03)
+       (:|WM_STATE| 32. |XLIB|::|CHANGE-PROPERTY|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WIN| |CLFSWM|::|STATE|)
+       "Set the state (iconic, normal, withdrawn) of a window."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|114 114 (DEFSETF WINDOW-STATE SET-WINDOW-STATE)-13|
+   #42Y(00 00 00 00 00 00 00 00 00 01 DA DB 32 8A DA DC DA DD 38 01 8F 85 01 C8
+        14 2D 03 04 DA DD DF 32 89 DA E0 63 2D 03 07 C5 19 01)
+   (|CLFSWM|::|WINDOW-STATE| |SYSTEM|::|DEFSTRUCT-WRITER|
+    |COMMON-LISP|::|DEFSETF| |SYSTEM|::|SETF-EXPANDER|
+    |SYSTEM|::|CHECK-REDEFINITION| |CLFSWM|::|SET-WINDOW-STATE|
+    |COMMON-LISP|::|SETF| |SYSTEM|::|%SET-DOCUMENTATION|)
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|118 119 (DEFUN WINDOW-HIDDEN-P (WINDOW) ...)-14|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|WINDOW-HIDDEN-P| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WINDOW-HIDDEN-P|
+       #17Y(00 00 00 00 01 00 00 00 06 02 AD 6F 00 C6 5A 19 02)
+       (|CLFSWM|::|WINDOW-STATE| #.|CLFSWM|::|+ICONIC-STATE+|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|123 128 (DEFUN UNHIDE-WINDOW (WINDOW) ...)-15|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|UNHIDE-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNHIDE-WINDOW|
+       #68Y(02 00 01 00 01 00 00 00 06 02 00 2B 01 7F 02 00 00 1F 2F 9D 2B 01
+            00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03 B0 36 00 16
+            06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19 02 00 4D 19 04
+            19 03)
+       (#(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|UNHIDE-WINDOW-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|UNHIDE-WINDOW-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|UNHIDE-WINDOW-2|
+           #37Y(00 00 00 00 00 00 00 00 06 01 69 01 01 2F 01 69 01 01 DC 30 03
+                69 01 01 6B 04 AD DF AE 6F 06 2D 03 07 15 19 02)
+           (|COMMON-LISP|::|NIL| |XLIB|::|MAP-WINDOW|
+            #.|CLFSWM|::|+NORMAL-STATE+| |CLFSWM|::|SET-WINDOW-STATE|
+            |CLFSWM|::|*WINDOW-EVENTS*| 11. |XLIB|::|ENCODE-EVENT-MASK|
+            |XLIB|::|CHANGE-WINDOW-ATTRIBUTE|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           37.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|143 250 (DEFUN HIDE-WINDOW (WINDOW) ...)-16|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|HIDE-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|HIDE-WINDOW|
+       #68Y(02 00 01 00 01 00 00 00 06 02 00 2B 01 7F 02 00 00 1F 2F 9D 2B 01
+            00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03 B0 36 00 16
+            06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19 02 00 4D 19 04
+            19 03)
+       (#(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|HIDE-WINDOW-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|HIDE-WINDOW-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|HIDE-WINDOW-2|
+           #57Y(00 00 00 00 00 00 00 00 06 01 69 01 01 DB 30 02 69 01 01 DD 6B
+                04 38 07 72 4F AD DF AE 6F 06 2D 03 07 16 02 69 01 01 2F 08 69
+                01 01 6B 04 AD DF AE 6F 06 2D 03 07 15 19 02)
+           (|COMMON-LISP|::|NIL| #.|CLFSWM|::|+ICONIC-STATE+|
+            |CLFSWM|::|SET-WINDOW-STATE| :|STRUCTURE-NOTIFY|
+            |CLFSWM|::|*WINDOW-EVENTS*| 11. |XLIB|::|ENCODE-EVENT-MASK|
+            |XLIB|::|CHANGE-WINDOW-ATTRIBUTE| |XLIB|::|UNMAP-WINDOW|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           37.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|254 270 (DEFUN WINDOW-TYPE (WINDOW) ...)-17|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|WINDOW-TYPE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WINDOW-TYPE|
+       #127Y(00 00 00 00 01 00 00 00 06 02 AD 6F 00 93 00 12 DB AD DC 8E 2F 0C
+             DB AD DD 8E 2F 06 DB AD DE 8F 2F 19 16 01 1C 1E AD E1 70 08 92 00
+             1A 16 01 1E 80 4B AD E6 8A 08 80 42 D3 19 02 DB AD DF 32 2F 16 01
+             1D 62 CB 19 02 14 63 1B 23 6B 09 AD 70 0A 6B 0B 38 03 31 BD 5C 16
+             03 1E 22 1B 55 87 01 00 6B 09 AD 70 0A 6B 0B 38 03 8C BD 5F 83 01
+             AD 8D 94 6B 00 16 03 1E 06 1B FF B8 D2 19 02 19 02)
+       (|XLIB|::|WM-NORMAL-HINTS| |XLIB|::|WM-SIZE-HINTS| 9. 10. 13. 14.
+        :|MAXSIZE| :|_NET_WM_WINDOW_TYPE| |XLIB|::|GET-PROPERTY|
+        |CLFSWM|::|*DISPLAY*| |XLIB|::|ATOM-NAME|
+        |CLFSWM|::|+NETWM-WINDOW-TYPES+| :|WM_TRANSIENT_FOR| :|TRANSIENT|
+        :|NORMAL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|)
+       "Return one of :desktop, :dock, :toolbar, :utility, :splash,
+:dialog, :transient, :maxsize and :normal."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|276 290 (DEFUN SEND-CONFIGURATION-NOTIFY (WINDOW) ...)-18|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SEND-CONFIGURATION-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SEND-CONFIGURATION-NOTIFY|
+       #55Y(00 00 00 00 01 00 00 00 06 02 AD DA DA B0 6F 01 2D 04 02 42 02 AF
+            DD DE 6F 05 E0 B3 E1 B5 E2 B5 E3 B6 E4 63 E5 BD 6F 0C E7 BF 6F 0E
+            E9 C1 6F 10 EB 63 2D 15 12 19 04)
+       (0. |XLIB|::|DRAWABLE-ROOT| |XLIB|::|TRANSLATE-COORDINATES|
+        :|CONFIGURE-NOTIFY| :|STRUCTURE-NOTIFY| |XLIB|::|MAKE-EVENT-MASK|
+        :|EVENT-WINDOW| :|WINDOW| :|X| :|Y| :|OVERRIDE-REDIRECT-P|
+        :|BORDER-WIDTH| |XLIB|::|DRAWABLE-BORDER-WIDTH| :|WIDTH|
+        |XLIB|::|DRAWABLE-WIDTH| :|HEIGHT| |XLIB|::|DRAWABLE-HEIGHT|
+        :|PROPAGATE-P| |XLIB|::|SEND-EVENT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|)
+       "Send a synthetic configure notify event to the given window (ICCCM 4.1.5)"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|293 300 (DEFUN SEND-CLIENT-MESSAGE (WINDOW TYPE &REST ...) ...)-19|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|SEND-CLIENT-MESSAGE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|SEND-CLIENT-MESSAGE|
+       #26Y(00 00 00 00 02 00 00 00 07 18 AF DA 63 DB B3 DC B4 DD DE DF B7 2D
+            0B 06 19 04)
+       (:|CLIENT-MESSAGE| :|WINDOW| :|TYPE| :|FORMAT| 32. :|DATA|
+        |XLIB|::|SEND-EVENT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW| |COMMON-LISP|::|TYPE| |COMMON-LISP|::|&REST|
+        |CLFSWM|::|DATA|)
+       "Send a client message to a client's window."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|306 312 (DEFUN RAISE-WINDOW (WINDOW) ...)-20|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|RAISE-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|RAISE-WINDOW|
+       #68Y(02 00 01 00 01 00 00 00 06 02 00 2B 01 7F 02 00 00 1F 2F 9D 2B 01
+            00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03 B0 36 00 16
+            06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19 02 00 4D 19 04
+            19 03)
+       (#(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|RAISE-WINDOW-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|RAISE-WINDOW-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|RAISE-WINDOW-2|
+           #32Y(00 00 00 00 00 00 00 00 06 01 69 01 01 89 01 05 69 01 01 2F 02
+                69 01 01 DD AD 63 2D 03 04 19 02)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|WINDOW-HIDDEN-P|
+            |CLFSWM|::|UNHIDE-WINDOW| :|TOP-IF| |XLIB|::|SET-WINDOW-PRIORITY|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           37.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|)
+       "Map the window if needed and bring it to the top of the stack. Does not affect focus."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|314 319 (DEFUN FOCUS-WINDOW (WINDOW) ...)-21|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|FOCUS-WINDOW| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|FOCUS-WINDOW|
+       #68Y(02 00 01 00 01 00 00 00 06 02 00 2B 01 7F 02 00 00 1F 2F 9D 2B 01
+            00 0B 00 00 4B 00 21 B0 AF 6D 01 02 B1 6D 02 01 57 03 B0 36 00 16
+            06 1B 10 58 67 00 00 01 76 00 AD 36 01 18 02 01 19 02 00 4D 19 04
+            19 03)
+       (#(|COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|FOCUS-WINDOW-1|
+           #18Y(00 00 00 00 00 00 00 00 06 01 2A 14 DB 2C 02 02 19 01)
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|
+            #Y(|CLFSWM|::|FOCUS-WINDOW-1-1|
+               #17Y(00 00 00 00 01 00 00 00 06 02 9E 0C 00 01 4E 01 00)
+               (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|)
+               (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+               (|COMMON-LISP|::|CONDITION|) |COMMON-LISP|::|NIL|))
+           (|COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+           |COMMON-LISP|::|NIL|)
+        #Y(|CLFSWM|::|FOCUS-WINDOW-2|
+           #26Y(00 00 00 00 00 00 00 00 06 01 69 01 01 2F 01 6B 02 69 01 01 DD
+                2D 03 04 19 01)
+           (|COMMON-LISP|::|NIL| |CLFSWM|::|RAISE-WINDOW| |CLFSWM|::|*DISPLAY*|
+            :|PARENT| |XLIB|::|SET-INPUT-FOCUS|)
+           (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+           |COMMON-LISP|::|NIL|)
+        (#((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+            |XLIB|::|DRAWABLE-ERROR|)
+           37.)
+         1. . 1.))
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) "Give the window focus."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|320 329 (DEFUN NO-FOCUS NIL ...)-22|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|NO-FOCUS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|NO-FOCUS|
+       #20Y(00 00 00 00 00 00 00 00 06 01 6B 00 6B 01 DC 2D 03 03 19 01)
+       (|CLFSWM|::|*DISPLAY*| |CLFSWM|::|*NO-FOCUS-WINDOW*| :|POINTER-ROOT|
+        |XLIB|::|SET-INPUT-FOCUS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "don't focus any window but still read keyboard events."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|334 372 (LET (# # #) (LABELS # # ...))-23|
+   #76Y(00 00 00 00 00 00 00 00 00 01 00 2B 03 00 0B 00 00 0B 00 01 0B 00 02 9D
+        2B 01 AC 2C 00 01 0B 00 00 DB 2F 02 DB AD 6D 03 01 32 83 DE 2F 02 DE AD
+        6D 05 01 32 83 E0 2F 02 E0 AD 6D 07 01 32 83 E2 2F 02 E2 AD 6D 09 01 32
+        83 CD 19 03)
+   (#Y(|CLFSWM|::|FREE-GRAB-POINTER|
+       #45Y(00 00 00 00 00 00 00 00 06 01 07 01 02 1C 0E 07 01 01 1F 17 14 2F
+            02 00 0C 01 01 19 01 14 2F 01 00 0C 01 02 07 01 01 1F 02 1B 69 19
+            01)
+       (|COMMON-LISP|::|NIL| |XLIB|::|FREE-CURSOR| |XLIB|::|CLOSE-FONT|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|)
+    |CLFSWM|::|XGRAB-INIT-POINTER| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|XGRAB-INIT-POINTER|
+       #16Y(00 00 00 00 00 00 00 00 06 01 00 0C 01 03 19 01)
+       (|COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|)
+    |CLFSWM|::|XGRAB-POINTER-P|
+    #Y(|CLFSWM|::|XGRAB-POINTER-P|
+       #15Y(00 00 00 00 00 00 00 00 06 01 07 01 03 19 01)
+       (|COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+       |COMMON-LISP|::|NIL|)
+    |CLFSWM|::|XGRAB-POINTER|
+    #Y(|CLFSWM|::|XGRAB-POINTER|
+       #90Y(00 00 00 00 03 00 02 00 06 0F 3B 02 02 C6 FA 3D 01 07 00 01 34 02
+            0C 01 03 DC DD DE DD DF DD 6E 06 06 DC E1 DE E1 DF E1 6E 06 06 6B
+            08 E3 30 0A 0C 01 01 E5 69 01 01 E6 B5 E7 69 01 01 E8 B8 E9 B5 EA
+            B8 2D 0C 11 0C 01 02 B3 B1 EC B2 ED 63 EE 63 EF 69 01 02 2D 0A 16
+            19 08)
+       (|COMMON-LISP|::|NIL|
+        #1=(:|ENTER-WINDOW| :|POINTER-MOTION| :|BUTTON-PRESS|
+            :|BUTTON-RELEASE|)
+        :|RED| 1.0f0 :|GREEN| :|BLUE| |XLIB|::|MAKE-COLOR| 0.0f0
+        |CLFSWM|::|*DISPLAY*| "cursor" |XLIB|::|OPEN-FONT| :|SOURCE-FONT|
+        :|SOURCE-CHAR| :|MASK-FONT| :|MASK-CHAR| :|FOREGROUND| :|BACKGROUND|
+        |XLIB|::|CREATE-GLYPH-CURSOR| :|OWNER-P| :|SYNC-KEYBOARD-P|
+        :|SYNC-POINTER-P| :|CURSOR| |XLIB|::|GRAB-POINTER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT| |CLFSWM|::|CURSOR-CHAR| |CLFSWM|::|CURSOR-MASK-CHAR|
+        |COMMON-LISP|::|&OPTIONAL| (|CLFSWM|::|POINTER-MASK| '#1#)
+        |CLFSWM|::|OWNER-P|)
+       "Grab the pointer and set the pointer shape.")
+    |CLFSWM|::|XUNGRAB-POINTER|
+    #Y(|CLFSWM|::|XUNGRAB-POINTER|
+       #24Y(00 00 00 00 00 00 00 00 06 01 00 0C 01 03 6B 01 2F 02 07 00 01 34
+            19 01)
+       (|COMMON-LISP|::|NIL| |CLFSWM|::|*DISPLAY*| |XLIB|::|UNGRAB-POINTER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       "Remove the grab on the cursor and restore the cursor shape."))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|375 388 (LET (#) (DEFUN XGRAB-INIT-KEYBOARD NIL ...) ...)-24|
+   #60Y(00 00 00 00 00 00 00 00 00 01 00 2B 01 00 0B 00 00 DA 2F 01 DA AD 6D 02
+        01 32 83 DD 2F 01 DD AD 6D 04 01 32 83 DF 2F 01 DF AD 6D 06 01 32 83 E1
+        2F 01 E1 AD 6D 08 01 32 83 CC 19 02)
+   (|CLFSWM|::|XGRAB-INIT-KEYBOARD| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|XGRAB-INIT-KEYBOARD|
+       #16Y(00 00 00 00 00 00 00 00 06 01 00 0C 00 01 19 01)
+       (|COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|NIL| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|)
+    |CLFSWM|::|XGRAB-KEYBOARD-P|
+    #Y(|CLFSWM|::|XGRAB-KEYBOARD-P|
+       #15Y(00 00 00 00 00 00 00 00 06 01 07 00 01 19 01)
+       (|COMMON-LISP|::|NIL|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|NIL| |COMMON-LISP|::|NIL|) ()
+       |COMMON-LISP|::|NIL|)
+    |CLFSWM|::|XGRAB-KEYBOARD|
+    #Y(|CLFSWM|::|XGRAB-KEYBOARD|
+       #26Y(00 00 00 00 01 00 00 00 06 02 02 0C 00 01 AD DB 63 DC 63 DD 63 2D
+            07 04 19 02)
+       (|COMMON-LISP|::|NIL| :|OWNER-P| :|SYNC-KEYBOARD-P| :|SYNC-POINTER-P|
+        |XLIB|::|GRAB-KEYBOARD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|ROOT|) |COMMON-LISP|::|NIL|)
+    |CLFSWM|::|XUNGRAB-KEYBOARD|
+    #Y(|CLFSWM|::|XUNGRAB-KEYBOARD|
+       #20Y(00 00 00 00 00 00 00 00 06 01 00 0C 00 01 6B 01 2F 02 19 01)
+       (|COMMON-LISP|::|NIL| |CLFSWM|::|*DISPLAY*| |XLIB|::|UNGRAB-KEYBOARD|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|393 394 (DEFUN STOP-BUTTON-EVENT NIL ...)-25|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|STOP-BUTTON-EVENT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|STOP-BUTTON-EVENT|
+       #17Y(00 00 00 00 00 00 00 00 06 01 6B 00 DB 30 02 19 01)
+       (|CLFSWM|::|*DISPLAY*| :|SYNC-POINTER| |XLIB|::|ALLOW-EVENTS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|396 397 (DEFUN REPLAY-BUTTON-EVENT NIL ...)-26|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|REPLAY-BUTTON-EVENT| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|REPLAY-BUTTON-EVENT|
+       #17Y(00 00 00 00 00 00 00 00 06 01 6B 00 DB 30 02 19 01)
+       (|CLFSWM|::|*DISPLAY*| :|REPLAY-POINTER| |XLIB|::|ALLOW-EVENTS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|400 401 (DEFUN UNGRAB-ALL-BUTTONS (WINDOW) ...)-27|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|UNGRAB-ALL-BUTTONS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|UNGRAB-ALL-BUTTONS|
+       #19Y(00 00 00 00 01 00 00 00 06 02 AD DA DB DA 2D 04 02 19 02)
+       (:|ANY| :|MODIFIERS| |XLIB|::|UNGRAB-BUTTON|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|403 409 (DEFUN GRAB-ALL-BUTTONS (WINDOW) ...)-28|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GRAB-ALL-BUTTONS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GRAB-ALL-BUTTONS|
+       #29Y(00 00 00 00 01 00 00 00 06 02 AD 2F 00 AD DB DC DD DB DE 63 DF 64
+            E0 63 2D 0B 07 19 02)
+       (|CLFSWM|::|UNGRAB-ALL-BUTTONS| :|ANY| (:|BUTTON-PRESS|) :|MODIFIERS|
+        :|OWNER-P| :|SYNC-POINTER-P| :|SYNC-KEYBOARD-P| |XLIB|::|GRAB-BUTTON|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|WINDOW|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|413 414 (DEFUN GET-COLOR (COLOR) ...)-29|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|GET-COLOR| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|GET-COLOR|
+       #23Y(00 00 00 00 01 00 00 00 06 02 6B 00 DB AD DC 81 2F 00 AE 30 03 19
+            02)
+       (|CLFSWM|::|*SCREEN*| |XLIB|::|SCREEN| 9. |XLIB|::|ALLOC-COLOR|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|COLOR|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|419 450 (DEFUN MY-CHARACTER->KEYSYMS (CH) ...)-30|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MY-CHARACTER->KEYSYMS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MY-CHARACTER->KEYSYMS|
+       #108Y(00 00 00 00 01 00 00 00 06 02 DA 8D 50 03 AD 2F 00 9E 26 01 80 44
+             C7 1B 80 4D C8 1B 80 49 C9 1B 80 45 CA 1B 80 41 CB 1B 3E CC 1B 3B
+             CD 1B 38 CE 1B 35 CF 1B 32 D0 1B 2F D1 1B 2C D2 1B 29 D3 1B 26 D4
+             1B 23 D5 1B 20 ED AE 33 01 1D EB AE 71 28 EC 91 02 2F 72 AD 31 28
+             1B 0D AD 8E 1E 6E AD EE EF 70 16 F1 2D 03 18 14 61 01 19 02)
+       (|XLIB|::|CHARACTER->KEYSYMS|
+        #S(|COMMON-LISP|::|HASH-TABLE| :|TEST| |EXT|::|STABLEHASH-EQ|
+           (:|RIGHT-HYPER| . 48.) (:|LEFT-HYPER| . 45.) (:|RIGHT-SUPER| . 42.)
+           (:|LEFT-SUPER| . 39.) (:|RIGHT-ALT| . 36.) (:|LEFT-ALT| . 33.)
+           (:|RIGHT-META| . 30.) (:|LEFT-META| . 27.) (:|SHIFT-LOCK| . 24.)
+           (:|CAPS-LOCK| . 21.) (:|RIGHT-CONTROL| . 18.)
+           (:|LEFT-CONTROL| . 14.) (:|RIGHT-SHIFT| . 10.) (:|LEFT-SHIFT| . 6.)
+           (:|CHARACTER-SET-SWITCH| . 2.))
+        65406. 65505. 65506. 65507. 65508. 65509. 65510. 65511. 65512. 65513.
+        65514. 65515. 65516. 65517. 65518. 31. 256.
+        "Don't know how to get keysym from ~A" |CLFSWM|::|CH|
+        (|COMMON-LISP|::|CHARACTER|) |SYSTEM|::|TYPECASE-ERROR-STRING|
+        (|COMMON-LISP|::|OR| |COMMON-LISP|::|CHARACTER|)
+        |SYSTEM|::|ETYPECASE-FAILED|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CH|) "Convert a char to a keysym"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|454 456 (DEFUN CHAR->KEYCODE (CHAR) ...)-31|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|CHAR->KEYCODE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|CHAR->KEYCODE|
+       #20Y(00 00 00 00 01 00 00 00 06 02 6B 00 AE 2F 01 78 30 02 19 02)
+       (|CLFSWM|::|*DISPLAY*| |CLFSWM|::|MY-CHARACTER->KEYSYMS|
+        |XLIB|::|KEYSYM->KEYCODES|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|COMMON-LISP|::|CHAR|) "Convert a character to a keycode"))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|459 460 (DEFUN KEYCODE->CHAR (CODE STATE) ...)-32|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|KEYCODE->CHAR| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|KEYCODE->CHAR|
+       #25Y(00 00 00 00 02 00 00 00 06 03 6B 00 6B 00 B0 DB 6E 03 02 AF 2D 03
+            03 19 03)
+       (|CLFSWM|::|*DISPLAY*| 0. |XLIB|::|KEYCODE->KEYSYM|
+        |XLIB|::|KEYSYM->CHARACTER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|CODE| |CLFSWM|::|STATE|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|462 463 (DEFUN MODIFIERS->STATE (MODIFIER-LIST) ...)-33|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|MODIFIERS->STATE| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|MODIFIERS->STATE|
+       #16Y(00 00 00 00 01 00 00 00 06 02 99 00 9F 9B 00 02)
+       (|XLIB|::|MAKE-STATE-MASK|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|MODIFIER-LIST|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|465 466 (DEFUN STATE->MODIFIERS (STATE) ...)-34|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|STATE->MODIFIERS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|STATE->MODIFIERS|
+       #15Y(00 00 00 00 01 00 00 00 06 02 AD 2F 00 19 02)
+       (|XLIB|::|MAKE-STATE-KEYS|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|)
+       (|CLFSWM|::|STATE|) |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|471 483 (DEFUN WAIT-NO-KEY-OR-BUTTON-PRESS NIL ...)-35|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|WAIT-NO-KEY-OR-BUTTON-PRESS| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|WAIT-NO-KEY-OR-BUTTON-PRESS|
+       #205Y(04 00 01 00 00 00 00 00 06 01 6B 00 6F 01 DC 63 1B 80 79 02 16 03
+             1B 80 7E 00 16 02 1B 80 A2 6B 00 AC 2F 05 42 04 AF A0 13 67 00 00
+             04 DC 64 67 00 00 01 2D 04 06 42 02 93 01 5E 64 53 23 6B 07 E2 B2
+             E3 32 2F 5F 14 9D 26 0A 80 64 67 02 01 04 2F 0B 02 16 01 56 16 03
+             1B 80 66 16 02 7D 02 3E 54 67 03 00 04 67 00 00 02 64 67 03 00 01
+             67 03 00 00 67 00 00 00 2D 06 0C 55 16 03 1B FF AA AE AE 82 01 01
+             00 14 8F 92 FF 89 85 01 AD AF 72 48 91 01 32 6B 00 16 03 14 6B 03
+             2F 04 42 05 15 16 03 F8 72 93 92 01 04 93 00 FF 74 16 02 1B FF 5A
+             63 93 00 FF A6 67 02 01 04 2F 0B 15 16 01 56 16 03 11 18 01 00 16
+             05 1C FF 55 00 19 03)
+       (|CLFSWM|::|*DISPLAY*| |XLIB|::|QUERY-KEYMAP| 0. |CLFSWM|::|*ROOT*|
+        |XLIB|::|QUERY-POINTER| |XLIB|::|EVENT-LOOP-SETUP|
+        |XLIB|::|EVENT-LOOP-STEP-BEFORE| |XLIB|::|*EVENT-KEY-VECTOR*|
+        |XLIB|::|REPLY-BUFFER| 1.
+        #S(|COMMON-LISP|::|HASH-TABLE| :|TEST| |EXT|::|STABLEHASH-EQ|
+           (:|BUTTON-RELEASE| . 2.) (:|BUTTON-PRESS| . 2.) (:|KEY-PRESS| . 2.)
+           (:|MOTION-NOTIFY| . 2.))
+        |XLIB|::|DISCARD-CURRENT-EVENT| |XLIB|::|EVENT-LOOP-STEP-AFTER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))
+#Y(#:|487 490 (DEFUN COMPRESS-MOTION-NOTIFY NIL ...)-36|
+   #20Y(00 00 00 00 00 00 00 00 00 01 DA 2F 01 DA DC 32 83 C5 19 01)
+   (|CLFSWM|::|COMPRESS-MOTION-NOTIFY| |SYSTEM|::|REMOVE-OLD-DEFINITIONS|
+    #Y(|CLFSWM|::|COMPRESS-MOTION-NOTIFY|
+       #118Y(04 00 01 00 00 00 00 00 06 01 0E 00 1F 80 65 6B 01 AC 2F 02 42 04
+             AF A0 13 1B 2A 63 AD 40 02 16 02 1B 80 4A 16 01 7D 02 3E 54 67 03
+             00 04 67 00 00 02 63 67 03 00 01 67 03 00 00 67 00 00 00 2D 06 0A
+             55 16 03 67 00 00 04 DD 64 67 00 00 01 2D 04 04 42 02 93 01 44 64
+             53 50 6B 05 E0 B2 E1 32 2F 5F 14 AC 25 08 FF BC 02 16 01 56 16 03
+             11 18 01 00 19 06 19 01)
+       (|CLFSWM|::|*HAVE-TO-COMPRESS-NOTIFY*| |CLFSWM|::|*DISPLAY*|
+        |XLIB|::|EVENT-LOOP-SETUP| 0. |XLIB|::|EVENT-LOOP-STEP-BEFORE|
+        |XLIB|::|*EVENT-KEY-VECTOR*| |XLIB|::|REPLY-BUFFER| 1. :|MOTION-NOTIFY|
+        |XLIB|::|DISCARD-CURRENT-EVENT| |XLIB|::|EVENT-LOOP-STEP-AFTER|)
+       (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|) ()
+       |COMMON-LISP|::|NIL|))
+   (|COMMON-LISP|::|T| |COMMON-LISP|::|T| |COMMON-LISP|::|T|))

Added: xlib-util.fasl
==============================================================================
Binary file. No diff available.

Added: xlib-util.lib
==============================================================================
--- (empty file)
+++ xlib-util.lib	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,119 @@
+#0Y |CHARSET|::|UTF-8|
+(|COMMON-LISP|::|SETQ| |COMMON-LISP|::|*PACKAGE*|
+ (|SYSTEM|::|%FIND-PACKAGE| "CLFSWM"))
+(|SYSTEM|::|C-PROCLAIM-CONSTANT| '|CLFSWM|::|+WITHDRAWN-STATE+| '0.)
+(|SYSTEM|::|C-PROCLAIM-CONSTANT| '|CLFSWM|::|+NORMAL-STATE+| '1.)
+(|SYSTEM|::|C-PROCLAIM-CONSTANT| '|CLFSWM|::|+ICONIC-STATE+| '3.)
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|*WINDOW-EVENTS*|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|+NETWM-SUPPORTED+|))
+(|SYSTEM|::|C-PROCLAIM|
+ '(|COMMON-LISP|::|SPECIAL| |CLFSWM|::|+NETWM-WINDOW-TYPES+|))
+(|SYSTEM|::|REMOVE-OLD-DEFINITIONS| '|CLFSWM|::|WITH-XLIB-PROTECT|)
+(|SYSTEM|::|%PUTD| '|CLFSWM|::|WITH-XLIB-PROTECT|
+ (|SYSTEM|::|MAKE-MACRO|
+  (|COMMON-LISP|::|FUNCTION| |CLFSWM|::|WITH-XLIB-PROTECT|
+   (|COMMON-LISP|::|LAMBDA| (|SYSTEM|::|<MACRO-FORM>| |SYSTEM|::|<ENV-ARG>|)
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|CONS| |SYSTEM|::|<MACRO-FORM>|))
+    (|COMMON-LISP|::|DECLARE| (|COMMON-LISP|::|IGNORE| |SYSTEM|::|<ENV-ARG>|))
+    "Prevent Xlib errors"
+    (|COMMON-LISP|::|IF|
+     (|COMMON-LISP|::|NOT| (|EXT|::|PROPER-LIST-P| |SYSTEM|::|<MACRO-FORM>|))
+     (|SYSTEM|::|MACRO-CALL-ERROR| |SYSTEM|::|<MACRO-FORM>|)
+     (|COMMON-LISP|::|LET*|
+      ((|CLFSWM|::|BODY| (|COMMON-LISP|::|CDR| |SYSTEM|::|<MACRO-FORM>|)))
+      (|COMMON-LISP|::|BLOCK| |CLFSWM|::|WITH-XLIB-PROTECT|
+       `(|COMMON-LISP|::|HANDLER-CASE|
+         (|COMMON-LISP|::|PROGN| ,@|CLFSWM|::|BODY|)
+         ((|COMMON-LISP|::|OR| |XLIB|::|MATCH-ERROR| |XLIB|::|WINDOW-ERROR|
+           |XLIB|::|DRAWABLE-ERROR|)
+          (|CLFSWM|::|C|)
+          (|COMMON-LISP|::|DECLARE|
+           (|COMMON-LISP|::|IGNORE| |CLFSWM|::|C|)))))))))))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|PARSE-DISPLAY-STRING|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|DISPLAY|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|BANISH-POINTER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|WINDOW-STATE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WIN|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SET-WINDOW-STATE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WIN| |CLFSWM|::|STATE|)))
+(|COMMON-LISP|::|LET| |COMMON-LISP|::|NIL|
+ (|COMMON-LISP|::|REMPROP| '|CLFSWM|::|WINDOW-STATE|
+  '|SYSTEM|::|DEFSTRUCT-WRITER|)
+ (|SYSTEM|::|CHECK-REDEFINITION| '|CLFSWM|::|WINDOW-STATE|
+  '|COMMON-LISP|::|DEFSETF|
+  (|COMMON-LISP|::|AND|
+   (|COMMON-LISP|::|GET| '|CLFSWM|::|WINDOW-STATE| '|SYSTEM|::|SETF-EXPANDER|)
+   '|SYSTEM|::|SETF-EXPANDER|))
+ (|SYSTEM|::|%PUT| '|CLFSWM|::|WINDOW-STATE| '|SYSTEM|::|SETF-EXPANDER|
+  '|CLFSWM|::|SET-WINDOW-STATE|)
+ (|SYSTEM|::|%SET-DOCUMENTATION| '|CLFSWM|::|WINDOW-STATE|
+  '|COMMON-LISP|::|SETF| |COMMON-LISP|::|NIL|)
+ '|CLFSWM|::|WINDOW-STATE|)
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|WINDOW-HIDDEN-P|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|UNHIDE-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|HIDE-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|WINDOW-TYPE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SEND-CONFIGURATION-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|SEND-CLIENT-MESSAGE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|WINDOW| |COMMON-LISP|::|TYPE| |COMMON-LISP|::|&REST|
+    |CLFSWM|::|DATA|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|RAISE-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|FOCUS-WINDOW|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|NO-FOCUS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XGRAB-INIT-POINTER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XGRAB-POINTER-P|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XGRAB-POINTER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE|
+  '(|CLFSWM|::|ROOT| |CLFSWM|::|CURSOR-CHAR| |CLFSWM|::|CURSOR-MASK-CHAR|
+    |COMMON-LISP|::|&OPTIONAL|
+    (|CLFSWM|::|POINTER-MASK|
+     '(:|ENTER-WINDOW| :|POINTER-MOTION| :|BUTTON-PRESS| :|BUTTON-RELEASE|))
+    |CLFSWM|::|OWNER-P|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XUNGRAB-POINTER|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XGRAB-INIT-KEYBOARD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XGRAB-KEYBOARD-P|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XGRAB-KEYBOARD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|ROOT|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|XUNGRAB-KEYBOARD|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|STOP-BUTTON-EVENT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|REPLAY-BUTTON-EVENT|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|UNGRAB-ALL-BUTTONS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GRAB-ALL-BUTTONS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|WINDOW|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|GET-COLOR|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|COLOR|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MY-CHARACTER->KEYSYMS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|CH|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|CHAR->KEYCODE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|COMMON-LISP|::|CHAR|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|KEYCODE->CHAR|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|CODE| |CLFSWM|::|STATE|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|MODIFIERS->STATE|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|MODIFIER-LIST|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|STATE->MODIFIERS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '(|CLFSWM|::|STATE|)))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|WAIT-NO-KEY-OR-BUTTON-PRESS|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))
+(|SYSTEM|::|C-DEFUN| '|CLFSWM|::|COMPRESS-MOTION-NOTIFY|
+ (|SYSTEM|::|LAMBDA-LIST-TO-SIGNATURE| '|COMMON-LISP|::|NIL|))

Added: xlib-util.lisp
==============================================================================
--- (empty file)
+++ xlib-util.lisp	Sat Mar  1 07:36:13 2008
@@ -0,0 +1,491 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; #Date#: Thu Feb 28 21:55:00 2008
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Utility functions
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; 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 3 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.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+
+;; Window states
+(defconstant +withdrawn-state+ 0)
+(defconstant +normal-state+ 1)
+(defconstant +iconic-state+ 3)
+
+
+(defparameter *window-events* '(:structure-notify
+				:property-change
+				:colormap-change
+				:focus-change
+				:enter-window
+				:exposure)
+  ;;:button-press
+  ;;:button-release)
+  "The events to listen for on managed windows.")
+
+
+(defparameter +netwm-supported+
+  '(:_NET_SUPPORTING_WM_CHECK
+    :_NET_NUMBER_OF_DESKTOPS
+    :_NET_DESKTOP_GEOMETRY
+    :_NET_DESKTOP_VIEWPORT
+    :_NET_CURRENT_DESKTOP
+    :_NET_WM_WINDOW_TYPE
+    :_NET_CLIENT_LIST)
+  "Supported NETWM properties.
+Window types are in +WINDOW-TYPES+.")
+
+(defparameter +netwm-window-types+
+  '((:_NET_WM_WINDOW_TYPE_DESKTOP . :desktop)
+    (:_NET_WM_WINDOW_TYPE_DOCK . :dock)
+    (:_NET_WM_WINDOW_TYPE_TOOLBAR . :toolbar)
+    (:_NET_WM_WINDOW_TYPE_MENU . :menu)
+    (:_NET_WM_WINDOW_TYPE_UTILITY . :utility)
+    (:_NET_WM_WINDOW_TYPE_SPLASH . :splash)
+    (:_NET_WM_WINDOW_TYPE_DIALOG . :dialog)
+    (:_NET_WM_WINDOW_TYPE_NORMAL . :normal))
+  "Alist mapping NETWM window types to keywords.")
+
+
+(defmacro with-xlib-protect (&body body)
+  "Prevent Xlib errors"
+  `(handler-case
+       (progn
+	 , at body)
+     ((or xlib:match-error xlib:window-error xlib:drawable-error) (c)
+       (declare (ignore c)))))
+
+
+
+(defun parse-display-string (display)
+  "Parse an X11 DISPLAY string and return the host and display from it."
+  (let* ((colon (position #\: display))
+	 (host (subseq display 0 colon))
+	 (rest (subseq display (1+ colon)))
+	 (dot (position #\. rest))
+	 (num (parse-integer (subseq rest 0 dot))))
+    (values host num)))
+
+
+(defun banish-pointer ()
+  "Move the pointer to the lower right corner of the screen"
+  (xlib:warp-pointer *root*
+		     (1- (xlib:screen-width *screen*))
+		     (1- (xlib:screen-height *screen*))))
+
+
+
+
+
+(defun window-state (win)
+  "Get the state (iconic, normal, withdraw of a window."
+  (first (xlib:get-property win :WM_STATE)))
+
+
+(defun set-window-state (win state)
+  "Set the state (iconic, normal, withdrawn) of a window."
+  (xlib:change-property win
+			:WM_STATE
+			(list state)
+			:WM_STATE
+			32))
+
+(defsetf window-state set-window-state)
+
+
+
+(defun window-hidden-p (window)
+  (eql (window-state window) +iconic-state+))
+
+  
+
+(defun unhide-window (window)
+  (when window
+    (with-xlib-protect
+      (xlib:map-window window)
+      (setf (window-state window) +normal-state+
+	    (xlib:window-event-mask window) *window-events*))))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+;;(defconstant +exwm-atoms+
+;;  (list "_NET_SUPPORTED"              "_NET_CLIENT_LIST"
+;;	"_NET_CLIENT_LIST_STACKING"   "_NET_NUMBER_OF_DESKTOPS"
+;;	"_NET_CURRENT_DESKTOP"        "_NET_DESKTOP_GEOMETRY"
+;;	"_NET_DESKTOP_VIEWPORT"       "_NET_DESKTOP_NAMES"
+;;	"_NET_ACTIVE_WINDOW"          "_NET_WORKAREA"
+;;	"_NET_SUPPORTING_WM_CHECK"    "_NET_VIRTUAL_ROOTS"
+;;	"_NET_DESKTOP_LAYOUT"         
+;;
+;;        "_NET_RESTACK_WINDOW"         "_NET_REQUEST_FRAME_EXTENTS"
+;;        "_NET_MOVERESIZE_WINDOW"      "_NET_CLOSE_WINDOW"
+;;        "_NET_WM_MOVERESIZE"
+;;
+;;	"_NET_WM_SYNC_REQUEST"        "_NET_WM_PING"    
+;;
+;;	"_NET_WM_NAME"                "_NET_WM_VISIBLE_NAME"
+;;	"_NET_WM_ICON_NAME"           "_NET_WM_VISIBLE_ICON_NAME"
+;;	"_NET_WM_DESKTOP"             "_NET_WM_WINDOW_TYPE"
+;;	"_NET_WM_STATE"               "_NET_WM_STRUT"
+;;	"_NET_WM_ICON_GEOMETRY"       "_NET_WM_ICON"
+;;	"_NET_WM_PID"                 "_NET_WM_HANDLED_ICONS"
+;;	"_NET_WM_USER_TIME"           "_NET_FRAME_EXTENTS"
+;;        ;; "_NET_WM_MOVE_ACTIONS"
+;;
+;;	"_NET_WM_WINDOW_TYPE_DESKTOP" "_NET_WM_STATE_MODAL"
+;;	"_NET_WM_WINDOW_TYPE_DOCK"    "_NET_WM_STATE_STICKY"
+;;	"_NET_WM_WINDOW_TYPE_TOOLBAR" "_NET_WM_STATE_MAXIMIZED_VERT"
+;;	"_NET_WM_WINDOW_TYPE_MENU"    "_NET_WM_STATE_MAXIMIZED_HORZ"
+;;	"_NET_WM_WINDOW_TYPE_UTILITY" "_NET_WM_STATE_SHADED"
+;;	"_NET_WM_WINDOW_TYPE_SPLASH"  "_NET_WM_STATE_SKIP_TASKBAR"
+;;	"_NET_WM_WINDOW_TYPE_DIALOG"  "_NET_WM_STATE_SKIP_PAGER"
+;;	"_NET_WM_WINDOW_TYPE_NORMAL"  "_NET_WM_STATE_HIDDEN"
+;;	                              "_NET_WM_STATE_FULLSCREEN"
+;;				      "_NET_WM_STATE_ABOVE"
+;;				      "_NET_WM_STATE_BELOW"
+;;				      "_NET_WM_STATE_DEMANDS_ATTENTION"
+;;			
+;;	"_NET_WM_ALLOWED_ACTIONS"
+;;	"_NET_WM_ACTION_MOVE"
+;;	"_NET_WM_ACTION_RESIZE"
+;;	"_NET_WM_ACTION_SHADE"
+;;	"_NET_WM_ACTION_STICK"
+;;	"_NET_WM_ACTION_MAXIMIZE_HORZ"
+;;	"_NET_WM_ACTION_MAXIMIZE_VERT"
+;;	"_NET_WM_ACTION_FULLSCREEN"
+;;	"_NET_WM_ACTION_CHANGE_DESKTOP"
+;;	"_NET_WM_ACTION_CLOSE"
+;;
+;;	))
+;;
+;;
+;;(defun intern-atoms (display)
+;;  (declare (type xlib:display display))
+;;  (mapcar #'(lambda (atom-name) (xlib:intern-atom display atom-name))
+;;	  +exwm-atoms+)
+;;  (values))
+;;
+;;
+;;
+;;(defun get-atoms-property (window property-atom atom-list-p)
+;;  "Returns a list of atom-name (if atom-list-p is t) otherwise returns
+;;   a list of atom-id."
+;;  (xlib:get-property window property-atom
+;;		     :transform (when atom-list-p
+;;				  (lambda (id)
+;;				    (xlib:atom-name (xlib:drawable-display window) id)))))
+;;
+;;(defun set-atoms-property (window atoms property-atom &key (mode :replace))
+;;  "Sets the property designates by `property-atom'. ATOMS is a list of atom-id
+;;   or a list of keyword atom-names."
+;;  (xlib:change-property window property-atom atoms :ATOM 32 
+;;			:mode mode
+;;			:transform (unless (integerp (car atoms))
+;;				     (lambda (atom-key)
+;;				       (xlib:find-atom (xlib:drawable-display window) atom-key)))))
+;;
+;;
+;;
+;;
+;;(defun net-wm-state (window)
+;;  (get-atoms-property window :_NET_WM_STATE t))
+;;
+;;(defsetf net-wm-state (window &key (mode :replace)) (states)
+;;  `(set-atoms-property ,window ,states :_NET_WM_STATE :mode ,mode))
+;;
+;;
+;;
+;;(defun hide-window (window)
+;;  (when window
+;;    (with-xlib-protect
+;;      (let ((net-wm-state (net-wm-state window)))
+;;	(dbg net-wm-state)
+;;	(pushnew :_net_wm_state_hidden net-wm-state)
+;;	(setf (net-wm-state window) net-wm-state)
+;;	(dbg (net-wm-state window)))
+;;      (setf (window-state window) +iconic-state+
+;;	    (xlib:window-event-mask window) (remove :structure-notify *window-events*))
+;;      (xlib:unmap-window window)
+;;      (setf (xlib:window-event-mask window) *window-events*))))
+
+
+(defun hide-window (window)
+  (when window
+    (with-xlib-protect
+      (setf (window-state window) +iconic-state+
+	    (xlib:window-event-mask window) (remove :structure-notify *window-events*))
+      (xlib:unmap-window window)
+      (setf (xlib:window-event-mask window) *window-events*))))
+
+
+
+(defun window-type (window)
+  "Return one of :desktop, :dock, :toolbar, :utility, :splash,
+:dialog, :transient, :maxsize and :normal."
+  (or (and (let ((hints (xlib:wm-normal-hints window)))
+             (and hints (or (xlib:wm-size-hints-max-width hints)
+                            (xlib:wm-size-hints-max-height hints)
+                            (xlib:wm-size-hints-min-aspect hints)
+                            (xlib:wm-size-hints-max-aspect hints))))
+           :maxsize)
+      (let ((net-wm-window-type (xlib:get-property window :_NET_WM_WINDOW_TYPE)))
+        (when net-wm-window-type
+          (dolist (type-atom net-wm-window-type)
+            (when (assoc (xlib:atom-name *display* type-atom) +netwm-window-types+)
+              (return (cdr (assoc (xlib:atom-name *display* type-atom) +netwm-window-types+)))))))
+      (and (xlib:get-property window :WM_TRANSIENT_FOR)
+           :transient)
+      :normal))
+
+
+
+
+
+;; Stolen from Eclipse
+(defun send-configuration-notify (window)
+  "Send a synthetic configure notify event to the given window (ICCCM 4.1.5)"
+  (multiple-value-bind (x y)
+      (xlib:translate-coordinates window 0 0 (xlib:drawable-root window))
+    (xlib:send-event window
+		     :configure-notify
+		     (xlib:make-event-mask :structure-notify)
+		     :event-window window :window window
+		     :x x :y y
+		     :override-redirect-p nil
+		     :border-width (xlib:drawable-border-width window)
+		     :width (xlib:drawable-width window)
+		     :height (xlib:drawable-height window)
+		     :propagate-p nil)))
+
+
+(defun send-client-message (window type &rest data)
+  "Send a client message to a client's window."
+  (xlib:send-event window
+		   :client-message nil
+		   :window window
+		   :type type
+		   :format 32
+		   :data data))
+
+
+
+
+
+(defun raise-window (window)
+  "Map the window if needed and bring it to the top of the stack. Does not affect focus."
+  (when window
+    (with-xlib-protect
+      (when (window-hidden-p window)
+	(unhide-window window))
+      (setf (xlib:window-priority window) :top-if))))
+
+(defun focus-window (window)
+  "Give the window focus."
+  (when window
+    (with-xlib-protect
+      (raise-window window)
+      (xlib:set-input-focus *display* window :parent))))
+    ;;(xlib:set-input-focus *display* :pointer-root :pointer-root)) ;;PHIL
+
+
+
+
+
+
+(defun no-focus ()
+  "don't focus any window but still read keyboard events."
+  (xlib:set-input-focus *display* *no-focus-window* :pointer-root))
+  
+
+
+
+(let ((cursor-font nil)
+      (cursor nil)
+      (pointer-grabbed nil))
+  (labels ((free-grab-pointer ()
+	     (when cursor
+	       (xlib:free-cursor cursor)
+	       (setf cursor nil))
+	     (when cursor-font
+	       (xlib:close-font cursor-font)
+	       (setf cursor-font nil))))
+    (defun xgrab-init-pointer ()
+      (setf pointer-grabbed nil))
+
+    (defun xgrab-pointer-p ()
+      pointer-grabbed)
+    
+    (defun xgrab-pointer (root cursor-char cursor-mask-char
+			  &optional (pointer-mask '(:enter-window :pointer-motion
+						    :button-press :button-release)) owner-p)
+      "Grab the pointer and set the pointer shape."
+      (free-grab-pointer)
+      (setf pointer-grabbed t)
+      (let* ((white (xlib:make-color :red 1.0 :green 1.0 :blue 1.0))
+	     (black (xlib:make-color :red 0.0 :green 0.0 :blue 0.0)))
+	(setf cursor-font (xlib:open-font *display* "cursor")
+	      cursor (xlib:create-glyph-cursor :source-font cursor-font
+					       :source-char cursor-char
+					       :mask-font cursor-font
+					       :mask-char cursor-mask-char
+					       :foreground black
+					       :background white))
+	(xlib:grab-pointer root pointer-mask
+			   :owner-p owner-p  :sync-keyboard-p nil :sync-pointer-p nil :cursor cursor)))
+
+    (defun xungrab-pointer ()
+      "Remove the grab on the cursor and restore the cursor shape."
+      (setf pointer-grabbed nil)
+      (xlib:ungrab-pointer *display*)
+      (free-grab-pointer))))
+
+
+(let ((keyboard-grabbed nil))
+  (defun xgrab-init-keyboard ()
+    (setf keyboard-grabbed nil))
+
+  (defun xgrab-keyboard-p ()
+    keyboard-grabbed)
+  
+  (defun xgrab-keyboard (root)
+    (setf keyboard-grabbed t)
+    (xlib:grab-keyboard root :owner-p nil :sync-keyboard-p nil :sync-pointer-p nil))
+  
+  (defun xungrab-keyboard ()
+    (setf keyboard-grabbed nil)
+    (xlib:ungrab-keyboard *display*)))
+
+
+
+
+(defun stop-button-event ()
+  (xlib:allow-events *display* :sync-pointer))
+
+(defun replay-button-event ()
+  (xlib:allow-events *display* :replay-pointer))
+    
+
+(defun ungrab-all-buttons (window)
+  (xlib:ungrab-button window :any :modifiers :any))
+
+(defun grab-all-buttons (window)
+  (ungrab-all-buttons window)
+  (xlib:grab-button window :any '(:button-press)
+		    :modifiers :any
+		    :owner-p nil
+		    :sync-pointer-p t
+		    :sync-keyboard-p nil))
+
+
+
+(defun get-color (color)
+  (xlib:alloc-color (xlib:screen-default-colormap *screen*) color))
+
+
+
+
+(defun my-character->keysyms (ch)
+  "Convert a char to a keysym"
+  ;; XLIB:CHARACTER->KEYSYMS should probably be implemented in NEW-CLX
+  ;; some day.  Or just copied from MIT-CLX or some other CLX
+  ;; implementation (see translate.lisp and keysyms.lisp).  For now,
+  ;; we do like this.  It suffices for modifiers and ASCII symbols.
+  (if (fboundp 'xlib:character->keysyms)
+      (xlib:character->keysyms ch))
+      (list
+       (case ch
+	 (:character-set-switch #xFF7E)
+	 (:left-shift #xFFE1)
+	 (:right-shift #xFFE2)
+	 (:left-control #xFFE3)
+	 (:right-control #xFFE4)
+	 (:caps-lock #xFFE5)
+	 (:shift-lock #xFFE6)
+	 (:left-meta #xFFE7)
+	 (:right-meta #xFFE8)
+	 (:left-alt #xFFE9)
+	 (:right-alt #xFFEA)
+	 (:left-super #xFFEB)
+	 (:right-super #xFFEC)
+	 (:left-hyper #xFFED)
+	 (:right-hyper #xFFEE)
+	 (t
+	  (etypecase ch
+	    (character
+	     ;; Latin-1 characters have their own value as keysym
+	     (if (< 31 (char-code ch) 256)
+		 (char-code ch)
+		 (error "Don't know how to get keysym from ~A" ch))))))))
+
+
+
+(defun char->keycode (char)
+  "Convert a character to a keycode"
+  (xlib:keysym->keycodes *display* (first (my-character->keysyms char))))
+
+
+(defun keycode->char (code state)
+  (xlib:keysym->character *display* (xlib:keycode->keysym *display* code 0) state))
+
+(defun modifiers->state (modifier-list)
+  (apply #'xlib:make-state-mask modifier-list))
+
+(defun state->modifiers (state)
+  (xlib:make-state-keys state))
+
+
+
+
+(defun wait-no-key-or-button-press ()
+  (loop
+     (let ((key (loop for k across (xlib:query-keymap *display*)
+		   unless (zerop k) return t))
+	   (button (plusp (nth-value 4 (xlib:query-pointer *root*)))))
+       (when (and (not key) (not button))
+	 (loop while (xlib:event-case (*display* :discard-p t :peek-p nil :timeout 0)
+		       (:motion-notify () t)
+		       (:key-press () t)
+		       (:button-press () t)
+		       (:button-release () t)
+		       (t nil)))
+	 (return-from wait-no-key-or-button-press nil)))))
+
+
+
+(defun compress-motion-notify ()
+  (when *have-to-compress-notify*
+    (xlib:event-case (*display* :discard-p nil :peek-p t :timeout 0)
+      (:motion-notify () t))))
+



More information about the clfswm-cvs mailing list