Initial revision
[wmaker-crm.git] / src / wmsound.c
blob54c1db8efac13fe6f0a4ac90cde434b73fa1a4c0
1 #include "wconfig.h"
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <X11/X.h>
6 #include <X11/Xlib.h>
7 #include <X11/Xutil.h>
8 #include <X11/Xproto.h>
10 #include "WindowMaker.h"
11 #include "wmsound.h"
13 #ifdef WMSOUND
15 Window soundServer;
16 XEvent sound_event;
18 extern WPreferences wPreferences;
19 extern Atom _XA_WINDOWMAKER_WM_FUNCTION;
21 void
22 wSoundServerGrab(char *name, Window window)
24 if(soundServer==None && name!=NULL && strcmp(name,"WMSoundServer")==0) {
25 soundServer = window;
30 void
31 wSoundInit(Display *dpy)
33 soundServer = 0;
34 sound_event.xclient.type = ClientMessage;
35 sound_event.xclient.message_type = _XA_WINDOWMAKER_WM_FUNCTION;
36 sound_event.xclient.format = 32;
37 sound_event.xclient.display = dpy;
41 void
42 wSoundPlay(long event_sound)
44 if(soundServer!=None && !wPreferences.no_sound) {
45 sound_event.xclient.window = soundServer;
46 sound_event.xclient.data.l[0] = event_sound;
47 if (XSendEvent(dpy, soundServer, False,
48 NoEventMask, &sound_event)==BadWindow) {
49 soundServer = None;
50 return;
51 } else {
52 XFlush(dpy);
58 #endif /* WMSOUND */