# Extensões dos Modos de Visualização

O &konqueror; oferece vistas adicionais no menu Ver Modo de Visualização do modo de gerenciamento de arquivos e navegação Web, caso estejam instaladas as aplicações e plugins correspondentes.

O modo de gerenciador de arquivos tem as vistas adicionais Mapa radial da aplicação Filelight e o plugin do &konqueror; para a Vista do tamanho do arquivo.

16/05/2011

&kde; 4.7

## &fsview; - Visualizador de sistemas de arquivos

### Introdução

O plug-in &fsview; para o &konqueror; é outro modo de visualização de objetos do tipo MIME `inode/directory` de arquivos locais. Ele pode ser visto como uma alternativa para os diversos visualizadores de ícones e listas para navegação no conteúdo do sistema de arquivos local.

A propriedade exclusiva do &fsview; é a sua capacidade de mostrar hierarquias completamente alinhadas em pasta usando a então denominada visualização de mapeamento gráfico. O mapa de árvore permite mostrar métricas dos objetos em uma estrutura alinhada: cada objeto é representado por um retângulo, cuja área é proporcional a sua métrica. A métrica deve ser de tal maneira que a soma das métricas dos seus filhos (subpastas) seja igual ou menor que a métrica do objeto.

Para o &fsview;, o tamanho dos arquivos e pastas são escolhidos como métricas, onde o tamanho de uma pasta é definido como a soma dos tamanhos de seus subitens. Deste modo, os arquivos grandes mesmo estando ordenados no final na hierarquia da pasta podem ser facilmente encontrados procurando por retângulos grandes. O &fsview; pode ser visto como uma versão gráfica e interativa do comando `du` do &UNIX;.

A integração do &fsview; como parte do Konqueror permite o uso dos recursos padrões, como o menu de contexto de arquivo e as ações sensitivas ao tipo MIME. Contudo, o &fsview; não foi escolhido para implementar a atualização automática das mudanças do sistema de arquivo pelo monitoramento: se você excluir um arquivo exibido no &fsview; fora do &konqueror; é necessário atualizar manualmente pressionando F5. O motivo para esta decisão é uma quantidade potencialmente grande de arquivos que deveriam ser monitorados para identificar alterações e, desta maneira, poderia causar um consumo desnecessário de recursos do sistema para uma pequena funcionalidade.

### Recursos de visualização

Esta seção explica detalhadamente a visualização gráfica do &fsview;.

#### Opções de desenho do item

No &fsview; um item de visualização do mapa de árvore é um retângulo representando um arquivo ou pasta do sistema de arquivos. Para tornar a navegação mais fácil, os retângulos têm cores e opções que facilitam a identificação.

A cor de um retângulo, ajustável através do item de menu Exibir Modo de cor, pode ser a Profundidade para facilitar a detecção do aninhamento ou um mapeamento em cores dos diferentes atributos do arquivo, tais como o nome, proprietário, grupo ou tipo MIME.

Um retângulo pode ser identificado com os vários atributos do arquivo ou pasta correspondente. Para um atributo, você pode escolher se ele deve ser mostrado por completo, apenas se houver espaço disponível ou se o espaço pode ser obtido do filho (subpasta) (introduzindo, dessa maneira, erros para agrupamentos puros do desenho do mapa de árvore). Adicionalmente, você pode escolher a localização relativa da identificação no retângulo.

#### Algoritmos de desenho do TreeMap

Para os algoritmos de desenho dos mapas de árvore, a regra é que a área é proporcional à métrica de um item e esta regra deve se manter verdadeira. Com o mapa de árvore no &fsview;, este objetivo não é sempre cumprido: desenhamos bordas para mostrar o aninhamento de itens, e essa borda toma o espaço de um item que é possivelmente perdido para as áreas de itens filhos. Observe que perde-se menos espaço para a borda se o retângulo assume a forma de quadrado.

De forma semelhante, é bom para uma melhor visão geral deixar que todos os retângulos tenham pelo menos o seu nome como identificação, consumindo também espaço. É uma opção para sempre forçar espaços para identificação ou apenas para desenhá-los, quando houver espaço vazio disponível. Neste último caso, a dica é exibida quando deixamos o mouse sobre um item por algum tempo, podendo ajudar muito. Ela mostra informações sobre o item onde o mouse se encontra, juntamente com as relações com sua pasta superior até o item raiz do mapa de árvore.

Cabe à implementação dizer como o espaço de um item é dividido em subáreas para filhos (subpastas). Sempre é melhor tentar dividir as áreas de modo que os retângulos sejam tão quadrados quanto possível, tanto para identificar quanto minimizar o espaço perdido pelas bordas. Neste caso, o melhor método é Linhas, Colunas, ou Bisseção recursiva.

Você pode escolher a área mínima de itens a serem desenhados pelo item de menu Exibir Parar na área. Em vez disso, uma cerquilha será desenhada em torno da área superior para sinalizar que este espaço é de fato ocupado por um item filho.

### Interface de usuário

O &fsview; suporta múltipla seleção de itens, similar aos visualizadores de ícones ou de lista. Isto permite que uma ação seja executada simultaneamente a um conjunto de arquivos. Um simples clique do mouse sempre seleciona um único item sob o ponteiro do mouse. Para selecionar um grupo de itens pressione a tecla &Shift; ou para selecionar alternadamente pressione a tecla &Ctrl; com um clique do mouse. Observe que selecionando um item, os subitens não podem ser selecionados. Desta maneira, a seleção de um item desmarcará todos os itens previamente selecionados na pasta.

Está disponível a navegação no mapa de árvore pelo teclado: use as teclas Seta à esquerda e Seta à direita para mover os itens atuais entre os itens do mesmo nível, e as teclas Seta para cima e Seta para baixo para ir para cima e para baixo na hierarquia. A tecla Espaço seleciona o item, com &Shift; efetua a seleção de grupo e com &Ctrl; alterna a seleção atual. Pressione Enter para executar a ação de abertura no item atual.

### Créditos e licença

Originalmente, o &fsview; foi considerado um pequeno aplicativo de teste e um tutorial de utilização para o mapa de árvore (TreeMap) desenvolvido para o KCachegrind.

Direitos autorais de Josef Weidendorfer, licenciado usando GPL V2.