2009/12/31 prantomari <[email protected]> > > Bom dia Pessoal. > Chefe é o seguinte. > Nos temos um programa rodando em Flagship no linux, e a chamada para o > programa tem um menu em Bash Shell.
A primeira coisa que eu acho necessaria ficar clara para que possamos entender EXATAMENTE o que voce quer eh:o scrip com o menu em shell roda no console (sem o suporte grafico do X, ou roda num terminal texto do X, como o Xterm, por ex? Por que isso vai definir suas opcoes: Rodando no console direto, SEM o X, ate onde eu sei, suas opcoes sao realmente limitadas. Se o menu eh feito usando caracteres ANSI ou dialog (que nao deixa de usar caracteres ANSI), voce esta preso a caracteres. Nao tem acesso a PIXELS (ate onde eu sei!). Como o Sr. Bits ;-) disse, existem programas que exibem imagens no modo texto: o zgv e o SeeJpeg sao dois deles. O zgv depende do suporte a FrameBuffer por parte do Kernel; ele proprio eh uma "interface" grafica (primaria e especializada) independente do X, que tambem trabalha com pixels e nao caracteres. Pelo menos nas ultimas versoes de Slackware/Kernel/Placas de video eu tive dificuldade em roda-lo. Consegui, mas nao lembro dos detalhes e das dificuldades encontradas. O fato eh que ele e o SeeJpeg suportam imagens SEM o X, mas NAO SAO para o "modo" caractere. De fato, sao um outro paradigma de modo grafico. Entao, se o seu menu eh um menu tipo Dialog, acho improvavel que consiga incluir imagens nele. Uma opcao seria achar algum toolkit grafico independente do X, usando, por ex o frame buffer, que implementasse uma interface de programacao em BASh e que tornasse possivel criar scripts que interagissem com com elementos como menus, caixas de dialogo, etc com essa biblioteca grafica. Nao sei se ja existe isso. Mas se NOS estamos pensando nisso, ALGUEM ja deve ter pensado... ;-) > So que eu acho muito pobrezinho ja que as opções ficam restritas a texto, e > dai eu gostaria de dar uma mudança visual nela colocando uma imagem ou dando > umas alteradas em cores, na verdade cores ja mudei do tipo mudar o fundo ou a > cor das letras, mas gostaria de colocar uma menur mais moderno mais bonitinho > se é que vcs me entendem. :-) Rodando o menu num terminal texto do X, as opcoes multiplicam-se exponencialmente, hehe. Voce ate pode usar menus coloridos ANSI, mas isso eh o minimo. Com toolkits graficos como o XDialog voce pode criar interfaces para scripts em BASh usando o proprio BASh. O XDialog eh bem completo, nao sei se eh o MAIS completo, mas certamente nao eh o mais "bonitinho". Existem outros, alguns baseados no Qt com mais qualidade grafica. Voce pode procurar. Essas opcoes DEPENDEM do suporte grafico do X. > Tipo na inicialização de algumas versoes ele exibe um pinguim colorido na > parte superior, e outras versoes quando chamamos o console ele fica com um > pinguim ao lado do login, alguma coisa desse tipo entenderam?. Inicializacao de versoes? Quer dizer o boot do kernel? Acredito que sim. Esse pinguin eh suportado justamente pelo framebuffer. Pode inclusive ser modificado na compilacao do kernel ou trocado por um splash screen. Mas observe o que acontece quando o boot finaliza, no modo texto (nao o login grafico do X/K/GDM: a imagem permanece la. Mova o mouse sobre ela, de uns enter, ou mude para outro console virtual. Pufffff... ela some :-p O suporte grafico do framebuffer NAO EH suporte grafico para o modo caractere (ou seja la como se chama esse modo). > Ou a tela inicial de seleção exemplo do Mandriva que fica um fundo e no > centro as opções de menu. Suponho que esta tela seja a tela de selecao de opcoes de boot certo? Nao sei que boot manager o Mandriva usa, mas tanto o suporte grafico do LiLo quanto do GrUB e do SysLinux estao limitados a tela de selecao de kernel no Boot, e nao se extendem ao sistema operacional apos ele ter bootado. > Qualquer uma dessas novidades para mim seriam interessante, se existe alguma > coisa nesse sentido e poderem compartilhar conosco ficaremos muito > agradecidos. Eu apostaria na "traducao" desse script usando o XDialog, para comecar. Veja onde voce se encaixa e voltamos a conversar. [] -- (o_ ------------------ __o //\ [email protected] _`\<, V_/_ --- www.lsd.org.br (_)/(_) ---------------------------------
