<?xml version="1.0"?>
<page id="Gimp.PlugIn.extension_enable"
      type="topic"
      style="method"
      xmlns="http://projectmallard.org/1.0/"
      xmlns:api="http://projectmallard.org/experimental/api/"
      xmlns:ui="http://projectmallard.org/1.0/ui/">
  <info>
    <link xref="Gimp.PlugIn" group="method" type="guide"/>
    <api:function>
      <api:returns>
        <api:type>none</api:type>
      </api:returns>
      <api:name>gimp_plug_in_extension_enable</api:name>
      <api:arg>
        <api:type>Gimp.PlugIn</api:type>
        <api:name>self</api:name>
      </api:arg>
    </api:function>
  </info>
  <title>Gimp.PlugIn.extension_enable</title>
  <synopsis><code mime="text/x-python">
@accepts(Gimp.PlugIn)
@returns(none)
def extension_enable(self):
    # Python wrapper for gimp_plug_in_extension_enable()
  </code></synopsis>
  <p>Enables asynchronous processing of messages from the main GIMP
application.</p>  <p>Normally, a plug-in is not called by GIMP except for the call to
the procedure it implements. All subsequent communication is
triggered by the plug-in and all messages sent from GIMP to the
plug-in are just answers to requests the plug-in made.</p>  <p>If the plug-in however registered temporary procedures using
[method@PlugIn.add_temp_procedure], it needs to be able to receive
requests to execute them. Usually this will be done by running
[method@PlugIn.extension_process] in an endless loop.</p>  <p>If the plug-in cannot use [method@PlugIn.extension_process], i.e. if
it has a GUI and is hanging around in a [struct@GLib.MainLoop], it
must call [method@PlugIn.extension_enable].</p>  <p>Note that the plug-in does not need to be a
[const@PDBProcType.EXTENSION] to register temporary procedures.</p>  <p>See also: [method@PlugIn.add_temp_procedure].</p>
  <p>Since 3.0</p>
<terms>
<item>
<title><code>self</code></title>
  <p>A plug-in</p>
</item>
</terms>

</page>
