HomeProtokollexFSL-SchnittstelleAnhang

15.15 XSSI-Protokoll

Ein großes Problem für den Programmierer eines Bildschirmschoners ist es, daß viele Applikationen nichts davon wissen, was gerade vor Ihren Augen auf dem Bildschirm vorgeht. Dementsprechend geben sie Ihre Informationen weiterhin auf den Bildschirm aus, obwohl dort eigentlich jetzt der Bildschirmschoner das Sagen hätte. Damit eine Applikation sicher den Status des Bildschirmschoners feststellen und u.U. sogar beeinflussen kann, gibt es den sogenannten XSSI-Standard (XSSI steht für "eXtended ScreenSaver Interface"), der von Julian Reschke vorgeschlagen wurde.

Der Wert des XSSI-Cookies ist ein Zeiger auf die folgende Struktur:

typedef struct
{
     LONG id;
     WORD version;
     WORD save_stat;
     WORD prg_stat;
     LONG vec_stat;
} INFOXSSI;
id Als id trägt jeder Bildschirmschoner seine XBRA-Kennung ein.

id Bildschirmschoner
DAWN Before Dawn
BBLS BUBBLES
version In version ist die Versionsnummer des XSSI-Protokolls eingetragen. 'Before Dawn' verwendet im Moment die Versionsnummer $101.
save_stat Über save_stat kann eine Applikation feststellen, ob gerade geschont wird. Ein Wert von 0 bedeutet, daß nicht geschont wird. Ein negativer Wert zeigt an, daß gerade geschont wird.
prg_stat Mit prg_stat kann eine Applikation 'Before Dawn' mitteilen, wie es sich verhalten soll. Dabei kann prg_stat die folgenden Werte annehmen:

prg_stat = 0 normal schonen
prg_stat = 1 niemals schonen.
prg_stat = -1 sofort schonen
vec_stat vec_stat zeigt an, welche Systemvektoren überwacht werden. Es handelt sich bei diesem Wert um ein Bitfeld. Die Belegung ist folgendermaßen:

Bit Systemvektor
0 Tastatur
1 Maus
2 Joystick
3 Midi
4 Modem 1
5 Modem 2
6 Serial 1
7 LAN-Port bzw. Serial 2
8-14 sonstige Vektoren
15 Fenster-Events

HomeProtokollexFSL-SchnittstelleAnhang