Here is what I found.
I'm adding a doc into book garage (pharo for the
entreprise)
How to create Nautilus-Plugins
Here we will give some brief
explanations on how to create your own plugin.
By the way there are only two requirements
to create a Nautilus-Plugin:
� the class should inherit from AbstractNautilusPlugin
� it should implement #registerTo:
aModel
Announcement subscription
The method registerTo: is used by the plugin to register itself
to
aModel announcements.
MyPlugin>>registerTo: aModel
��� aModel
announcer
��� on: NautilusKeyPressed send: #keyPressed:
to: self
In this example, the instance of MyPlugin subscribe
themselves to
NautilusKeyPressed, and
tell aModel�s
announcer to send: keyPressed
to the instance.
So each time a key will be
pressed in a Nautilus window the method keyPressed: will be called.
Display
If you want
your plugin to add a graphical widget to
Nautilus
you should
override the display method.
This method should return the Morphic element you
want Nautilus
to display. By default
the method returns nil to
notify Nautilus
not to display anything.
MyPlugin>>display
��� morph :=
LabelMorph new
contents: '';
��� ��� enabled: false;
vResizing: #shrinkWrap;
hResizing: #spaceFill;
yourself.
^ morph
You can also redefine the following methods on the class side:
� #defaultPosition : defines the default position of the morph (pos- sible values are {#top, #middle, #bottom, #none}). The default value is #none.
� #possiblePositions:answersacollectionofthepossiblepositions the widget could adopt.
And finally you could redefine the name method to change the name displayed in the Nautilus Plugin Manager.