Personalizzazione avanzata del Pannello principale<indexterm> <primary>Pannello principale</primary><secondary>personalizzazione</secondary> </indexterm> È possibile personalizzare il Pannello principale usando i menu a scomparsa e i controlli “Installazione icona” dei pannelli secondari. Questo capitolo descrive la personalizzazione del Pannello principale mediante la creazione e la modifica dei file di configurazione. Vedere anche Per informazioni di riferimento sui controlli e la configurazione del Pannello principale, vedere la pagina di spiegazioni dtfpfile(4X). Per informazioni di riferimento sulla Gestione dello spazio di lavoro, vedere le pagine di spiegazioni dtwm(1) e dtwmrc(4). File di configurazione del Pannello principale<indexterm> <primary>file di configurazione</primary><secondary>Pannello principale</secondary> </indexterm><indexterm><primary>Pannello principale</primary><secondary>file di configurazione</secondary></indexterm> Il Pannello principale è definito in un database di file di configurazione. Modificando i file di configurazione è possibile personalizzare il Pannello principale. Alcune modifiche possono essere effettuate solo intervenendo sui file di configurazione; tra queste: L'aggiunta di un nuovo controllo al Pannello principale. L'aggiunta di controlli speciali, come le finestre dei client. Il cambiamento di alcuni comportamenti predefiniti — ad esempio, la risposta al clic singolo o doppio dei controlli del Pannello principale. Per fornire la massima flessibilità nella configurazione del pannello, questi file possono essere personali, di sistema o residenti su altri sistemi. Il Pannello principale viene creato e gestito attraverso la Gestione dello spazio di lavoro. File di configurazione predefinito del Pannello principale Le impostazioni del Pannello principale predefinito si trovano nel file di configurazione /usr/dt/appconfig/types/lingua/dtwm.fp.dtwm.fp, file Questo file non dovrebbe essere modificato. Percorso di ricerca per i file di configurazione del Pannello principale<indexterm> <primary>percorsi di ricerca</primary><secondary>Pannello principale</secondary> </indexterm><indexterm><primary>Pannello principale</primary><secondary>percorso di ricerca</secondary></indexterm> La definizione del Pannello principale può essere distribuita in qualsiasi numero di file residenti localmente o su sistemi remoti. Pannello principaleconvenzioni per i nomi dei fileI file usati per definire il Pannello principale devono rispondere ai seguenti requisiti: Il nome del file deve terminare con il suffisso .fp; ad esempio, posta.fp. Il file deve trovarsi nel percorso di ricerca del database delle azioni. Il percorso di ricerca predefinito per il database delle azioni include, nell'ordine, le seguenti directory: DirectoryIniziale/.dt/types Impostazioni personali /etc/dt/appconfig/types/lingua Impostazioni di sistema /usr/dt/appconfig/types/lingua Pannello e controlli predefiniti Un'altra directory, DirectoryIniziale/.dt/types/fp_dynamic,fp_dynamic, directoryPannello principalepersonalizzazionedinamica viene usata per le impostazioni personali effettuate con l'interfaccia utente. Non usare questa directory per modificare le impostazioni manualmente. Il percorso di ricerca del database delle azioni può essere integrato con altre directory usate per configurare il sistema in un ambiente di rete. In particolare, è possibile aggiungere directory remote quando il sistema viene configurato per accedere ad un server di applicazioni. Per maggiori informazioni, vedere . Regole di precedenza per la configurazione del Pannello principale<indexterm><primary>Pannello principale</primary><secondary>regole di precedenza nella composizione</secondary></indexterm><indexterm> <primary>precedenza</primary><secondary>nella composizione del Pannello principale</secondary></indexterm> L'aspetto e il comportamento del Pannello principale sono il risultato di tutti i file di configurazione inclusi nel percorso di ricerca del database delle azioni. Quando esiste un conflitto tra due o più componenti della definizione, il valore da applicare viene scelto in base a determinate regole di precedenza. Due componenti entrano in conflitto nei seguenti casi: Quando il nome del controllo, il valore di CONTAINER_NAME e il valore di CONTAINER_TYPE sono uguali. Oppure, quando sono in concorrenza per la stessa posizione (avendo nomi diversi ma gli stessi valori per i campi CONTAINER_NAME, CONTAINER_TYPE e POSITION_HINTS ). Il Pannello principale utilizza le seguenti regole di precedenza: Se i componenti sono due controlli con lo stesso nome, e si trovano in contenitori con lo stesso nome e dello stesso tipo, verrà usato il componente letto per primo. Ad esempio, se un controllo di sistema e un controllo predefinito presentano valori uguali per questi campi ma valori diversi per il resto della definizione: CONTROL TextEditor { CONTAINER_TYPE BOX CONTAINER_NAME Top ... } avrà la precedenza il controllo di sistema. Se due componenti sono in competizione per la stessa posizione, essi verranno collocati nell'ordine in cui verranno letti. Ad esempio, se si crea un nuovo controllo personale per il Pannello principale (CONTAINER_TYPE BOX e CONTAINER_NAME Top) e lo si assegna alla posizione POSITION_HINTS 5, questo nuovo controllo farà scalare verso destra il controllo predefinito e tutti gli altri controlli con numeri di posizione più alti. Quando si modifica un controllo creandone una nuova versione a livello di sistema o personale, la nuova definizione deve contenere lo stesso nome per il controllo e gli stessi valori per i campi CONTAINER_NAME e CONTAINER_TYPE. Diversamente, il nuovo controllo apparirà in aggiunta a quello esistente. <indexterm><primary>Pannello principale</primary><secondary>personalizzazione</secondary><tertiary>dinamica</tertiary></indexterm>File del Pannello principale creati dinamicamente Quando un utente personalizza il Pannello principale usando il controllo “Installazione icona” e i menu a scomparsa, le modifiche vengono scritte nella directory DirectoryIniziale/.dt/types/fp_dynamic. Viene creato un altro file, DirectoryIniziale/.dt/sessions/dtwmfp.session,dtwmfp.session, file che verrà usato per salvare e ripristinare lo stato del Pannello principale personalizzato ad ogni avvio di una sessione. Amministrazione delle personalizzazioni dell'interfaccia utente Ogni utente ha la possibilità di personalizzare il Pannello principale usando i menu a scomparsa e i controlli “Installazione icona”. Questa sezione descrive le procedure per: Impedire alcune modifiche personali. Ad esempio, si può rendere impossibile la cancellazione di un controllo da parte degli utenti. Annullare le modifiche personali. Ad esempio, sarà possibile ripristinare un controllo cancellato accidentalmente da un utente. Come impedire le modifiche personali<indexterm><primary>Pannello principale</primary><secondary>controllo delle personalizzazioni</secondary></indexterm><indexterm> <primary>Pannello principale</primary><secondary>controlli, Vedere controlli<</secondary></indexterm><indexterm><primary>$nopage></primary></indexterm> Se il controllo è predefinito, copiarne la definizione da /usr/dt/appconfig/types/lingua/dtwm.fp in /etc/dt/appconfig/types/lingua/nome.fp. Aggiungere la riga seguente alla definizione del controllo: LOCKED True Come ripristinare un Pannello principale modificato, un controllo cancellato o un pannello secondario cancellato<indexterm><primary>pannelli secondari</primary><secondary>ripristino dei pannelli cancellati</secondary></indexterm><indexterm> <primary>controlli</primary><secondary>ripristino dei controlli cancellati</secondary></indexterm> cancellato L'azione Ripristinare pannello principale del gruppo Strumenti_desktop elimina tutte leRipristinare Pannello principale, azione modifiche apportate al Pannello principale. Gli utenti potranno usare questa azione per eliminare le modifiche personali eseguite coni menu a scomparsa del Pannello principale.controllibloccoLOCKED, campo Per ripristinare un singolo controllo, usare la procedure seguente: In DirectoryIniziale/.dt/types/fp_dynamic, cancellare il file che è stato creato al momento della cancellazione del controllo. Il controllo avrà lo stesso nome di quello originale precedentemente cancellato. Ad esempio, se è stato cancellato il controllo dell'Editor delle icone, la directory fp_dynamic conterrà un file con i seguenti valori: CONTROL IconEditor ( ... DELETE True } Quando si cancella un pannello secondario, viene creato un file dinamico separato per il pannello secondario e per ognuno dei controlli contenuti in quel pannello. For related information, see . Organizzazione della definizione del Pannello principale<indexterm> <primary>Pannello principale</primary><secondary>organizzazione delle definizioni</secondary></indexterm> La configurazione del Pannello principale risulta dalle definizioni dei suoi componenti. Ognuno di questi componenti ha una sintassi che ne definisce l'aspetto, il comportamento e la posizione nel Pannello principale. Componenti del Pannello principale<indexterm><primary>Pannello principale</primary><secondary>componenti</secondary></indexterm>
Componenti del Pannello principale
Il Pannello principale viene creato dall'esterno verso l'interno: Il pannello primario (PANEL) PANELdefinizione pannello primariodefinizione è il contenitore di primo livello per l'intero Pannello principale. Il pannello primario funge da contenitore per uno o più riquadri (BOX). Ogni riquadro BOXdefinizioneriquadro definizioneè un contenitore per uno o più controlli (CONTROL). Esistono due tipi di contenitori speciali: Il pannello secondario (SUBPANEL, definizionepannello secondario definizioneSUBPANEL) è un contenitore associato a un controllo specifico (il controllo funge da contenitore per il pannello secondario). I pannelli secondari “scorrono in alto” a partire dal controllo a cui sono associati. L'area dei commutatori (commutatori degli spazi di lavorodefinizione area dei commutatoridefinizione SWITCH) contiene i pulsanti per la scelta dello spazio di lavoro ed alcuni altri controlli.
Sintassi generale per la definizione del Pannello principale<indexterm><primary>Pannello principale</primary><secondary>sintassi della definizione</secondary></indexterm> Ogni componente del Pannello principale viene definito separatamente usando la sintassi: COMPONENTE nome { PAROLA_CHIAVE valore PAROLA_CHIAVE valore … } Alcune parole chiave sono richieste obbligatoriamente, altre sono opzionali. Per maggiori informazioni, vedere la pagina di spiegazioni dtfpfile(4X). <indexterm><primary>PANEL</primary><secondary>sintassi della definizione</secondary></indexterm><indexterm><primary>pannello primario</primary><secondary>sintassi della definizione</secondary></indexterm>Definizione del pannello primario (PANEL) Il pannello primario è il componente di primo livello. La sua definizione include: Il nome del pannello Una serie di campi che descrivono l'aspetto generale e il comportamento dell'intero pannello PANEL nome_pannello_primario { PAROLA_CHIAVE valore PAROLA_CHIAVE valore … } Il valore nome_pannello_primario indica il nome unico usato per il Pannello principale. Il nome predefinito è “FrontPanel”. <indexterm><primary>BOX</primary><secondary>sintassi della definizione</secondary></indexterm><indexterm><primary>riquadro</primary><secondary>sintassi della definizione</secondary></indexterm>Definizioni dei riquadri (BOX) La definizione di un riquadro comprende: Il nome del riquadro Il pannello primario in cui si trova il riquadro ( CONTAINER_NAME, campoCONTAINER_NAME) La posizione del riquadro nel pannello (POSITION_HINTS ) I campi che descrivono l'aspetto e il comportamento e che si applicano all'intero riquadro BOX nome_riquadro { CONTAINER_NAME nome_pannello_primario POSITION_HINTS posizione PAROLA_CHIAVE valore PAROLA_CHIAVE valore … } <indexterm><primary>CONTROL, sintassi della definizione</primary></indexterm><indexterm> <primary>controllo, sintassi della definizione</primary></indexterm>Definizioni dei controlli (CONTROL) La definizione di un controllo specifica: Il nome del controllo Se il controllo si trova all'interno di un riquadro, di un pannello secondario o dell'area dei commutatori (CONTAINER_TYPE, campoCONTAINER_TYPE) Il riquadro, il pannello secondario o l'area dei commutatori in cui si trova il controllo (CONTAINER_NAME, campoCONTAINER_NAME) La posizione del controllo nel riquadro (POSITION_HINTS ). L'aspetto e il comportamento del controllo CONTROL nome_controllo { CONTAINER_TYPE BOX o SUBPANEL o SWITCH CONTAINER_NAME nome_riquadro o nome_pannello o nome_commutatore TYPE tipo_di_controllo POSITION_HINTS posizione PAROLA_CHIAVE valore PAROLA_CHIAVE valore … } pannello secondariodefinizione pannello secondariosintassi della definizione Definizioni dei pannelli secondari (SUBPANEL) La definizione di un pannello secondario specifica: Il nome del pannello secondario Il nome del controllo a cui il pannello secondario è associatopannello secondariocontenitore (CONTAINER_NAME, campoCONTAINER_NAME) L'aspetto e il comportamento specifici del pannello secondario SUBPANEL nome_pannello_secondario { CONTAINER_NAME nome_controllo PAROLA_CHIAVE valore PAROLA_CHIAVE valore … } <indexterm><primary>SWITCH, definizione</primary></indexterm><indexterm> <primary>area dei commutatori</primary><secondary>definizione</secondary> </indexterm><indexterm><primary>commutatori degli spazi di lavoro</primary> <secondary>sintassi della definizione</secondary></indexterm>Definizione dei commutatori (SWITCH) La definizione di un commutatore specifica: Il nome del commutatore Il riquadro in cui si trova il commutatore ( CONTAINER_NAME, campoCONTAINER_NAME) La posizione del commutatore all'interno del riquadro ( POSITION_HINTS) L'aspetto e il comportamento del commutatore SWITCH nome_commutatore { CONTAINER_NAME nome_riquadro POSITION_HINTS posizione PAROLA_CHIAVE valore PAROLA_CHIAVE valore … }
Modifica del Pannello primario<indexterm><primary>Pannello principale</primary><secondary>modifica</secondary></indexterm> Il Pannello primario è la parte del Pannello principale che include tutti i controlli e gli elementi descritti nelle sezioni precedenti, esclusi i pannelli secondari.
Contenitori del Pannello principale
Il Pannello principale può essere modificato come segue: Aggiungendo o eliminando un controllo Scambiando le posizioni dei controlli Come aggiungere un controllo al Pannello principale<indexterm> <primary>controlli</primary><secondary>aggiunta al Pannello principale</secondary> </indexterm> Creare un file di configurazione per il Pannello principale: A livello di sistema: /etc/dt/appconfig/types/lingua/*.fp A livello personale: DirectoryIniziale/.dt/types/*.fp Definire il controllo all'interno del file. Usare i campi CONTAINER_NAME e CONTAINER_TYPE per specificare il contenitore da usare per il controllo: CONTAINER_NAME Top CONTAINER_TYPE BOX Usare il campo POSITION_HINTS per specificare la posizione del controllo, da sinistra verso destra. Poiché le impostazioni personali hanno la precedenza rispetto a quelle predefinite, il nuovo controllo “farà scalare” verso destra il controllo che occupava in precedenza la posizione specificata. Salvare il file di configurazione. Creare un'icona per il controllo del Pannello principale. Vedere . Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. La definizione dell'esempio seguente, inclusa nel file /etc/dt/appconfig/types/lingua/audio.fp, inserisce il controllo di un'applicazione audio tra il controllo dell'Orologio e quello dell'Agenda. CONTROL ApplicazioneAudio { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX ICON AppAudio POSITION_HINTS 2 PUSH_ACTION AvviaApplicazioneAudio PUSH_RECALL true } Come eliminare un controllo<indexterm><primary>controlli</primary><secondary>eliminazione dal Pannello principale</secondary> </indexterm> Creare un file di configurazione per il Pannello principale: A livello di sistema: /etc/dt/appconfig/types/lingua/nome.fp A livello personale: DirectoryIniziale/.dt/types/nome.fp Copiare la definizione del controllo da eliminare nel nuovo file. Se il controllo è predefinito, la sua definizione si troverà in /usr/dt/appconfig/types/lingua/dtwm.fp. Non è necessario copiare l'intera definizione. Tuttavia, la porzione da copiare deve includere i campi CONTAINER_NAME e CONTAINER_TYPE. Aggiungere il campo DELETE alla definizione: DELETE True Salvare il file di configurazione Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. La definizione dell'esempio seguente, inclusa nel file /etc/dt/appconfig/types/lingua/TrashCan.fp, elimina il controllo del Cestino dal Pannello principale. CONTROL Trash { CONTAINER_NAME Top CONTAINER_TYPE BOX DELETE True } Come modificare un controllo<indexterm><primary>controlli</primary> <secondary>modifica</secondary></indexterm> Per modificare la definizione di un controllo — ad esempio per cambiare l'immagine dell'icona — usare la procedura seguente: Copiare l'intera definizione del controllo da /usr/dt/appconfig/types/lingua/dtwm.fp in: A livello di sistema: /etc/dt/appconfig/types/lingua/nome.fp A livello personale: DirectoryIniziale/.dt/types/nome.fp. Editare il campo che si desidera modificare. È anche possibile aggiungere nuovi campi. Salvare il file. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. Come scambiare la posizione dei controlli<indexterm><primary>controlli</primary><secondary>interscambio</secondary></indexterm> Copiare le definizioni dei controlli che si desidera spostare da /usr/dt/appconfig/types/lingua/dtwm.fp in: A livello di sistema: /etc/dt/appconfig/types/lingua/nome.fp A livello personale: DirectoryIniziale/.dt/types/nome.fp. È necessario copiare l'intera definizione di tutti i controlli da spostare. Scambiare i valori dei campi POSITION_HINTS, campoPOSITION_HINTS tra le definizioni dei controlli. Salvare il file. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. Le definizioni seguenti, incluse nel file /etc/dt/appconfig/types/C/MailHelp.fp, invertono le posizioni dei controlli della Gestione posta e della Gestione dell'aiuto e bloccano questi controlli per impedire modifiche personali da parte degli utenti. CONTROL Mail { POSITION_HINTS 12 LOCKED True …seguito della definizione del controllo } CONTROL Help { POSITION_HINTS 5 LOCKED True …seguito della definizione del controllo } Come sostituire un controllo del Pannello principale<indexterm><primary>controlli</primary><secondary>sostituzione</secondary></indexterm> Creare una nuova definizione che contenga gli stessi valori per: nome_controllo CONTAINER_NAME, campo CONTAINER_NAME L'esempio seguente mostra le definizioni di due controlli in due diversi file di configurazione. Poiché entrambe presentano lo stesso nome per il controllo e per il contenitore, esse vengono associate allo stesso controllo. Definizione in /etc/dt/appconfig/types/C/ControlliSys.fp: Control ApplicazioneImportante { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 2 … Definizione in DirectoryIniziale/.dt/types/MioControllo.fp: Control ApplicazioneImportante { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 6 … Poiché la definizione personale ha la precedenza, il controllo verrà collocato in posizione 6. Come specificare l'icona da usare per un controllo<indexterm> <primary>controlli</primary><secondary>aspetto</secondary></indexterm><indexterm> <primary>controlli</primary><secondary>icone</secondary></indexterm><indexterm> <primary>icone</primary><secondary>Pannello principale</secondary></indexterm> L'icona usata da un controllo viene definita nel campo ICON, camponel Pannello principale ICON della sua definizione. Il valore del campo ICON può essere: Il nome base di un file. Per nome base si intende il nome del file grafico contenente l'icona meno i suffissi relativi alla dimensione (m e t) e al tipo di immagine (bm e pm). Ad esempio, nel caso di due file i cui nomi completi sono Gioco.l.pm e Gioco.m.pm, il nome base sarà Gioco. Per poter utilizzare il nome base, è necessario che i file delle icone si trovino in una directory inclusa nel percorso di ricerca delle icone: Per le icone personali: DirectoryIniziale/.dt/icons Per le icone di sistema: /etc/dt/appconfig/icons/lingua Il nome completo del file dell'icona preceduto dal percorso assoluto. Usare il percorso assoluto solo se il file non si trova nel percorso di ricerca delle icone. La dimensione richiesta per l'icona dipende dalla posizione del controllo: PosizioneDimensione Pannello principale 48 x 48 pixel (nome.l.pm o nome.l.bm) Pannello secondario 32 x 32 pixel (nome.m.pm o nome.m.bm) Collocare il file dell'icona in una delle seguenti directory: Icone personali: DirectoryIniziale/.dt/icons Icone di sistema: /etc/dt/appconfig/icons/lingua
Creazione e modifica dei pannelli secondari<indexterm> <primary>pannelli secondari</primary><secondary>creazione</secondary></indexterm><indexterm> <primary>pannelli secondari</primary><secondary>modifica</secondary></indexterm> Per creare e modificare i pannelli secondari si possono usare i menu a scomparsa del Pannello principale. Questa sezione descrive come effettuare le modifiche a livello di sistema intervenendo sui file di configurazione del Pannello principale. Ogni pannello secondario è associato a un controllo del Pannello principale.
Il contenitore di un pannello secondario è il controllo a cui è associato
pannelli secondariassociazione con il Pannello principaleL'associazione viene specificata nella definizione del pannello secondario. Il campo CONTAINER_NAME specifica il controllo a cui è associato il pannello secondario: CONTROL nome_controllo { … } SUBPANEL nome_pannello_secondario { CONTAINER_NAME nome_controllo … } Come creare un nuovo pannello secondario di sistema<indexterm><primary>pannelli secondari</primary><secondary>personalizzazione a livello di sistema</secondary></indexterm><indexterm><primary>pannelli secondari</primary><secondary>creazione</secondary></indexterm> Individuare il nome del controllo del Pannello principale a cui si desidera associare il nuovo pannello secondario. Se il controllo è predefinito, la sua definizione si troverà in /usr/dt/appconfig/types/lingua/dtwm.fp. Creare un nuovo file /etc/dt/appconfig/types/lingua/*.fp. Definire il pannello secondario: SUBPANEL nome_pannello_secondario { CONTAINER_NAME nome_controllo TITLE valore PAROLA_CHIAVE valore … } Salvare il nuovo file di configurazione. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. Personalizzazione dei pannelli secondari predefiniti<indexterm><primary>pannelli secondari</primary><secondary>personalizzazione di pannelli predefiniti</secondary></indexterm> È possibile modificare sia le caratteristiche generali (come il titolo) che il contenuto dei pannelli secondari predefiniti. Come modificare le caratteristiche generali di un pannello secondario predefinito Creare un nuovo file di configurazione per il Pannello principale: A livello di sistema: /etc/dt/appconfig/types/lingua/nome.fp A livello personale: DirectoryIniziale/.dt/types/nome.fp. Copiare l'intera definizione del pannello secondario predefinito da /usr/dt/appconfig/types/lingua/dtwm.fp nel nuovo file: SUBPANEL nome_pannello_secondario { … } Modificare la definizione del pannello secondario. Salvare il nuovo file di configurazione. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. La definizione dell'esempio seguente, inclusa nel file /users/anna/.dt/types/AppPers.fp, cambia il nome del pannello secondario Applicazioni personali: SUBPANEL PersAppsSubpanel { CONTAINER_NAME TextEditor TITLE Applicazioni di anna } Come aggiungere un controllo di sistema a un pannello secondario predefinito Creare un file di configurazione del Pannello principale di nome /etc/dt/appconfig/types/lingua/nome.fp. Definire nel file il controllo di sistema da aggiungere. Usare i campi CONTAINER_NAME e CONTAINER_TYPE per specificare il contenitore per il controllo: CONTROL nome_controllo { CONTAINER_NAME nome_pannello_secondario CONTAINER_TYPE SUBPANEL … } Vedere . Salvare il file di configurazione. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. L'esempio seguente riporta una definizione, inclusa in un file nuovo di nome /etc/dt/appconfig/types/lingua/OrologioDigitale.fp, che aggiunge un orologio digitale (DigitalClock nel gruppo Strumenti_desktop) al pannello secondario Applicazioni personali di tutti gli utenti. CONTROL ControlloOrologioDigitale { TYPE icon CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL ICON Dtdgclk PUSH_ACTION DigitalClock PUSH_RECALL True } Come eliminare un controllo da un pannello secondario predefinito Usare la stessa procedura descritta per l'eliminazione di un controllo dal Pannello primario. Vedere . Come eliminare il controllo<indexterm><primary>Installazione icona, controllo, cancellazione</primary></indexterm> Installazione icona Aggiungere il campo seguente alla definizione del pannello secondario: CONTROL_INSTALL False Come cambiare il comportamento di chiusura automatica dei pannelli secondari<indexterm><primary>pannelli secondari</primary><secondary>chiusura automatica</secondary></indexterm> Nell'impostazione predefinita, i pannelli secondari si chiudono quando si sceglie un controllo, a meno che il pannello non sia stato spostato dalla sua posizione originaria. Il Pannello principale può essere configurato in modo da tenere i pannelli secondari aperti fino a un comando di chiusura esplicito. Creare un nuovo file di configurazione per il Pannello principale in: A livello di sistema: /etc/dt/appconfig/types/lingua/*.fp A livello personale: DirectoryIniziale/.dt/types/*.fp Copiare la definizione predefinita per il pannello da /usr/dt/appconfig/types/lingua/dtwm.fp nel nuovo file: PANEL FrontPanel { … } Aggiungere alla definizione il campo seguente: SUBPANEL_UNPOST False Salvare il nuovo file di configurazione. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro.
Definizione dei controlli del Pannello principale<indexterm> <primary>controlli</primary><secondary>definizione</secondary></indexterm> Ogni utente può creare una serie di controlli personali rilasciando le relative icone sui controlli “Installazione icona”. Questa procedura permette di personalizzare facilmente il Pannello principale, ma offre solo un sottoinsieme delle funzionalità disponibili per i controlli. Ad esempio, un controllo creato con “Installazione icona” non può: Avere un'animazione Visualizzare una finestra client Cambiare aspetto quando si verifica un determinato evento (ad esempio, al ricevimento di un messaggio di posta elettronica) Questa sezione descrive come creare manualmente i controlli del Pannello principale. Per informazioni sulla sintassi dei controlli del Pannello principale, vedere la pagina di spiegazioni dtfpfile(4X). Definizioni dei controlli del Pannello principale La definizione di un controllo del Pannello principale ha la seguente struttura: CONTROL nome_controllo { TYPE tipo_di_controllo CONTAINER_NAME valore CONTAINER_TYPE valore altri campi che definiscono l'aspetto e il comportamento del controllo } <indexterm><primary>controlli</primary><secondary>tipi</secondary> </indexterm>Tipi di controllo Il campo TYPE, campoTYPE della definizione specifica il comportamento base del controllo. Tipo di controlloComportamento del controllo iconecontrolli del Pannello principaleicon (Valore predefinito). Facendo clic sul controllo o rilasciandovi un file viene eseguita l'azione specificata. controllicampo vuotoblank Marcatore usato per regolare la spaziatura dei controlli. controllispia di occupatobusy Spia di occupato. Il controllo lampeggia quando si richiama un'azione. controlliclientclient Finestra client nel Pannello principale. controlliorologioclock Orologio. controlliindicatore della datadate Visualizza la data corrente. controllifilefile Rappresenta un file. Scegliendo il controllo viene eseguita l'azione predefinita per il file. Come creare un nuovo controllo<indexterm><primary>controlli</primary><secondary>creazione</secondary></indexterm> Questa sezione descrive la procedura generale da usare per definire un controllo e spiega come creare diversi tipi di controlli. Se il controllo deve essere associato a un'azione di tipo PUSH_ACTION e/o DROP_ACTION, creare le definizioni per queste azioni. Queste azioni saranno eseguite facendo clic sul controllo o rilasciandovi un file. Creare le icone da usare per il controllo. Per informazioni sulle dimensioni, sui nomi e sulle posizioni delle icone, vedere . Creare un nuovo file di configurazione per il Pannello principale in: A livello di sistema: /etc/dt/appconfig/types/lingua/*.fp A livello personale: DirectoryIniziale/.dt/types/*.fp Aggiungere al file la definizione del controllo. Salvare il file. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. Creazione di un controllo che esegua un'azione al clic Per definire il comportamento del controllo, usare i campi seguenti: TYPE: Impostare su icon PUSH_ACTION, campo PUSH_ACTION: Specificare il nome dell'azione da eseguire Il controllo definito nell'esempio seguente, che verrà aggiunto al pannello secondario Applicazioni personali, esegue un gioco acquistato dall'utente: CONTROL Rimbalzo { TYPE icon CONTAINER_NAME PersAppsSubpanel CONTAINER_TYPE SUBPANEL ICON rimbalzo PUSH_ACTION AvviaRimbalzo HELP_STRING “Fare clic per giocare a Rimbalzo.“ } Il controllo seguente avvia un'azione di nome CutDisp, e verrà collocato nell'angolo superiore sinistro dell'area dei commutatori. CONTROL AvviaCutDisp { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS first ICON cutdisp HELP_STRING “Fare clic per eseguire cutdisp.“ PUSH_ACTION CutDisp } <indexterm><primary>controlli</primary><secondary>uso per l'</secondary> </indexterm><indexterm><primary>apertura dei file</primary></indexterm>Creazione di un controllo che apra un file Per definire il comportamento del controllo, usare i campi seguenti: TYPE: Impostare su file FILE_NAME, campoFILE_NAME: Specificare il percorso del file da aprire PUSH_ACTION: Impostare su Open È necessario che sia definita un'azione Open (Aprire) per il tipo di dati associato al file. Il controllo definito nell'esempio seguente verrà collocato all'estrema destra del Pannello principale. Esso avvia l'Editor di testo con il file di dati /utenti/elena/rubrica.txt. L'azione Aprire per i file *.txt è già inclusa nel database delle azioni predefinito. CONTROL EditPhoneList { TYPE file FILE_NAME /utenti/elena/rubrica.txt CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS last ICON PhoneBook HELP_STRING "Questo controllo visualizza la rubrica di Elena." PUSH_ACTION Open } Creazione di un controllo che funga da area di rilascio<indexterm><primary>area di rilascio</primary><secondary>controlli del Pannello principale</secondary></indexterm><indexterm><primary>Pannello principale</primary><secondary>uso dei controlli come aree di rilascio</secondary> </indexterm><indexterm><primary>controlli</primary><secondary>uso come area di rilascio</secondary></indexterm> Usare il campo DROP_ACTION, campo DROP_ACTION per specificare l'azione da eseguire al rilascio di un file sul controllo. L'azione specificata deve poter accettare un file come argomento. Spesso le definizioni dei controlli includono sia un campo PUSH_ACTION che un campo DROP_ACTION. È possibile usare la stessa azione per entrambi i campi. Ad esempio il controllo seguente, situato nel pannello secondario Applicazioni personali, esegue il client X xwud, che può accettare un file come argomento. CONTROL Avvia_xwud { CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL POSITION_HINTS 2 ICON XwudImage PUSH_ACTION RunXwud DROP_ACTION RunXwud } Creazione di un controllo che esegua il monitoraggio di un file<indexterm><primary>controlli</primary><secondary>uso per funzioni di monitoraggio</secondary></indexterm> Per definire il comportamento del controllo, usare i campi seguenti: TYPE: Specificare uno dei seguenti valori: controlliiconeicon Usare questo tipo per specificare un'azione di tipo PUSH_ACTION e/o DROP_ACTION per il controllo . controllifilefile Usare questo tipo se si desidera che la scelta del controllo equivalga a un doppio clic sul file nella Gestione di file. ICON e ALTERNATE_ICON, campoALTERNATE_ICON:Specificare le immagini da usare per indicare il cambiamento o il non-cambiamento di stato del file sottoposto al monitoraggio. MONITOR_TYPE, campo MONITOR_TYPE: Descrivere le condizioni per il cambiamento dell'immagine. Usare uno dei seguenti valori: controlliuso per funzioni di monitoraggiocontrolliposta elettronicamail Il controllo cambia aspetto quando vengono aggiunte nuove informazioni al file. file Il controllo cambia aspetto quando il file specificato non è più vuoto. FILE_NAMEFILE_NAME, campo : Specificare il file da sottoporre a monitoraggio. Ad esempio, il controllo seguente verifica la presenza o meno di un file di nome meeting che deve essere ricevuto attraverso un ftp anonimo. Il controllo verrà collocato alla sommità del pannello secondario Applicazioni personali. CONTROL ControlloFile { TYPE file CONTAINER_NAME PersonalApps CONTAINER_TYPE SUBPANEL POSITION_HINTS first FILE_NAME /utenti/ftp/meeting MONITOR_TYPE file ICON meeting_no ALTERNATE_ICON meeting_si } Creazione di un controllo di esecuzione unica<indexterm> <primary>controlli</primary><secondary>a due stati</secondary></indexterm><indexterm> <primary>controlli</primary><secondary>a esecuzione unica</secondary></indexterm> Un controllo di esecuzione unica verifica se il processo avviato con l'azione specificata in PUSH_ACTION è già in esecuzione. Se il processo non è in esecuzione, l'azione viene eseguita. In caso contrario, la finestra associata all'azione viene portata in primo piano nello spazio di lavoro corrente. Per definire il comportamento del controllo, usare i campi seguenti: PUSH_RECALL: Impostare su True. CLIENT_NAME, campo CLIENT_NAME: Specificare il nome del client associato al controllo. Il valore di CLIENT_NAME deve corrispondere alla prima stringa (res_name) della caratteristica WM_CLASS della finestra principale dell'applicazione. Per maggiori informazioni, vedere la pagina di spiegazioni xprop(1). PUSH_ACTION: Descrivere l'azione da eseguire al clic sul controllo. Ad esempio, il controllo seguente avvia un'unica copia dell'applicazione associata all'azione EditorPersonale. CONTROL EditorPersonale { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 15 PUSH_RECALL True CLIENT_NAME EditorMigliore PUSH_ACTION AvviaEditorPersonale ICON EdPers } Come creare un controllo per una finestra client<indexterm><primary>Pannello principale</primary><secondary>uso dei client</secondary></indexterm><indexterm> <primary>client</primary><secondary>uso nel Pannello principale</secondary> </indexterm><indexterm><primary>controlli</primary><secondary>client</secondary> </indexterm> Il controllo di una finestra client è una finestra di un'applicazione incorporata nel Pannello principale. Ad esempio, è possibile inserire nel Pannello principale un misuratore del carico del sistema creando un controllo per la finestra client xload. Definire il controllo. Per definire il comportamento del controllo, usare i campi seguenti: TYPE: Impostare su client. CLIENT_NAME, campo CLIENT_NAME: Specificare il client da avviare. Il valore di CLIENT_NAME deve corrispondere alla prima stringa (res_name) della caratteristica WM_CLASS della finestra principale dell'applicazione. Per maggiori informazioni, vedere la pagina di spiegazioni xprop(1). CLIENT_GEOMETRY, campo CLIENT_GEOMETRY: Specificare la dimensione, in pixel, con cui visualizzare la finestra del client nel Pannello principale. Per informazioni su come determinare la dimensione in pixel di una finestra, vedere la pagina di spiegazioni xwininfo(1). Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. Avviare il client da una riga comandi di un emulatore di terminale. Ad esempio, il controllo seguente visualizza un misuratore di carico di 30 x 20 pixel. CONTROL MisuraCarico { TYPE client CONTAINER_NAME Top CONTAINER_TYPE BOX CLIENT_NAME xload CLIENT_GEOMETRY 30x20 } Se il client non può essere salvato e ripristinato automaticamente nelle sessioni successive, può essere utile configurare il controllo in modo che il client venga avviato al clic sull'icona. Ad esempio, è possibile configurare il controllo MisuraCarico in modo che avvii xload aggiungendo alla definizione la riga seguente: PUSH_ACTION AvviaXload e creando l'azione: ACTION AvviaXload { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/contrib/bin/X11/xload } Come animare un controllo<indexterm><primary>controlli</primary><secondary>animazione</secondary></indexterm><indexterm> <primary>animazione</primary><secondary>uso nel Pannello principale</secondary> </indexterm><indexterm><primary>Pannello principale</primary><secondary>animazione</secondary></indexterm> È anche possibile associare a un controllo una sequenza di animazione, da eseguire al clic sul controllo o al rilascio di un file. Per poter utilizzare una sequenza di animazione, è necessario che il controllo: Sia di tipo icon Sia associato a un'azione di tipo PUSH_ACTION o DROP_ACTION Specificare la sequenza di animazione usando il componente ANIMATION, definizioneanimazionedefinizioneANIMATION: ANIMATION nome_animazione { immagine_icona [ritardo] immagine_icona [ritardo] … } dove ritardo è il tempo che deve trascorrere tra le icone dell'animazione, in millisecondi. Aggiungere i campi PUSH_ANIMATION, campoPUSH_ANIMATION e/o DROP_ANIMATION, campoDROP_ANIMATION alla definizione del controllo. Il loro valore sarà il nome della sequenza di animazione. Ad esempio, le righe seguenti producono l'animazione del controllo che avvia l'applicazione EditorMigliore. Il ritardo tra le icone è di 300 millisecondi. Nell'esempio si presume che siano state create le icone frame1, frame2, ecc. CONTROL EditorMigliore { … PUSH_ANIMATION AnimazioneEditorMigliore … } ANIMATION AnimazioneEditorMigliore { frame1 300 frame2 … } Creazione di un testo di aiuto per i controlli del Pannello principale<indexterm><primary>aiuto</primary><secondary>sul Pannello principale</secondary></indexterm><indexterm><primary>Pannello principale</primary><secondary>aiuto</secondary></indexterm><indexterm><primary>controlli</primary><secondary>aiuto sull'</secondary></indexterm><indexterm><primary>elemento</primary></indexterm> Esistono due modi per creare un testo di aiuto per un controllo: Inserire una stringa di aiuto nella definizione del controllo. La stringa così definita verrà visualizzata richiamando l'aiuto sull'elemento e puntando sul controllo. La stringa non può includere caratteri di formattazione (come titoli) né collegamenti. La stringa di aiuto deve essere specificata nella definizione del controllo come segue: HELP_STRING, campoHELP_STRING stringa_di_aiuto Specificare un nuovo argomento in un volume di aiuto già registrato. Gli argomenti dell'aiuto sono informazioni scritte in modo da sfruttare tutte le funzionalità del sistema di aiuto. Per creare un argomento dell'aiuto è necessario l'Help Developer's Kit del desktop. Per creare un argomento dell'aiuto occorre specificare il volume e l'ID dell'argomento nella definizione del controllo: HELP_VOLUME, campo HELP_VOLUMEvolume_di_aiuto HELP_TOPIC,campoHELP_TOPIC id_argomento Personalizzazione dei commutatori degli spazi di lavoro<indexterm><primary>area dei commutatori</primary><secondary>personalizzazione</secondary></indexterm><indexterm><primary>commutatori degli spazi di lavoro</primary><secondary>Vedere anche area dei commutatori<</secondary></indexterm><indexterm> <primary>$nopage></primary></indexterm> I commutatori degli spazi di lavoro possono essere personalizzati in diversi modi: Cambiando il numero degli spazi di lavoro Cambiando la disposizione dei commutatori Cambiando i controlli dei commutatori Come cambiare il numero predefinito di spazi di lavoro<indexterm><primary>spazi di lavoro</primary><secondary>cambiamento del numero predefinito</secondary></indexterm><indexterm><primary>area dei commutatori</primary><secondary>numero degli spazi di lavoro</secondary></indexterm> Modificare la seguente risorsa della Gestione dello spazio di lavoro: Dtwm*workspaceCount: n Per maggiori informazioni, vedere . Come cambiare il numero di righe per i commutatori<indexterm> <primary>area dei commutatori</primary><secondary>numero di righe</secondary> </indexterm> Modificare il campo NUMBER_OF_ROWS, campoNUMBER_OF_ROWS nella definizione dell'area dei commutatori (SWITCH). Ad esempio, la definizione seguente imposta un'area dei commutatori contenente tre righe. SWITCH Switch { CONTAINER_NAME nome_riquadro NUMBER_OF_ROWS 3 … } Come cambiare o aggiungere un controllo nell'area dei commutatori degli spazi di lavoro<indexterm><primary>area dei commutatori</primary><secondary>aggiunta di controlli</secondary></indexterm><indexterm><primary>controlli</primary><secondary>nell'</secondary></indexterm><indexterm><primary>area dei commutatori</primary></indexterm> Creare un file di configurazione del Pannello principale con la definizione del controllo. Specificare che il controllo deve essere inserito nell'area dei commutatori: CONTAINER_NAME Switch CONTAINER_TYPE SWITCH Specificare la posizione del controllo all'interno dell'area dei commutatori: POSITION_HINTS n dove n è un numero intero. Le posizioni sono numerate in sequenza da sinistra a destra e dall'alto in basso. (Per l'area dei commutatori a due righe predefinita, le posizioni sono numerate da 1 a 4.) Creare l'icona per il controllo. La dimensione consigliata è di 16 x 16 pixel. Ad esempio, la definizione seguente inserisce un controllo del Terminale nell'area dei commutatori. CONTROL CommTerminale { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS 3 ICON Fpterm LABEL Terminale PUSH_ACTION Dtterm HELP_TOPIC FPOnItemTerm HELP_VOLUME FPanel } Il controllo utilizza un'icona predefinita ed è associato allo stesso argomento di aiuto usato dal controllo del Terminale del pannello secondario Applicazioni personali. Configurazione generale del Pannello principale La sintassi di definizione del Pannello principale (PANEL) permette di: Cambiare la posizione del Pannello principale Cambiare la decorazione della finestra Impostare l'aspetto e il comportamento generale dei controlli La descrizione predefinita per il Pannello principale si trova in /usr/dt/appconfig/types/lingua/dtwm.fp. Per maggiori informazioni, vedere la pagina di spiegazioni dtfpfile(4X). Procedura generale Creare un nuovo file di configurazione per il Pannello principale in /etc/dt/appconfig/types/lingua o in DirectoryIniziale/.dt/types. Copiare la descrizione predefinita del pannello ( PANEL) da /usr/dt/types/lingua/dtwm.fp nel nuovo file. Editare la descrizione del pannello. La nuova definizione del pannello avrà la precedenza su quella predefinita. Come cambiare la posizione predefinita del Pannello principale<indexterm><primary>Pannello principale</primary><secondary>posizione sullo schermo</secondary></indexterm> Per specificare la posizione del Pannello principale, usare il campo PANEL_GEOMETRY, campoPANEL_GEOMETRY nella definizione del pannello. Ad esempio, il pannello seguente viene visualizzato nell'angolo superiore destro dello schermo. PANEL PannelloAlto { PANEL_GEOMETRY -1+1 … } Come assegnare un nome ai controlli del Pannello principale<indexterm><primary>etichette</primary><secondary>controlli del Pannello principale</secondary></indexterm><indexterm><primary>Pannello principale</primary><secondary>nomi dei controlli</secondary></indexterm><indexterm> <primary>controlli</primary><secondary>assegnazione delle etichette</secondary> </indexterm> Aggiungere la riga seguente alla definizione del pannello: DISPLAY_CONTROL_LABELS True Aggiungere un campo LABEL per ogni controllo. Se non viene specificato un campo LABEL, verrà usato il valore nome_controllo. Come cambiare l'azione di clic sui controlli<indexterm> <primary>controlli</primary><secondary>clic e doppio clic</secondary></indexterm> Per specificare il modo in cui eseguire l'azione specificata in PUSH_ACTION, usare il campo CONTROL_BEHAVIOR, campoCONTROL_BEHAVIOR nella definizione del pannello. I valori possibili per questo campo sono: single_click L'azione specificata in PUSH_ACTION viene eseguita facendo clic sul controllo double_click L'azione specificata in PUSH_ACTION viene eseguita facendo doppio clic sul controllo Come creare un Pannello principale interamente nuovo<indexterm><primary>Pannello principale</primary><secondary>creazione</secondary></indexterm> Quando si desidera eseguire numerose modifiche, può essere preferibile creare un nuovo Pannello principale. Per evitare conflitti con i componenti del Pannello principale predefinito, occorrerà usare nomi nuovi per il pannello (PANEL) e per gli altri contenitori. Creare il componente PANEL per il nuovo Pannello principale. Assegnare al pannello un nome unico: PANEL nome_pannello_principale { … } Creare i riquadri e i controlli usando nomi nuovi per i contenitori. Per utilizzare i componenti esistenti, copiare le definizioni e cambiare il valore di CONTAINER_NAME. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro. Esempio di creazione di un Pannello principale su tre righe<indexterm> <primary>Pannello principale</primary><secondary>aggiunta di righe</secondary> </indexterm> L'esempio seguente modifica il Pannello principale predefinito in modo che i controlli appaiano disposti su tre righe. Copiare /usr/dt/appconfig/types/lingua/dtwm.fp in DirectoryIniziale/.dt/types/PannelloPersonale.fp. Assegnare al file l'autorizzazione di scrittura. Questo è il file che occorrerà editare per creare il nuovo Pannello principale. Cambiare il nome del Pannello principale: PANEL NuovoPannelloPrinc Cambiare il nome del riquadro Top ed editare il nome del relativo contenitore: BOX NuovoPannelloPrincAlto { CONTAINER_NAME NuovoPannelloPrinc POSITION_HINTS first … } Aggiungere le definizioni dei riquadri per le righe centrale e inferiore: BOX NuovoPannelloPrincMedio { CONTAINER_NAME NuovoPannelloPrinc POSITION_HINTS second } BOX NuovoPannelloPrincBasso { CONTAINER_NAME NuovoPannelloPrinc POSITION_HINTS second } Impostare il campo CONTAINER_NAME dei seguenti controlli su NuovoPannelloPrincAlto: Orologio Data Cartella iniziale Editor di testo Gestione posta Impostare il campo CONTAINER_NAME dei seguenti controlli su NuovoPannelloPrincBasso: Stampante Stili Applicazioni Aiuto Cestino Impostare il campo CONTAINER_NAME dell'area dei commutatori su NuovoPannelloPrincMedio. Impostare la risorsa: Dtwm*frontPanel*name: NuovoPannelloPrinc Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro.