diff options
| author | Dana Jansens <danakj@orodu.net> | 2010-09-29 16:04:53 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2011-01-24 14:19:22 -0500 |
| commit | 5ff0d07aba5399e1c8eeb8064d1d800e78c4fe9b (patch) | |
| tree | 9397ca339b909aae35e7b308fdc1b35bb52cdf54 /openbox/actions.c | |
| parent | d614bebf6a0c4b79d62cf4f703ee6a511fd0b904 (diff) | |
update the user-interaction timestamp when running a (non-interactive) action on the focused window
update it at the end of running actions instead of multiple times (once for
each action)
Diffstat (limited to 'openbox/actions.c')
| -rw-r--r-- | openbox/actions.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/openbox/actions.c b/openbox/actions.c index 125084e8..674e22c0 100644 --- a/openbox/actions.c +++ b/openbox/actions.c @@ -23,6 +23,7 @@ #include "event.h" #include "config.h" #include "client.h" +#include "focus.h" #include "openbox.h" #include "debug.h" @@ -300,6 +301,7 @@ void actions_run_acts(GSList *acts, struct _ObClient *client) { GSList *it; + gboolean update_user_time; /* Don't allow saving the initial state when running things from the menu */ @@ -309,6 +311,7 @@ void actions_run_acts(GSList *acts, if (x < 0 && y < 0) screen_pointer_pos(&x, &y); + update_user_time = FALSE; for (it = acts; it; it = g_slist_next(it)) { ObActionsData data; ObActionsAct *act = it->data; @@ -337,6 +340,8 @@ void actions_run_acts(GSList *acts, if (!act->def->run(&data, act->options)) { if (actions_act_is_interactive(act)) actions_interactive_end_act(); + if (client && client == focus_client) + update_user_time = TRUE; } else { /* make sure its interactive if it returned TRUE */ g_assert(act->i_input); @@ -346,6 +351,8 @@ void actions_run_acts(GSList *acts, } } } + if (update_user_time) + event_update_user_time(); } gboolean actions_interactive_act_running(void) |
