Я пытаюсь добавить vte
виджет в свое приложение и примеры, которые я нашел, используют .fork_command()
для выполнения команды в этом виджете. Но согласно
http://developer.gnome.org/vte/0.26/VteTerminal.html#vte-terminal-fork-command
это устарело, и его рекомендуется использовать fork_command_full()
. Что требует восьми обязательных аргументов. Разве они не слышали слово "по умолчанию "? Я был в состоянии построить линии, которые работают как-то:
pty_flags = vte.PtyFlags(0)
terminal.fork_command_full(pty_flags, "/home/int", ("/bin/bash", ), "", 0, None, None)
Да, я знаю о перечислениях, я просто надеюсь, что я делаю это совершенно неправильно, и есть гораздо более простой способ. Вы знаете кого-нибудь?
PS Я использую quickly
с ubuntu-application
шаблоном по умолчанию .
PPS строка импорта from gi.repository import Vte as vte
Ответы:
Вот основной пример:
источник
Основываясь на ответе ADcomp на адрес, желающий добавить их динамически в будущем, я думаю, что вы, возможно, захотите создать подкласс Vte.terminal.
источник
__init__(self, command)
будет еще приятнее, попробую позже.Начиная с VTE 0.38,
vte_terminal_fork_command_full ()
был переименован вvte_terminal_spawn_sync ()
. Поэтому, если вы используете более новые версии, вы должны изменить ответ @ ADcomp следующим образом:источник