Gerenciador de Downloads com Diálogo

1

Estou tentando fazer um gerenciador de downloads com diálogo, mas não consigo exibir o histórico de download ( function view_history ) com infobox.

Error: Expected no more than 3 tokens for --infobox, have 5.
Use --help to list options.

Minha outra pergunta:

Eu posso fazê-lo funcionar com cat $HOME/dmlog.txt , mas como meu script tem muitos comandos claros, não consigo ver a saída do comando cat sem rolar. Alguma idéia de como posso fazer isso? Eu tentei o comando sleep depois dele, mas parece um design ruim.

    
por mirkancal 14.04.2018 / 07:54

1 resposta

0

- largura da altura do arquivo do tailbox Exibir texto de um arquivo em uma caixa de diálogo, como em um comando "tail -f" ...

Use um textbox para mostrar arquivos de texto e rolagem.

- largura da altura do arquivo de caixa de texto     Uma caixa de texto permite exibir o conteúdo de um arquivo de texto em uma caixa de diálogo. É como um simples visualizador de arquivos de texto. O usuário pode percorrer o arquivo usando as teclas de cursor, page-up, page-down e HOME / END disponíveis na maioria dos teclados. Se as linhas forem muito longas para serem exibidas na caixa, as teclas ESQUERDA / DIREITA podem ser usadas para rolar a região do texto horizontalmente ...

documentação: link

TextboxDialog() {
dialog "Example" --textbox "/PathTo/File.txt" 20 50
}

E você tem alguns problemas usando sua função. Você esqueceu o () e também cita o caminho do arquivo em ""

Assim, sua função deve ser semelhante a:

function view_history() {
    dialog --textbox "$HOME/dmlog.txt" $HEIGHT $WIDTH
}

Se você deseja mostrar algumas informações ao usuário, exiba as informações em um msgbox ou infobox. Você pode controlar qual menu deve iniciar após a interação do usuário.

Você pode chamar outra ação depois que sua mensagem for exibida com eval .

${NextMenu} chama a função desejada. Onde a variável $ NextMenu armazena o nome da sua função.

     InfoDialog(){

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --no-cancel --title "$MenuName" --msgbox "$InfoText" 20 50
    ${NextMenu}
}

O mesmo com Sim / Não Diálogos, para talvez controlar algo:

YesNoDialog() {

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --yes-label "OK" --no-label "STOP" --defaultno --title "$MenuName" --yesno "$InfoText" 20 50
    answer=$?
    if [ $answer = 0 ]
    then            
        ${NextMenu}
    else
        MainMenu
    fi      
}   

Lembre-se de definir suas variáveis overgiven outsite uma função e chame sua função com as variáveis. Exemplo:

InfoDialog(){

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --no-cancel --title "$MenuName" --msgbox "$InfoText" 20 50
    ${NextMenu}
}

MenuName="$1"
InfoText="$2"
NextMenu="$3"
InfoErrorDialog $MenuName $InfoText $NextMenu**
    
por 14.04.2018 / 11:11