2003-10-22

3.2

Il plugin &fsview; per &konqueror; è un'altra modalità di visualizzazione di oggetti di tipo mime `inode/directory` per file locali. Si può vedere come un'alternativa alle varie viste a icone e a elenco per sfogliare il contenuto del tuo file system locale.

## &fsview; - la vista file system

### Introduzione

Il plugin &fsview; per &konqueror; è un'altra modalità di visualizzazione di oggetti di tipo mime `inode/directory` per file locali. Si può vedere come un'alternativa alle varie viste a icone e a elenco per sfogliare il contenuto del tuo file system locale.

La proprietà unica di &fsview; è la sua capacità di mostrare intere gerarchie di cartelle annidate usando una cosiddetta mappa ad albero per la visualizzazione grafica. Le mappe ad albero permettono di mostrare la misura di oggetti nelle strutture annidate: ogni oggetto è rappresentato da un rettangolo la cui area è proporzionale alla sua misura. La misura deve avere la proprietà che la somma delle misure figlie di qualche oggetto sia minore o uguale alla misura dell'oggetto.

Per &fsview;, è stata scelta come misura la dimensione di file e cartelle, dove la dimensione di una cartella è definita come la somma delle dimensioni dei suoi elementi. In questo modo, i file grandi anche in profondità nella gerarhia delle cartelle possono essere visti facilmente cercando grandi rettangoli. Quindi &fsview; si può vedere come una versione grafica e interattiva del comando &UNIX; `du`.

L'integrazione di &fsview; come parte di Konqueror gli permette di usare le funzionalità standard come i menu file contestuali e azioni dipendenti dal tipo mime. Ma si è scelto di non implementare l'aggiornamento automatico dei cambiamenti del file system durante la visualizzazione: se cancelli un file mostrato in &fsview;, devi aggiornare manualmente premendo per esempio F5. La ragione di questa decisione è la quantità potenzialmente immensa di file i cui cambiamenti dovrebbero essere monitorati, e che quindi potrebbero richiedere una quantità irragionevole di risorse di sistema per una piccola funzionalità.

### Funzionalità di visualizzazione

Questa sezione spiega in dettaglio la visualizzazione grafica di &fsview;.

#### Opzioni di disegno degli elementi

In &fsview;, un elemento della visualizzazione a mappa ad albero è un rettangolo rappresentante un file o una cartella del tuo file system. Per una navigazione più semplice, i rettangoli hanno una colorazione significativa e opzioni di etichettatura.

Il colore di un rettangolo, modificabile attraverso il menu Visualizza Modalità colore, può essere o Profondità per una facile rilevazione dell'annidamento, o una mappatura cromatica secondo diversi attributi del file come nome, proprietario, gruppo, o tipo mime.

Un rettangolo può essere etichettato con i vari attributi del file o della cartella corrispondente. Per un attributo, puoi scegliere in primo luogo se debba essere mostrato, mostrato solo se c'è spazio disponibile, o se lo spazio debba essere sottratto ai figli (quindi introducendo errori ai vincoli di disegno di una mappa ad albero pura). Inoltre, puoi scegliere la posizione relativa dell'etichetta nel rettangolo.

#### Algoritmi di disegno delle mappe ad albero

Per gli algoritmi di disegno di mappe ad albero, la regola che l'area sia proporzionale alla misura di un elemento dovrebbe essere vera. Con la mappa ad albero di &fsview;, questo obbiettivo non è sempre raggiunto: disegniamo bordi per mostrare l'annidamento degli elementi, e questo bordo toglie spazio agli altri elementi. Nota come meno spazio venga perso per i bordi se il rettangolo è un quadrato.

Similmente è bene, per avere una vista migliore, fare avere a ogni rettangolo almeno il proprio nome come etichetta, che anch'essa toglie spazio. C'è un'opzione di costringere a riservare spazio per le etichette, o disegnare le etichette solo quando c'è spazio vuoto disponibile. In quest'ultimo caso i suggerimenti che appaiono quando il mouse è mantenuto su un oggetto per un po' di tempo possono essere di grande aiuto. Essi mostrano informazioni sull'elemento sul quale il mouse si trova attualmente, insieme ai suoi genitori fino all'elemento radice della mappa ad albero.

È lasciato all'implementazione come lo spazio venga diviso tra sottoaree per i figli. È sempre meglio provare a dividere aree in modo che i rettangoli siano il più quadrati possibile, sia per l'etichettatura che per il minor spazio perso sui bordi. I migliori metodi a questo riguardo sono Righe, Colonne, o Bisezione ricorsiva.

Puoi scegliere l'area minima degli elementi da disegnare con l'elemento del menu Visualizza Fermati all'area. Invece, sarà disegnato un motivo ombreggiato nell'area dei genitori, per indicare che l'area è in realtà occupata da un figlio.

### Interfaccia utente

&fsview; supporta la selezione multipla degli oggetti, in modo simile alle viste icone e a lista. Questo permette di effettuare simultaneamente azioni su un insieme di file. Un semplice clic del mouse seleziona sempre un elemento singolo sotto il puntatore del mouse. Usa un clic del mouse mentre premi il tasto &Shift; per una selezione a intervallo o il tasto &Ctrl; per una selezione elemento per elemento. Nota come, selezionando un elemento, i suoi sottoelementi non possano più essere selezionati. Quindi, selezionare un elemento ripulirà la selezione da tutti i suoi elementi genitori precedenti.

È disponibile la navigazione da tastiera nelle mappe ad albero: usa Freccia a sinistra e Freccia a destra per spostare l'elemento corrente tra i fratelli, e i tasti Freccia in alto e Freccia in basso per andare su e giù nella gerarchia di annidamento. Spazio seleziona l'elemento, insieme con &Shift; esegue una selezione a intervallo, e insieme con il tasto &Ctrl; mantenuto premuto allo stesso tempo, commuta la selezione dell'elemento corrente. Premi Invio per avviare l'azione aperta sull'elemento corrente.

### Riconoscimenti e licenza

Originariamente, &fsview; era inteso essere una piccola applicazione di prova e un'introduzione all'uso dell'oggetto TreeMap sviluppato all'interno di KCacheGrind.

Copyright di Josef Weidendorfer, rilasciato sotto la GPL V2.

&underGPL; &underFDL;