Quando si crea un nuovo file di dati, l'aspetto e il comportamento della sua icona nella Gestione di file variano a seconda del tipo di dati associati a quel file. Il desktop comprende un meccanismo di gestione dei tipi di dati che offre la possibilità di personalizzare l'aspetto e il comportamento di file e directory.
Un tipo di dati è un costrutto definito all'interno del database del desktop. L'esempio seguente riporta la definizione del tipo di dati XWD. La definizione è contenuta nel file di configurazione /usr/dt/appconfig/types/lingua/xclients.dt:
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ICON Dtxwd NAME_TEMPLATE %s.xwd MIME_TYPE application/octet-stream SUNV3_TYPE xwd-file DESCRIPTION Questo file contiene un'immagine grafica \ in formato XWD. In genere questi file vengono creati catturando \ un'immagine dallo schermo con l'azione Cattura Xwd. \ Il suo tipo di dati è denominato XWD. I nomi dei file XWD \ terminano in '.xwd' o '.wd'. }
DATA_CRITERIA XWD1 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.xwd } DATA_CRITERIA XWD2 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.wd }
Ogni definizione di un tipo di dati comprende due parti:
DATA_ATTRIBUTES: Gli attributi dei dati descrivono l'aspetto e il comportamento del tipo di dati.
DATA_CRITERIA: I criteri specificano le regole (basate sul nome o sul contenuto) per l'assegnazione del file a un determinato tipo di dati.
Il campo DATA_ATTRIBUTES_NAME collega i criteri agli attributi.
Per ogni attributo (DATA_ATTRIBUTE) possono essere definiti più criteri (DATA_CRITERIA). Ad esempio, il tipo di dati XWD possiede due criteri diversi per i nomi dei file (NAME_PATTERN) che specificano la possibilità di usare i suffissi .xwd o .wd.
Si consideri il tipo di dati XWD. Per creare un file di tipo XWD, l'utente assegna al file un nome che termini con uno dei due suffissi (o estensioni) accettati: .xwd o .wd. Il desktop utilizza questo nome come criterio per designare il tipo di file.
Il tipo di dati XWD assegna ad ogni file le seguenti caratteristiche:
Un'icona esclusiva che permette di riconoscere facilmente il tipo di file.
Un testo di guida che fornisce informazioni sul tipo di dati.
Un menu Selezione personalizzato nella Gestione di file contenente le azioni Apri e Stampa. L'azione Apri associata ai file XWD esegue l'azione Xwud.
Il menu Selezione della Gestione di file è attivo solo quando è stato selezionato un file o una directory. I comandi che compaiono nella parte inferiore del menu variano a seconda del tipo di dati. Nel caso dei file XWD, il menu Selezione presenterà le opzioni Apri e Stampa.
Il campo ACTIONS nella definizione del tipo di dati specifica i comandi che verranno aggiunti al menu Selezione per quel tipo di dati.
DATA_ATTRIBUTES XWD { ACTIONS Open,Print … }
Il contenuto del menu Selezione della Gestione di file dipende dal tipo di dati dell'oggetto selezionato. Tuttavia, l'azione Apri è comune a molti tipi di dati diversi.
In genere, l'azione Apri avvia l'applicazione a cui è associato il file di dati. Ad esempio, aprendo un file XWD si esegue l'azione Xwud, che a sua volta eseguirà il client X xwud per visualizzare l'immagine del file sullo schermo. In altre parole, per il tipo di dati XWD l'azione Apri coincide con l'azione Xwud. Allo stesso modo, aprendo un file di dati di tipo TEXTFILE verrà avviato l'Editor di testo, mentre aprendo un file BM (a mappa di bit) o PM (a mappa di pixel) verrà avviato l'Editor delle icone.
La possibilità di creare una serie di azioni Apri che eseguono operazioni diverse si basa su due caratteristiche delle definizioni delle azioni:
La mappatura delle azioni permette di creare un'azione che esegua un'altra azione anziché eseguire direttamente un comando. Ad esempio, è possibile creare un'azione Apri che sia mappata per (cioè che esegua) l'azione Xwud.
La limitazione dei tipi di dati associati alle azioni
Le definizioni delle azioni possono includere un campo ARG_TYPE che limiti l'esecuzione dell'azione a certi tipi di dati. Ad esempio, si può specificare che l'azione Apri mappata per l'azione Xwud venga applicata solo ai file di dati di tipo XWD.
Qui di seguito è riportata la definizione che mappa l'azione Apri dell'azione Xwud per il tipo di dati XWD. La definizione si trova nel file di configurazione /usr/dt/appconfig/types/C/xclients.dt.
ACTION Open { LABEL Apri ARG_TYPE XWD TYPE MAP MAP_ACTION Xwud }
Il campo TYPE specifica che si tratta di un'azione di mappatura; il campo MAP_ACTION specifica che questa azione dovrà eseguire l'azione Xwud. Il campo ARG_TYPE specifica che questa azione verrà applicata solo ai file associati al tipo di dati XWD.
Si confronti ora la definizione precedente dell'azione Apri con la definizione riportata qui di seguito, contenuta nel file del database /usr/dt/appconfig/types/C/dt.dt.
ACTION Open { LABEL Apri ARG_TYPE BM TYPE MAP MAP_ACTION Dticon }
Questa definizione si applica ai file associati al tipo di dati (ARG_TYPE) BM (file a mappa di bit). La definizione mappa l'azione Apri sull'azione Dticon, cioè sull'azione che avvia l'Editor delle icone.
L'effetto del doppio clic associato al tipo di dati è definito dalla prima voce del campo ACTIONS. Nel caso del tipo di dati XWD, il doppio clic esegue l'azione Apri, che a sua volta eseguirà l'azione Xwud.
Quando si rilascia un file di dati sull'icona di un'azione, il sistema esegue quell'azione usando il file di dati come argomento (vedere Come le azioni utilizzano i file di dati come argomenti).
Ad esempio, rilasciando un file di dati XWD sull'icona “Visualizzazione Xwd“ verrà eseguita l'azione Xwud utilizzando come argomento il file rilasciato. Il client X xwud verrà quindi eseguito con quel file di dati.
Per stampare un file di dati dal desktop si possono usare i seguenti metodi:
Usare il comando Stampa del menu Selezione della Gestione di file.
Rilasciare un file di dati su un'area appropriata del desktop (il controllo della stampante del Pannello principale o l'icona di una stampante nella Gestione della stampa).
Oltre a questi metodi generali, in molti casi è possibile stampare i file dall'interno delle applicazioni.
I metodi di stampa del desktop utilizzano azioni di nome Stampa. Come nel caso di Apri, il nome Stampa viene usato per molti tipi di dati diversi. Ciò significa che anche le azioni Stampa utilizzano la mappatura delle azioni e il campo ARG_TYPE per personalizzare la stampa per ogni tipo di dati.
L'esempio seguente riporta l'azione Stampa associata al tipo di dati XWD. La definizione si trova in /usr/dt/appconfig/types/lingua/xclients.dt:
ACTION Print { LABEL Stampa ARG_TYPE XWD TYPE MAP MAP_ACTION NoPrint }
Questa azione Stampa, specifica per i file XWD, è mappata su un'azione NoPrint. NoPrint è un'azione speciale definita in /usr/dt/appconfig/types/lingua/dt.dt, che visualizza un messaggio di avvertimento indicante che il tipo di dati dell'oggetto non può essere stampato.
Si confronti ora l'azione Stampa associata ai file XWD con la seguente azione Stampa per i file PCL:
ACTION Print { LABEL Stampa ARG_TYPE PCL TYPE MAP MAP_ACTION PrintRaw }
L'azione PrintRaw, definita nel file di configurazione /usr/dt/appconfig/types/lingua/print.dt, contiene la riga di comando per la stampa dei file PCL.
ACTION PrintRaw { TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dtlp -w %(File)Arg_1% }