Plugin system

Bug #279503 reported by Vitaliy Okulov on 2008-10-07
Affects Status Importance Assigned to Milestone
Nominated for Trunk by Vitaliy Okulov

Bug Description

Please add intergration with music players, like audacious.

Razzloss (razzloss) wrote :

Not likely to happen. Unless some sort of plugin system is implemented. Then features like this can be implemented without cluttering and bloating the main program.

.... hrmh plugin system... where did I put that damn prototype...

Vitaliy Okulov (vitaliy-okulov) wrote :

Plugin system will be very usefull.

Steven Sheehy (steven-sheehy) wrote :

A plugin system would be nice. If someone wants to take it, I recommend they look at glib's gmodule functionality.

Changed in linuxdcpp:
importance: Undecided → Wishlist
status: New → Confirmed
Vitaliy Okulov (vitaliy-okulov) wrote :

I think plugin interface must be some kind of wrapper over high level languages, python, perl, lua, etc.

lys (lys) wrote :

allready implimented by curse in his mod of this client, see

Vitaliy Okulov (vitaliy-okulov) wrote :

Domain not found. Or it`s spam? +)

Steven Sheehy (steven-sheehy) wrote :

I've looked at crzdc's implementation of a plugin system before and was not impressed. They basically invoke a shell script and print its output to chat. It is highly insecure and not very flexible. I would like to see a plugin system using gobject or possibly python scripts.

tags: added: plugin
Steven Sheehy (steven-sheehy) wrote :

Characteristics that a plug-in system must have (notes to myself or anyone else that wants to implement it):

- Load plug-ins from a directory in the user's home (e.g. ~/.dc++/plugins/) for user-added plug-ins
- Load plug-ins from the installed prefix (e.g. /usr/share/linuxdcpp/plugins) so we can ship some plug-ins with the program
- Use gmodule to load the plug-ins dynamically from either directory, user plug-ins overriding shipped plug-ins
- Create an interface that plug-ins would have to implement
- Support C++ plug-ins
- Possibly support python plug-ins in addition to C++
- Allow for dynamic replacement of UI elements like menu items (this will require conversion of glade files to GtkBuilder files and thus a minimum of 2.12 for GTK+)
- Support versioning of plug-ins
- For additional ideas see

Any other ideas feel free to add them here.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers