SearchWiki:

Seções:

Recent Changes Printable View Page History Edit Page

Recursos

O Fvwm é capaz de fazer muitas coisas legais. Nessa página serão apresentadas algumas delas.

Múltiplos desktops virtuais compostos por múltiplas páginas

Assim como outros gerenciadores de janelas, o Fvwm pode utilizar múltiplos desktops virtuais. Um desktop virtual pode ser entendido como uma área de trabalho. Quem gosta de organização pode, por exemplo, abrir seus programas de e-mail/navegação em um desktop, terminais (xterms) em outro, e assim por diante (exemplo). Até ai nenhuma novidade... O diferencial é que cada desktop pode ser composto por múltiplas páginas, e o grande diferencial é que, enquanto os desktops são "disjuntos", as páginas não. Isso dá a impressão de se ter uma área de trabalho que é maior do que a tela. Na prática, um desktop pode ser composto por uma "matriz" de páginas, ex. 3x3. e essa páginas são "contínuas", ou seja, se uma janela é deslocada para a margem esquerda de uma página, ela poderá ficar com uma parte em uma página e outra na página adjacente! Veja esse efeito aqui: 1, 2. Observe o "pager" na parte inferior da página. Note também, que nesses screenshots, só está sendo utilizado um desktop, mas com 3x3 páginas. Ah... claro.. . é possível mover uma janela de uma página para outra simplesmente arrastando ela.

Um efeito interessante, embora não seja muito útil, é que é possivel selecionar um modo de visão onde múltiplas páginas são vistas (isto é, um pedaço de cada). Veja nessa figura como isso é possível. Repare no "pager", a área mais clara mostra o pedaço do desktop que está sendo observado.

Outro fato interessante é que é possivel configurar certos recursos baseados em desktops ou em páginas. Por exemplo, pode-se configurar o comportamento do "alt-tab" para alternar somente entre janelas de um mesmo desktop ou somente entre janelas da mesma página, ou alternar entre janelas de qualquer página de qualquer desktop! Ou melhor ainda! É possível utilizar uma combinação de teclas para cada uma dessas possibilidades, ou seja, alt-tab alterna entre qualquer janela, crtl+tab entre janelas de um mesmo desktop, e shift+tab entre janelas de um mesmo desktop. Flexibilidade? É com o Fvwm mesmo :-).

FvwmPager

O FvwmPager é um módulo do Fvwm responsável pelo "pager". Nos screenshots já vistos ele aparece várias vezes. O pager é bastante poderoso, tanto em termos de "visual", quanto em funcionalidade. Nos screenshots já mostrados, o pager foi configurado para ser "transparente", e apenas um pager é mostrado. O Fvwm permite que você tenha quantos pagers quiser, e cada um deles com uma configuração diferente. Esse screenshot mostra um pager do tipo "transient", ou seja, ele "aparece" quando é utilizada uma determinada combinação de teclas/mouse e desaparece depois de ser utilizado.

Quanto a funcionalidade, o pager é capaz de: exibir o nome do programa/janela ao passar o mouse por cima; clicando-se com o botão do meio e arrastando pode-se mover janelas entre páginas e desktops; clicando com o botão direito e arrastando pode-se fazer um "pan" pelo desktop.

Estilos

É importante ter "estilo", né? Pois bem... o Fvwm tem, e tem vários! A aparência e o comportamento das janelas são definidas por "estilos". Quando uma janela vai ser desenhada, o Fvwm procurar por um estilo que tenha o mesmo nome que uma das três propriedades das janelas: nome, classe ou "resource string". Desse modo é possível fazer coisas do tipo: as janelas dos xterms terão borda amarela, e o título da janela deve ser desenhado na borda esquerda, todas as outras janelas não (veja esse exemplo aqui). Até o modo de foco de janela pode ser definido através de estilos, ou seja, é possivel fazer uma configuração para que certas janelas recebam o foco quando são clicadas enquanto que para outras basta deslocar o mouse em cima delas.

É possível fazer um monte de coisas com estilos (a sessão de "styles" do manual do fvwm é uma das maiores), mas o que é realmente legal é que é possível configurar estilos por janelas, ou classes de janelas.

FvwmRearrange

O FvwmRearrange é um módulo do Fvwm que permite que o Fvwm ordene automaticamente as janelas. Imagine a situação: você precisou abrir vários xterms, em alguns você fez um "tail -f" e está olhando logs e em outros precisa digitar algum comando para ver qual efeito terá nos logs. Veja como o FvwmRearrange pode ser útil: 1, 2, 3. Nesse exemplo a função de re-arranjar as janelas está disponível em um menu. Mas poderia ter sido configurada para uma tecla de atalho, ou até mesmo um botão especial da janela.

Piperead

O Piperead é um recurso que permite que a saída de um script e/ou programa seja incluída no arquivo de configuração e interpretada. O Piperead é mais do que um simples "include" (que aliás... o Fvwm também tem). Uma das principais utilizações do Piperead é na criação de menus dinâmicos. No arquivo de configuração de exemplo disponibilizado aqui, ele é utilizado para cria o menu "Apps". O código no arquivo de configuração é o seguinte:

 ...
 + I PipeRead? 'for i in $HOME/.fvwm/apps/*;do echo AddToMenu? ProgramMenu? "`basename $i`" Exec "exec `basename $i`"; done'

Ou seja, são utilizados comandos do Bash para ler o conteúdo de um diretório e em seguida montar um menu, onde cada arquivo do diretório é um ítem, e a ação associada é a execução do comando de mesmo nome. Com um pouquinho de criatividade é possível em pensar em muitas outras possibilidades.

Funções

A idéia de função no Fvwm é bem parecida com as funções das linguagem de programação, ou seja, um conjunto de operações. As funções podem receber parâmetros de maneira implícita (exemplo: uma janela), ou explícita, e podem também executar ações baseadas em alguma condição. Considere a seguinte função abaixo:

 AddToFunc? Move-or-Raise         "I" Raise
 +                               "M" Move
 +                               "D" Lower

Essa função traz para a "frente" uma janela (condição "I" - imediato), caso o mouse seja clicado e arrastado, essa função move a janela (condição "M"). Caso tehha sido dado um duplo clique (condição "D") a função manda a janela para "trás". Claro que para servir para alguma coisa essa função deve ser chamada em algum ponto, por exemplo, podemos atribuir essa função ao botão esquerdo do mouse, quando clicado na barra de títulos de uma janela ("Mouse 1 TS A Move-or-Raise"). Esse é um exemplo simples, pode-se utilizar as funções para ações muio mais complexas.

(continua...)

Edit Page - Page History - Printable View - Recent Changes - WikiHelp - SearchWiki
Page last modified on May 10, 2005, at 12:35 AM