Aumentar fonte ncurses

1. Aumentar fonte ncurses

ian cléver sales fernandes
ianclever

(usa Arch Linux)

Enviado em 11/01/2014 - 19:54h

Gente estou começando a usar ncurses, estou implementando um código teste, lembrando ainda não otimizei procurei bugs ao algo assim, isso eu farei em outro momento.

Já coloquei a tela de modo que(caso use interface gráfica, ela aceite o redimensionamento da tela, o fato é que com a tela minimizada, as fontes normais ficam com tamanho bom, porém ao colocar em tela cheia elas ficam parecendo um pouco pequenas, entãoeu quero saber se tem como aumentar o tamanho da fonte usando ncurses, tem?


segue o código para quem quiser conferir:


#include <stdio.h>
#include <ncurses.h>

void main()
{
initscr();
start_color();
WINDOW *janela1,*janela2, *janela3, contorno1;
init_pair(1,COLOR_BLACK,COLOR_BLACK);
init_pair(2,COLOR_BLUE,COLOR_CYAN);
init_pair(3,COLOR_CYAN,COLOR_BLUE);
init_pair(4,COLOR_BLACK,COLOR_BLUE);
bkgd(COLOR_PAIR(2));
janela1=newwin((LINES-2),(COLS-3),1,2);
janela2=newwin((LINES-3),(COLS-3),1,1);
janela3=newwin((LINES-7),(COLS-5),5,2);
box(janela3,0,0);
refresh();
wbkgd(janela1,COLOR_PAIR(1));
wrefresh(janela1);
wbkgd(janela2,COLOR_PAIR(3));
wattron(janela2,COLOR_PAIR(4));
mvwprintw(janela2,2,(COLS/2),"BIBLIOTECA");
wattroff(janela2,COLOR_PAIR(4));
wrefresh(janela2);
wbkgd(janela3,COLOR_PAIR(3));
wrefresh(janela3);
for(;;)
{
clear();
wclear(janela1);
wclear(janela2);
wclear(janela3);
wresize(janela1,(LINES-2),(COLS-3));
wresize(janela2,(LINES-3),(COLS-3));
wresize(janela3,(LINES-7),(COLS-5));
box(janela3,0,0);
wattron(janela2,COLOR_PAIR(4));
mvwprintw(janela2,2,(COLS/2)-5,"BIBLIOTECA");
wattroff(janela2,COLOR_PAIR(4));
refresh();
wrefresh(janela1);
wrefresh(janela2);
wrefresh(janela3);
sleep(1);
}
}



  


2. Re: Aumentar fonte ncurses

Paulo
paulo1205

(usa Ubuntu)

Enviado em 14/01/2014 - 01:52h

O ncurses procura ser, em grande medida, independente do tipo de terminal. Algo como mudar o tamanho ou o tipo da fonte não é algo tão universalmente suportado quanto limpar a tela ou mover o cursor.

Não quero dizer que seja impossível que tal recurso não exista na própria ncurses (você pode consultar a manpage de terminfo, na seção 5 do manual on-line), mas onde ele mais seguramente existe é no próprio emulador de terminal. Eu já usei sequências de escape do xterm (que provavelmente funcionam também no gnome-terminal e no konsole). Outro meio que dev3 funcionar com gnome e kde é usar dbus ou dcop para comunicar com o processo do emulador de terminal.

Infelizmente, eu estou de férias, só com o celular, e não tenho como consultar meus alfarrábios. Você vai ter de googlar um pouco.


3. Re: Aumentar fonte ncurses

ian cléver sales fernandes
ianclever

(usa Arch Linux)

Enviado em 14/01/2014 - 02:21h

de qualquer forma obrigado, mas realmente não achei nada, relacionado fácilmente,

olhando todas as funções existentes na man page do ncurses aqui no teminal, não achei nenhuma função com nome pelo menos associado a font ou fonts ou algo do tipo, na net exceto na man page oficial que eu ainda não fui até o final, nenhum exemplo pratico relacionado, só mesmo o básico, de mudar cor a tal que eu já descobri como faz.

em fim, enquanto não achar vou me virando com o que tenho.


4. Re: Aumentar fonte ncurses

Paulo
paulo1205

(usa Ubuntu)

Enviado em 19/01/2014 - 23:08h

De volta das férias, consegui achar a informação e fazer cá os meus testes.

De fato, eu tive de pesquisar no Google por um site com as sequências de escape do xterm. Eu achei este aqui: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html.

Em particular, a que lhe interessa mais provavelmente é a sequência "\x1b]50;especificação_da_fonte\a". Para que essa sequência funcione no xterm, você deve habilitar o recurso allowFontOps; caso não o faça, a sequência de escape será ignorada. O default é não habilitado, o que é compreensível -- imagine dar um inocente cat num arquivo, ou mesmo um mero ls num diretório, e ter as fontes do terminal trocadas para alguma coisa que inviabilizasse o uso.

Eu testei essa mesma sequência no konsole e no gnome-terminal, mas não consegui sucesso em qualquer um dos dois. Tentei também explorar as árvores de ambos no DBus, mas não encontrei método ou propriedade referente a troca de fontes.

Não sei qual grau de sucesso você pode ter com essas sequências de escape no rxvt, eterm, dtterm e outros programas emuladores de terminal.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts