]>
Dogcows Code - chaz/openbox/blob - openbox/dispatch.c
7 void dispatch_startup()
18 funcs
= g_new(GSList
*, i
);
20 for (i
= 0, j
= 1; j
< EVENT_RANGE
; ++i
, j
<<= 1)
24 void dispatch_shutdown()
29 for (i
= 0, j
= 1; j
< EVENT_RANGE
; ++i
, j
<<= 1)
30 g_slist_free(funcs
[i
]);
35 void dispatch_register(EventHandler h
, EventMask mask
)
41 for (i
= 0, j
= 1; j
< EVENT_RANGE
; ++i
, j
<<= 1)
43 funcs
[i
] = g_slist_append(funcs
[i
], h
);
44 mask
^= j
; /* remove from the mask */
46 g_assert(j
>= EVENT_RANGE
); /* an invalid event is in the mask */
50 void dispatch_x(XEvent
*xe
)
59 e
= Event_X_EnterNotify
;
62 e
= Event_X_LeaveNotify
;
68 e
= Event_X_KeyRelease
;
71 e
= Event_X_ButtonPress
;
74 e
= Event_X_ButtonRelease
;
77 e
= Event_X_MotionNotify
;
92 for (it
= funcs
[i
]; it
!= NULL
; it
= it
->next
)
93 ((EventHandler
)it
->data
)(&obe
);
96 void dispatch_client(EventType e
, Client
*c
)
111 for (it
= funcs
[i
]; it
!= NULL
; it
= it
->next
)
112 ((EventHandler
)it
->data
)(&obe
);
115 void dispatch_ob(EventType e
)
129 for (it
= funcs
[i
]; it
!= NULL
; it
= it
->next
)
130 ((EventHandler
)it
->data
)(&obe
);
133 void dispatch_signal(int signal
)
136 EventType e
= Event_Signal
;
141 obe
.data
.signal
= signal
;
149 for (it
= funcs
[i
]; it
!= NULL
; it
= it
->next
)
150 ((EventHandler
)it
->data
)(&obe
);
This page took 0.039926 seconds and 5 git commands to generate.