![]() |
![]() |
![]() |
![]() |
Cor e fonte em X-Windows Como escolho tamanho, cores e outras propriedades do meu programa em X-Windows, para ele que já inicie como eu quiser? As aplicações em X-Windows, também chamadas "clientes", são muito configuráveis. Além de chaves na linha de comando, podemos definir nos arquivos de recursos (resource files) o seu comportamento. Há arquivos de recursos genéricos, para todas as aplicações, e específicos, para classes de aplicações. Ademais, temos recursos definidos globalmente, no arquivo /usr/lib/X11/init/.Xresources ou localmente, por usuário, no seu diretório $HOME, nos arquivos .Xresources ou .Xdefaults. Os recursos por aplicação são localizados no diretório /usr/lib/X11/app-defaults com nomes capitalizados similares aos da aplicação. Por exemplo, "Netscape" e "XTerm" se referem às aplicações "netscape" e "xterm". Estes arquivos contêm linhas da forma: "aplic[.hierarquia[.sub-hierarquia ...]].atributo: valor". Nele, "aplic" é o nome da aplicação (ou classe, capitalizada, para todas as aplicações de um mesmo tipo); a "hierarquia" define as estruturas, painéis, etc, da aplicação; o "atributo" é a propriedade (cor, geometria...) que você quer mudar. Essa hierarquia de "widgets" (objetos da interface visual) obedece a uma nomenclatura similar ao "path" de um arquivo em um diretório. Assim, podemos usar "*" para indicar "qualquer coisa". Por exemplo, colocando XTerm*Background: cornsilk2 faremos os "backgrounds" (cores de fundo) de todos os elementos de um xterm assumirem a cor "cornsilk2". Outro exemplo: tkinfo.geometry: 80x30+10+10 fará com que a geometria (tamanho) da janela da aplicação "tkinfo" seja de dimensão 80x30 caracteres, e seja posicionada a 10 pixels do topo e da esquerda da nossa tela. Note que aí só "tkinfo" será mudada. Caso haja uma aplicação (da mesma classe) chamada "tkinfo-1", ela não será afetada por essa definição de recurso. Podemos iniciar uma aplicação com um nome diferente, fazendo por exemplo "tkinfo -name tkinfo-1". Neste caso, só os recursos definidos para a classe seriam aplicáveis. Mais um exemplo: Xedit*quit. label: saída mudará o rótulo (label) no botão de saída (quit) do "xedit" para o porAtuguês. Para alterar facilmente seus recursos: (1) salve o banco de dados atual com "xrdb -query> meus.resources"; (2) edite o arquivo meus.resources com o seu editor de textos predileto; (3) redefina-os com "xrdb -load meus.resources", e experimente abrir a aplicação que mudou. Cores são introduzidas por nomes, de acordo com o banco de dados de nomes /usr/lib/X11/rgb.txt, ou através de números prefixados por "#", com as componentes RGB (red-green-blue = vermelho-verde-azul) das cores, com 1 a 4 dígitos hexadecimais por componente. Por exemplo, "#F00" refere-se a uma cor vermelha intensa (componente vermelha F, demais componentes 0), "#900000C00" é um violeta relativamente escuro (componente vermelha 900, componente azul C00). Fontes de caracteres têm um formato um pouco mais intrigante. O melhor é você usar o "xfontsel", escolher o fonte desejado e pressionar o botão "select". Depois vá ao texto dos recursos que você está editando e efetue um "paste" (botão do meio do mouse) para inserir a definição no texto. Podemos listar os recursos usados por (apenas) uma aplicação com "appres" ou mesmo editá-los interativamente (mas não para todas as aplicações) com "editres". ______________________________________________ |
|