]> Dogcows Code - chaz/openbox/blob - openbox/event.h
Merge branch 'backport' into work
[chaz/openbox] / openbox / event.h
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3 event.h for the Openbox window manager
4 Copyright (c) 2003-2007 Dana Jansens
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 See the COPYING file for a copy of the GNU General Public License.
17 */
18
19 #ifndef __events_h
20 #define __events_h
21
22 #include <X11/Xlib.h>
23 #include <glib.h>
24
25 struct _ObClient;
26
27 /*! The amount of time before a window appears that is checked for user input
28 to determine if the user is working in another window */
29 #define OB_EVENT_USER_TIME_DELAY (500) /* 0.5 seconds */
30
31 /*! Time at which the last event with a timestamp occured. */
32 extern Time event_curtime;
33 /*! The last user-interaction time, as given by the clients */
34 extern Time event_last_user_time;
35
36 void event_startup(gboolean reconfig);
37 void event_shutdown(gboolean reconfig);
38
39 /*! Make as if the mouse just entered the client, use only when using focus
40 follows mouse */
41 void event_enter_client(struct _ObClient *client);
42
43 /*! Make mouse focus not move at all from the stuff that happens between these
44 two function calls. */
45 gulong event_start_ignore_all_enters(void);
46 void event_end_ignore_all_enters(gulong start);
47
48 /*! End *all* active and passive grabs on the keyboard
49 This is called in situations where if there is a grab going on, then
50 we need to cancel it. If we move focus during the grab, applications
51 will get NotifyWhileGrabbed events and ignore them!
52
53 Actions should not rely on being able to move focus during an
54 interactive grab. */
55 void event_cancel_all_key_grabs(void);
56
57 /* Halts any focus delay in progress, use this when the user is selecting a
58 window for focus */
59 void event_halt_focus_delay(void);
60
61 /*! Compare t1 and t2, taking into account wraparound. True if t1
62 comes at the same time or later than t2. */
63 gboolean event_time_after(Time t1, Time t2);
64
65 Time event_get_server_time(void);
66
67 /*! Given a possible target client, returns what the target client really
68 should be for actions */
69 struct _ObClient* event_target_client(struct _ObClient *client);
70
71 #endif
This page took 0.038763 seconds and 5 git commands to generate.