Walderlan Sena Postado Outubro 30, 2017 em 15:14 Compartilhar Postado Outubro 30, 2017 em 15:14 Introdução a Criação de Interface Gráfica com Shell Script e Yad "Shell script é uma linguagem de script usada em vários sistemas operativos (operacionais), com diferentes dialetos, dependendo do interpretador de comandos utilizado. Um exemplo de interpretador de comandos é o bash, usado na grande maioria das distribuições GNU/Linux." Fonte: https://pt.wikipedia.org/wiki/Shell_script Vamos entender o que é uma interface: "Elemento que proporciona uma ligação física ou lógica entre dois sistemas ou partes de um sistema que não poderiam ser conectados diretamente." E o que é Interface Gráfica? "Interface Gráfica é um conceito da forma de interação entre o usuário do computador e um programa por meio de uma tela ou representação gráfica, visual, com desenhos, imagens, etc. Geralmente é entendido como a “tela” de um programa." O que significa Yad ? "Yad Significa (Yet Another Dialoging program). O yad é um fork do zenity, só que muuuuuito mais incrementado." O autor do Yad é o ucraniano Victor Ananjevsky, e a página do projeto pode ser encontrada no: http://code.google.com/p/yad/ Para realizar a instalação em sistemas operacionais baseados no Debian digite: sudo apt-get install yad Vamo qui vamo !!!!! Como de costume no inicio de novas tecnologia sempre utilizamos o famoso Hello World, então vamos lá: Abra seu terminal e digite: yad --center O comando --center, se refere a centralização do seu programa no centro da sua tela. Alguns comando disponíveis com suas respectivas explicações de funcionamento: Uso: yad [OPÇÃO...] - Yet another dialoging program Opções de ajuda: -h, --help Exibe opções de ajuda --help-all Exibe todas as opções de ajuda --help-general Mostrar opções gerais --help-common Mostrar opções comuns --help-calendar Mostrar opções de calendário --help-color Mostrar opções de seleção de cor --help-dnd Mostrar opções de arrastar e soltar --help-entry Mostrar opções de entrada de texto --help-file Mostrar opções de seleção de arquivos --help-font Mostrar opções de seleção de fonte --help-form Mostrar opções de formulário --help-html Mostrar opções de HTML --help-icons Mostrar opções de caixa de ícones --help-list Mostrar opções de lista --help-multi-progress Mostrar opções de múltiplas barras de progresso --help-notebook Mostrar opções de diálogo de notebook --help-notification Mostrar opções de ícone de notificação --help-paned Mostrar opções de diálogos panorâmicos --help-picture Mostrar opções de diálogo de imagem --help-print Mostrar opções de diálogo de imressão --help-progress Mostrar opções de progresso --help-scale Mostrar opções de escala --help-text Mostrar opções de texto de informação --help-filter Mostrar opções de seleção de arquivos --help-misc Mostrar opções de micelânea --help-gtk Mostra as opções do GTK+ E por fim você pode, desenvolver formulários sensacionais com essa ferramenta. Fica a Dica !!! Para mais informações sobre o desenvolvimento com Shell script e Yad, acesse: Grande abraço ! Link para o comentário Compartilhar em outros sites More sharing options...
Fernando Mercês Postado Outubro 30, 2017 em 15:37 Compartilhar Postado Outubro 30, 2017 em 15:37 YAD é muito legal. Tem mais exemplos pra compartilhar? Coisas como capturar o retorno de caixas de diálogos com botões e tal. Lembrando que o mestre Julio, nosso primeiro entrevistado no Papo Binário, é super fã de YAD e tem um livro específico sobre interfaces gráficas no shell chamado Bombando o Shell. Abraços! Link para o comentário Compartilhar em outros sites More sharing options...
Walderlan Sena Postado Outubro 30, 2017 em 16:04 Autor Compartilhar Postado Outubro 30, 2017 em 16:04 Sim vou colocar mais exemplos @Fernando Mercês, vou ver aqui os mais comuns e legais ! É muito bom mesmo os livro do Mestre Júlio, um verdadeiro exemplo da computação Brasileira... Link para o comentário Compartilhar em outros sites More sharing options...
Walderlan Sena Postado Outubro 30, 2017 em 22:09 Autor Compartilhar Postado Outubro 30, 2017 em 22:09 Continuando o poste anterior, segue novas funcionalidades: Com o Yad é possível como citado anteriormente criar formulário: Uso: yad [OPÇÃO...] - Yet another dialoging program Opções de formulário --form Exibir caixa de diálogo tipo formulário --field=ROTULO[:TIPO] Adicionar campo a formulário (veja a página de manual para a lista de tipos possíveis) --align=TIPO Defina o alinhamento dos rótulos de campo (left, center ou right) --columns=NUMERO Defina o número de colunas no formulário --scroll Fazer um formulário com rolagem --output-by-row Ordenar campos de saída das linhas --focus-field=NUMERO Definir campo ofuscado O --form indica para o Yad que posteriormente o formulário será criado. Com isso o --field propõe vários tipos de forms... Opções de formulário --field = LABEL [: TYPE] Adicione campo para formar. O tipo pode ser H, RO, NUM, CHK, CB, CBE, CE, FL, SFL, DIR, CDIR, FN, MFL, MDIR, DT, SCL, CLR, BTN, FBTN, LBL ou TXT. H - tipo de campo oculto. Todos os caracteres são exibidos como o caractere invisível. RO - campo está em modo somente leitura. NUM - campo é numérico. O formato de valor inicial para este campo é VALUE [! RANGE [! STEP! [PREC]]], onde RANGE deve estar na forma MIN..MAX. `! ' é um separador de itens padrão. PREC é uma precisão para decimais. CHK - campo caixa de seleção. O valor inicial é uma constante booleana insensível a maiúsculas e minúsculas (TRUE ou FALSE). CB - caixa de combinação de caixa. O valor inicial é uma lista VAL1! VAL2! .... O separador é o mesmo que no campo NUM. Valor iniciado com `^ ' ameaças como padrão para combo-box. CBE - campo combo-box editável. Valor inicial o mesmo que para combo-box. CE - entrada com conclusão. Valor inicial o mesmo que para combo-box. FL - botão de seleção de arquivo. SFL - campo para criar arquivo. DIR - botão de seleção de diretório. CDIR - campo para criar pasta. FN - botão de seleção de fonte. Valor inicial igual ao diálogo de fonte. MFL - selecione vários arquivos. O valor deste campo é uma lista de arquivos separados por item-separator. MDIR - selecione várias pastas. O valor deste campo é uma lista de pastas separadas por item-separator. DT - campo da data. SCL - campo de escala. Valor deste campo em um intervalo de 0..100. CLR - botão de seleção de cores. Os valores de saída para este campo geram da mesma maneira que para a caixa de diálogo de cores. BTN - botão campo. O rótulo pode estar em forma de texto em uma forma LABEL [! ICON [! TOOLTIP]] onde `! ' é um separador de itens. LABEL é um texto de etiqueta do botão ou gtk stock id. ICON é um ícone de botões (stock id ou nome de arquivo). O TOOLTIP é um texto opcional para a seqüência de ajuda pop-up. O valor inicial é um comando que está sendo executado quando o botão é clicado. Um sintoma especial% N no comando é substituído pelo valor do campo N. Se o comando começar com @, a saída do comando será analisada e as linhas serão iniciadas com o número e os dois pontos serão tratados como um novo valores de campo. Um estilo de citação para valor quando sh -c é usado - uma única cotação em torno de comando e dupla citações em torno de -c argumento FBTN - o mesmo que o campo do botão, mas com o alívio total de um botão. LBL - rótulo de texto. Se o nome do campo estiver vazio, a linha separadora horizontal será mostrada. TXT - entrada de texto multilinha. Este campo sempre ocupa toda a largura do formulário. Então vamos criar nosso primeiro formulário ! #!/bin/bash # Cria uma 'função' que monta e armazena o retorno do formulario FORM=$( yad --center --title="Formulario de Cadastro" \ --width=400 --heigth=400 \ --text="Preencha todos os campos" --text-align="center" \ --form \ --field="Nome : " "" \ --field="Email : " "" \ --field="Profissão:":CB Programador!Técnico!Analista!Outro \ --button gtk-add --buttons-layout="center" \ ) echo $FORM A execução do script acima resultará em: E o retorno do botão adicionar será: Walderlan Sena|walderlan@email.com|Programador| Desta forma perceba que a um padrão de separação entre os dados de retorno, ou seja, os mesmo estão separados por "|" pipeline. Com isso vamos utilizar o comando cut(Para saber mais sobre o CUT, acesse o vídeo Cortando seções de texto com o cut ) para capturar os dados armazenados na variável $FORM. Utilizando o CUT executar o seguinte comando: #!/bin/bash # Cria uma 'função' que monta e armazena o retorno do formulario FORM=$( yad --center --title="Formulario de Cadastro" \ --width=400 --heigth=400 \ --text="Preencha todos os campos" --text-align="center" \ --form \ --field="Nome : " "" \ --field="Email : " "" \ --field="Profissão:":CB Programador!Técnico!Analista!Outro \ --button gtk-add --buttons-layout="center" \ ) nome=$(echo "$FORM" | cut -d "|" -f 1) email=$(echo "$FORM" | cut -d "|" -f 2) prof=$(echo "$FORM" | cut -d "|" -f 3) echo "Seu nome e : $nome" echo "Seu email e : $email" echo "Sua profissão e : $prof" Após a execução o retorna no terminal será: Bom, este é mais um exemplo simples do funcionamento de formulário com Shell Script e Yad... Até a próxima.... Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Arquivado
Este tópico foi arquivado e está fechado para novas respostas.