Создание апплета GNOME

       

Запуск апплета в отдельном окне


Для начала нужно отладить апплет, для этого пишу код, позволяющий запускать апплет в отдельном окне:

def run_in_window(): main_window = gtk.Window(gtk.WINDOW_TOPLEVEL) main_window.set_title("GNOME Applet Skeleton") main_window.connect("destroy", gtk.main_quit) app = gnomeapplet.Applet() applet_factory(app, None) app.reparent(main_window) main_window.show_all() gtk.main() sys.exit()

def main(args): if len(args) == 2 and args[1] == "run-in-window": run_in_window() else: run_in_panel()

if __name__ == '__main__': main(sys.argv)

Небольшой комментарий по коду: если файл запускается как скрипт, то выполняется функция main, в ней, в зависимости от того, передан ли аргумент run-in-window, апплет запускается либо в окне (функция run_in_window), либо в панели (run_in_panel). Про функцию run_in_panel чуть ниже, а в run_in_window стоит обратить внимание на строчку app.reparent(main_window). Этим собственно и достигается, что апплет запускается в отдельном окне.

Как выглядит костяк апплета, можно увидеть на скриншотах:

Скелет апплета, в оконном режиме, вместе с всплывающей подсказкой

Скелет апплета, в оконном режиме, вместе с контекстным меню

Скелет апплета, в оконном режиме, вместе с диалогом “О программе”



Содержание раздела