diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-03-11 04:44:15 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-03-11 04:44:15 +0000 |
| commit | 19b480058e869a588ea20be5e29017ae2052e967 (patch) | |
| tree | ab22ac84def19d7b715505674f132e191e1fbff6 /openbox/action.h | |
| parent | 9d6e3907650f4bc05ebf147aeec92573d7b88758 (diff) | |
wow... this is a big commit...
all related to _NET_WM_USER_TIME and focus stealing prevention
a) add launcher startup notification. this means when you run something from
the openbox menu or a key/mouse binding, that startup notification will go
on in openbox and other applications like your panel or something
b) add the _NET_WM_USER_TIME property for windows
c) use the _NET_WM_USER_TIME data and startup notification to prevent focus
stealing.
d) cookie party !! ! all are invited.
e) oh yeah, and pass around timestamps for a lot more things. like, when you
run an action, send the timestamp for the event that is running the action.
this is important for startup notification. this also affects menus.
f) yes.. cookies..
would it be a good idea to disable focus stealing prevention if a window takes
too long to load? i mean.. maybe after a certain length of time, a user can't be
expected to not do anything in any other windows, but would they still want the
new application to focus then? HMM. open question i guess..
Diffstat (limited to 'openbox/action.h')
| -rw-r--r-- | openbox/action.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/openbox/action.h b/openbox/action.h index 4c749fee..639db018 100644 --- a/openbox/action.h +++ b/openbox/action.h @@ -48,6 +48,7 @@ struct AnyAction { gint x; gint y; gint button; + Time time; }; struct InteractiveAction { @@ -209,22 +210,22 @@ ObAction* action_copy(const ObAction *a); affects interactive actions, but should generally always be FALSE. */ void action_run_list(GSList *acts, struct _ObClient *c, ObFrameContext context, - guint state, guint button, gint x, gint y, + guint state, guint button, gint x, gint y, Time time, gboolean cancel, gboolean done); -#define action_run_mouse(a, c, n, s, b, x, y) \ - action_run_list(a, c, n, s, b, x, y, FALSE, FALSE) +#define action_run_mouse(a, c, n, s, b, x, y, t) \ + action_run_list(a, c, n, s, b, x, y, t, FALSE, FALSE) -#define action_run_interactive(a, c, s, n, d) \ - action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, n, d) +#define action_run_interactive(a, c, s, t, n, d) \ + action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, t, n, d) -#define action_run_key(a, c, s, x, y) \ - action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, x, y, FALSE, FALSE) +#define action_run_key(a, c, s, x, y, t) \ + action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, x, y, t, FALSE, FALSE) -#define action_run(a, c, s) \ - action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, FALSE, FALSE) +#define action_run(a, c, s, t) \ + action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, t, FALSE, FALSE) -void action_run_string(const gchar *name, struct _ObClient *c); +void action_run_string(const gchar *name, struct _ObClient *c, Time time); /* Execute */ void action_execute(union ActionData *data); |
