Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2011-03-29 01:56:53
Size: 911
Editor: BtTempleton
Comment: new page
Revision 5 as of 2012-01-01 02:00:27
Size: 1111
Editor: BtTempleton
Comment: atom GC
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Software/GenericWindowManager
## page was renamed from GenericWindowManager
Line 11: Line 13:

Atoms are stored in a global hash table, so they'll never be freed.

----
CategorySoftware

The Generic Window Manager is an X window manager originally developed by Colas Nahaboo as part of the Koala Project in 1988/1989. In early 2011, BtTempleton began updating it to use Guile Scheme as its extension language instead of WOOL, its idiosyncratic Lisp dialect. It currently works well on modern GNU/Linux systems and uses BDW-GC instead of its own garbage collector, but still uses WOOL for configuration.

TODO

  • Why are Num objects sometimes cast to pointers?

  • {o} Register finalizers for X pixmaps and cursors

  • {o} Use autotools instead of imake

  • {o} Wrap WOOL objects in smobs

After beguiling: fix X pixmap and cursor management (relying on finalizers is bad). GWM sometimes stores pointers in the server-side X resource database, and as part of the BDW-GC patch it stores those objects in a global list to keep them alive; it should do reference-counting or something.

Atoms are stored in a global hash table, so they'll never be freed.


CategorySoftware

GenericWindowManager (last edited 2012-03-13 19:30:58 by BtTempleton)