• Diff for "Development/ExamplePlugins"
  • Immutable Page
  • Info
  • Attachments
Differences between revisions 3 and 4
Revision 3 as of 2007-11-23 09:19:01
Size: 1559
Editor: S01060018f33c7b8b
Comment: More proofreading. Added link to Development/BCOP.
Revision 4 as of 2008-03-30 18:34:17
Size: 1565
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
Plugins like '''[:Plugins/Maximumize:Maximumize]''' and '''[:Plugins/Resize#head-0d52cbb7cf400692a67775cbc6451f2facac1dfe:ResizeInfo]''' are examples of small plugins which should be fairly straight forward to understand. Both use [:Development/BCOP:BCOP], which simplifies things. You should probably also look at how non-BCOP plugins work, to better understand what BCOP does for you; '''[:Plugins/Resize:Resize]''' and '''[:Plugins/Ezoom:Ezoom]''' are two such examples. It should be noted that no Compiz plugin uses BCOP. Plugins like '''[[Plugins/Maximumize|Maximumize]]''' and '''[[Plugins/Resize#head-0d52cbb7cf400692a67775cbc6451f2facac1dfe|ResizeInfo]]''' are examples of small plugins which should be fairly straight forward to understand. Both use [[Development/BCOP|BCOP]], which simplifies things. You should probably also look at how non-BCOP plugins work, to better understand what BCOP does for you; '''[[Plugins/Resize|Resize]]''' and '''[[Plugins/Ezoom|Ezoom]]''' are two such examples. It should be noted that no Compiz plugin uses BCOP.
Line 13: Line 13:
'''[:Plugins/Resize#head-0d52cbb7cf400692a67775cbc6451f2facac1dfe:ResizeInfo]''' also demonstrates simple text drawing, which is probably a nice thing. '''[[Plugins/Resize#head-0d52cbb7cf400692a67775cbc6451f2facac1dfe|ResizeInfo]]''' also demonstrates simple text drawing, which is probably a nice thing.

This document briefly explains the example plugins in Compiz, or rather, the lack thereof.

Why aren't there example plugins?

Compiz Fusion does not offer example plugins for pure educational purposes. There have been several attempts to provide such plugins throughout the existence of Compiz, Beryl and Compiz Fusion, and the result is usually that the plugins are not maintained and eventually won't even compile.

However, you don't really need purely educational plugins, because you have the real thing.

Depending on what you want to do, there are several plugins well-suited for examination if you want to get involved with plugin development.

The simplest plugins

Plugins like Maximumize and ResizeInfo are examples of small plugins which should be fairly straight forward to understand. Both use BCOP, which simplifies things. You should probably also look at how non-BCOP plugins work, to better understand what BCOP does for you; Resize and Ezoom are two such examples. It should be noted that no Compiz plugin uses BCOP.

ResizeInfo also demonstrates simple text drawing, which is probably a nice thing.

Beyond that, the general rule of thumb is to pick a plugin that is similar to what you want to do and look at it, or use it for a base. The smaller the plugin is, the better.

Development/ExamplePlugins (last edited 2008-03-30 18:34:17 by localhost)