summaryrefslogtreecommitdiff
path: root/doc/Howto_Write_Plugins
blob: bb63120d08d29c02a565c016539f8e49812bbe1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
HowTo Write A Plugin For Portato
=================================

Writing plugins for Portato is quite easy: (Nearly) all you have to do is to write a plain Python module :).

A plugin has two more builtins than a normal Python module:

    ``Plugin``
        This is a class representing a plugin.

    ``register``
        A function which you have to call to get the your plugin added to Portato.

In this module you need to have at least one class, which inherits from ``Plugin``. This class does all the handling you want your plugin to do. If you want, you can implement more classes - from Portato's view they are handled as different plugins. Thus: It is not the module hierarchy, but the classes that count.
Add the end you only call ``register`` once for each class and are done :).

Of course there are some things you should bare in mind:
    
    1. Do not use the ``__init__`` method, but ``init``.
    2. Do not use a member which shadows one from the original class:
       ``description``, ``author``, ``status``, ``menus``, ``name``, ``calls``, ``deps``, ``enabled``, ``add_menu``, ``add_call``
    3. Of course you can *use* the members mentioned under point 2.

For the details, please see the source code at the moment or write your question to portato@necoro.net

.. vim: ft=rst
e='2020-07-04 23:45:31 +0200'>2020-07-04necoro.eu -> necoro.devRené 'Necoro' Neumann1-2/+3 2020-05-27Go Path SupportRené 'Necoro' Neumann1-0/+2 2020-05-27[vim] syntastic configRené 'Necoro' Neumann1-0/+3 2020-05-27Remove vim-latex configsRené 'Necoro' Neumann2-24/+0 2020-04-15Simplify check_libsRené 'Necoro' Neumann1-6/+2 2020-04-15Explicitly set PAGERRené 'Necoro' Neumann1-0/+1 2020-04-12[vim] Syntax coloring by default, if supportedRené 'Necoro' Neumann1-0/+4 2020-04-12Fix scrolling in screenRené 'Necoro' Neumann1-0/+4 2020-04-11UpdateRené 'Necoro' Neumann1-0/+0 2020-04-05Replace git:// by https://René 'Necoro' Neumann1-2/+2 2020-02-17Update urxvt extension configRené 'Necoro' Neumann2-4/+120 2020-02-17Remove urxvt wgetpaste extensionRené 'Necoro' Neumann2-30/+1 2020-02-17[i3] Wifi: Include frequenceRené 'Necoro' Neumann1-1/+1 2020-02-17Put ssh-agent into the i3 environment.René 'Necoro' Neumann1-0/+1 2020-02-17Update cci: stgit now uses python3René 'Necoro' Neumann1-1/+1 2020-02-17Revert "Local Changes"René 'Necoro' Neumann2-5/+3 2020-02-17Update vundleRené 'Necoro' Neumann1-0/+0 2020-02-17Enable secondary screen in urxvtRené 'Necoro' Neumann1-0/+1 2020-02-17Local ChangesRené 'Necoro' Neumann2-3/+5 2018-06-10[i3] Replace icons by font awesomeRené 'Necoro' Neumann24-149/+13 2018-06-10[i3] Remove obsolete pidgin stuffRené 'Necoro' Neumann2-36/+0 2018-06-10[zsh] Remove obsolete isabelle functionsRené 'Necoro' Neumann2-112/+0 2018-06-10Misc changesRené 'Necoro' Neumann3-0/+7 2018-06-10[git] Update email addressRené 'Necoro' Neumann1-1/+1 2018-06-10Enhance cci scriptRené 'Necoro' Neumann1-15/+12 2017-11-18Some windows setupRené 'Necoro' Neumann2-1/+6 2017-10-08[zsh] Use zcalc instead of bcRené 'Necoro' Neumann1-5/+4 2017-10-08[zsh] CalculatorRené 'Necoro' Neumann1-0/+8 2017-10-08Some vim changes.René 'Necoro' Neumann4-28/+17 2017-10-08Delete old stuff.René 'Necoro' Neumann5-71/+1