Sawfish
No edit summary
mNo edit summary
Line 15: Line 15:
 
Every library in librep can be used in sawfish, since the interpreter is the same.
 
Every library in librep can be used in sawfish, since the interpreter is the same.
   
=== Reference ===
+
'''Reference'''
   
 
* [http://mitpress.mit.edu/sicp/| Structure and Interpretation of Computer Programs] Excellent intro to programming done in Scheme (a Lisp dialect)
 
* [http://mitpress.mit.edu/sicp/| Structure and Interpretation of Computer Programs] Excellent intro to programming done in Scheme (a Lisp dialect)

Revision as of 17:55, 13 July 2007

This page contains advanced Sawfish documentation. It covers everything that has to do with the build-in Lisp environment, from customizing Sawfish to your needs, extending its capabilities to creating your own themes.

Programming Sawfish

This part should contain a sort of tutorial on programming in librep/sawfish (language and api).

In order to understand this is needed a good familiarity with the Lisp programming language. If you've never programmed in lisp, a good starting point to learn it is to read the emacs tutorial elisp-intro, start to use and configure emacs, eventually read the marvellous "On lisp" of Paul Graham. Programs and documents are payment-free and easily reachable on the net (emacs and elisp-intro are free-software).

Sawfish is based on librep, so in order to understand sawfish programming it's required to understand librep (and lisp).

The main reason of the superiority of sawfish respect to other WM is its scriptability. librep is a true language, designed from start to be a complete language: the eventual prolixness while performing simple things is the price you have to pay for its power (and moreover it's lisp: you're free to define new syntaxes to simplify your expression). On the other hand this power lets you to be very concise while performing complex things and lets you extend the core language (impossible with an ad-hoc language).

Every library in librep can be used in sawfish, since the interpreter is the same.

Reference

External documentation

Sawfish Programming Manual

The original version is available from http://sawmill.sourceforge.net/prog-manual.html.

Derek Upham has updated the Sawfish Programming Manual to reflect the DEFUNs and DEFVARs implemented in C, and some of the most common Lisp functions in Sawfish 1.3. You can take a look at the HTML, or download it in Info or TeXinfo, or get a patch file against the original source at http://www.blarg.net/~sand/sawfish/.

Sawfish Programming Tutorial

Eric Mangold provides us with a nice tutorial for customizing Sawfish -- for newbies and advanced users alike! http://twistedmatrix.com/~teratorn/better_wm/better_wm.html