# Personalizzazione della Gestione dello spazio di lavoro

Questo capitolo descrive le procedure da seguire per personalizzare la Gestione dello spazio di lavoro del desktop.

sag.wmcnf.mkr.2
sag.wmcnf.mkr.5
sag.wmcnf.mkr.8
sag.wmcnf.mkr.12
sag.wmcnf.mkr.15
sag.wmcnf.mkr.18

La Gestione dello spazio di lavoro è il sistema di gestione delle finestre del desktop. Esso controlla:

- L'aspetto dei componenti delle cornici delle finestre

- Il comportamento delle finestre, incluso l'ordine di sovrapposizione e le modalità di attivazione

- Le associazioni dei tasti e dei pulsanti

- L'aspetto delle finestre ridotte a icona

- I menu di controllo delle finestre e dello spazio di lavoro

Oltre a questo, la Gestione dello spazio di lavoro controlla i seguenti componenti del desktop:

- Spazi di lavoro. La Gestione dello spazio di lavoro controlla il numero degli spazi di lavoro e tiene traccia di quali finestre sono aperte in ognuno.

- Sfondi degli spazi di lavoro. Gli sfondi possono essere cambiati dall'utente usando la Gestione degli stili. Tuttavia, la gestione degli sfondi è una funzione della Gestione dello spazio di lavoro.

- Pannello principale. Il Pannello principale, pur utilizzando i propri file di configurazione, viene creato e gestito dalla Gestione dello spazio di lavoro.

Molti di questi componenti possono essere modificati con la Gestione degli stili. In questo modo le modifiche possono essere apportate in modo rapido e senza difficoltà. Altre risorse devono invece essere impostate manualmente.

La Gestione dello spazio di lavoro è `dtwm`, ed è basata sul sistema di gestione delle finestre Motif.

## Vedere anche

- Per informazioni sulla Gestione dello spazio di lavoro, vedere le pagine di spiegazioni `dtwm(1)` e `dtwmrc(4)`.

- Per informazioni sull'impostazione delle risorse della Gestione dello spazio di lavoro, vedere sag.facol.mkr.2.

- Per informazioni sui file di configurazione del Pannello principale, vedere il sag.frpc.mkr.1.

Per maggiori informazioni sull'impostazione delle risorse, vedere sag.facol.mkr.2.

## File di configurazione della Gestione dello spazio di lavoro

La Gestione dello spazio di lavoro ricava da un file di configurazione le informazioni sui menu di controllo delle finestre e degli spazi di lavoro e sulle associazioni dei tasti e dei pulsanti.

Essa utilizza uno dei seguenti file:

- File personale: DirectoryIniziale`/.dt/dtwmrc`

- File personalizzato di sistema: `/etc/dt/config/`lingua lingua`/
  sys.dtwmrc`

- File predefinito: `/usr/dt/config/`lingua`/sys.dtwmrc`

La Gestione dello spazio di lavoro ricerca il file di configurazione nell'ordine indicato, e utilizza il primo che identifica.

Per gli utenti che richiedano l'uso di più lingue in una stessa sessione, è possibile creare un file di configurazione personale dipendente dalla lingua, DirectoryIniziale`/.dt`/lingua/`dtwrmc`, che avrà la precedenza sul file DirectoryIniziale`/.dt/dtwmrc`.

### Come creare o modificare un file di configurazione personale

Il file di configurazione personale per la Gestione dello spazio di lavoro è DirectoryIniziale`/.dt/dtwmrc`. Questo file ha la precedenza rispetto a quello di sistema e a quello predefinito.

1. Fare doppio clic su “
   Editare Dtwmrc” nel gruppo Strumenti_desktop.

   Se esiste già un file `dtwmrc` personale, esso verrà caricato nell'editor. Diversamente, il file `sys.dtwmrc` verrà copiato in DirectoryIniziale`/.dt/dtwmrc` e verrà quindi caricato nell'editor.

2. Editare il file.

3. Uscire dall'editor.

   Il file verrà salvato come `dtwmrc` personale, indipendentemente dalla sua origine.

### Come creare un file di configurazione a livello di sistema

Il file di configurazione usato dalla Gestione dello spazio di lavoro a livello di sistema è `/etc/dt/config/` lingua`/sys.dtwmrc`.

- Copiare `/usr/dt/config/`lingua`/
  sys.dtwmrc` in `/etc/dt/config/`lingua`/sys.dtwmrc`.

Questo file non viene usato se esiste DirectoryIniziale`/.dt/dtwmrc`.

### Come includere (leggere) altri file

- Usare la sintassi:

      include
      {
         percorso
         percorso
         …
      }

Ad esempio, le righe seguenti leggono il file /`utenti/elena/menu1`:

    include
    {
       /utenti/elena/menu1
    }

Le dichiarazioni “include” permettono di usare funzionalità aggiuntive senza bisogno di copiare l'intero file di configurazione. Ad esempio, è possibile creare una nuova associazione per un tasto senza dover amministrare l'intero file di configurazione. Occorrerà creare un file DirectoryIniziale`/.dt/dtwmrc` con il seguente contenuto:

    include
    {
       /etc/dt/config/C/sys.dtwmrc
    }

    Keys DtKeyBindings
    {
       Alt<Key>F5 root f.menu Applicazioni
    }

    Menu Applicazioni
    {
       "AppGrafiche" f.exec "/usr/bin/AppGrafiche/GApp"
       …
    }

### Come riavviare la Gestione dello spazio di lavoro

Per rendere effettive le modifiche apportate ai file di configurazione, è necessario riavviare la Gestione dello spazio di lavoro.

- Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro (accessibile premendo il pulsante del mouse 3 con il puntatore posizionato sullo sfondo).

## Personalizzazione degli spazi di lavoro

La maggior parte delle operazioni di personalizzazione, come il cambiamento del nome o del numero degli spazi di lavoro, possono essere effettuate dagli utenti usando l'interfaccia del desktop. Tuttavia, la Gestione dello spazio di lavoro offre anche una serie di risorse per specificare impostazioni predefinite a livello di sistema.

### Come cambiare il numero degli spazi di lavoro a livello di sistema

La configurazione predefinita del desktop comprende quattro spazi di lavoro. Ogni utente ha la possibilità di aggiungere o eliminare gli spazi di lavoro usando il menu a scomparsa associato all'area dei commutatori.

La Gestione dello spazio di lavoro dispone di una risorsa per cambiare il numero predefinito degli spazi di lavoro.

- Per impostare il numero degli spazi di lavoro, usare la risorsa `workspaceCount`:

      Dtwm*workspaceCount: numero

Per informazioni su come impostare le risorse della Gestione dello spazio di lavoro, vedere sag.facol.mkr.2.

Ad esempio, la risorsa seguente imposta sei spazi di lavoro:

       Dtwm*workspaceCount: 6

### Come definire i nomi degli spazi di lavoro a livello di sistema

Internamente, gli spazi di lavoro sono numerati secondo la convenzione `ws` n, dove n è 0, 1, 2, ecc. Ad esempio, i quattro spazi di lavoro predefiniti sono numerati internamente da `ws0` a `ws3`.

- Per cambiare nome a un determinato spazio di lavoro, usare la risorsa `title`:

  `Dtwm*wsn`: nome

  `Dtwm*ws` n.title: name

Per informazioni su come impostare le risorse della Gestione dello spazio di lavoro, vedere sag.facol.mkr.2.

Ad esempio, le risorse seguenti impostano i nomi di quattro utenti per i quattro spazi di lavoro predefiniti:

    Dtwm*ws0*title:  Anna
    Dtwm*ws1*title:  Dino
    Dtwm*ws2*title   Giulia
    Dtwm*ws3*title   Patty

### Come creare nuovi sfondi

1. Creare le immagini per lo sfondo, usando file a mappa di bit o a mappa di pixel.

2. Collocare gli sfondi in una delle seguenti directory (se necessario, creare la directory).

   - Sfondi di sistema: `/etc/dt/backdrops`

   - Sfondi personali: DirectoryIniziale`/.dt/backdrops`

3. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro.

Gli sfondi personali e di sistema verranno aggiunti a quelli predefiniti in `/usr/dt/backdrops`.

È possibile sostituire uno sfondo predefinito creando uno sfondo personale o di sistema con lo stesso nome.

### Come sostituire lo sfondo con un'immagine grafica

Gli sfondi degli spazi di lavoro vengono disposti sopra la “finestra radice” dello schermo
. Il riquadro di dialogo Sfondo della Gestione degli stili offre un'impostazione
“Nessuno sfondo” che corrisponde a uno sfondo trasparente.

Tutti gli sfondi degli spazi di lavoro si trovano sopra un'unica finestra radice. Di conseguenza, un'immagine grafica collocata nella finestra radice sarà comune a tutti gli spazi di lavoro. È possibile specificare quali spazi di lavoro coprano la finestra radice con uno sfondo. Tuttavia, l'immagine visibile attivando l'impostazione “Nessuno sfondo” sarà la stessa per tutti gli spazi di lavoro.

1. Creare l'immagine grafica. Perché l'immagine possa essere visualizzata nella finestra radice, occorrerà usare un formato supportato da un tool esistente. Ad esempio, se si intende utilizzare `xsetroot`, occorrerà creare un file a mappa di bit.

2. Creare o aprire con un editor un file eseguibile di nome DirectoryIniziale`/.dt/sessions/sessionetc.` Il file `sessionetc` viene eseguito ad ogni login dell'utente.

3. Inserire il comando per la visualizzazione dell'immagine nel file `sessionetc`.

   Il comando dell'esempio seguente sovrapporrà l'immagine a mappa di bit specificata alla finestra radice:

   `xsetroot -bitmap``/utenti/elena/.dt/icons/root.bm`

## Menu della Gestione dello spazio di lavoro

La Gestione dello spazio di lavoro dispone di tre menu predefiniti:

Menu dello spazio di lavoro | Detto anche menu radice. Viene visualizzato premendo il pulsante del mouse 3 con il puntatore posizionato sullo sfondo dell'area di lavoro. Il menu è associato al pulsante del mouse attraverso un collegamento specifico.
Menu di controllo della finestra | È il menu che compare premendo il pulsante del mouse 1 o 3 con il puntatore posizionato sul pulsante di controllo della finestra nell'angolo superiore sinistro della cornice. Il menu è associato al pulsante mediante la risorsa `windowMenu`.
Menu del Pannello principale | È il menu che compare premendo il pulsante del mouse 1 o 3 con il puntatore posizionato sul pulsante di controllo della finestra del Pannello principale.

### Sintassi del menu della Gestione dello spazio di lavoro

I menu della Gestione dello spazio di lavoro utilizzano la sintassi seguente:

    Menu NomeMenu
    {
        selezione1 [mnemonico] [acceleratore] funzione [argomento]
        selezione2 [mnemonico] [acceleratore] funzione [argomento]
        …
    }

dove:

selezione | Testo o immagine a mappa di bit che compare nel menu. Se il testo include spazi vuoti, racchiuderlo tra virgolette. Per le immagini a mappa di bit, usare la sintassi @/percorso.
mnemonico | Carattere singolo che funge da tasto di accesso rapido quando viene aperto il menu. Viene specificato nella forma `_`carattere.
acceleratore | Combinazione di accesso rapido sempre attiva, indipendentemente dall'apertura o meno del menu. Gli acceleratori usano la sintassi modificatore `<Key>` NomeTasto, dove il modificatore può essere `Ctrl`, `Shift`, `Alt` (Extend char) o `Lock`. Per un elenco di tutti i tasti possibili, vedere il file `keysymdef.h` nella directory “X11 include”.
funzione | Funzione da eseguire dopo avere effettuato la selezione. Per un elenco delle funzioni disponibili, vedere la pagina di spiegazioni `dtwmrc(4)`.
argomento | Argomenti della funzione. Per maggiori dettagli, vedere la pagina di spiegazioni `dtwmrc(4)`.

selezione | Testo o immagine a mappa di bit che compare nel menu. Se il testo include spazi vuoti, racchiuderlo tra virgolette. Per le immagini a mappa di bit, usare la sintassi @/percorso.
mnemonico | Carattere singolo che funge da tasto di accesso rapido quando viene aperto il menu. Viene specificato nella forma `_`carattere.
acceleratore | Combinazione di accesso rapido sempre attiva, indipendentemente dall'apertura o meno del menu. Gli acceleratori usano la sintassi modificatore `<Key>` NomeTasto, dove il modificatore può essere `Ctrl`, `Shift`, `Alt` (Extend char) o `Lock`. Per un elenco di tutti i tasti possibili, vedere il file `keysymdef.h` nella directory “X11 include”.
f e | Funzione da eseguire dopo avere effettuato la selezione. Per un elenco delle funzioni disponibili, vedere la pagina di spiegazioni `dtwmrc(4)`.
argomento | Argomenti della funzione. Per maggiori dettagli, vedere la pagina di spiegazioni `dtwmrc(4)`.

L'esempio seguente si riferisce all'opzione Ripristinare, usata per ripristinare le dimensioni originarie della finestra. Quando il menu è aperto, digitando “R” verrà eseguita la funzione di ripristino. Oppure, lo stesso effetto può essere ottenuto premendo Alt F5.

    Ripristinare  _R   Alt<Key>F5   f.normalize

Per informazioni complete sulla sintassi dei menu usati dalla Gestione dello spazio di lavoro, vedere la pagina di spiegazioni `dtwmrc(4)`.

### Come modificare il menu dello spazio di lavoro esistente

1. Aprire con un editor il file appropriato:

   - File personale: DirectoryIniziale`/.dt/dtwmrc`

   - File di sistema: `/etc/dt/config/` lingua`/sys.dtwmrc`

     Per informazioni sulla creazione di questi file, vedere sag.wmcnf.mkr.2.

2. Editare la descrizione del menu dello spazio di lavoro.

   Il menu predefinito è DtRootMenu.

       Menu DtRootMenu
       {
          “Menu dello spazio di lavoro”  f.title
          “Portare sopra”                f.circle_up
          “Portare sotto”                f.circle_down
          …
       }

### Come creare un nuovo menu dello spazio di lavoro

1. Aprire con un editor il file appropriato:

   - File personale: DirectoryIniziale`/.dt/dtwmrc`

   - File di sistema: `/etc/dt/config/` lingua`/sys.dtwmrc`

     Per informazioni sulla creazione di questi file, vedere sag.wmcnf.mkr.2.

2. Creare il nuovo menu:

       Menu nome_menu
       {
           …
       }

   Vedere sag.wmcnf.mkr.9.

3. Creare o editare l'associazione del pulsante del mouse in modo da visualizzare il nuovo menu.

   Se il nuovo menu deve sostituire quello preesistente, editare l'associazione del pulsante che produce la visualizzazione del menu dello spazio di lavoro.

       <Btn3Down> root f.menu nome_menu

   Se il nuovo menu deve essere aggiunto a quello preesistente, creare una nuova associazione con un pulsante del mouse. Ad esempio, l'associazione seguente visualizza il menu quando si preme Shift-pulsante 3 sullo sfondo:

       Shift<Btn3Down> root f.menu nome_menu

4. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu dello spazio di lavoro.

### Come creare un nuovo menu di controllo della finestra

Il menu di controllo della finestra è integrato nella Gestione dello spazio di lavoro. Normalmente questo menu non viene modificato, per mantenere lo stesso comportamento delle finestre nelle diverse applicazioni.

1. Aprire con un editor il file appropriato:

   - File personale: DirectoryIniziale`/.dt/dtwmrc`

   - File di sistema: `/etc/dt/config/` lingua`/sys.dtwmrc`

     Per informazioni sulla creazione di questi file, vedere sag.wmcnf.mkr.2.

2. Creare il nuovo menu:

       Menu nome_menu
       {
           …
       }

3. Per specificare il nuovo menu, usare la risorsa `windowMenu`:

   `Dtwm*windowMenu`: nome_menu

4. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu dello spazio di lavoro.

## Personalizzazione delle associazioni dei pulsanti

L'associazione di un pulsante associa la pressione di un pulsante del mouse, eventualmente insieme a un tasto modificatore, con una funzione del sistema di gestione delle finestre. Le associazioni dei pulsanti si applicano a tutti gli spazi di lavoro.

Le associazioni dei pulsanti predefinite si trovano nel file di configurazione della Gestione dello spazio di lavoro in un'associazione di nome `
DtButtonBindings`:

    Buttons DtButtonBindings
    {
       …
    }

### Sintassi delle associazioni dei pulsanti

La sintassi da usare per le associazioni dei pulsanti è la seguente:

    Buttons Insieme_di_associazioni_pulsanti
    {
       [modificatore] <nome_pulsanteAzione_mouse>  contesto funzione  [argomento]
       [modificatore] <nome_pulsanteAzione_mouse>  contesto funzione  [argomento]
    }

dove:

nome_pulsante | `Btn1—`Pulsante sinistro del mouse `Btn2—`Pulsante centrale (nei mouse a 3 pulsanti) o entrambi i pulsanti (nei mouse a 2 pulsanti)) `Btn3—`Pulsante destro `Btn4—`Pulsanti 1 e 2 insieme nei mouse a 3 pulsanti `Btn5—`Pulsanti 2 e 3 insieme nei mouse a 3 pulsanti
modificatore | `Ctrl,` `Shift,` `Alt,` `Lock`
azione_mouse | `Down` — Tenere premuto un pulsante del mouse `Up` — Rilasciare un pulsante del mouse `Click` — Premere e rilasciare un pulsante del mouse `Click2` — Fare doppio clic su un pulsante del mouse `Drag` — Trascinare il mouse tenendo premuto il pulsante
contesto | Indica la posizione in cui deve trovarsi il puntatore perché l'associazione abbia effetto. Se necessario, separare i contenuti diversi con il carattere “`|`”. `root` — La finestra dello spazio di lavoro `window` — Cornice di finestra/finestra client `frame` — Cornice di finestra, escluso il contenuto `icon` — Icona `title` — Barra del titolo `app` — Finestra client (esclusa la cornice)
funzione | Una delle funzioni del sistema di gestione delle finestre. Per un elenco delle funzioni disponibili, vedere la pagina di spiegazioni `dtwmrc(4)`.
argomento | Argomento o sequenza di argomenti richiesti dalla funzione specificata. Per maggiori informazioni, vedere la pagina di spiegazioni `dtwmrc(4)`.

Ad esempio, la riga seguente specifica che il menu descritto in `DtRootMenu` dovrà essere aperto premendo il pulsante del mouse 3 con il puntatore nella finestra dello spazio di lavoro (ma non in una finestra client).

    <Btn3Down>    root   f.menu    DtRootMenu

Per informazioni complete sulla sintassi delle associazioni dei pulsanti, vedere la pagina di spiegazioni `dtwmrc(4)`.

### Come aggiungere un'associazione per un pulsante

1. Aprire con un editor il file appropriato:

   - File personale: DirectoryIniziale`/.dt/dtwmrc`

   - File di sistema: `/etc/dt/config/` lingua`/sys.dtwmrc`

     Per informazioni sulla creazione di questi file, vedere sag.wmcnf.mkr.2.

2. Aggiungere l'associazione del pulsante alla definizione `DtButtonBindings`.

   Non associare lo stesso pulsante a funzioni diverse per le operazioni di clic e di pressione, e non associare più di una funzione allo stesso pulsante e contesto.

3. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu dello spazio di lavoro.

### Come creare un nuovo insieme di associazioni per i pulsanti

1. Aprire con un editor il file appropriato:

   - File personale: DirectoryIniziale`/.dt/dtwmrc`

   - File di sistema: `/etc/dt/config/` lingua`/sys.dtwmrc`

     Per informazioni sulla creazione di questi file, vedere sag.wmcnf.mkr.2.

2. Creare il nuovo insieme di associazioni per i pulsanti. Vedere sag.wmcnf.mkr.13.

3. Impostare la risorsa `
   buttonBindings` sul nuovo nome:

   `Dtwm*buttonBindings`: Insieme_di_associazioni_pulsanti

4. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu dello spazio di lavoro.

Le nuove associazioni dei pulsanti sostituiranno quelle preesistenti. Copiare le associazioni che si desidera conservare da `DtButtonBindings`.

## Personalizzazione delle associazioni dei tasti

Un'associazione della tastiera associa una combinazione di tasti a una funzione della Gestione dello spazio di lavoro. Le associazioni dei tasti sono operative in tutti gli spazi di lavoro.

Nel creare le associazioni della tastiera, cercare di non usare combinazioni di tasti di uso comune. Ad esempio, la combinazione Shift-A inserisce normalmente la lettera “A” nella finestra corrente. Associando questa combinazione a una funzione della Gestione dello spazio di lavoro, la sua funzione normale non sarà più disponibile.

### Associazioni dei tasti predefinite

Le associazioni dei tasti predefinite del desktop si trovano nel file di configurazione della Gestione dello spazio di lavoro, in un insieme di associazioni di nome `DtKeyBindings`:

    Keys DtKeyBindings
    {
       …
    }

### Sintassi delle associazioni dei tasti

La sintassi da usare per le associazioni dei tasti è la seguente:

    KeysInsieme_di_associazioni_dei_tasti
    {
       [Modificatori]  <Key>nome_tasto   contesto  funzione  [argomento]
       [Modificatori]  <Key>nome_tasto   contesto  funzione [argomento]
        …
    }

dove:

Modificatori | `Ctrl`, `Shift`. `Alt` e `Lock`. È possibile usare più modificatori insieme, separati da spazi vuoti.
nome_tasto | Tasto su cui è mappata la funzione. Quando si tratta di lettere o numeri, il nome_tasto corrisponde solitamente alla lettera o al numero stampato sul tasto. Ad esempio, il nome del tasto “a” sarà “a”, e il nome del tasto “2” sarà “2”. Analogamente, il nome del tasto “Tab” è “Tab” e quello del tasto “F3” è “F3”.

Per gli altri tasti, il nome viene indicato per esteso — ad esempio, si userà `plus` per il tasto “+”. Per maggiori informazioni sui nomi dei tasti, vedere il file `keysymdef.h`, situato in una directory dipendente dal sistema.

contesto | Indica l'elemento che deve essere attivo perché l'azione abbia effetto. Si può trattare di più elementi concatenati se l'associazione si applica a più contesti. I contesti multipli sono separati dal carattere “`|`”. `root` — Sfondo dello spazio di lavoro `window` — Finestra client `icon` — Icona
funzione | Funzione del sistema di gestione delle finestre. Per un elenco delle funzioni disponibili, vedere la pagina di spiegazioni `dtwmrc(4)`.
argomento | Argomento o sequenza di argomenti richiesti dalla funzione specificata. Per maggiori informazioni, vedere la pagina di spiegazioni `dtwmrc(4)`.

Ad esempio, l'associazione seguente permette all'utente di spostare il punto attivo nella finestra secondaria successiva di un'applicazione premendo Alt+F6.

    Alt<Key>F6   window   f.next_key   transient

Per informazioni complete sulla sintassi delle associazioni dei tasti, vedere la pagina di spiegazioni `dtwmrc(4)`.

### Come creare un insieme di associazioni di tasti personalizzate

1. Aprire con un editor il file appropriato:

   - File personale: DirectoryIniziale`/.dt/dtwmrc`

   - File di sistema: `/etc/dt/config/` lingua`/sys.dtwmrc`

     Per informazioni sulla creazione di questi file, vedere sag.wmcnf.mkr.2.

2. Creare un nuovo insieme di associazioni con un nome unico (Insieme_di_associazioni_dei_tasti). Usare come riferimento l'insieme di associazioni predefinito del desktop, `DtKeyBindings`.

3. Impostare la risorsa `keyBindings`
   sul nuovo nome dell'insieme:

   `Dtwm*keyBindings`: Insieme_di_associazioni_dei_tasti

4. Scegliere “Riavviare la Gestione dello spazio di lavoro” dal menu dello spazio di lavoro.

Le nuove associazioni dei tasti sostituiranno quelle preesistenti. Copiare le associazioni che si desidera conservare da `DtKeyBindings` e inserirle nel nuovo insieme personale.

## Commutazione tra il comportamento predefinito e quello personalizzato

Per passare dal comportamento predefinito delle finestre di Motif 1.2 a quello del CDE, e viceversa, procedere come segue:

1. Premere Alt+Shift+Ctrl+!

2. Fare clic su OK nel riquadro di dialogo.

Passando al comportamento predefinito, verranno disabilitate tutte le associazioni del Pannello principale e quelle dei tasti e dei pulsanti personalizzati.