Diodon is a simple clipboard manager for GNOME with application indicator support. Aiming to be the best integrated clipboard manager for the Gnome/GTK+ desktop. Checkout out the project on launchpad https://launchpad.net/diodon.
The easiest way to install diodon is to use the ppa on https://launchpad.net/~diodon-team/+archive/stable. Diodon can also be build from source. Tarballs are available on https://launchpad.net/diodon/+download. Follow the instructions in the INSTALL file.
Your opinion and questions are important. So please ask any question about Diodon on https://answers.launchpad.net/diodon. If you found a bug or have a feature request please open a report on https://bugs.launchpad.net/diodon.
You found us also on irc.ubuntu.com in #diodon.
Want to get involved
Any help is appreciated (developers, translators, designers, ...). Just checkout the open issues on https://bugs.launchpad.net/diodon to see what needs to be done.
Simply create a new branch with bzr lp:diodon, fix the issue and propose your branch for merging. Hope the architecture documentation below helps you to get started. For other questions contact the Diodon Team (https://launchpad.net/~diodon-team), meet us on irc (#diodon on irc.ubuntu.com) or file a question on https://answers.launchpad.net/diodon.
Controller: The Controller encapsulates the application logic (e.g. making sure that the history is not longer than configured, ...). It uses the manager to help to interact with other components/technologies. Note that managers, views and models should never interact with each other but always communicate with the Controller through signals.
Models: Models are here for storing the application state (e.g. what clipboard item is active, or what is the size of the history, ...). Note that a model should never start an action to change the application state.
Views: Views should only provide methods to change the user interface (e.g. add clipboard item, remove clipboard item, ...), but shouldn't change it themselves.
Managers: Managers contain additional code to interact with one particular component/technology (e.g. Clipboard, Keybinding, ...). A manager is to understand as some attached code to the Controller (as to not have a Controller class with thousand of lines ;)).