ROX-Filer: manuale dell'utente

# ROX-Filer: manuale dell'utente http://rox.sourceforge.net

### Thomas Leonard

### Yuri Bongiorno

Traduzione italiana

Diritto d'autore © 2005 Thomas Leonard

Conditions

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA, 02111-1307, USA.

Sommario

ROX-Filer è un file manager grafico per X Window. La sua interfaccia utente è ispirata al filer di RISC OS e ha caratteristiche simili, come le directory applicative e il trascinamento per caricare e salvare i file. Il filer può anche agire da bacheca e permette di appendere i file più usati sullo sfondo del desktop.

## Capitolo 1. Introduzione

ROX-Filer è un file manager grafico, facile da usare, per X11, il sistema a finestre usato dai sistemi operativi *nix. È anche il componente principale del desktop ROX [ROX]. Le caratteristiche principali del filer sono ispirate a RISC OS [RISC OS]. «ROX» sta per «Risc os On X».

## Caratteristiche

XDND

  Un protocollo di drag-and-drop usato, per esempio, dal desktop GNOME [GNOME]. Permette di caricare i dati in un'applicazione semplicemente trascinandoli dalla finestra del filer su un programma. Le specifiche complete si trovano in [DND].

XDS

  Un'estensione di XDND che permette alle applicazioni di salvare i dati trascinando un'icona dell'applicazione su una finestra del filer. Le specifiche complete si trovano in [XDS].

Specifiche Basedir

  Un semplice e flessibile sistema per gestire le preferenze dell'utente. Normalmente le preferenze vengono salvate in ``~/.config`'. Tuttavia questo si può cambiare impostando la variabile d'ambiente `XDG_CONFIG_HOME`. Vedere [BaseDir] per i dettagli.

Directory applicative

  Sono applicazioni contenute completamente in una directory, la cui installazione consiste nel copiare la directory dove si vuole e la cui disinstallazione è semplicemente la cancellazione della directory stessa. Sono descritte più avanti.

Miniature

  Il filer può visualizzare le immagini usando l'immagine stessa come icona, invece di usarne una generica. È molto utile in una directory piena di foto. Vedere [Thumbs] per i dettagli.

Database condiviso delle informazioni MIME

  In passato, ogni desktop aveva il suo database di regole per determinare il tipo di file. Ora, il database condiviso delle informazioni MIME [SharedMIME] ha unificato tutto in un unico sistema condiviso da tutti i desktop.

Tema delle icone

  Si possono installare (ad es. in ``~/.icons`') varie raccolte di icone, chiamate anche temi. Per cambiare tema, andare nella finestra «Opzioni». Si potranno condividere i temi con gli altri desktop, quando anche questi ultimi ne attiveranno il supporto. Vedere [IconTheme] per i dettagli.

Supporto a DNotify (solo per Linux)

  Se si usa un kernel Linux recente (2.4.x), il filer si accorge automaticamente delle modifiche nel contenuto delle directory. Negli altri sistemi invece, le directory si aggiornano quando il puntatore si sposta sopra di esse.

## Capitolo 2. Attivazione

Per avviare il filer, si deve eseguire il comando `rox`, per esempio digitandolo in un terminale. Se il filer non è ancora installato, consultare l'Appendice A, Compilazione.

Normalmente ROX-Filer mostra la directory attuale, ma se ne possono visualizzare altre semplicemente elencandole dopo il comando:

    $ rox /home /usr /usr/local

Lo si può anche usare per aprire i file, come ad esempio:

    $ rox README

Il filer supporta diverse opzioni: usare `-h` per avere un elenco. Tutte le opzioni possono essere lunghe o corte (es. `-h` e `--help`), anche se su alcuni sistemi è possibile usare solo quelle corte.

Notare che se la stessa versione del filer è già in esecuzione sulla macchina, di norma, per aprire le directory, viene usata quella già in esecuzione.

Per un elenco completo delle opzioni a riga di comando, vedere l'Appendice B, Pagina di manuale

## La bacheca

Se si desidera che il filer gestisca lo sfondo del desktop, si deve usare l'opzione `--pinboard` seguito da un nome per la bacheca, come ad esempio:

    $ rox --pinboard=MiaBacheca

Se si cambia qualcosa, per esempio se si rilascia un file sullo sfondo, la configurazione della bacheca viene salvata in ``~/.config/rox.sourceforge.net/ROX-Filer/pb_MiaBacheca`'. Si possono avere tutte le bacheche che si desiderano e per passare dall'una all'altra basta eseguire di nuovo «rox», come ad esempio:

    $ rox --pinboard=AltraBacheca

Per disattivare la bacheca, lasciare vuoto il campo del nome:

    $ rox --pinboard=

Vedere le note per i window manager se ci sono problemi nel visualizzare correttamente le icone. Si può anche attivare o disattivare la bacheca selezionando in una finestra del filer la directory applicativa ``ROX-Filer`' e scegliendo dal menù Attiva la bacheca o Disattiva la bacheca .

## I pannelli

I pannelli funzionano come la bacheca, ma vengono visualizzati sui bordi dello schermo. Per creare un pannello:

    $ rox -b=MioPannello

Il pannello viene visualizzato in una finestra senza la barra del titolo. Se questo non succede, consultare le note per i window manager. Trascinare i file sul pannello per aggiungerli ad esso. Le icone possono essere riposizionate trascinandole col tasto centrale del mouse. Le modifiche al pannello sono automaticamente salvate in ``~/.config/rox.sourceforge.net/ROX-Filer/pan_MioPannello`'. Come per la bacheca, è possibile passare a diverse configurazioni eseguendo di nuovo «rox» con un altro nome di pannello.

    $ rox -b=AltroPannello

Con un menù a comparsa si può impostare su quale bordo dello schermo deve apparire il pannello, oppure si può specificare il nome del bordo al posto di -b (ad es. --bottom). Lasciare vuoto il campo del nome per rimuovere il pannello:

    $ rox --bottom=

## Note per i window manager

Bisogna modificare le impostazioni del proprio window manager per visualizzare correttamente la bacheca e i pannelli (ad es. per non avere i bordi e i titoli come nelle altre finestre). In particolare, si deve impostare il livello e la profondità di stacking al minimo (o a un valore negativo). Assicurarsi inoltre di disattivare qualsiasi opzione del tipo «Keep transients above other windows».

### Sawfish / Sawmill

Sawfish all'avvio tenta di capire se si sta usando GNOME e, se è così, fornisce il supporto necessario. Si deve quindi aggiungere la riga

    (require 'gnome)

al file ``.sawfishrc`' (consultare il manuale di sawfish per ulteriori dettagli).

### IceWM

Incollare le seguenti impostazioni nel file ``~/.icewm/preferences`':

          # Manage root window (EXPERIMENTAL - normally enabled!)
          GrabRootWindow=1 # 0/1
          # Bitmask of root window button click to use in window manager
          UseRootButtons=3 # [0-255]
          # Desktop mouse-button click to show the menu
          DesktopWinMenuButton=1 # [0-20]
          # Desktop mouse-button click to show the window list
          DesktopWinListButton=2 # [0-5]
          # Desktop mouse-button click to show the window list menu
          DesktopMenuButton=0 # [0-20]

Incollare queste nel file ``~/.icewm/winoptions`':

          # ROX-Filer pinboard and panel
          ROX-Filer.icon: folder
          ROX-Panel.layer: Dock
          ROX-Panel.doNotCover: 1
          ROX-Panel.ignoreWinList: 1
          ROX-Panel.ignoreTaskBar: 1
          ROX-Panel.ignoreQuickSwitch: 1
          ROX-Pinboard.layer: Below
          ROX-Pinboard.ignoreWinList: 1
          ROX-Pinboard.ignoreTaskBar: 1
          ROX-Pinboard.ignoreQuickSwitch: 1
          ROX-Filer.layer: Normal

Riavviare IceWM e il filer affinché le nuove impostazioni abbiano effetto.

### Window Maker

1. Avviare il filer con `rox -p=Default`.

2. Premere Control+Esc, o [RightButtonDown] sulla barra del titolo di qualunque finestra. Scegliere Proprietà... dal menù.

3. Appare la finestra «Ispeziono...». Dal menù a tendina in alto, scegliere Specifica classe finestra (il primo in alto).

4. Premere il pulsante Seleziona finestra. Il cursore diventa una croce. Selezionare un'icona della bacheca di ROX-Filer. I pulsanti radio della cornice Specifica classe finestra dovrebbero cambiare le loro etichette per includere `ROX-Pinboard.ROX-Filer` come primo elemento. Selezionare quel pulsante radio.

5. Scegliere Attributi della finestra dal menù a tendina. Nella cornice Attributi, selezionare le caratteristiche della bacheca; sono raccomandate le seguenti:

   - Elimina la barra del titolo

   - Elimina la barra di ridimensionamento

   - Elimina il pulsante Chiudi

   - Elimina il pulsante Riduci a icona

   - Mantieni in fondo

   - Onnipresente

6. Scegliere Opzioni avanzate dal menù a tendina. Nella cornice Avanzate, selezionare le caratteristiche avanzate che si desiderano; sono raccomandate le seguenti:

   - Non mostrare nella lista finestre

   - Ignora "Nascondi gli altri"

   - Ignora "Salva sessione"

7. Terminata la selezione delle proprietà, premere il pulsante Salva e chiudere la finestra «Ispeziono» usando il pulsante a forma di X sulla barra del titolo.

### Altri

Se ancora non funzionano le cose, andare nella sezione «Compatibilità» della finestra «Opzioni».

## Esecuzione come «root»

Se si avvia il filer come utente «root», viene mostrato un messaggio in alto su ciascuna finestra. L'utente «root» infatti ha i permessi di accesso e di modifica su ogni file del sistema, quindi bisogna stare molto attenti. Normalmente, si dovrebbe accedere al sistema come utente normale e passare a «root» solo quando è assolutamente necessario. Se sudo è installato e configurato, allora si può avviare il filer in questo modo:

    $ sudo rox

Attenzione: ogni operazione su file e ogni programma avviato da questa finestra viene eseguito come utente «root».

Può accadere che il server X non permetta a «root» (o ad altri utenti) di connettersi. Leggere le pagine di manuale dei comandi xauth e xhost può aiutare a risolvere il problema, ma molte cose cambiano da sistema a sistema (ecco perché questa caratteristica non è stata inserita nel filer).

Nota: gnomesu può essere usato per eseguire il filer come root, ma è necessario usare setsid per eseguirlo in una nuova sessione, altrimenti gnomesu termina senza aprire alcuna finestra. Per esempio:

    gnomesu -c 'setsid /usr/local/bin/rox /'

## Capitolo 3. Pulsanti del mouse e associazioni dei tasti

In breve:

- Fare clic con il pulsante sinistro del mouse [1] per aprire file e directory.

- Fare clic con il pulsante destro per attivare il menù. Fare clic su un file per compiere un'azione su quel file.

- Trascinare i file tra le finestre con il pulsante sinistro per copiare, spostare o fare collegamenti (si sceglie da un menù). Il collegamento è una scorciatoia verso il file originale.

Normalmente, le associazioni dei pulsanti del mouse sono progettate per adattarsi alle convenzioni di X. Comunque, tutto è altamente configurabile: vedere nella finestra «Opzioni» se si desidera cambiare le impostazioni predefinite, che sono le seguenti:

Tasto o pulsante del mouse | Azione
--- | ---
Clic pulsante sinistro | Apre il file o la directory su cui si ha fatto clic. Tenere premuto Control per selezionare gli elementi invece di aprirli. Tenere premuto Shift per guardare dentro i file (come se fossero di testo), per seguire i collegamenti simbolici o per ottenere maggiore controllo sui punti di mount (vedere Dispositivi rimovibili).
Clic pulsante centrale | Fa le stesse cose del pulsante sinistro, ma apre una directory in una nuova finestra e, quando apre un file, chiude la finestra del filer.
Clic pulsante destro | Attiva il menù principale. Tenere premuto Control per andare direttamente nel sottomenù degli elementi selezionati. Tenere premuto Shift per attivare il menù Invia a... (vedere la sezione Il menù «Invia a...».
Trascinare un elemento (pulsante sinistro del mouse) | Mostra un menù di azioni possibili. C'è la possibilità di disabilitare questo menù, in questo caso i file vengono copiati nella destinazione (un'applicazione o un'altra finestra del filer). Tenere premuto Shift per spostare i file, Control+Shift per creare un collegamento simbolico, Alt per attivare un menù di azioni possibili.
Trascinare un elemento (pulsante centrale del mouse) | Quando si rilascia, mostra un menù di azioni possibili. C'è la possibilità di spostare i file invece di attivare il menù.
Trascinare (non sopra un elemento) | Seleziona un gruppo di elementi. Col tasto sinistro del mouse, si selezionano solo gli elementi dentro la selezione, ma tenendo premuto anche il tasto Control gli elementi vengono aggiunti alla selezione precedente. Usando il tasto centrale, gli elementi passano dallo stato selezionato a quello deselezionato e viceversa.
Doppio clic sullo sfondo del filer | Ridimensiona la finestra in modo opportuno (si può disattivare nella finestra «Opzioni»).
Backspace | Va nella directory genitore.
Frecce | Spostano il cursore.
Pagina su, Pagina giù | Spostano il cursore su e giù di una pagina alla volta.
Inizio, Fine | Spostano il cursore alla prima e all'ultima voce della directory.
Invio | Agisce come se si facesse clic su un file. Tenere premuto «Shift» per ottenere altri effetti, come quando si fa clic. Tenendo premuto «Alt» agisce come facendo clic con il tasto centrale del mouse: le directory vengono aperte in una nuova finestra e l'apertura dei file provoca contemporaneamente la chiusura della finestra del filer.
Barra spaziatrice | Seleziona e deseleziona l'elemento e si sposta su quello successivo.
Tab, Shift+Tab | Sposta il cursore sul successivo/precedente elemento selezionato.
Tenere il mouse su un elemento | Mostra un suggerimento: una breve descrizione (se disponibile) dell'applicazione, la destinazione di un collegamento simbolico e il nome completo di un file che è troppo lungo per essere visualizzato nella finestra principale.

Se sono abilitate le associazioni dei tasti definite dall'utente, allora altri tasti possono essere facilmente impostati attivando il menù, spostando il puntatore su una voce che si desidera usare e premendo un tasto. Quest'ultimo appare ora nel menù e può essere usato da qui in avanti. Le associazioni dei tasti sono automaticamente salvate quando si chiude il filer. È possibile usare un gestore di XSettings, come ROX-Session, per attivare questa caratteristica su tutte le applicazioni Gtk+-2.0.

[1] In questo manuale c'è la seguente convenzione: il pulsante–1 è quello sinistro, il pulsante–2 è quello centrale e il pulsante–3 è quello destro. Fanno ovviamente eccezione i mouse per mancini.

## Capitolo 4. La selezione

Quando si selezionano gli elementi di una finestra di ROX-Filer, il filer memorizza la selezione primaria. È possibile quindi incollare in un'altra finestra il nome (e il percorso) del file selezionato.

Procedura 4.1. Esempio: caricare un file in un'applicazione che non supporta il drag-and-drop:

1. Aprire la finestra di dialogo «Apri» dell'applicazione.

2. Selezionare il file in una finestra di ROX-Filer usando Control+clic.

3. Fare clic col tasto centrale del mouse nella finestra dell'applicazione per incollare il nome.

Notare che si può aprire il file selezionato facendo clic con il tasto centrale del mouse nell'area principale dei più comuni browser web.

Se si seleziona qualcos'altro (es. qualche parola in un altro programma), il filer perde la selezione primaria e gli elementi selezionati diventano ombreggiati. Per riprenderla, fare clic su un elemento ombreggiato.

## Salvare e ripristinare la selezione

A volte è utile salvare la selezione attuale, per farlo basta premere Control+<numero> tra zero e nove. Per ripristinare la selezione, basta premere il numero di prima. È possibile farlo da directory differenti o da finestre di filer differenti.

Se si salva quando non c'è nessuna selezione, viene salvata la directory attuale.

Procedura 4.2. Esempio: salvare e ripristinare una directory:

1. Cercare una directory che si desidera memorizzare. Premere Control+1.

2. Spostarsi in un'altra directory o chiudere la finestra.

3. In un'altra finestra del filer premere 1 per ritornare nella directory iniziale.

I gruppi di selezione vengono salvati automaticamente e sono disponibili anche la prossima volta che si usa il filer.

## Capitolo 5. La barra degli strumenti

Normalmente, ogni finestra ha in alto una barra degli strumenti. Con il menù «Opzioni» è possibile disabilitarla, renderla più larga o più stretta selezionando quali strumenti far apparire. Di solito si fa clic su questi strumenti con il pulsante sinistro (1) del mouse, ma alcuni di questi hanno anche altre funzioni con il pulsante centrale (2) o destro (3).

Icona | Pulsante 1 del mouse | Altro pulsante
--- | --- | ---
Croce | Chiude la finestra | Apre una nuova finestra
Freccia su | Va nella directory genitore | Mostra la directory genitore in una nuova finestra [1]
Casa | Va nella directory home | Mostra la directory home in una nuova finestra [1]
Freccia sul punto giallo | Apre il menù segnalibri | Modifica i segnalibri
Frecce in cerchio | Aggiorna il contenuto della directory | Apre una nuova finestra
Lente d'ingrandimento (+) | Aumenta le dimensioni delle icone. | Diminuisce le dimensioni delle icone.
Lente d'ingrandimento (adatta) | Imposta la modalità di ridimensionamento automatico. | -
Elenco | Mostra o nasconde i dettagli | La stessa cosa
A..Z | Passa al criterio di ordinamento successivo. | Passa al criterio di ordinamento precedente.
Occhio | Mostra o nasconde i file nascosti (il cui nome inizia con un punto) | Mostra o nasconde le miniature delle immagini
Elenco con selezioni | Seleziona tutto. | Inverte la selezione.
Salvagente | Mostra i file di aiuto di ROX-Filer | Apre direttamente il manuale

[1] Se è attivata l'opzione «Nuova finestra con il pulsante 1», il comportamento predefinito è di aprire una nuova finestra, invece se si fa clic con l'altro pulsante viene usata la stessa finestra.

Trascinare i file sull'icona «Su» o sull'icona «Casa» è equivalente a trascinarli direttamente nelle directory a cui conducono. Trascinare una directory sul pulsante «Segnalibri» è equivalente ad aggiungerla come un nuovo segnalibro.

La barra degli strumenti può mostrare il numero di file nella directory e informazioni sulla selezione. Si può disattivare nel menù «Opzioni».

## Capitolo 6. I menù

Normalmente, si può attivare il menù facendo clic col tasto destro sulla bacheca, sul pannello o sulla finestra del filer. Nelle finestre del filer è anche possibile attivare il menù premendo \. Per accedere direttamente al sottomenù «File», tenere premuto Control mentre si attiva il menù. Ecco la descrizione di ciascuna voce:

Voce | Azione
--- | ---
Visualizza | Cambia le impostazioni di visualizzazione.
File | Operazioni sugli elementi selezionati.
Seleziona | Stabilisce quali elementi selezionare.
Opzioni | Configura ROX-Filer.
Nuovo | Crea un nuovo file o una nuova directory dentro la directory attuale.
Finestra | Operazioni sulle finestre nel loro complesso.
Aiuto | Informazioni sul filer.

## Il menù «Visualizza»

Voce | Azione
--- | ---
Vista a icone | I file sono visualizzati come icone.
Icone, con... | I file sono visualizzati come icone con l'aggiunta di dettagli scelti dal sottomenù. Per vedere tutte le informazioni su ogni file, usare la «Vista a lista».
Vista a lista | Mostra i file in un elenco con i loro dettagli. Fare clic sul titolo di una colonna per ordinarli secondo quella colonna.
Icone enormi | Incrementa la dimensione delle icone e disattiva la modalità automatica.
Icone piccole | Riduce la dimensione delle icone e disattiva la modalità automatica.
Automatico | Modalità automatica: seleziona automaticamente la dimensione delle icone (utile quando si cambia directory, ecc...).
Ordina per XXX | Imposta il tipo di ordinamento. Nella «Vista a lista» è possibile farlo anche facendo clic sul titolo delle colonne.
Invertito | Ordina in modo invertito (dal più nuovo al più vecchio, dal più grande al più piccolo, ecc...).
Mostra nascosti | Se attivato, vengono mostrati i file che iniziano con il punto, altrimenti vengono nascosti. Quando è attivato, la barra del titolo mostra (Tutti).
Filtra i file... | Limita la visualizzazione a solo quei file i cui nomi corrispondono a un modello dato. Quando è attivato, la barra del titolo mostra (Glob (modello)).
Filtra le directory con i file | Applica il filtro Filtra i file... anche alle directory.
Mostra miniature | Se attivato, per ogni immagine il filer tenta di caricare come icona del file l'immagine stessa. È utile nelle directory piene di foto. Per ulteriori dettagli, vedere la sezione Miniature.
Aggiorna | Rilegge il contenuto della directory e i dettagli di tutti i file presenti in essa. Da usare se il contenuto mostrato è obsoleto.
Salva le impostazioni di visualizzazione... | Memorizza le impostazioni di visualizzazione solo per questa directory. Ogni volta che questa directory sarà aperta, verranno usate le impostazioni salvate.

### Permessi

Il campo dei permessi è formato da quattro gruppi di tre flag. Ogni flag è visualizzato con una lettera o con un trattino (–). Le prime tre lettere sono i permessi del «proprietario» del file, le successive tre del «gruppo» del file e le altre tre degli «altri». Se uno di questi gruppi si riferisce al processo stesso di ROX-Filer, allora viene mostrato sottolineato. Nel quarto gruppo ci sono alcuni flag speciali.

Il significato delle lettere è il seguente:

- `r` — Permesso di leggere il contenuto del file o i nomi dei file in una directory.

- `w` — Permesso di modificare il contenuto del file o di cambiare i nomi che appaiono in una directory.

- `x` — Permesso di eseguire un file come se fosse un programma o di attraversare una directory.

- `U` — Il programma in esecuzione ha come ID utente effettivo quello del proprietario del programma invece che della persona che lo ha eseguito.

- `G` — Il programma in esecuzione ha come ID gruppo effettivo quello del gruppo del programma invece che del gruppo di chi lo ha eseguito.

- `T` — Gli elementi in questa directory possono essere modificati o rimossi solo dal proprietario dei file e da nessun altro, anche se si ha accesso in scrittura alla directory in questione.

Per esempio,

          rwx,rwx,r-x/---

significa che il proprietario del file è lo stesso utente effettivo di ROX-Filer, il proprietario e i membri del gruppo del file hanno permessi in lettura, scrittura ed esecuzione, infine gli altri hanno solo i permessi in lettura ed esecuzione. Non ci sono flag speciali. Le regole che determinano quali permessi applicare possono variare leggermente da un sistema operativo a un altro, ma in linea di massima:

- Se ID utente effettivo del processo è uguale al proprietario del file, si applicano i permessi del proprietario.

- Altrimenti, se ID gruppo effettivo del processo è uguale al gruppo del file o se il gruppo del file è uno dei gruppi supplementari del processo, si applicano i permessi del gruppo.

- Per il resto, si applicano i permessi degli «altri». ID utente reale e ID gruppo reale non hanno effetto (eccetto che un processo imposti il suo ID reale come il suo ID effettivo).

## Il menù «File»

Tutti i menù funzionano in modo simile. Per esempio, attivando il menù su qualche elemento selezionato, l'operazione si applica solo agli elementi selezionati. Attivando invece il menù su un elemento quando non c'è nessuna selezione, quell'elemento viene selezionato momentaneamente.

Attivando un menù né su un elemento né su una selezione, la finestra va in "modalità bersaglio": l'operazione viene eseguita sul prossimo elemento su cui si fa clic. Si esce dalla modalità bersaglio premendo Esc, facendo clic sullo sfondo della finestra o con il tasto destro del mouse. Questa modalità è utile con l'opzione Navigazione a singolo clic e con i tasti associati alle varie voci di menù.

Notare che le singole applicazioni possono aggiungere altri menù in cima ai sottomenù che si ottengono facendo clic sopra di esse. Vedere Directory applicative per ulteriori dettagli. In alto ci può essere un numero qualsiasi di azioni definite dall'utente, che dipendono dal tipo di file su cui si fa clic. Per aggiungere dei programmi, selezionare la voce Personalizza il menù.... Per esempio, è possibile far apparire come menù Gimp per le immagini e FreeFS per i punti di mount.

Voce | Azione
--- | ---
Copia... | Fa una copia di questo elemento.
Rinomina... | Cambia il nome di questo elemento o lo sposta in un'altra directory. Se sono selezionati più file, allora apre La finestra di rinominazione multipla dei file.
Collegamento... | Crea un collegamento simbolico a questo nome.
Elimina | Rimuove dalla directory tutti gli elementi selezionati. Se è una sottodirectory, viene prima eliminato il suo contenuto. Se è un collegamento simbolico, si elimina solo il collegamento, non l'elemento a cui punta.
Apri con Shift | Apre le applicazioni come se fossero directory, i file come se fossero di testo e per i collegamenti simbolici apre la directory che contiene l'elemento a cui punta. Ha anche un comportamento particolare per i punti di mount (vedere Dispositivi rimovibili). Si ottiene lo stesso effetto quando si fa clic tenendo premuto il tasto Shift. Il testo della voce di menù cambia per mostrare quale azione sta per essere eseguita.
Invia a... | Attiva il menù «Invia a...» e permette di mandare i file selezionati a una o più applicazioni. Vedere la sezione Il menù «Invia a...».
Imposta azione... | Permette di impostare il programma predefinito da usare quando si apre un file di questo tipo. Vedere la sezione «Imposta azione...» per ulteriori dettagli.
Imposta icona... | Dà un'icona speciale a un file o una directory: basta trascinare un'immagine in «Imposta icona...».
Proprietà | Mostra ulteriori informazioni dell'elemento selezionato. Qui è anche possibile cambiare la destinazione di un collegamento simbolico e i permessi (ma il menù Permessi che è più in basso, permette di cambiarli a più file contemporaneamente).
Spazio usato | Calcola lo spazio usato dagli elementi selezionati. Se è una directory, tiene conto anche del suo contenuto. Se è un collegamento simbolico, non tiene conto dell'elemento a cui punta.
Tipo di file... | Imposta il tipo di MIME di un file. Funziona solo sui file system che hanno il supporto esteso degli attributi. Nei vecchi file system, per cambiare il tipo di MIME, si deve rinominare il file.
Permessi | Permette di cambiare i permessi ai file selezionati. Se è selezionato solo un file, è meglio usare l'interfaccia più semplice del menù Proprietà
Trova | Cerca i file specificando varie condizioni. Vedere anche la sezione «Trova».

Nota sui collegamenti simbolici: un collegamento simbolico memorizza il percorso di un altro file. Eliminando questo collegamento, non si influenza l'altro file. Eliminando invece l'altro file, il collegamento simbolico viene interrotto. Ci sono due tipi di collegamento simbolico: assoluto e relativo. Un collegamento simbolico assoluto memorizza il percorso partendo dalla radice («/» o «root»), per esempio: ``/home/fred/MyFile`'. Un collegamento simbolico relativo memorizza il percorso partendo dal collegamento stesso, per esempio ``../fred/MyFile`'. Se non si ha intenzione di spostare il file di destinazione, è meglio usare un collegamento assoluto, altrimenti uno relativo.

## Il menù «Seleziona»

Questo menù permette di selezionare e di deselezionare i file in vari modi. Vedere la sezione Pulsanti del mouse e associazioni dei tasti per gli altri modi di selezionare i file.

Voce | Azione
--- | ---
Seleziona tutto | Seleziona tutti gli elementi della finestra.
Annulla la selezione | Deseleziona tutti gli elementi della finestra.
Inverti la selezione | Ogni file selezionato diventa deselezionato e viceversa.
Seleziona per nome... | Seleziona solo i file che corrispondono a un dato modello. Non è flessibile come Seleziona se... (vedere sotto), ma è più veloce da usare. Con questa opzione i file vengono anche selezionati. La scorciatoia da tastiera predefinita è ., quindi basta digitare per esempio `.png` per selezionare tutti i file ``.png`'.
Seleziona se... | Seleziona solo quei file che soddisfano un dato modello di ricerca. Vedere la sezione «Seleziona se...».

## Il menù «Nuovo»

Ciascuna voce di questo menù apre una finestra per creare un nuovo file o una nuova directory. Ci sono due voci predefinite, le altre sono il contenuto della directory ``~/.config/rox.sourceforge.net/Templates`', se esiste.

Voce | Azione
--- | ---
Directory | Crea una nuova directory.
File | Crea un file vuoto.
Personalizza | Apre la directory ``Templates`' per aggiungere altre voci al menù.
<definiti dall'utente> | Copia un file dalla directory «Templates».

Per aggiungere nuove voci, scegliere Personalizza e mettere i file lì dentro. I file di quella directory compaiono quindi nel menù e vengono usati per creare i nuovi file. Per esempio, se si desidera creare un file HTML vuoto:

    <html>
     <head>
      <title>Titolo della pagina</title>
     </head>
     <body>
      Il contenuto della pagina.
     </body>
    </html>

Salvando questo file come ``index.html`' dentro la directory ``Templates`' si possono creare facilmente file HTML. È possibile anche salvare documenti vuoti di vario tipo, come ad es. un foglio di calcolo, una lettera, ecc...

Notare che al momento non è possibile impostare le scorciatoie per questi tipi di voci.

## Il menù «Finestra»

Voce | Azione
--- | ---
Directory genitore, nuova finestra | Visualizza la directory genitore in una nuova finestra.
Directory genitore, stessa finestra | Come sopra, ma usa la stessa finestra.
Nuova finestra | Visualizza la stessa directory in una nuova finestra.
Directory home | Va nella directory home.
Mostra i segnalibri | Apre il menù dei segnalibri (vedere menù segnalibri).
Segui i collegamenti simbolici | Converte il percorso mostrato nella barra del titolo della finestra nella sua forma canonica. Per esempio, se ``/home/fred/link`' è il collegamento simbolico che punta a ``/usr/share/doc/`', facendo clic sul collegamento si va in quella directory, poi facendo clic su «Su» si torna in ``/home/fred`'. Se invece si fa clic su Segui i collegamenti simbolici, quando poi si torna «Su», si va in ``/usr/share`'.
Ridimensiona finestra | Ridimensiona la finestra in base al suo contenuto.
Chiudi finestra | Chiude la finestra.
Inserisci percorso... | Apre un minibuffer per inserire il percorso (vedere la sezione Minibuffer).
Comando shell... | Apre un minibuffer per il comando di shell (vedere la sezione Minibuffer).
Xterm qui | Apre un xterm nella directory attuale.
Scambia con xterm | Apre un xterm nella directory attuale e contemporaneamente chiude la finestra del filer.

## Il menù «Aiuto»

Voce | Azione
--- | ---
Informazioni su ROX-Filer | Mostra le informazioni del filer. È equivalente a cercare «ROX-Filer» in una finestra del filer e selezionare Proprietà dal menù.
Mostra i file di aiuto | È equivalente a selezionare «ROX-Filer» e scegliere Aiuto dal menù.
Manuale | Apre il manuale HTML nella lingua impostata nel sistema. Se la traduzione non è disponibile mostra la versione in inglese.

## Il menù «Invia a...»

Il menù «Invia a...» fornisce un modo veloce per inviare file a un'applicazione. Il filer analizza tutte le directory ``SendTo`' nel `$XDG_CONFIG_DIRS/rox.sourceforge.net/SendTo` (vedere [BaseDir]) ed elenca il contenuto in questo menù.

Per cambiare le applicazioni che appaiono, scegliere Personalizza in fondo al menù. Si apre quindi la directory ``SendTo`'. Si possono creare collegamenti simbolici alle applicazioni, trascinandole qui e scegliendo Collegamento dal menù.

Aprire «Invia a...» dal menù principale è piuttosto scomodo, normalmente lo si apre facendo clic col tasto destro del mouse su un file e tenendo premuto il tasto Shift.

### Visualizzare applicazioni differenti per tipi di file differenti

Supponiamo che si voglia che «Gimp» sia l'unica applicazione visualizzata quando è stata selezionata un'immagine. Per fare questo, si deve creare una directory nascosta dentro ``SendTo`' di nome ``.image`' (o di qualsiasi altro tipo di file si desidera). È anche possibile usare il tipo completo, come ad esempio ``.image_png`'. Usare il menù Proprietà su un file per conoscere il tipo di MIME.

Le voci di queste directory nascoste sono mostrate solo per i file di tipo appropriato. Se si seleziona più di un file, viene usata la directory ``.group`'.

## Il «Menù segnalibri»

Il menù segnalibri viene usato per memorizzare un elenco di directory usate frequentemente. È possibile aprirlo anche dal menù principale (sottomenù Finestra) e creare una scorciatoia associandolo a un tasto. Dal menù segnalibri è possibile aggiungere alla lista la directory attualmente visualizzata, spostarsi in una directory memorizzata, o aprire una finestra di dialogo per modificare l'elenco. Se necessario, si possono rimuovere le voci, riordinarle (usando le frecce o trascinandole) e modificare direttamente i percorsi.

Il sottomenù Visitati di recente mostra le ultime directory viste. Sceglierne una per entrarci subito. La directory attuale è ombreggiata, dal momento che ci si trova già lì.

## Capitolo 7. La bacheca e i pannelli

Le sezioni La bacheca e I pannelli spiegano come attivare la bacheca e i pannelli. Una volta attivi, è possibile rilasciare gli elementi da una finestra del filer per appenderli. È indifferente fare clic su un elemento affisso sulla bacheca o fare clic nella finestra del filer. Le icone affisse si trascinano come quelle normali e si può attivare il loro menù con il tasto destro del mouse.

Per spostare le icone del pannello, trascinarle con il tasto centrale del mouse. Nelle precedenti versioni del filer, si potevano spostare le icone della bacheca anche col tasto centrale del mouse, ma ora non è più possibile perché tale tasto è riservato al window manager.

È possibile assegnare le scorciatoie da tastiera alle icone del pannello e della bacheca. Si possono usare per aprire velocemente directory, file o applicazioni, persino se un'altra finestra ha il focus.

Le modifiche al pannello e alla bacheca vengono salvate automaticamente. Facendo clic sulle icone affisse tenendo premuto il tasto Control, queste vengono selezionate e deselezionate. Fare clic sullo sfondo per deselezionarle tutte.

### Importante

Trascinare un file sulla bacheca o sul pannello non significa copiarlo: è solamente una scorciatoia al file. Questo comportamento è molto diverso da quello degli altri filer. Infatti se si elimina il file dalla bacheca, si elimina solo il collegamento al file originale; se si elimina il file originale, sulla bacheca rimane solo un collegamento interrotto.

## I menù del pannello e della bacheca

Voce | Azione
--- | ---
ROX-Filer | Mostra i file di aiuto, modifica le opzioni e apre la directory home.
File «file» | È una versione ridotta del sottomenù «File» del filer.
Modifica elemento | Cambia il nome visualizzato sotto l'icona o il percorso all'elemento a cui punta. Si può impostare una scorciatoia da tastiera per l'icona o bloccarla per impedirne la cancellazione accidentale. Inoltre, è possibile specificare gli argomenti aggiuntivi da passare ai programmi.
Mostra posizione | Mostra dove è memorizzato il file.
Rimuovi elemento | Rimuove gli elementi selezionati dalla bacheca o dal pannello.
Sfondo... | Imposta l'immagine di sfondo (vedere più sotto). È disponibile solo nel menù della bacheca.
Opzioni pannello... | Imposta il bordo dello schermo sul quale visualizzare il pannello. È disponibile solo dal menù del pannello.

Per creare le impostazioni predefinite per gli altri utenti come l'icona «Home» che punta alla directory dell'utente stesso, prima si deve creare una nuova icona, poi si deve usare Modifica elemento per cambiare il percorso in ``~`' e infine rinominarlo «Home».

Notare che facendo clic su certe applicazioni, queste possono aggiungere alcuni menù in cima al menù principale. Vedere Directory applicative per ulteriori dettagli.

## Le applet del pannello

ROX-Filer permette di eseguire dentro il pannello piccole applicazioni di nome applet. Per eseguirne una, trascinarla nel pannello dalla finestra del filer. La sua icona non viene visualizzata, ma l'applet viene eseguita.

Procedura 7.1. Creare una applet (solo per programmatori):

1. Creare una directory per l'applet (per es. ``MiaApplet`').

2. Usare il menù Imposta icona... per creare dentro la directory un'icona di nome ``.DirIcon`'. La directory viene poi visualizzata con quest'icona.

3. Creare una sottodirectory ``Help`' per quando l'utente sceglie Aiuto dal menù.

4. Creare un eseguibile di nome ``AppletRun`'. Questo passa lo XID del socket del pannello quando la directory viene trascinata dentro il pannello. Usare questo per creare un widget GtkPlug. Un tutorial è disponibile su http://rox.sourceforge.net/phpwiki/index.php/Tutorials/Applets

## Finestre minimizzate sulla bacheca

Quando è attiva la bacheca, ROX-Filer può visualizzare le finestre ridotte a icona (o «minimizzate») mostrando un'opportuna icona sulla bacheca. Attivare questa funzione nella finestra «Opzioni». Le finestre ridotte a icona hanno uno sfondo semitrasparente e possono essere spostate. Fare clic sopra per ripristinare la finestra. Alcuni vecchi window manager non supportano questa funzione, quindi nessuna icona viene mostrata.

## L'immagine di sfondo della bacheca

È possibile scegliere un'immagine per lo sfondo, scegliendo Sfondo... dal menù della bacheca (tasto destro del mouse sullo sfondo se la bacheca è attiva).

Selezionare Centra, Scala, Stira o Affianca per impostare lo stile, poi trascinare un'immagine nell'area sottostante. Per ritornare a un colore uniforme, (definito nella finestra «Opzioni»), fare clic su Pulisci.

Si può usare l'applicazione «Wallpaper» [Wallpaper] per creare effetti più complessi, come la scelta casuale di un'immagine ogni ora o il rendering dell'immagine della Terra come è attualmente illuminata dal sole.

Per i programmatori. Se si desidera creare un'applicazione che imposta lo sfondo, per es. che sceglie un'immagine casuale o una sequenza di diapositive, è necessario prima creare una directory applicativa (vedere Directory applicative).

Se eseguita senza argomenti, l'applicazione dovrebbe attivare il metodo SOAP SetBackdropApp (vedere Appendice C, SOAP RPC). Il filer quindi la riesegue immediatamente e, questa volta, con l'opzione `--backdrop`.

Se eseguita con `--backdrop`, il programma dovrebbe scrivere lo stile e il nome del file immagine da visualizzare nel suo standard stream di output, es:

    tile /tmp/image.png

`centre` e `scale` sono gli altri stili possibile. Il filer quindi carica l'immagine e la visualizza. L'applicazione non imposta lo sfondo, ma dice solamente al filer cosa visualizzare.

Nel caso di uno sfondo con immagine casuale, il programma può terminare immediatamente. Se l'applicazione ha creato un'immagine temporanea, dovrebbe leggere la riga "ok\n" dal suo standard input prima di cancellare l'immagine.

Se l'applicazione desidera mostrare una sequenza di immagini, dovrebbe ancora leggere "ok\n", quindi aspettare fino al momento di visualizzare l'immagine successiva e poi scrivere quel nome di file, e così via.

Chiudendo i due stream, il filer indica che il programma si deve fermare. A questo punto il programma dovrebbe terminare. Per eliminare qualunque file temporaneo, assicurarsi di catturare SIGPIPE quando si scrive sullo standard output.

Per un esempio completo, vedere l'applicazione «Wallpaper» [Wallpaper] (scritta in python).

## Capitolo 8. Dispositivi rimovibili

Usare i dispositivi rimovibili con ROX-Filer, come il dischetto o il cdrom, è abbastanza semplice. È importante comunque capire il significato di montare e smontare i device.

Montare un device significa far apparire il suo contenuto nel file system. Normalmente, la directory ``/floppy`' è vuota, ma se si monta qui il dischetto, il suo contenuto appare dentro la directory. Per esempio, un file di nome ``Lettera`' nel dischetto appare come ``/floppy/Lettera`'.

Prima di rimuovere un disco, il device deve essere smontato, così il sistema può scrivere i dati che ha in buffer. Rimuovere un disco senza smontarlo può rovinare il suo contenuto. Fortunatamente i CD e gli Zip sono bloccati quando il device è montato, così non c'è pericolo di rimuoverli accidentalmente.

Quando si vuole usare un disco, non c'è bisogno di specificare ogni volta quale device usare e in quale punto del file system montarlo, perché nel file ``/etc/fstab`' c'è un elenco preimpostato. ROX-Filer mostra i punti di mount (come il ``/floppy`') che sono elencati ma non montati con un cerchio grigio semitrasparente sopra le loro icone.

Facendo clic su uno di questi punti di mount, il device viene montato e il cerchio diventa verde. Non rimuovere il dispositivo finché il cerchio è acceso. Per smontare il device, fare clic su ``/floppy`' tenendo premuto il tasto Shift.

È anche possibile smontare un device chiudendo la finestra (per esempio quella del ``/floppy`') e scegliendo «Smonta» dalla finestra che appare. Il filer permette di smontare i device in questo modo solo se sono stati prima montati dal filer stesso.

Per aprire una directory senza montare niente (per esempio se si vuole vedere il contenuto di ``/floppy`' sul disco rigido), fare clic sul punto di mount (smontato) tenendo premuto il tasto Shift. Normalmente ciò non serve, dal momento che queste directory sono generalmente vuote.

## Capitolo 9. Miniature

Se le miniature sono attive, il filer prova a caricare ogni file di immagine e usa quella stessa immagine come icona del file. Sono utili nelle directory piene di foto. Per attivarle in una sola directory, selezionare Mostra miniature dal menù Visualizza. Per averle sempre attive, andare nella finestra «Opzioni». In questo caso, sulla barra del titolo della finestra compare la scritta (Miniature).

Le miniature vengono memorizzate in ``~/.thumbnails`', per caricarle più velocemente la volta dopo. Durante il caricamento delle miniature, nella parte inferiore della finestra compare una barra di avanzamento. Facendo clic sul pulsante Annulla che è accanto alla barra, viene interrotta la scansione. È anche possibile creare miniature di altri tipi di file, come ad esempio i video: basta visualizzare un frame usando un programma opportuno.

## Dettagli tecnici

Se le miniature sono attive, ROX-Filer controlla la directory ``~/.thumbs/normal`' per cercare una miniatura per ogni file che scansiona. Se la miniatura esiste, la carica e continua con il file successivo.

Per generare la miniatura di un file di un certo tipo di «media/subtype», il filer cerca un programma prima in ``~/.config/rox.sourceforge.net/MIME-thumb/media_subtype`' e poi in ``~/.config/rox.sourceforge.net/MIME-thumb/media`' (come quando si visualizzano applicazioni differenti per tipi di file differenti). Se non viene trovato niente e se il file è di tipo «image/*» allora vengono usate le routine interne. Se il file non è di tipo «image/*», non viene creata alcuna miniatura.

Se viene trovato il programma per generare le miniature, allora viene eseguito con i parametri

    generatore_miniature /percorso/al/file /percorso/alla/miniatura dim_pixel

Non appena il processo figlio termina, si tenta di caricare ``/percorso/alla/miniatura`'. In caso di fallimento, non viene mostrata alcuna miniatura.

Notare che a causa dell'ordine di come avvengono le cose, ROX-Filer usa senza problemi qualunque miniatura preesistente, anche senza sapere come è stata generata.

## Capitolo 10. File system virtuale

Alcuni tipi di file possono essere rappresentati come directory. Un tipico esempio è il file zip, che contiene in forma compressa la struttura di una intera directory. A volte è utile essere in grado di aprire questo tipo di file come se fosse una vera directory. Il VFS (Virtual File System) permette di farlo.

Per usare questa funzionalità, AVFS [AVFS] deve essere installato sul sistema in modo da permettere al kernel di supportare direttamente i vari tipi di file system virtuali.

Ci sono vari modi di usare AVFS. Questo esempio mostra come usarlo su un sistema con kernel Linux 2.6 e con FUSE. È necessario che il kernel abbia il supporto per FUSE e che sia installato il pacchetto dei file header «libfuse-dev».

Procedura 10.1. Installare AVFS su Linux 2.6

1. Prendere AVFS dal CVS (la release di Luglio 2005 è troppo vecchia).

2. Compilare AVFS (`sh autogen.sh; ./configure; make`).

3. Andare nella sottodirectory ``avfs/fuse`' ed eseguire `./compile.sh`.

4. Creare un punto di mount: `mkdir ~/.avfs-mount`.

5. Eseguire AVFS: `./avfsd ~/.avfs-mount`.

6. Per configurare ROX-Filer in modo da aprire le directory usando AVFS, cliccare su (Imposta azione...) per i file zip (ed gli altri tipi di archivi) ed inserire:

       rox ~/.avfs-mount/"$1#"

Notare che tutti i passi sopra descritti dovrebbero essere eseguiti come utente normale, non come root. Potrebbe essere necessario appartenere ad un gruppo speciale per usare FUSE (controllare il gruppo di ``/usr/bin/fusermount`').

Se non si desidera che AVFS sia l'azione predefinita di questi file, è possibile creare uno script contenente il comando sopra descritto e aggiungerlo al menù File, usando Personalizza il menù....

## Capitolo 11. Il minibuffer

Il minibuffer è una barra bianca che appare nella parte inferiore della finestra e che permette di inserire del testo. Per liberarsene, basta premere Esc. Può essere di vari tipi:

## «Inserisci percorso...»

Permette di inserire direttamente un percorso. Subito dopo averlo digitato la finestra viene aggiornata. L'uso principale è quello di trovare velocemente un file in una grande directory, ma lo si può usare anche per spostarsi tra le directory, per selezionare un percorso completo da un'altra parte e incollarlo direttamente nella barra.

Tasto | Azione
--- | ---
Invio | Apre l'elemento attualmente selezionato.
Tab | Completamento automatico in stile shell.
Su, Giù | Seleziona la precedente/successiva voce corrispondente.

Inserendo un nome che inizia per «.», la funzione «Mostra file nascosti» è attivata momentaneamente e il file può essere mostrato.

Il completamento automatico prova a ricostruire il nome con più caratteri possibili. Per esempio, se nella directory ci sono due file di nome ``posta-salvata-nov-1999`' e ``posta-salvata-dic-1999`' allora digitando `posta` e premendo Tab si espande `posta` fino a `posta-salvata-` e viene emesso un beep per indicare che la corrispondenza non è completa. Se il completamento automatico avviene su una directory ed è unico, allora il filer entra automaticamente in quella directory. Questo comportamento dovrebbe essere familiare agli utenti che usano una shell.

Ecco come fare per trovare la documentazione di Wine nella directory ``/usr/share/doc`' che di solito è molto grande:

1. Attivare il minibuffer scegliendo Inserisci percorso... dal menù Finestra o premere il tasto slash (/).

2. Premere CTRL+A per selezionare il contenuto presente.

3. Digitare `u<Tab>sh<Tab>do<Tab>wi<Tab>`. Il cursore si sposta nella sottodirectory corretta. Se viene emesso un beep quando si preme Tab allora si devono aggiungere altre lettere o premere Invio.

## «Comando shell...»

È un modo veloce per eseguire comandi di shell senza aprire un xterm. Chi non sa cosa sono i comandi di shell, salti questa sezione.

Basta digitare il comando e premere Invio per eseguirlo. Con le frecce Su e Giù ci si sposta tra i comandi precedentemente inseriti. Il tasto Tab è per il completamento automatico in stile shell. Facendo clic su un elemento si inserisce il suo nome nel minibuffer. Se vengono selezionati alcuni elementi, questi sono assegnati ai parametri di posizione `$1`, `$2`, ecc...

Se si apre il minibuffer quando c'è una selezione, alla fine del comando viene aggiunto `"$@"` che espande tutti i file selezionati.

Esempi:

Per scompattare un archivio ``.tgz`':

1. Attivare il minibuffer scegliendo dal menù Finestra Comando shell.... Normalmente è associato al tasto del punto esclamativo (!).

2. Digitare `tar xzf` e fare clic sul file. Il primo spazio è inserito automaticamente.

3. Premere Invio per eseguirlo.

Per stampare tutti i file selezionati:

1. Attivare il minibuffer «Comando shell...».

2. Digitare `lpr` all'inizio della riga e premere Invio.

Note

- Attenzione: non viene mai chiesta la conferma. In caso di dubbi, iniziare il comando con `xmessage` così viene visualizzato invece che eseguito.

- sh è sempre usato come nome di shell da eseguire, perché bash e csh trattano i parametri di posizione in modo diverso. È comunque possibile usare un'altra shell, semplicemente rinominandola «sh» e mettendola nel `PATH`..

- Si possono eseguire comandi in background: sleep 240; xmessage È ora di andare!

## «Seleziona se...»

Da usare se si desidera selezionare automaticamente tutti i file di una directory che corrispondono a una condizione.

Per esempio, per selezionare tutti i file più grandi di 5Mb:

1. Attivare il minibuffer «Seleziona se...» (la scorciatoia predefinita è ?).

2. Digitare `Size > 5Mb` e premere Invio.

Vengono quindi selezionati solo i file più grandi di 5 Mb. Le espressioni da inserire sono simili a quelle descritte nella sezione «Trova», ad eccetto di `prune` dal momento che il contenuto delle sottodirectory non è mai controllato. Premere Tab per passare su ciascun file selezionato.

## Capitolo 12. Rinominazione multipla dei file

Se c'è un numero elevato di file da rinominare, è noioso rinominarli uno alla volta. È meglio aprire la finestra di rinominazione multipla, selezionando prima tutti i file da rinominare e poi scegliendo Rinomina... dal menù.

La finestra mostra una tabella con due colonne. La colonna Vecchio nome mostra il nome attuale di ciascun file selezionato, la colonna Nuovo nome mostra il nome nuovo, che inizialmente è identico.

Ci sono due modi per cambiare i nomi: si possono modificarli direttamente nella tabella, oppure si può usare la funzione "cerca e sostituisci" che si trova nella parte superiore della finestra. Qui si specifica un'espressione regolare per la ricerca e il testo da sostituire in caso di corrispondenza. Per esempio, se ci sono molti file i cui nomi terminano per ``.htm`' e se si desidera cambiarli in ``.html`', bisogna inserire `\.htm$` nel campo Sostituisci: e `.html` nel campo con:. Cliccando su Applica, la tabella viene aggiornata e ora mostra i nuovi nomi proposti (ma non vengono ancora rinominati).

Dopo aver controllato che i nuovi nomi sono corretti, cliccare sul pulsante Rinomina per rinominarli.

## Capitolo 13. Finestre d'azione

Le finestre d'azione sono quelle finestre che appaiono quando inizia un'operazione in background, come la copia o l'eliminazione dei file. La riga di stato nella parte superiore della finestra mostra la directory o l'elemento attuale che la finestra sta elaborando. Sotto, nella parte che scorre, ci sono i log che mostrano tutto quello che è stato fatto. Qui vengono visualizzate le eventuali domande.

Sotto, ci sono quattro pulsanti e alcune opzioni. Tutte le finestre hanno l'opzione Tutti. Quando questa è attiva, il filer chiede conferma solo per alcune operazioni, come l'eliminazione dei file di sola lettura. Altrimenti, per tutte le operazioni viene chiesta conferma.

Il significato dei pulsanti è il seguente:

Si

  risponde si alla domanda visualizzata nei log.

No

  risponde no alla domanda visualizzata nei log.

Annulla

  termina l'operazione attualmente in corso e chiude la finestra d'azione.

Tutti

  è un modo veloce di dire sempre Si.

Nella finestra «Opzioni» è possibile stabilire quali operazioni devono iniziare automaticamente (senza dover fare clic su Tutti).

## Opzioni delle finestre di azione

Alcune azioni hanno delle opzioni, che appaiono nella parte inferiore della finestra. Esse sono:

- Forza significa che il filer non considera speciali i file di sola lettura. Normalmente, chiede conferma dell'eliminazione anche se è stato premuto il pulsante Tutti. Notare che non è possibile rimuovere i file dalle directory di sola lettura perché in questo caso non si hanno i permessi di scrittura.

- Breve non mostra il log dell'operazione. Da usare per velocizzare il tutto quando c'è un gran numero di operazioni da fare.

- Ricorsivo significa che l'operazione viene eseguita anche sulle sottodirectory, sulle sotto-sottodirectory e così via.

- Più recente sovrascrive automaticamente un file se è più recente di quello che rimpiazza (cioè rispetto all'«Ultima modifica» o «mtime»).

Si possono modificare le impostazioni predefinite nella finestra «Opzioni».

## Capitolo 14. «Trova»

«Trova» cerca tra tutti i file, le directory e le sottodiretory selezionate, gli elementi che corrispondono a una particolare espressione.

Attivare Trova dal sottomenù File per cercare in tutti gli elementi selezionati. Per selezionare i file di una directory che soddisfano certi criteri, usare invece Seleziona -> Seleziona se....

Se si conosce il nome di un file, basta inserirlo nel campo «Espressione:», tra due apici singoli. Per esempio, per trovare un file chiamato ``log`', digitare `'log'`. Ricordarsi di usare l'accento acuto ('), non quello grave (`) o le virgolette alte (").

Le corrispondenze trovate vengono mostrate nell'elenco dei risultati. Facendo doppio clic su una voce, si apre una finestra che mostra quel file. Il filer usa la stessa finestra per mostrare gli altri risultati, così, se si vogliono i risultati in finestre separate, si deve creare una nuova finestra dal menù Finestra.

## Metacaratteri

Si possono inserire i metacaratteri dentro gli apici, come ad esempio:

'*.html'
'Report.*'
'Bozza[1-5]'
'main.[ch]'

Vedere la pagina di manuale di glob(7) per ulteriori informazioni sui metacaratteri.

Se il modello inserito contiene una barra («/»), la corrispondenza è sul percorso completo, altrimenti è solo sul nome. Per esempio: `'*tmp*'` trova ``tmp`' e ``tmpfile`' ma non ``/tmp/file`'; `'/*tmp*'` li trova tutti e tre.

## Condizioni semplici

Oltre a cercare i file in base al loro nome, è possibile farlo in base ad altri attributi. Notare che file è usato con il significato di «qualunque cosa si trova dentro un file system»: sono incluse le directory, i device, ecc...

È possibile usare anche una forma breve per ciascuna condizione (sono mostrate tra parentesi). Si possono combinare anche più condizioni: per esempio, «`-rw`» sta per «`IsReadable and IsWriteable`».

Questi riguardano il tipo di oggetto da cercare:

- `IsReg (-f)` trova qualunque file regolare.

- `IsLink (-l)` trova i collegamenti simbolici.

- `IsDir (-d)` trova le directory.

- `IsChar (-c)` trova i device a caratteri.

- `IsBlock (-b)` trova i device a blocchi.

- `IsDev (-D)` trova i device a caratteri o a blocchi.

- `IsPipe (-p)` trova le pipe.

- `IsSocket (-S)` trova i socket.

- `IsDoor (-O)` trova le door (in Solaris).

Questi riguardano i permessi sui file. Vedere la sezione Permessi.

- `IsSUID (-u)` trova i file che hanno il bit Set-UID impostato.

- `IsSGID (-g)` trova i file che hanno il bit Set-GID impostato.

- `IsSticky (-k)` trova i file che hanno il bit sticky impostato.

- `IsReadable (-r)` trova i file che si possono leggere.

- `IsWriteable (-w)` trova i file che si possono scrivere.

- `IsExecutable (-x)` trova i file che si possono eseguire.

E un paio di altri utili:

- `IsEmpty (-z)` trova i file vuoti (cioè di 0 byte).

- `IsMine (-o)` trova i file di cui si è proprietari.

## Operatori logici

Per fare ricerche avanzate, si possono combinare in vari modi le condizioni semplici descritte sopra. Un'espressione è effettivamente composta da una lista di casi, separati da virgole. Il filer prova a cercare corrispondenze fino a trovarne una o fino all'esaurimento dei casi. Per esempio, per cercare file con diverse estensioni:

    '*.gif', '*.htm', '*.html'

Inoltre, ciascun caso è effettivamente una lista di condizioni. C'è corrispondenza solo se tutte le condizioni sono soddisfatte. Quindi, per trovare una directory di nome ``lib`' o un file regolare con estensione ``.so`':

    IsDir 'lib', IsReg '*.so'

Per negare una condizione, mettere davanti ad essa un `!`. Si può considerare una condizione anche un'espressione raggruppata in parentesi tonde, come ad esempio:

         !(IsDir, IsReg)

         !IsDir !IsReg

         Not isdir and not isreg

         !-d !-f

Tutti e quattro fanno la stessa cosa.

## Confronti

Per confrontare due numeri, usare gli operatori `<`, `<=`, `=`, `!=`, `>`, `>=` (cioè minore-di, minore-o-uguale-a, uguale-a, diverso-da, maggiore-di, maggiore-o-uguale-a). Per confrontare due date, usare `after` e `before` invece di `>` e `<` perché rendono più chiare le cose.

Questi valori sono letti dai file:

- `atime` La data dell'ultimo accesso al file.

- `ctime` La data dell'ultimo cambiamento allo stato del file.

- `mtime` La data dell'ultima modifica al contenuto del file.

- `size` La dimensione del file.

- `inode` Il numero di inode (indice) del file.

- `nlinks` Il numero di collegamenti al file. Cioè, il numero di voci nella directory che si riferiscono a questo file. I collegamenti simbolici non contano.

- `uid` L'id del proprietario del file.

- `gid` L'id del gruppo del file.

- `blocks` Il numero di blocchi del disco usati dal file.

Il tempo è misurato come il numero di secondi trascorsi da Unix Epoch (00:00:00 UTC, 1 gennaio 1970). Le dimensioni sono misurate in byte. Si possono specificare altre unità di misura:

- `Byte(s)` non ha effetto, ma è bello.

- `Kb` multipli di 1024, quindi 2Kb è uguale a 2048.

- `Mb` multipli di 10242, cioè 1024 Kb.

- `Sec(s)` non ha effetto, ma è bello.

- `Min(s)` multipli di 60 secondi.

- `Hour(s), Day(s), Week(s), Year(s)` si convertono nello stesso modo.

- `Ago` la data è nel passato, relativa a quando viene fatto il controllo.

- `Hence` la data è nel futuro.

- `Now` sta per `0 Secs Hence`.

Ecco alcuni esempi che rendono più chiare le cose.

         mtime after 1 day ago

         size > 10 Mb

         IsReg and nlinks > 1

Il primo trova i file modificati entro le ultime 24 ore. Si poteva usare `>` invece di `after`, ma non sarebbe stato altrettanto chiaro.

Il secondo trova i file più grandi di 10 Mb. Il terzo trova i file regolari con più di una voce nella directory.

Attenzione: il filer non controlla il contesto, quindi `size > 1 day ago` è permesso, sebbene non abbia molto senso. Inoltre, dimenticarsi di usare `ago` o `hence` provoca effetti insoliti (il tempo è relativo a Epoch invece che al presente). Infine, mai usare `=` con le date `atime = 1 day ago` cerca un file il cui ultimo accesso è stato esattamente 86400 secondi fa.

## Speciali

- `System(comando)` esegue «comando» sul file. La condizione è verificata se lo stato di uscita di «comando» è zero. Un «%» in «comando» è sostituito dal percorso completo del file in esame. `System` è molto lento, quindi va usato il meno possibile. Per esempio, se si sta cercando un file ``.c`' contenente la parola «main», digitare:

      '*.c' system(grep -q main "%")

  in questo modo «grep» è eseguito solo sui file con estensione ``.c`' (opposto è il caso in cui si cercano i file con estensione ``.c`' tra quelli che contengono la parola «main»).

- `Prune` [2] Evita al filer di cercare dentro la directory attuale. Ricordarsi l'ordine con cui il filer controlla l'espressione.

Esempi:

         '*.old' system(rm '%')

         'src' prune, '*.c'

Il primo elimina ogni file con estensione ``.old`'. Il secondo cerca i file ``.c`', ma non controlla dentro le directory di nome ``src`'. L'espressione si legge così:

se il file si chiama ``src`' allora «Prune». Altrimenti, controlla se termina per ``.c`' e se è così, includilo nei risultati.

[2] Notare che è l'opposto del comando find(1).

## Capitolo 15. Opzioni

Nella finestra «Opzioni», si possono configurare i vari aspetti di ROX-Filer. Scegliere Opzioni dal menù del filer per aprirlo. L'elenco sulla sinistra mostra le varie sezioni, fare clic su una per vedere le sue opzioni. Nella parte inferiore della finestra ci sono due pulsanti:

- OK salva le attuali preferenze nella directory ``~/.config/rox.sourceforge.net/ROX-Filer`', per caricarle la prossima volta che si avvia ROX-Filer. Il punto esatto in cui le preferenze vengono caricate e salvate è controllato dalla variabile d'ambiente `XDG_CONFIG_HOME`. Vedere [BaseDir] per ulteriori dettagli. Le modifiche fatte nella finestra «Opzioni» hanno effetto immediato, così non è necessario fare clic su OK per provarle.

- Ripristina rimette tutte le preferenze come erano prima dell'apertura della finestra «Opzioni». Se il pulsante è ombreggiato, significa che non ci sono state modifiche. La finestra «Opzioni» non viene chiusa quando si preme questo tasto.

Le opzioni della finestra «Opzioni» hanno dei suggerimenti che spiegano l'uso di ciascuna opzione. Tenere fermo il mouse su una di queste per scoprire cosa fa.

## Capitolo 16. Tipi di file

Tutti i file hanno un tipo di MIME della forma text/plain. text è il media type e plain è il sub-type.

ROX-Filer usa il nome del file per decidere il suo tipo di MIME, quindi decide quale icona dargli e quale applicazione usare per aprirlo.

## Imposta azione...

Scegliendo Imposta azione... dal menù «File», appare la finestra usata per impostare quale applicazione caricare quando si fa clic su quel tipo di file.

Per esempio, supponiamo che si voglia che un file ``.gif`' debba essere aperto con Gimp. Per prima cosa, clic destro su un'immagine gif per aprire il menù e quindi scegliere Imposta azione... dal sottomenù File. Ora ci sono due modi per impostare l'azione.

### Trascinare l'applicazione

Trascinare Gimp (da una finestra del filer, da un pannello o dalla bacheca) dentro l'area di nome Trascinare qui un'applicazione adatta. Da adesso in poi, ogni file GIF su cui si fa clic viene caricato dentro Gimp.

### Inserire un comando di shell

Digitare: `gimp "$@"` dentro l'area di nome Inserire un comando di shell: e premere Invio. `$@` viene sostituito con il nome del file su cui si ha fatto clic. Come sopra, ora ogni file GIF su cui si fa clic viene caricato dentro Gimp.

### Impostare il gestore predefinito del media-type

Qualunque metodo si usa per impostare l'azione, si deve sempre scegliere se impostare l'azione solo per quel tipo o renderla predefinita per tutti i file dello stesso media-type che non hanno già una specifica azione.

Dal momento che Gimp può caricare molti tipi di immagine, ha senso selezionare l'opzione Impostare come azione predefinita per tutti i file di tipo «image/<anything>», così non bisogna ripetere lo stesso procedimento per i file «image/jpeg» e così via. Comunque, questo influenza solo i tipi che non hanno già una specifica azione (cioè quelli per cui appare un errore se si prova ad aprirli).

## Imposta icona...

Scegliendo Imposta icona... dal menù «File», appare una finestra nella quale è possibile scegliere l'immagine da usare per rappresentare quel file.

Funziona come «Imposta azione...» descritto sopra, eccetto che si può specificare un'icona anche per un file singolo (dal nome) o per tutti i file di quel tipo. Quando si imposta l'icona per un file singolo, il filer memorizza il nome del file e il nome dell'icona dentro la directory ``~/.config/rox.sourceforge.net/MIME-icons`'. Se uno dei due si sposta, l'icona non viene più visualizzata.

Quando si imposta l'icona per una directory, si può anche memorizzare l'immagine dentro la directory stessa come file nascosto. Il vantaggio è che anche gli altri utenti possono vedere l'icona e poi si può anche eliminare l'immagine originale (notare che, se necessario, l'immagine viene ridimensionata e convertita nel formato PNG).

L'icona raffigurante una directory (che si trova dentro l'area Trascinare qui un'icona) permette di andare velocemente nella directory in cui ci sono già una o più icone.

## Come i tipi di file sono memorizzati

ROX-Filer usa due sottodirectory della directory ``~/.config/rox.sourceforge.net`' per i tipi di file:

``MIME-types`'

  contiene i collegamenti simbolici, uno per ciascun tipo di MIME, che puntano ai programmi che gestiscono i file di quel tipo. Per impostare quale programma eseguire quando si fa clic sul file, si deve di solito usare Imposta azione... (vedere la sezione «Imposta azione...»). È anche possibile impostare l'azione manualmente. Per esempio, per far aprire un file HTML in «epiphany»:

  1. Trovare l'applicazione «epiphany» e andare nel menù Collegamento....

  2. Inserire `text_html` come nome per il collegamento e trascinare l'icona dalla finestra «Collegamento» nella directory ``MIME-types`'.

  Qui è anche possibile mettere i programmi, allo stesso modo dei collegamenti.

``MIME-icons`'

  contiene le immagini usate per visualizzare ciascun tipo di file. Per esempio, il filer prova a visualizzare un file HTML usando l'icona ``MIME-icons/text_html.png`'. Se non viene impostata alcuna icona, il filer usa quella predefinita del tema di icone (impostato in «Opzioni»); vedere [IconTheme] per i dettagli.

In ``MIME-types`' è possibile fornire le azioni predefinite per ciascun tipo di media. Per esempio, se non si trova ``text_html`', il filer prova semplicemente a usare ``text`'.

Il filer trova il tipo di file dal suo nome. Le regole vengono dai vari file ``globs`'. Vedere [SharedMIME] per ulteriori dettagli.

## Come il filer determina il tipo di file

The filer normalmente determina il tipo di file dal suo nome. Se fallisce, prova a supporlo dal contenuto del file. È possibile ignorare questa supposizione impostando un attributo esteso sul file con il tipo corretto, usando il menù Tipo di file....

## Capitolo 17. Directory applicative

Una directory applicativa è una directory che può essere eseguita come un'applicazione. Contiene tutto ciò di cui ha bisogno un'applicazione: codice sorgente, binari, documentazione e così via. Tenendo tutto in un unico posto, l'installazione e la disinstallazione è molto più semplice. Si possono tenere anche diverse versioni dello stesso programma, semplicemente avendo diverse directory applicative. Si possono spostare e rinominare a piacimento. Le directory applicative rendono più facile l'installazione e l'uso dei programmi.

Sono anche più sicure, perché si possono compilare come utente normale e poi copiare come root. Dal momento che non bisogna eseguire uno script di installazione, non c'è il pericolo di eseguire come root del codice maligno. Bisogna solo assicurarsi che non ci siano eseguibili con il bit setuid impostato.

I seguenti file sono trattati da ROX-Filer in modo speciale:

- ``AppRun`' viene eseguito quando si fa clic sulla directory. Assicurarsi che abbia i permessi di esecuzione.

- ``.DirIcon`' è l'immagine usata per visualizzare la directory (funziona anche se non c'è ``AppRun`').

- ``Help`' è la directory che viene aperta quando si sceglie Aiuto dal menù «File».

- ``AppInfo.xml`' contiene informazioni aggiuntive sull'applicazione (vedere sotto).

- ``AppIcon.xpm`' è usata se manca ``.DirIcon`' (è tenuta per compatibilità all'indietro, ma non è più usata).

Dare un'occhiata alla directory applicativa ``ROX-Filer`' per avere un esempio completo.

### Nota

Per ragioni di sicurezza, una directory applicativa deve avere lo stesso proprietario del file ``AppRun`' in essa contenuto.

## Il file «AppInfo»

``AppInfo.xml`' è un file XML con la seguente struttura (alcuni elementi possono essere omessi e il file stesso è opzionale):

    <?xml version="1.0"?>
    <AppInfo>
      <Summary xml:lang="en">A graphical file manager</Summary>
      <Summary xml:lang="de">Ein grafische Datei-Manager</Summary>
      <Summary xml:lang="nl">Een grafisch bestandsbeheerprogramma</Summary>
      <Summary xml:lang="it">File manager grafico</Summary>
      <About xml:lang="en">
        <Purpose>File manager</Purpose>
        <Version>1.3.5 PREVIEW</Version>
        <Authors>Thomas Leonard and others</Authors>
        <License>GNU General Public License</License>
        <Homepage>http://rox.sourceforge.net</Homepage>
      </About>
      <About xml:lang="it">
        <Purpose label="Scopo">gestione file</Purpose>
        <Version label="Versione"/>
        <Authors label="Autori">Thomas Leonard e altri</Authors>
        <License label="Licenza"/>
        <Homepage label="Sito web"/>
      </About>
      <AppMenu>
        <Item option="-p=Default">
          <Label>Enable pinboard</Label>
          <Label xml:lang="it">Attiva la bacheca</Label>
        </Item>
        <Item option="-p=">
          <Label>Disable pinboard</Label>
          <Label xml:lang="it">Disattiva la bacheca</Label>
        </Item>
      </AppMenu>
    </AppInfo>

- `Summary` è mostrato come suggerimento quando il mouse è tenuto fermo sull'applicazione.

- `About` contiene un elenco di campi che sono mostrati nel menù «Proprietà» dell'applicazione (si può usare qualunque nome per l'elemento, ma sono consigliati quelli mostrati sopra).

- `AppMenu` è un elenco di menù aggiuntivi da visualizzare. Quando se ne sceglie uno, ``AppRun`' viene eseguito con `option` come unico argomento. È possibile nidificare AppMenu dentro altri AppMenu per creare sottomenù, purché abbiano i <Label>. L'elemento `Item`può avere anche l'attributo `icon`, il nome di un'icona dell'attuale tema di icone per la voce di menù.

## Capitolo 18. Internazionalizzazione

## Scegliere una traduzione

ROX-Filer è disponibile in varie lingue. Per sceglierne una, procedere in questo modo:

1. Dal menù, scegliere «Opzioni»

2. Selezionare una lingua dall'elenco

3. Fare clic su Ok e riavviare il filer affinché le nuove impostazioni abbiano effetto.

## Creare una nuova traduzione

1. Andare nella directory ``src/po`' e creare il file ``src/messages.pot`':

               $ cd ROX-Filer/src/po
               $ ./update-po

2. Copiare il file nella directory ``src/po`' come ``<nome>.po`'. Esempio, per l'italiano si usa «it» (sigla internazionale dell'Italia):

       $ cp ../messages.pot it.po

3. Aprire il file in un editor di testi.

4. Riempire i campi dei messaggi di traduzione che inizialmente sono vuoti.

5. Eseguire lo script ``make-mo`' per creare un file binario che serve a ROX-Filer. Per fare questo è necessario avere il pacchetto GNU gettext.

               $ cd ROX-Filer/src/po
               $ ./make-mo it
               Created file ../../Messages/it.gmo OK

6. Modificare ``ROX-Filer/Options.xml`' in modo da elencare la vostra lingua, riavviare il filer e selezionarla nella finestra «Opzioni» (vedere la sezione Traduzioni).

7. Allegare il file ``.po`' al patch tracker di ROX così sarà incluso nella prossima versione.

## Aggiornare una traduzione esistente

1. Andare nella directory contenente i file ``.po`' ed eseguire lo script ``update-po`'. Questo controlla il codice sorgente per cercare le nuove stringhe e aggiornare tutti i file di traduzione.

               $ cd ROX-Filer/src/po
               $ ./update-po

2. Modificare a mano il file come descritto prima, riempire i nuovi campi e aggiornare quelli vecchi. Cercare le voci che sono state marcate `fuzzy` da update-po; controllare se sono corrette e rimuovere il tag `fuzzy`.

3. Eseguire make-mo come prima.

4. Spedire il file aggiornato all'autore di ROX-Filer. (NdT: se avete trovato errori nella traduzione italiana, segnalateli a me.)

Vedere la pagina info di gettext per avere ulteriori istruzioni su come creare una traduzione.

## Capitolo 19. Hacking

Questa è una breve guida per chi vuole modificare il codice sorgente. Se le modifiche sono utili, spedite le patch all'autore di ROX-Filer o alla mailing list. Ricordatevi di dire quale versione state usando.

## Compilazione

La prima volta che si compila il programma è necessario eseguire AppRun --compile, ma quando si modificano i file ``.c`' e ``.h`' è sufficiente digitare make nella directory ``src`'. Si può anche eseguire make depend.

## Creare e applicare patch

Le piccole modifiche ai sorgenti sono spesso distribuite come file patch. Di solito si fa così nella mailing list. Per applicare una patch, andare nella directory ``src`' ed eseguire patch con il file patch. Poi è necessario ricompilare.

         $ cd ROX-Filer/src
         $ patch < patchfile
         $ ../AppRun --compile

È possibile rimuovere la patch ripetendo semplicemente la sequenza sopra descritta. patch si accorge che la patch è già stata applicata e chiede se la si vuole rimuovere.

Per creare una patch bisogna prima avere l'ultima versione del filer dal CVS (le istruzioni su come usare CVS si trovano nel sito web). Modificare quindi il programma come si desidera e poi, nella directory opportuna, creare la patch usando cvs diff:

    $ cvs diff -u > mia_patch

Questo crea un file patch leggibile dall'uomo e dalla macchina. Spedirlo quindi alla mailing list. Ci sono diverse ragioni per spedire patch invece dei file modificati:

- Sono più piccole e veloci da scaricare anche per chi ha connessioni lente.

- Le modifiche si vedono prima che vengano applicate.

- Le patch si possono applicare a versioni leggermente modificate dei sorgenti. Cioè si possono applicare patch senza che una sovrascrivi un'altra.

## Autoconf

Ecco una breve spiegazione del sistema autoconf nel caso non lo si abbia mai usato prima d'ora. Vedere info autoconf per ulteriori dettagli.

C'è un file di nome ``configure.in`' che contiene diversi test (info autoconf). Eseguendo autoconf, questo legge il file e genera uno script di shell per eseguire i test e lo salva come ``configure`'. ``configure`' è solitamente distribuito con il programma perché non tutti hanno autoconf.

Poi si esegue ``configure`' (infatti, lo script ``AppRun`' lo fa e gli passa alcuni argomenti), che esegue tutti i test. Legge ``Makefile.in`' e ``config.h.in`' e riempie i valori mancanti con i risultati del test e produce ``Makefile`' e ``config.h`'.

Eseguendo make, vengono creati i file ``.o`' dai file ``.c`' e linkati per produrre ``ROX-Filer`'.

## Le strutture dei dati

Il file ``global.h`' elenca le principali strutture di dati usate nel filer e ne spiega lo scopo. È un buon punto di partenza per chi vuole sapere come funziona il filer.

## Appendice A. Compilazione

Dopo aver scaricato i sorgenti, per poter usare ROX-Filer è necessario compilarlo. Se invece è stato scaricato e installato il pacchetto dei binari o se ROX-Filer era già incluso nel sistema, si può saltare questa sezione. Se si è arrivati qui facendo clic sul simbolo del salvagente da una finestra del filer, o se tutto funziona digitando rox in un prompt di shell, allora non è necessario compilare.

Per compilare ROX-Filer è necessario:

- Unix o Linux (l'accesso come «root» non è richiesto),

- X Window (fornito come standard in tutti sistemi moderni),

- GTK+ 2.4.0 o successivo (librerie e header). L'ultima versione è disponibile su [GTK+],

- Glade 2.0.0 o successivo (librerie e header) — L'ultima versione è disponibile su [Glade],

- LibXML 2.0.0 o successiva (librerie e header). L'ultima versione è disponibile su [libxml],

- Un compilatore C, come ad esempio «gcc» (standard su molti sistemi).

Tutti gli elementi sopra descritti, sono presenti nelle principali distribuzioni Linux. Per controllare quale versione di GTK+ è installata, digitare il comando pkg-config, ad esempio (`$` è il prompt di shell):

    $ pkg-config --modversion gtk+-2.0
    2.6.8

Procedura A.1. Per compilare (con Zero Install):

1. Lanciare Zero Install per ROX-Filer. Per esempio, nella shell digitare:

       $ 0launch --gui http://rox.sourceforge.net/2005/interfaces/ROX-Filer

2. Nella finestra fare clic col tasto destro del mouse sulla riga ROX-Filer e scegliere Compile... dal menù.

3. Scegliere la versione di ROX-Filer da compilare e i file header richiesti. È possibile accettare i valori predefiniti e lasciare che vengano scaricati.

4. Scegliere una directory nella quale memorizzare il codice compilato e fare clic sul pulsante Build per compilare.

5. Quando terminato, fare clic su Register per aggiungere questa versione a quelle disponibili.

Procedura A.2. Per compilare (a mano):

1. Il filer usa il database condiviso MIME [SharedMIME] per manipolare i tipi di file. È necessario installarlo altrimenti il filer non funzionerà correttamente (se non è installato, verrà mostrato un avviso non appena si esegue ROX-Filer).

2. Entrare nella directory che contiene la sottodirectory «ROX-Filer».

3. Eseguire lo script AppRun, in questo modo:

       $ ./ROX-Filer/AppRun --compile

4. ROX-Filer eseguirà dei controlli per scoprire che tipo di sistema si sta usando e poi inizierà la compilazione. Se qualcosa non funziona, contattare via email gli sviluppatori di ROX-Filer. Spiegare (in inglese) che tipo di sistema si ha e quali errori compaiono. Se si è capaci di risolvere il problema, informare comunque gli sviluppatori via email.

5. Dopo la compilazione, ROX-Filer verrà eseguito automaticamente. È possibile comunque lanciarlo più tardi eseguendo lo script AppRun senza argomenti.

## Appendice B. Pagina di manuale

## Nome

ROX-Filer — un semplice file manager grafico

## Sinossi

`rox` [`OPZIONE`...] [FILE...]

## DESCRIZIONE

ROX-Filer è un file manager grafico, facile da usare e per X11, il sistema a finestre usato sui sistemi operativi *nix.

È anche il componente fondamentale dell'ambiente deskop di ROX: http://rox.sourceforge.net

Eseguendo rox viene aperta la directory o il file elencato. Se viene eseguito senza argomenti, si apre la directory attuale.

## OPZIONI DELLA RIGA DI COMANDO

`-b`, `--border=PAN`

  apre PAN.

`-B`, `--bottom=PAN`

  apre PAN come pannello in basso.

`-c`, `--client-id=ID`

  usato per gestire la sessione.

`-d`, `--dir=DIR`

  apre DIR come directory (non come applicazione, anche se lo è).

`-D`, `--close=DIR`

  chiude DIR e tutte le sue sottodirectory.

`-h`, `--help`

  mostra un aiuto sulle varie opzioni.

`-l`, `--left=PAN`

  apre PAN come pannello sinistro.

`-m`, `--mime-type=FILE`

  mostra il tipo di MIME di FILE ed esce.

`-n`, `--new`

  avvia un nuovo filer, anche se ce n'è già uno in esecuzione. Questo impedisce al filer di fare un fork (esecuzione in background). Questa opzione è principalmente usata per il debug.

`-p`, `--pinboard=PIN`

  attiva la bacheca PIN.

`-r`, `--right=PAN`

  apre PAN come pannello destro.

`-R`, `--RPC`

  legge e invoca SOAP RPC dallo standard input (vedere Appendice C, SOAP RPC).

`-s`, `--show=FILE`

  apre la directory mostrando FILE.

`-S`, `--rox-session`

  eseguito da un manager di sessione, apre il pannello e la bacheca predefinita (implica --new). Se un manager di sessione XSM è in esecuzione e questa opzione viene usata, allora ROX-Filer chiederà di essere automaticamente riavviato in caso di crash.

`-t`, `--top=PAN`

  apre PAN come pannello in alto.

`-u`, `--user`

  mostra il nome utente in ogni finestra.

`-U`, `--url=URI`

  esegue URI come un file o una directory. Se URI è un file: l'url si riferisce a un file sulla macchina locale e viene convertito in un nome di file locale: «rox -U file:///tmp» è equilvalente a «rox /tmp». Se URI è un altro schema, per eseguirlo viene consultata la configurazione condivisa dell'handler URI.

`-v`, `--version`

  mostra le informazioni sulla versione ed esce.

`-x`, `--examine=FILE`

  FILE è cambiato e deve essere riesaminato.

## NOTE

La documentazione principale di ROX-Filer è disponibile scegliendo Mostra i file di aiuto dal menù o facendo clic sull'icona raffigurante un salvagente nella barra degli strumenti.

## LICENZA

Copyright (C) 2005 Thomas Leonard.

È possibile redistribuire copie di ROX-Filer secondo i termini della licenza GNU GPL.

## BUG

Segnalate i bug alla mailing list degli sviluppatori: http://rox.sourceforge.net/contact.html.

## AUTORI

ROX-Filer è stato creato da Thomas Leonard, con l'aiuto di:

Michael Adams | Thierry Godefroy | Christiansen Merel
Christopher Arndt | Olli Helenius | Jimmy Olgeni
Jens Askengren | Alex Holden | Richard Olsson
Liav Asseraf | Jasper Huijsmans | Matthew O'Phinney
Wilbert Berendsen | Sigve Indregard | Daniele Peri
Francesco Bochicchio | Bernard Jungen | Andy Piper
Yuri Bongiorno | Marcin Juszkiewicz | Marcelo Ramos
Andrzej Borsuk | James Kermode | Michel Alexandre Salim
Richard Boulton | Jim Knoble | Adam Sampson
Simon Britnell | Krzysztof Krzyzaniak | Chris Sawer
Arnaud Calvo | Aaron Kurtz | Christian Storgaard
Babyfai Cheung | Vincent Ledda | Taras
Andrew Clover | Vincent Lefevre | Simon Truss
Fabien Coutant | Victor Liu See-le | Hirosi Utumi
Couderc Damien | Alexey Lubimov | Jan Wagemakers
Andreas Dehmel | Krzysztof Luks | Keith Warno
Micah Dowty | Marcus Lundblad | Götz Waschk
Dmitry Elfimov | Anders Lundmark | Stephen Watson
Mattias Engdegard | Jose Romildo Malaquias | Andre Wyrwa
Andrew Flegg | Denis Manente | Geoff Youngs
Olivier Fourdan | Brendan McCarthy | Diego Zamboni
Eric Gillespie | Andras Mohari |

e di molti altri. Vedere il file ``Changes`' per ulteriori informazioni.

## Appendice C. SOAP RPC

Quando si avvia il filer, si possono usare le opzioni a riga di comando per modificare il suo comportamento. In alternativa a questo, il filer permette di specificare un'operazione con un messaggio in formato [SOAP] RPC. Infatti, quando si usa la riga di comando, il filer la converte internamente in SOAP RPC.

Tutti i messaggi SOAP RPC sono passati sullo standard input, in questo modo:

    $ rox --RPC << EOF
    <?xml version="1.0"?>
    <env:Envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope">
     <env:Body xmlns="http://rox.sourceforge.net/SOAP/ROX-Filer">
      <Panel>
       <Name>Default</Name>
       <Side>Bottom</Side>
      </Panel>
     </env:Body>
    </env:Envelope>
    EOF

Sono valide le seguenti funzioni:

- Version() Restituisce la versione del filer.

- CloseDir(NomeFile) Chiude la directory NomeFile e tutte le sue sottodirectory.

- Examine(NomeFile) NomeFile può essere cambiato e quindi viene controllato.

- OpenDir(NomeFile, [Style, Details, Sort, Class, ID, Hidden, Filter]) Apre una finestra mostrando la directory NomeFile. Style può essere `Large`, `Small`, `Huge` o `Automatic`. Details può essere `None`, `ListView`, `Size`, `Type`, `Times` o `Permissions`. Sort può essere `Name`, `Type`, `Date`, `Size`, `Owner` o `Group`. Se manca una di queste tre opzioni, viene usato il parametro predefinito. Class può essere usata per impostare la proprietà WM_CLASS sulla nuova finestra. La si può usare per far sì che il proprio window manager tratti quella finestra in modo speciale. ID è una stringa usata per identificare la finestra aperta. Se esiste già una finestra con questo ID, questa viene cambiata nella directory data, altrimenti viene creata una nuova finestra con questo ID. Se usato da un programma, assicurarsi che l'ID sia unico, per esempio includendo nell'ID il nome del processo, il PID e il timestamp. Se Hidden è `true`, vengono mostrati i file nascosti (quelli che iniziano con un punto), se è `false` non vengono mostrati. Se è omesso, viene usata l'impostazione configurata. Filter può essere usato per filtrare per nome i file visualizzati. Per esempio, usando il filtro `*.c` vengono mostrati solo i file che terminano per «.c».

- Panel([Side, Name]) Apre il pannello di nome Name sul lato Side (`Top`|`Bottom`|`Left`|`Right`) dello schermo. Name può essere un nome in ``~/.config/rox.sourceforge.net/ROX-Filer`' (es. `MioPannello`) o avere il percorso completo. Se non c'è alcun nome, il pannello su quel lato viene disattivato.

- PanelAdd(Side, Path, [Label, After, Shortcut, Args]) Aggiunge Path al pannello sul lato Side dello schermo, con etichetta Label. Se After è `true` l'icona va in basso a destra del pannello, altrimenti in altro a sinistra. Se viene specificato Shortcut, allora questa è la scorciatoia da tastiera che lo attiva. Se viene specificato Args, questo è l'argomento che aggiunge quando viene eseguito come programma.

- PanelRemove(Side, Path, [Label]) Rimuove un elemento dal pannello sul lato Side dello schermo. Se non viene specificato Path o Label, allora corrisponde ogni percorso o etichetta. Almeno uno deve essere specificato. Se più di un elemento corrisponde, solo uno viene rimosso.

- Pinboard([Name]) Attiva la bacheca Name. Name può essere un nome in ``~/.config/rox.sourceforge.net/ROX-Filer`' (es. `MiaBacheca`) o avere un percorso completo. Se non c'è alcun nome, la bacheca viene disattivata.

- PinboardAdd(Path, X, Y, [Label, Shortcut, Args, Update]) Aggiunge Path alla bacheca con l'etichetta (opzionale) Label. Se X o Y sono negativi o non assegnati, l'icona è messa automaticamente. I parametri X e Y allora indicano dove l'icona dovrebbe andare (X=-1: a sinistra, X=-2: a destra, Y=-1: in alto, Y=-2: in basso). Se X e Y sono assegnati, la loro posizione è (X, Y). Se Shortcut è assegnato, è la scorciatoia da tastiera che attiva questo elemento. Se Args è assegnato, è l'argomento stringa da attaccare all'elemento quando eseguito (se è un programma). Se Update è `true` e se c'è già un'icona sulla bacheca per il percorso dato, allora verrà aggiornata con i nuovi valori invece che aggiungere una nuova icona.

- PinboardRemove(Path, [Label]) Rimuove Path dalla bacheca. Se viene specificato Label, allora questo deve corrispondere all'etichetta dell'elemento. Se corrisponde a più di un elemento, ne viene rimosso solo uno.

- SetBackdropApp(App) Rende App (una directory applicativa) il nuovo gestore dello sfondo della bacheca attualmente in uso. Il file ``AppInfo.xml`' dentro App deve contenere l'elemento «CanSetBackdrop», ad esempio:

      <?xml version="1.0"?>
      <AppInfo>
            <ROX:CanSetBackdrop xmlns:ROX="http://rox.sourceforge.net/SOAP/ROX-Filer"/>
      </AppInfo>

  L'applicazione viene quindi eseguita con l'opzione `--backdrop` come unico argomento dopo aver attivato questo metodo e ogni volta che la bacheca viene ricaricata. NON usare questo metodo se si usa l'opzione `--backdrop` altrimenti va in loop all'infinito. Vedere L'immagine di sfondo della bacheca per ulteriori informazioni.

- SetBackdrop(NomeFile, Style) Imposta un dato file come immagine di sfondo. Per riattivare l'immagine al successivo accesso al sistema o per cambiarla automaticamente di volta in volta, usare invece SetBackdropApp.

- Run(NomeFile) Esegue NomeFile come se si facesse clic nel filer.

- RunURI(URI) Esegue URI come se si facesse clic nel filer. URI viene interpretato come un URI, nella forma file://localhost/path.

- Show(Directory, Leafname) Apre Directory e fa lampeggiare il file di nome Leafname che si trova dentro.

- FileType(NomeFile) Restituisce il tipo di MIME di NomeFile (scrive sullo standard output la risposta SOAP).

- SetIcon(Path, Icon) Imposta l'icona da usare per un determinato percorso. È equivalente a usare la voce di menù Imposta icona....

- UnsetIcon(Path) Cancella l'icona da usare per un determinato percorso.

Le seguenti chiamate possono essere usate per avviare azioni sui file. Quiet può essere `true` se l'operazione inizia subito, senza aspettare la conferma dell'utente. Se è `false`, l'utente deve confermare. Se non è definita, viene usata l'impostazione predefinita.

- Copy(From, To, [Leafname, Quiet]) Copia ogni file dall'array From alla directory To. Se viene dato Leafname, allora From deve contenere solo una voce; Leafname assegna il nuovo nome.

- Move(From, To, [Leafname, Quiet]) Sposta ogni file dall'array From alla directory To. Se viene dato Leafname, allora From deve contenere solo una voce; Leafname assegna il nuovo nome.

- Link(From, To, [Leafname]) Collegamento simbolico per ogni file nell'array From alla directory To. Se viene dato Leafname, allora From deve contenere solo una voce; Leafname assegna il nuovo nome.

- Mount(MountPoints, [OpenDir, Quiet]) Monta ciascuna directory dell'elenco MountPoints. Se è `true`, OpenDir apre la directory dopo averla montata.

- Unmount(MountPoints, [Quiet]) Smonta ogni directory della lista MountPoints.

## Riferimenti

[ROX] The ROX desktop, http://rox.sourceforge.net

[RISC OS] RISC OS, http://www.riscos.com

[GTK+] GTK+ Toolkit, http://www.gtk.org

[Glade] Glade - a User Interface Designer for GTK+ and GNOME, http://glade.gnome.org/

[libxml] The XML C library for Gnome http://www.xmlsoft.org

[GNOME] The GNOME desktop, http://www.gnome.org

[DND] The Drag and Drop protocol, http://www.newplanetsoftware.com/xdnd/

[XDS] The X Direct Save protocol, http://www.newplanetsoftware.com/xds/

[BaseDir] The freedesktop.org base directory system, http://www.freedesktop.org/wiki/Standards_2fbasedir_2dspec

[AVFS] AVFS - A Virtual File System, http://sourceforge.net/projects/avf/

[SOAP] Simple Object Access Protocol (SOAP) 1.2 http://www.w3.org/TR/SOAP/

[Thumbs] Thumbnail Managing Standard (Version 0.5) http://triq.net/~jens/thumbnail-spec/

[Wallpaper] Wallpaper backdrop control application http://rox.sourceforge.net/phpwiki/index.php/Wallpaper

[SharedMIME] Shared MIME-info Database (Version 0.16) http://www.freedesktop.org/wiki/Standards_2fshared_2dmime_2dinfo_2dspec

[IconTheme] The freedesktop.org Icon Theme specification http://www.freedesktop.org/wiki/Standards_2ficon_2dtheme_2dspec