Capítulo 10. Extensões dos Modos de Visualização

O Konqueror oferece vistas adicionais no menu VerModo 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.

FSView - Visualizador de sistemas de arquivos

Josef Weidendorfer

Introdução

O plugin 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 as 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 os menus 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 arquivos pelo monitoramento: se você excluir um arquivo exibido no FSView fora do Konqueror é necessário atualizar manualmente pressionando F5 para ver o resultado. O motivo para esta decisão é um número 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 ExibirModo de cor, pode ser representativa da Profundidade, para facilitar a detecção do aninhamento ou um mapeamento em cores dos diferentes atributos do arquivo, 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 cada 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 cada retângulo tenha pelo menos o seu nome como identificaçã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 o mouse é posicionado sobre um item, podendo ajudar muito. Ela mostra informações sobre o item onde o mouse se encontra, juntamente com as relações com suas pastas superiores 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 ExibirParar 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 ou mais itens filhos.

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.

A navegação pelo teclado está disponível nas árvores: 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.