= Diodon = 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. == For users == === Get it === 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. === Support === 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 find us also on irc.ubuntu.com in #diodon. === More === * http://www.webupd8.org/2011/01/diodon-lightweight-clipboard-manager.html * http://esite.ch/tag/diodon == For developers == === 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. === Architecture === {{attachment:diodon_architecture.png}} '''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 ;)).