gitpan / x11-fvwm Goto Github PK
View Code? Open in Web Editor NEWRead-only release history for X11-Fvwm
Home Page: http://metacpan.org/release/X11-Fvwm
Read-only release history for X11-Fvwm
Home Page: http://metacpan.org/release/X11-Fvwm
X11::Fvwm version 1.0 (altus) WHAT IS IT? This is a Perl 5 extension to simplify writing Fvwm2 modules in Perl 5. Not only in Perl 5, but with either the Tk extension or the Xforms library as your GUI choices! This requires fvwm 2.0.46 or better, and perl 5.003 or better. It is very highly recommended that you also install the latest version of Tk (which is Tk400.202 as of this writing) or X11::Xforms (0.7 or better), also available from CPAN. WHAT DOES IT DO? Fvwm2 has a very well-defined module API, to allow the brunt of non-core window-manager work be done by external modules. X11::Fvwm is a layer over this interface, allowing you to use Perl rather than C as the language for developing these modules. When fvwm launches a module, it sets up file descriptors for two-way communication, and proceeds to occassionally broadcast data packets to those modules that have asked to receive the given data type. The modules, in turn, can send commands back to fvwm, including requests for more (and more specific) data, operation on windows managed by fvwm, etc. INSTALLATION The package should be uncompressed using the GNU zip utility. Once done and you have cd'd down to the directory: gzcat X11-Fvwm-0.3.tar.gz | tar xf - cd X11/Fvwm you will need to create the Makefile and verify that your package is complete: perl Makefile.PL This will verify the package contents against the manifest and create the file Makefile. Now all that needs to be done is: make make test make install # Assuming all tests were passed An important note here: this extension uses compiled C code to reference the flags and constants used by fvwm in module communication. When you run make, you will need to ensure that it knows the proper path to the fvwm source base. The make macro and its default are: FVWMSRCDIR=/usr/local/src/fvwm Note that the fvwm source tree has the actual C source code under another directory called fvwm. Within the file Fvwm.xs (and the resultant Fvwm.c), there are: #include "fvwm/fvwm.h" #include "fvwm/module.h" So the value of FVWMSRCDIR has to be such that these includes do not fail. If your fvwm source is not in /usr/local/src/fvwm, you can set that when you create the Makefile: perl Makefile.PL FVWM_DIR=/your/path/to/fvwm There is another option you may need, called FVWM_MOD_DIR. This sets the directory to install the sample modules to, and defaults to the directory /usr/local/lib/X11/fvwm2. You can adjust this with: perl Makefile.PL FVWM_MOD_DIR=/opt/fvwm/something as appropriate. Both of these options can be used together. CAVEATS I think I've covered myself pretty well, but Caveat Emptor just in case. EXAMPLES There are some example scripts in the directory scripts/. Currently, these are rather limited (two versions of window list utilities, a console, a non-interactive debugger and a desktop spanner), but more will hopefully get added. They also serve as examples of simple non-interactive modules, and more complex modules with GUI and everything. PROBLEMS/BUG REPORTS Please send any reports of problems or bugs to [email protected]. I wouldn't mind a short note to know that you're using this, just so I can justify its continued development :-). CREDITS AND LICENSES This package is copyright (c) 1997 by Randy Ray ([email protected]) and may be distributed under terms of the Artistic License used to cover Perl itself. See the file Artistic in the distribution of Perl 5.003 or later for details of copy and distribution terms. All rights reserved.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.