} else {
g_assert(!dock->hide_timer);
dock->hide_timer = timer_start(config_dock_hide_timeout * 1000,
- (TimeoutHandler)hide_timeout,
+ (ObTimeoutHandler)hide_timeout,
NULL);
}
}
gint h;
gboolean hidden;
- Timer *hide_timer;
+ ObTimer *hide_timer;
GList *dock_apps;
};
#ifdef USE_LIBSN
static SnMonitorContext *sn_context;
static int sn_busy_cnt;
-static Timer *sn_timer = NULL;
+static ObTimer *sn_timer = NULL;
static void sn_event_func(SnMonitorEvent *event, void *data);
#endif
static GTimeVal ret_wait;
static GSList *timers; /* nearest timer is at the top */
-#define NEAREST_TIMEOUT (((Timer*)timers->data)->timeout)
+#define NEAREST_TIMEOUT (((ObTimer*)timers->data)->timeout)
static long timecompare(GTimeVal *a, GTimeVal *b)
{
}
-static void insert_timer(Timer *self)
+static void insert_timer(ObTimer *self)
{
GSList *it;
for (it = timers; it != NULL; it = it->next) {
- Timer *t = it->data;
+ ObTimer *t = it->data;
if (timecompare(&self->timeout, &t->timeout) <= 0) {
timers = g_slist_insert_before(timers, it, self);
break;
timers = NULL;
}
-Timer *timer_start(long delay, TimeoutHandler cb, void *data)
+ObTimer *timer_start(long delay, ObTimeoutHandler cb, void *data)
{
- Timer *self = g_new(Timer, 1);
+ ObTimer *self = g_new(ObTimer, 1);
self->delay = delay;
self->action = cb;
self->data = data;
return self;
}
-void timer_stop(Timer *self)
+void timer_stop(ObTimer *self)
{
self->del_me = TRUE;
}
g_get_current_time(&now);
while (timers != NULL) {
- Timer *curr = timers->data; /* get the top element */
+ ObTimer *curr = timers->data; /* get the top element */
/* since timer_stop doesn't actually free the timer, we have to do our
real freeing in here.
*/
#include <glib.h>
+typedef struct _ObTimer ObTimer;
+
/*! Data type of Timer callback */
-typedef void (*TimeoutHandler)(void *data);
+typedef void (*ObTimeoutHandler)(void *data);
-typedef struct Timer {
+struct _ObTimer
+{
/*! Microseconds between timer firings */
long delay;
/*! Callback for timer expiry */
- TimeoutHandler action;
+ ObTimeoutHandler action;
/*! Data sent to callback */
void *data;
/*! We overload the delete operator to just set this to true */
GTimeVal last;
/*! When this timer will next trigger */
GTimeVal timeout;
-} Timer;
+};
/*! Initializes the timer subsection */
void timer_startup();
void timer_shutdown();
/* Creates a new timer with a given delay */
-Timer *timer_start(long delay, TimeoutHandler cb, void *data);
+ObTimer *timer_start(long delay, ObTimeoutHandler cb, void *data);
/* Stops and frees a timer */
-void timer_stop(Timer *self);
+void timer_stop(ObTimer *self);
/*! Dispatch all pending timers. Sets wait to the amount of time to wait for
the next timer, or NULL if there are no timers to wait for */
static KeyBindingTree *curpos;
static guint reset_key, reset_state;
-static Timer *chain_timer;
+static ObTimer *chain_timer;
static void grab_for_window(Window win, gboolean grab)
{
typedef struct {
Timed_Menu_Type type;
- Timer *timer;
+ ObTimer *timer;
char *command; /* for the PIPE */
char *buf; /* buffer to hold partially read menu */
unsigned long buflen; /* how many bytes are in the buffer */