| # Linux Plugins |
| |
| ## Background reading materials |
| |
| ### Plugins in general |
| |
| * [Gecko Plugin API reference](https://developer.mozilla.org/en/Gecko_Plugin_API_Reference) |
| -- most important to read |
| * [Mozilla plugins site](http://www.mozilla.org/projects/plugins/) |
| * [XEmbed extension](https://developer.mozilla.org/en/XEmbed_Extension_for_Mozilla_Plugins) |
| -- newer X11-specific plugin API |
| * [NPAPI plugin guide](http://gplflash.sourceforge.net/gplflash2_blog/npapi.html) |
| from GPLFlash project |
| |
| ### Chromium-specific |
| |
| * [Chromium's plugin architecture](https://dev.chromium.org/developers/design-documents/plugin-architecture) |
| -- may be out of date but will be worth reading |
| |
| ## Code to reference |
| |
| * [Mozilla plugin code](http://mxr.mozilla.org/firefox/source/modules/plugin/base/src/) |
| -- useful reference |
| * [nspluginwrapper](http://gwenole.beauchesne.info//en/projects/nspluginwrapper) |
| -- does out-of-process plugins itself |
| |
| ## Terminology |
| |
| * _Internal plugin_: "a plugin that's implemented in the chrome dll, i.e. |
| there's no external dll that services that mime type. For Linux you'll just |
| have to worry about the default plugin, which is what shows a puzzle icon |
| for content that you don't have a plugin for. We use that to allow the user |
| to download and install the missing plugin." |
| |
| ## Flash |
| |
| * [Adobe Flash player dev center](http://www.adobe.com/devnet/flashplayer/) |
| * [penguin.swf](http://blogs.adobe.com/penguin.swf/) -- blog about Flash on |
| Linux |
| * [tips and tricks](http://macromedia.mplug.org/) -- user-created page, with |
| some documentation of special flags in `/etc/adobe/mms.cfg` |
| * [official Adobe bug tracker](https://bugs.adobe.com/flashplayer/) |
| |
| ## Useful Tools |
| |
| * `xwininfo -tree` -- lets you inspect the window hierarchy of a window and |
| get the layout of child windows. |
| * "[DiamondX](http://multimedia.cx/diamondx/) is a simple NPAPI plugin built |
| to run on Unix platforms and exercise the XEmbed browser extension." |
| * To build a 32-bit binary: |
| `./configure CFLAGS='-m32' LDFLAGS='-L/usr/lib32 -m32'` |