Pular para o conteúdo

Zenity: Criando listas automaticamente a partir de arquivo

Responder tópico
  • Denunciar
  • Indicar

1. Zenity: Criando listas automaticamente a partir de arquivo

Enviado em 13/04/2013 - 16:57h

Galera,

tenho um arquivo chamado prg.txt que possui uma lista de programas/descrição do tipo CSV (usando dois pontos como separador)

T:aptitude:Gerenciador de pacotes
F:vim:Editor de Texto poderoso. Dificil de usar
T:ghex:Editor grafico de hexadecimal
T:gnucash:Gerenciador Financeiro
e um script que usa o zenity para exibir uma caixa do tipo checklist

#!/bin/bash
lista=$(for i in `cat prg.txt |tr " " _`; do
sn=`echo $i|cut -d: -f1`
prg=`echo $i|cut -d: -f2`
prg=`echo "$prg"`
dsc=`echo $i|cut -d: -f3|tr _ " "`
if [ "$sn" = "T" ]; then
sn="TRUE"
else
sn="FALSE"
fi
echo " $sn $prg \"$dsc\" "
done
echo " --separator=\" \"")

box="zenity --list --checklist --text \"1, 2, 3 testing.\" \
--column \"S/N\" --column \"Programa\" --column \"Descricao\" $lista"

`echo $box`
quando apenas dou um echo na variável box e executo o texto na linha de comando, funciona perfeitamente.
Mas quando mando executar direto no script, a caixa não fica como deveria (como se o texto não tivesse no formato aceito pelo zenity).
Tentei três tipos de chamada com a variável box
$box
$($box)
além da chamada acima. Nenhum funcionou!!!

Se alguém puder me indicar um caminho fico grato.

Responder tópico

2. Re: Zenity: Criando listas automaticamente a partir de arquivo

Enviado em 17/04/2013 - 02:11h

Em Zenity:


#!/bin/bash
eval zenity --list --width=500 --height=400 \
--column=\'S/N\' --column=\'Programa\' --column=\'Descricao\' \
$(while read LINHA
do
SN=$(echo "$LINHA" | cut -d: -f1)
PRG=$(echo "$LINHA" | cut -d: -f2)
DSC=$(echo "$LINHA" | cut -d: -f3)
echo "\"$SN\" \"$PRG\" \"$DSC\""
done < prg.txt)
Em yad, recomendo-o fortemente: http://www.vivaolinux.com.br/artigo/Yad-016-Eu-quero-sempre-mais-de-ti/


#!/bin/bash
eval yad --list --width=500 --height=400 \
--column=\'S/N\' --column=\'Programa\' --column=\'Descricao\' \
$(while read LINHA
do
SN=$(echo "$LINHA" | cut -d: -f1)
PRG=$(echo "$LINHA" | cut -d: -f2)
DSC=$(echo "$LINHA" | cut -d: -f3)
echo "\"$SN\" \"$PRG\" \"$DSC\""
done < prg.txt)
Abraços

3. Re: Zenity: Criando listas automaticamente a partir de arquivo

Enviado em 17/04/2013 - 15:25h

Tb sou a favor do YAD, ótima ferramenta para GUI!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder