diff options
| author | Mikael Magnusson <mikachu@comhem.se> | 2007-07-11 19:32:43 +0000 |
|---|---|---|
| committer | Mikael Magnusson <mikachu@comhem.se> | 2007-07-11 19:32:43 +0000 |
| commit | 7c1a00802326a608bc1baeb67731a9ab3eda8ba6 (patch) | |
| tree | 408ed629d1fb63740dd9f4c0af51260a19b07e1d | |
| parent | 6d9bbfb4eb7d2c6b0cb9fb0ee5e6ab0b7dd0ea7a (diff) | |
add focused check to if action
| -rw-r--r-- | openbox/actions/if.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/openbox/actions/if.c b/openbox/actions/if.c index 08f543b7..0b9f842a 100644 --- a/openbox/actions/if.c +++ b/openbox/actions/if.c @@ -16,6 +16,8 @@ typedef struct { gboolean maxfull_off; gboolean iconic_on; gboolean iconic_off; + gboolean focused; + gboolean unfocused; GSList *thenacts; GSList *elseacts; } Options; @@ -70,6 +72,12 @@ static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) else o->iconic_off = TRUE; } + if ((n = parse_find_node("focused", node))) { + if (parse_bool(doc, n)) + o->focused = TRUE; + else + o->unfocused = TRUE; + } if ((n = parse_find_node("then", node))) { xmlNodePtr m; @@ -118,7 +126,9 @@ static gboolean run_func(ObActionsData *data, gpointer options) (!o->maxvert_on || (c && c->max_vert)) && (!o->maxvert_off || (c && !c->max_vert)) && (!o->maxfull_on || (c && c->max_vert && c->max_horz)) && - (!o->maxfull_off || (c && !(c->max_vert && c->max_horz)))) + (!o->maxfull_off || (c && !(c->max_vert && c->max_horz))) && + (!o->focused || (c && !(c == focus_client))) && + (!o->unfocused || (c && !(c != focus_client)))) { acts = o->thenacts; } |
