@@ -31,6 +31,36 @@ Before we will accept your PR, we will ask you to:
3131 * make sure your patch conforms with :pep: `008 ` (should be covered by passing
3232 tests)
3333
34+ Plugins
35+ -------
36+
37+ Khal now supports plugins, currently for supporting new commands (`example
38+ command plugin `_), formatting (`example formatting plugin `), and
39+ colors (`example color plugin `).
40+
41+ If you want to develop a new feature, please check if it can be implemented as
42+ a plugin. If you are unsure, please ask us, we will gladly help you and, if
43+ needed, also extend the plugin API. We would like to see new functionality
44+ matured in plugins before we consider integrating it into khal's core.
45+
46+ .. _`example command plugin` : https://github.com/geier/khal_navigate
47+ .. _`example formatting plugin` : https://github.com/tcuthbert/khal/tree/plugin/example
48+ .. _`example color plugin` : https://github.com/geier/khal_gruvbox/tree/importlib
49+
50+
51+ Color scheme plugins
52+ *********************
53+
54+ Khal color schemes plugins are only availlable for the `ikhal ` interface. They
55+ are installed as python packages (e.g. `python -m pip install khal_gruvbox `).
56+ A color scheme plugin must provide an entry point `khal_colorscheme ` and contain
57+ an urwid palette definition. The palette definition is a list of tuples, where
58+ each tuple contains an attribute name and a color definition. See the `urwid
59+ documentation `_ for more information. All currently avaialable attributes can be
60+ found in `khal's source code `_.
61+
62+ .. _`urwid documentation` : http://urwid.org/manual/displayattributes.html
63+ .. _`khal's source code` : https://github.com/pimutils/khal/blob/master/khal/ui/colors.py
3464
3565General notes for developing khal (and lots of other python packages)
3666---------------------------------------------------------------------
0 commit comments