Plugins
Ginga is written so that most of the functionality of the program is achieved through the use of plugins. This modular approach allows a large degree of flexibility and customization, as well as making overall design and maintenance of the program simpler.
Plugins are divided into two types: global and local. A global plugin is not tied to any particular channel, while a local plugin is associated with a channel. Global and local plugins are further distinguished by whether they are a singleton (the default case) or not. If a global plugin is a singleton, then only one instance of it can be opened; if not, then multiple instances of it can be opened. If a local plugin is a singleton, then only one instance of it can be opened per channel; if not, then multiple instances can be opened per channel. Many global plugins are written to respond to a switch of the focus between channels. If you focus a channel viewer (e.g. by clicking on it, or selecting the channel in the Operations plugin), a global plugin will respond to the change by updating itself, while a local plugin will normally remain unchanged if the channel is switched, because its operation is specific to a given channel. (Ginga’s concept of channels is discussed in Channels.)
This chapter describes the set of plugins that come with Ginga. Those interested in writing their own custom plugins should refer to Writing a Global Plugin or Anatomy of a Local Ginga Plugin.
Global plugins
Local plugins
An operation is the activation of a local plugin to perform some function. The plugin manager toolbar at the bottom of the center pane is the graphical way to start an operation.