Personalizzazione avanzata del Pannello principalePannello principalepersonalizzazioneÈ 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 anchePer 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 principalefile di configurazionePannello principalePannello principalefile
di configurazioneIl 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 principaleLe impostazioni del Pannello principale predefinito si trovano nel file
di configurazione /usr/dt/appconfig/types/lingua/dtwm.fp.dtwm.fp,
fileQuesto file non dovrebbe essere modificato.Percorso di ricerca per i file di configurazione del Pannello principalepercorsi di ricercaPannello principalePannello principalepercorso
di ricercaLa 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/typesImpostazioni personali/etc/dt/appconfig/types/linguaImpostazioni di sistema/usr/dt/appconfig/types/linguaPannello e controlli predefinitiUn'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 principalePannello principaleregole di precedenza nella composizioneprecedenzanella composizione del Pannello principaleL'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.Pannello principalepersonalizzazionedinamicaFile del Pannello principale
creati dinamicamenteQuando 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
utenteOgni 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 personaliPannello principalecontrollo delle personalizzazioniPannello principalecontrolli, Vedere controlli<$nopage>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 TrueCome ripristinare un Pannello principale modificato, un controllo cancellato
o un pannello secondario cancellatopannelli secondariripristino dei pannelli cancellaticontrolliripristino dei controlli cancellati cancellatoL'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,
campoPer 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 principalePannello principaleorganizzazione delle definizioniLa 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 principalePannello principalecomponentiComponenti del Pannello principaleIl Pannello principale viene creato dall'esterno verso l'interno:Il pannello primario (PANEL)PANELdefinizionepannello 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 BOXdefinizioneriquadrodefinizioneè un contenitore
per uno o più controlli (CONTROL).Esistono due tipi di contenitori speciali:Il pannello secondario (SUBPANEL,
definizionepannello secondariodefinizioneSUBPANEL) è
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 lavorodefinizionearea dei commutatoridefinizioneSWITCH) contiene i pulsanti per la scelta dello
spazio di lavoro ed alcuni altri controlli.Sintassi generale per la definizione del Pannello
principalePannello principalesintassi
della definizioneOgni 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).PANELsintassi della definizionepannello primariosintassi della definizioneDefinizione del pannello
primario (PANEL)Il pannello primario è il componente di primo livello. La sua
definizione include:Il nome del pannelloUna serie di campi che descrivono l'aspetto generale e il
comportamento dell'intero pannelloPANEL 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”.
BOXsintassi della definizioneriquadrosintassi della definizioneDefinizioni dei riquadri
(BOX)La definizione di un riquadro comprende:Il nome del riquadroIl 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 riquadroBOX nome_riquadro
{
CONTAINER_NAME nome_pannello_primario
POSITION_HINTS posizione
PAROLA_CHIAVE valore
PAROLA_CHIAVE valore
…
}CONTROL, sintassi della definizionecontrollo, sintassi della definizioneDefinizioni
dei controlli (CONTROL)La definizione di un controllo specifica:Il nome del controlloSe 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 controlloCONTROL 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 secondariodefinizionepannello secondariosintassi
della definizioneDefinizioni dei pannelli secondari (SUBPANEL)La definizione di un pannello secondario specifica:Il nome del pannello secondarioIl 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
…
}SWITCH, definizionearea dei commutatoridefinizionecommutatori degli spazi di lavorosintassi della definizioneDefinizione dei
commutatori (SWITCH)La definizione di un commutatore specifica:Il nome del commutatoreIl 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 commutatoreSWITCH nome_commutatore
{
CONTAINER_NAME nome_riquadro
POSITION_HINTS posizione
PAROLA_CHIAVE valore
PAROLA_CHIAVE valore
…
}Modifica del Pannello primarioPannello principalemodificaIl 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 principaleIl Pannello principale può essere modificato come segue:Aggiungendo o eliminando un controlloScambiando le posizioni dei controlliCome aggiungere un controllo al Pannello principalecontrolliaggiunta al Pannello principaleCreare un file di configurazione per il Pannello principale:
A livello di sistema: /etc/dt/appconfig/types/lingua/*.fpA livello personale: DirectoryIniziale/.dt/types/*.fpDefinire il controllo all'interno del file.Usare i campi CONTAINER_NAME eCONTAINER_TYPE per specificare il contenitore da
usare per il controllo:CONTAINER_NAME Top
CONTAINER_TYPE BOXUsare 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 controllocontrollieliminazione dal Pannello principaleCreare un file di configurazione per il Pannello principale:
A livello di sistema: /etc/dt/appconfig/types/lingua/nome.fpA livello personale: DirectoryIniziale/.dt/types/nome.fpCopiare 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 TrueSalvare il file di configurazioneScegliere “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 controllocontrollimodificaPer 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.fpA 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 controllicontrolliinterscambioCopiare 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.fpA 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 principalecontrollisostituzioneCreare una nuova definizione che contenga gli stessi valori
per:nome_controlloCONTAINER_NAME, campoCONTAINER_NAMEL'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 controllocontrolliaspettocontrolliiconeiconePannello principaleL'icona usata da un controllo viene definita nel campo ICON, camponel Pannello principaleICON 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/iconsPer le icone di sistema: /etc/dt/appconfig/icons/linguaIl 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:
PosizioneDimensionePannello principale48 x 48 pixel (nome.l.pm o nome.l.bm)Pannello secondario32 x 32 pixel (nome.m.pm o nome.m.bm)Collocare il file dell'icona in una delle seguenti directory:Icone personali: DirectoryIniziale/.dt/iconsIcone di sistema: /etc/dt/appconfig/icons/linguaCreazione e modifica dei pannelli secondaripannelli secondaricreazionepannelli secondarimodificaPer 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
è associatopannelli 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 sistemapannelli secondaripersonalizzazione a livello di sistemapannelli secondaricreazioneIndividuare 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 predefinitipannelli secondaripersonalizzazione di pannelli predefinitiÈ 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
predefinitoCreare un nuovo file di configurazione per il Pannello principale:
A livello di sistema: /etc/dt/appconfig/types/lingua/nome.fpA 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 predefinitoCreare 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 predefinitoUsare la stessa procedura descritta per l'eliminazione di
un controllo dal Pannello primario. Vedere .Come eliminare il controlloInstallazione icona, controllo, cancellazione Installazione
iconaAggiungere il campo seguente alla definizione del pannello
secondario:CONTROL_INSTALL FalseCome cambiare il comportamento di chiusura automatica dei pannelli
secondaripannelli secondarichiusura
automaticaNell'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/*.fpA livello personale: DirectoryIniziale/.dt/types/*.fpCopiare 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 FalseSalvare 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 principalecontrollidefinizioneOgni 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'animazioneVisualizzare una finestra clientCambiare 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 principaleLa 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
}controllitipiTipi di controlloIl campo TYPE, campoTYPE della definizione specifica il comportamento base del controllo.
Tipo di controlloComportamento
del controlloiconecontrolli
del Pannello principaleicon(Valore predefinito). Facendo clic sul controllo o rilasciandovi
un file viene eseguita l'azione specificata.controllicampo
vuotoblankMarcatore usato per regolare la spaziatura dei controlli.controllispia
di occupatobusySpia di occupato. Il controllo lampeggia quando si richiama un'azione.
controlliclientclientFinestra client nel Pannello principale.controlliorologioclockOrologio.controlliindicatore
della datadateVisualizza la data corrente.controllifilefileRappresenta un file. Scegliendo il controllo viene eseguita l'azione
predefinita per il file.Come creare un nuovo controllocontrollicreazioneQuesta 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/*.fpA livello personale: DirectoryIniziale/.dt/types/*.fpAggiungere 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 clicPer definire il comportamento del controllo, usare i campi seguenti:
TYPE: Impostare su iconPUSH_ACTION, campoPUSH_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
}controlliuso per l'apertura dei fileCreazione
di un controllo che apra un filePer definire il comportamento del controllo, usare i campi seguenti:
TYPE: Impostare su fileFILE_NAME, campoFILE_NAME: Specificare il percorso del file da aprirePUSH_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
rilascioarea di rilasciocontrolli
del Pannello principalePannello
principaleuso dei controlli come aree di rilasciocontrolliuso come area
di rilascioUsare il campo DROP_ACTION, campoDROP_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 filecontrolliuso per funzioni
di monitoraggioPer definire il comportamento del controllo, usare i campi seguenti:
TYPE: Specificare uno dei seguenti valori:
controlliiconeiconUsare questo tipo per specificare un'azione di tipo PUSH_ACTION e/o DROP_ACTION per il controllo .controllifilefileUsare 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, campoMONITOR_TYPE: Descrivere le condizioni per il cambiamento
dell'immagine. Usare uno dei seguenti valori:controlliuso
per funzioni di monitoraggiocontrolliposta elettronicamailIl controllo cambia aspetto quando vengono aggiunte nuove informazioni
al file.fileIl 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 unicacontrollia due staticontrollia esecuzione unicaUn 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, campoCLIENT_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 clientPannello principaleuso dei clientclientuso nel Pannello principalecontrolliclientIl 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, campoCLIENT_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, campoCLIENT_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 AvviaXloade creando l'azione:ACTION AvviaXload
{
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/contrib/bin/X11/xload
}Come animare un controllocontrollianimazioneanimazioneuso nel Pannello principalePannello principaleanimazioneÈ 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 iconSia associato a un'azione di tipo PUSH_ACTION
o DROP_ACTIONSpecificare 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 principaleaiutosul Pannello
principalePannello principaleaiutocontrolliaiuto sull'elementoEsistono 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_aiutoSpecificare 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,
campoHELP_VOLUMEvolume_di_aiutoHELP_TOPIC,campoHELP_TOPIC id_argomentoPersonalizzazione dei commutatori degli spazi
di lavoroarea dei commutatoripersonalizzazionecommutatori degli spazi di lavoroVedere anche area dei commutatori<$nopage>I commutatori degli spazi di lavoro possono essere personalizzati in
diversi modi:Cambiando il numero degli spazi di lavoroCambiando la disposizione dei commutatoriCambiando i controlli dei commutatoriCome cambiare il numero predefinito di spazi di
lavorospazi di lavorocambiamento
del numero predefinitoarea dei
commutatorinumero degli spazi di lavoroModificare la seguente risorsa della Gestione dello spazio
di lavoro:Dtwm*workspaceCount: nPer maggiori informazioni, vedere .Come cambiare il numero di righe per i commutatoriarea dei commutatorinumero di righeModificare 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 lavoroarea dei commutatoriaggiunta di controllicontrollinell'area
dei commutatoriCreare 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 SWITCHSpecificare la posizione del controllo all'interno dell'area
dei commutatori:POSITION_HINTS ndove 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 principaleLa sintassi di definizione del Pannello principale (PANEL)
permette di:Cambiare la posizione del Pannello principaleCambiare la decorazione della finestraImpostare 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 generaleCreare 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
principalePannello principaleposizione
sullo schermoPer 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
principaleetichettecontrolli del
Pannello principalePannello principalenomi dei controllicontrolliassegnazione delle etichetteAggiungere la riga seguente alla definizione del pannello:
DISPLAY_CONTROL_LABELS TrueAggiungere 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 controllicontrolliclic e doppio clicPer 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_clickL'azione specificata in PUSH_ACTION viene
eseguita facendo clic sul controllodouble_clickL'azione specificata in PUSH_ACTION viene
eseguita facendo doppio clic sul controlloCome creare un Pannello principale interamente
nuovoPannello principalecreazioneQuando 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 righePannello principaleaggiunta di righeL'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 NuovoPannelloPrincCambiare 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:OrologioDataCartella inizialeEditor di testoGestione postaImpostare il campo CONTAINER_NAME dei
seguenti controlli su NuovoPannelloPrincBasso:StampanteStiliApplicazioniAiutoCestinoImpostare il campo CONTAINER_NAME dell'area
dei commutatori su NuovoPannelloPrincMedio.Impostare la risorsa:Dtwm*frontPanel*name: NuovoPannelloPrincScegliere “Riavviare la Gestione dello spazio di lavoro”
dal menu di controllo dello spazio di lavoro.