Since I was going to code, I decided to make something useful, so I took the advice of my friend peyisar who said to me that he liked the main window of emesene 1.x over the current one. I made a plugin that register an extension to add the old status combo at the bottom of the main window.
It's really easy to make, you can look at the code here:
here is a screencast showing how to enable the new plugin and extension:
you may ask what's the difference between a plugin and an extension, well:
- plugins add functionality that wan't there before
- extensions replace functionality that was there but you may not like as it is
in emesene 2, all parts are extensions that are registered in a category, you can check which categories exist going to the extension tab on preferences, almost all of them right now come with only one implementation, except conversation output that has the webkit and the gtk output options and the session category that has msn, jabber and dummy implementations.
but since you may want to write a new extension for a given category the most common place to transport your extension and register it is a plugin.
you code a plugin that only registers an extension when it's activated, and since on emesene 2 we can code plugins in folders we can have a lot of files to implement one or multiple functionalities.
This is just one example of what can be achieved, just think on extensions as a way to change the behavior of emesene 2 without needing to understand all the code or the need to have svn access.