+/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
+
+ mainloop.c for the Openbox window manager
+ Copyright (c) 2003 Ben Jansens
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ See the COPYING file for a copy of the GNU General Public License.
+*/
+
#include "mainloop.h"
-#include "focus.h"
#include <stdio.h>
#include <stdlib.h>
ObMainLoop *loop;
gpointer data;
ObMainLoopXHandler func;
- ObMainLoopXDoneHandler done_func;
GDestroyNotify destroy;
};
h->func(&e, h->data);
}
} while (XPending(loop->display));
-
- for (it = loop->x_handlers; it; it = g_slist_next(it)) {
- ObMainLoopXHandlerType *h = it->data;
- if (h->done_func)
- h->done_func(h->data);
- }
} else {
/* this only runs if there were no x events received */
void ob_main_loop_x_add(ObMainLoop *loop,
ObMainLoopXHandler handler,
- ObMainLoopXDoneHandler done_handler,
gpointer data,
GDestroyNotify notify)
{
h = g_new(ObMainLoopXHandlerType, 1);
h->loop = loop;
h->func = handler;
- h->done_func = done_handler;
h->data = data;
h->destroy = notify;
loop->x_handlers = g_slist_prepend(loop->x_handlers, h);