Riferimenti per il file brain_applets_generic.h

#include <gtk/gtk.h>
#include <brain_client.h>
#include <brain_settings.h>

Strutture dati

struct  BrainAppletDo
struct  BrainApplet

Definizioni

#define MAX_DISTANCE   50
#define MAX_APPLET_STRING_LENGTH   200
#define BA_BEINALLACTS   "ThisAppletMustBeEverywhere"

Ridefinizioni di tipo (typedefs)

typedef void(* brain_terminate_applet )()

Tipi enumerati (enum)

enum  BrainAppletSide { BAS_TOP, BAS_RIGHT, BAS_BOTTOM, BAS_LEFT }
enum  BrainActivityOwner { BAO_ALL, BAO_NONE, BAO_DEFINE }
enum  BrainAppletType {
  BAT_TASKBAR, BAT_SWITCHER, BAT_CLOCK, BAT_LAUNCHER,
  BAT_NEWSTICKER, BAT_SYSTEMMONITOR, BAT_NOTIFYER, BAT_APPLICATION,
  BAT_OTHER
}
enum  BrainAppletRequest {
  BAR_NONE = 0x0000, BAR_WINDOWSSTATE = 0x0001, BAR_WINDOWSPREVIEW = 0x0002, BAR_WORKSPACESWITCHED = 0x0004,
  BAR_OMS = 0x0008, BAR_SHORTCUT = 0x0010, BAR_SESSIONACTIVITY = 0x0020, BAR_SHOW = 0x0040
}
enum  BrainAppletAction { BAR_DONOTHING = 0x0000, BAR_INTEGRATE = 0x0001, BAR_SUBSTITUTE = 0x0002 }
enum  BrainAppletRequestOptions {
  BAR_NOOPTIONS, BAR_WINDOWSSTATE_FOCUSCHANGED, BAR_WINDOWSSTATE_SHADOWED, BAR_WINDOWSSTATE_UNSHADOWED,
  BAR_WINDOWSSTATE_MINIMIZED, BAR_WINDOWSSTATE_MAXIMIZED, BAR_WINDOWSSTATE_CLOSED, BAR_WINDOWSSTATE_HIDE,
  BAR_SESSIONACTIVITY_LOGIN, BAR_SESSIONACTIVITY_LOGOUT, BAR_SESSIONACTIVITY_SHUTDOWN, BAR_OMS_OPEN,
  BAR_OMS_CLOSE
}

Funzioni

BrainAppletbrain_applet_init (char *, brain_terminate_applet, gboolean)
 Funzione di inizializzazione globale dell'applet.
short int brain_applet_event_requested_verified (BrainAppletRequest, char *)
 Funzione da includere in ogni applet e che viene invocata quando si verifica un evento richiesto dall'applet stessa.
int hash_memory_key (char *)
 Funzioncina di hash, con cui identificare il segmento di memoria condivisa usata per scambiare dati tra l'applet ed il resto del sistema.
BrainMcsResult brain_applet_get_all_settings (BrainClient *, char *, BrainMcsSetting **)
 Per prelevare tutti i settaggi di una specifica applet.
BrainMcsResult brain_applet_set_setting (BrainClient *, BrainMcsSetting *)
 Setta il valore di un parametro per una applet.


Documentazione delle definizioni

#define MAX_DISTANCE   50
 

#define MAX_APPLET_STRING_LENGTH   200
 

#define BA_BEINALLACTS   "ThisAppletMustBeEverywhere"
 

Da mettere al posto di activity se si vuol mantenere attiva l'applet indipendentemente dall'attivita' aperta


Documentazione delle ridefinizioni di tipo (typedefs)

typedef void( * brain_terminate_applet)()
 

Funzione di chiusura e terminazione dell'applet


Documentazione dei tipi enumerati

enum BrainAppletSide
 

Lato del monitor su cui si espone l'applet

Valori dei tipi enumerati:
BAS_TOP  In alto
BAS_RIGHT  A destra
BAS_BOTTOM  In basso
BAS_LEFT  A sinistra

enum BrainActivityOwner
 

Definisce il contesto in cui una applet puo' manifestarsi: alcune devono comparire sempre (ad esempio la taskbar o la filelist), mentre altre possono tornare utili sono in date situazioni

Valori dei tipi enumerati:
BAO_ALL  L'applet appare in tutte le attivita'
BAO_NONE  L'applet non compare in nessuna attivita' (gira in background)
BAO_DEFINE  L'applet gira all'interno di una specifica attivita', definita dall'utente per mezzo dell'apposito pannello

enum BrainAppletType
 

Tipi di applets possibili: in realta' attualmente non vengono considerati da nessuna funzione

Valori dei tipi enumerati:
BAT_TASKBAR 
BAT_SWITCHER 
BAT_CLOCK 
BAT_LAUNCHER 
BAT_NEWSTICKER 
BAT_SYSTEMMONITOR 
BAT_NOTIFYER 
BAT_APPLICATION 
BAT_OTHER 

enum BrainAppletRequest
 

Le applet possono intervenire in diverse situazioni, ed interagire in maniera complessa col resto del sistema. Questa enum definisce i tipi di evento cui le applets possono rispondere e reagire

Valori dei tipi enumerati:
BAR_NONE  Nessuna richiesta
BAR_WINDOWSSTATE  Stato delle finestre (minimizzate, chiuse...)
BAR_WINDOWSPREVIEW  Preview delle finestre
BAR_WORKSPACESWITCHED  Cambio di workspace
BAR_OMS  Attivita' dell'On-Mouse Shell
BAR_SHORTCUT  Eseguita una shortcut da tastiera. Viene accompagnato dalla combinazione di tasti premuta, nella forma tasto (%c) + modifier (%d)
BAR_SESSIONACTIVITY  Attivita' di sessione (login, logout)
BAR_SHOW  Exposure (valida per tutte le applets)

enum BrainAppletAction
 

Definisce il tipo di azione che l'applet puo' intraprendere nei confronti del resto del sistema

Valori dei tipi enumerati:
BAR_DONOTHING  La applet non fa nulla
BAR_INTEGRATE  Il comportamento dell'applet e' di contorno a quello del window manager
BAR_SUBSTITUTE  Il comportamento dell'applet sostituisce quello del window manager

enum BrainAppletRequestOptions
 

Questa enum descrive in maniera piu' dettagliata gli eventi che possono essere generati dal window manager

Valori dei tipi enumerati:
BAR_NOOPTIONS  Nessuna opzione
BAR_WINDOWSSTATE_FOCUSCHANGED  Una finestra riceve il focus. Viene accompagnato dall'ID della finestra cui viene assegnato il focus, in forma %lu (unsigned long = Window = ID delle finestre in Xlib)
BAR_WINDOWSSTATE_SHADOWED  Una finestra viene shadowata
BAR_WINDOWSSTATE_UNSHADOWED  Una finestra viene unshadowata
BAR_WINDOWSSTATE_MINIMIZED  Una finestra viene ridotta a icona
BAR_WINDOWSSTATE_MAXIMIZED  Una finestra viene massimizzata
BAR_WINDOWSSTATE_CLOSED  Una finestra viene chiusa
BAR_WINDOWSSTATE_HIDE  Una finestra e' stata nascosta
BAR_SESSIONACTIVITY_LOGIN  Effettuato un login
BAR_SESSIONACTIVITY_LOGOUT  Effettuato un logout
BAR_SESSIONACTIVITY_SHUTDOWN  Effettuato uno shutdown
BAR_OMS_OPEN  On-Mouse Shell aperto
BAR_OMS_CLOSE  On-Mouse Shell chiuso


Documentazione delle funzioni

BrainApplet* brain_applet_init char *  applet_name,
brain_terminate_applet  terminate,
gboolean  configure
 

Funzione di inizializzazione globale dell'applet.

Questa funzione e' tra le piu' importanti per le applets: aggancia l'area di memoria condivisa usata per scambiare informazioni tra l'applet ed il resto del sistema ed inizializza i pochi ma sempre validi elementi grafici che compongono l'applicazione

short int brain_applet_event_requested_verified BrainAppletRequest  ,
char * 
 

Funzione da includere in ogni applet e che viene invocata quando si verifica un evento richiesto dall'applet stessa.

int hash_memory_key char *  s  ) 
 

Funzioncina di hash, con cui identificare il segmento di memoria condivisa usata per scambiare dati tra l'applet ed il resto del sistema.

Funzione usata per ricavare una chiave univoca con cui identificare il segmento di memoria condivisa usato per il passaggio di dati tra il sistema e la applet. Thanks to K&R (capitolo 6, sezione 6.6) :-)

BrainMcsResult brain_applet_get_all_settings BrainClient client,
char *  name,
BrainMcsSetting **  settings
 

Per prelevare tutti i settaggi di una specifica applet.

Pesca, nell'apposita tabella del database centrale, i settaggi relativi ad una particolare applet. Si e' deciso di mettere qui la funzione di accesso al DB invece che nella libreria BrainManager per rendere piu' indipendente il componente

Da fare:
Discriminare i settaggi anche in base all'attivita' / workspace attivato
Avvertimento:
Quando non serve piu', liberare dalla memoria l'array di BrainMcsSetting allocato

BrainMcsResult brain_applet_set_setting BrainClient ,
BrainMcsSetting
 

Setta il valore di un parametro per una applet.


Generato il Sun Apr 16 01:36:44 2006 per BrainTop da  doxygen 1.4.6