Та виникає декілька питань що відносяться до дизайну:
- Як обробляти події та надавати доступ до даних, глобальних змінних.
- Скільки контролю давати плагіну.
- Що писати в Plugin.init().
Так виглядає примітивний додаток до плеєра Rhythmbox на мові Python
import rb
class FloonitzPlugin (rb.Plugin):
def __init__(self):
rb.Plugin.__init__(self)
def activate(self, shell):
print "Hello World"
Використано Introduction to Rhythmbox plugins
А це куб-плагін для Compiz - 3D менеджера вікон:
CompPluginVTable cubeVTable = {
"cube",
"Desktop Cube",
"Place windows on cube",
cubeInit,
cubeFini,
cubeInitDisplay,
cubeFiniDisplay,
cubeInitScreen,
cubeFiniScreen,
0, /* InitWindow */
0, /* FiniWindow */
0, /* GetDisplayOptions */
0, /* SetDisplayOption */
cubeGetScreenOptions,
cubeSetScreenOption,
cubeDeps,
sizeof (cubeDeps) / sizeof (cubeDeps[0])
};
CompPluginVTable *
getCompPluginInfo (void)
{
return &cubeVTable;
}
Немає коментарів:
Дописати коментар