… | |
… | |
256 | #endif |
256 | #endif |
257 | }; |
257 | }; |
258 | |
258 | |
259 | #ifdef USE_XIM |
259 | #ifdef USE_XIM |
260 | struct im_watcher : rxvt_watcher, callback<void (void)> { |
260 | struct im_watcher : rxvt_watcher, callback<void (void)> { |
261 | template<class O, class M> |
|
|
262 | im_watcher (O object, M method) |
|
|
263 | : callback<void (void)> (object, method) |
|
|
264 | { } |
|
|
265 | |
|
|
266 | void start (rxvt_display *display) |
261 | void start (rxvt_display *display) |
267 | { |
262 | { |
268 | display->reg (this); |
263 | display->reg (this); |
269 | } |
264 | } |
270 | |
265 | |
… | |
… | |
275 | }; |
270 | }; |
276 | #endif |
271 | #endif |
277 | |
272 | |
278 | struct xevent_watcher : rxvt_watcher, callback<void (XEvent &)> { |
273 | struct xevent_watcher : rxvt_watcher, callback<void (XEvent &)> { |
279 | Window window; |
274 | Window window; |
280 | |
|
|
281 | template<class O, class M> |
|
|
282 | xevent_watcher (O object, M method) |
|
|
283 | : callback<void (XEvent &)> (object, method) |
|
|
284 | { } |
|
|
285 | |
275 | |
286 | void start (rxvt_display *display, Window window) |
276 | void start (rxvt_display *display, Window window) |
287 | { |
277 | { |
288 | this->window = window; |
278 | this->window = window; |
289 | display->reg (this); |
279 | display->reg (this); |