Manuale del CDE Solaris per utenti esperti e amministratori di sistema

Definizione dei controlli del Pannello principale

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ò:

Definizione di un controllo del Pannello principale

La definizione di un controllo del Pannello principale ha la seguente struttura:

CONTROL nome_controllo
 {
   TYPE            tipo_controllo
   CONTAINER_NAME  valore
   CONTAINER_TYPE  valore
   altri campi che definiscono l'aspetto e il comportamento del controllo
 }

Tipi di controllo

Il campo TYPE della definizione specifica il comportamento base del controllo.

Tipo di controllo

Comportamento

icon (valore predefinito)

Facendo clic sul controllo o rilasciandovi un file viene eseguita l'azione specificata.

blank

Marcatore usato per regolare la spaziatura dei controlli.

busy

Spia di occupato. Il controllo lampeggia quando si richiama un'azione.

client

Finestra client nel Pannello principale.

clock

Orologio.

date

Visualizza la data corrente.

file

Rappresenta un file. Scegliendo il controllo viene eseguita l'azione predefinita per il file.

Creare un nuovo controllo

Questa sezione descrive la procedura generale da usare per definire un controllo e spiega come creare diversi tipi di controlli.

  1. 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.

  2. Creare le icone da usare per il controllo.

    Per informazioni sulle dimensioni, i nomi e le posizioni delle icone, vedere File grafici delle icone.

  3. 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

  4. Aggiungere al file la definizione del controllo.

  5. Salvare il file.

  6. Scegliere “Riavvia 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:

Creazione di un controllo che apra un file

Per definire il comportamento del controllo, usare i campi seguenti:

Creazione di un controllo che funga da area di rilascio

Usare il 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							ImmagineXwud
 	PUSH_ACTION					AvviaXwud
 	DROP_ACTION					AvviaXwud
 }

Creazione di un controllo che esegua il monitoraggio di un file

Per definire il comportamento del controllo, usare i campi seguenti:

Creazione di un controllo ad esecuzione unica

Un controllo ad 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:

Creare un controllo per una finestra client

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.

  1. Definire il controllo.

    Per definire il comportamento del controllo, usare i campi seguenti:

    • TYPE: impostare su client.

    • CLIENT_NAME: specificare il client da avviare.

      Il valore di CLIENT_NAME deve corrispondere alla prima stringa (nome_ris) della caratteristica WM_CLASS della finestra principale dell'applicazione. Per maggiori informazioni, vedere la pagina man xprop(1).

    • 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 man xwininfo(1).

  2. Scegliere “Riavvia la Gestione dello spazio di lavoro” dal menu di controllo dello spazio di lavoro.

  3. Avviare il client da una riga di comando di un emulatore di terminale.

    Ad esempio, il controllo seguente visualizza un misuratore di carico di 30×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 StartXload
     {
     	WINDOW_TYPE				NO_STDIO
     	EXEC_STRING				/usr/contrib/bin/X11/xload
     }

Animare un controllo

È 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:

  1. Specificare la sequenza di animazione usando il componente ANIMATION:

    	ANIMATION nome_animazione
     	{
     		ANIMATION	icona1				[ritardo_in_ms]
     		ANIMATION	icona2				[ritardo_in_ms]
     		…
     	}

    dove icona1, icona2 ecc. sono i nomi delle icone e ritardo_in_ms è il tempo che deve trascorrere tra le icone dell'animazione, in millisecondi. Il ritardo predefinito è di 200 millisecondi.

  2. Aggiungere i campi PUSH_ANIMATION e/o DROP_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 una guida per i controlli del Pannello principale

Esistono due modi per creare un testo di guida per un controllo: