X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fif.c;h=25d899c1cf89958f2154bd6a141ac6fe3d5597e7;hb=d658612cac44ccc1406aea1bad48c851016e4751;hp=08f543b776ae2c1ed4fa4602d42122b6b9f56da4;hpb=cf640af0eade492a6a0a9765a1d2d35d81ea1235;p=chaz%2Fopenbox diff --git a/openbox/actions/if.c b/openbox/actions/if.c index 08f543b7..25d899c1 100644 --- a/openbox/actions/if.c +++ b/openbox/actions/if.c @@ -3,6 +3,7 @@ #include "openbox/client.h" #include "openbox/frame.h" #include "openbox/screen.h" +#include "openbox/focus.h" #include typedef struct { @@ -16,6 +17,8 @@ typedef struct { gboolean maxfull_off; gboolean iconic_on; gboolean iconic_off; + gboolean focused; + gboolean unfocused; GSList *thenacts; GSList *elseacts; } Options; @@ -70,6 +73,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 +127,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; }