summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@comhem.se>2007-07-11 19:32:43 +0000
committerMikael Magnusson <mikachu@comhem.se>2007-07-11 19:32:43 +0000
commit7c1a00802326a608bc1baeb67731a9ab3eda8ba6 (patch)
tree408ed629d1fb63740dd9f4c0af51260a19b07e1d
parent6d9bbfb4eb7d2c6b0cb9fb0ee5e6ab0b7dd0ea7a (diff)
add focused check to if action
-rw-r--r--openbox/actions/if.c12
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;
}