Skip to content

Plugins overview

What is a GIMP plugin?

A plugin is a program that extends the GIMP application. You can only launch plugins from within the GIMP app.

You can use Script-Fu, Python, Javascript, Lua and C to write plugins for GIMP.

Some plugins appear as menu items in the GIMP app.

Plugins can be categorized as

  • filters - used to alter the image
  • format handlers - used to load or save files of different formats (usually written in C)
  • "apps" - long-lived and show windows for tasks. For example, PDB Browser, Script-Fu Console, Python Console, ...

Plugin features

Most plugins of GIMP have these features:

  • an optional GUI e.g. a dialog of settings for the plugin
  • settings (i.e. preferences i.e. defaults) persistent between runs of the plugin, even in different sessions of GIMP
  • a run mode i.e. interactive or non-interactive
  • exists in the PDB so it is callable by other plugins, browseable, and introspectable
  • can display progress and messages to the user

Lifetime of the plugin

Lifetime of the plugin consists of 3 steps (2 for interperted languages)

  1. compilation
    • only for plugins written in compiled languages like C
  2. installation
    • copying plugin file of interpreted language (or compiled binary of compiled language) into the plugins directory (defined in Gimp's preferences); note: the file must have runnable permissions (chmod +x <file>)
  3. registration