Estou tentando adicionar um vte
widget ao meu aplicativo e os exemplos que encontrei .fork_command()
para executar um comando nesse widget. Mas de acordo com
http://developer.gnome.org/vte/0.26/VteTerminal.html#vte-terminal-fork-command
foi preterido e é recomendado o uso fork_command_full()
. O que precisa de oito argumentos obrigatórios. Eles não ouviram a palavra " padrão "? Consegui construir linhas que funcionam de alguma forma:
pty_flags = vte.PtyFlags(0)
terminal.fork_command_full(pty_flags, "/home/int", ("/bin/bash", ), "", 0, None, None)
Sim, eu sei sobre as enumerações, só espero que eu esteja fazendo isso completamente errado e que haja uma maneira muito mais fácil. Você conhece algum?
PS estou usando quickly
com o ubuntu-application
modelo padrão .
PPS A linha de importação é from gi.repository import Vte as vte
Respostas:
Aqui está um exemplo básico:
fonte
Com base na resposta do ADcomp para resolver querer adicioná-los dinamicamente no futuro, acho que você pode querer subclassificar Vte.terminal.
fonte
__init__(self, command)
seria ainda melhor, vou tentar isso mais tarde.Desde o VTE 0,38,
vte_terminal_fork_command_full ()
foi renomeado paravte_terminal_spawn_sync ()
. Portanto, se você estiver usando versões mais recentes, precisará alterar a resposta do @ ADcomp para o seguinte:fonte