From: Mikael Magnusson Date: Sun, 2 Mar 2008 17:59:43 +0000 (+0100) Subject: Let If check for urgent/demands_attention. X-Git-Tag: mikabox-3.4.7.2~57^2~3 X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=18567bab3d5d9024dd4cd702baad655869b61cff;p=mikachu%2Fopenbox.git Let If check for urgent/demands_attention. --- diff --git a/openbox/actions/if.c b/openbox/actions/if.c index 9ebdcb00..19b01475 100644 --- a/openbox/actions/if.c +++ b/openbox/actions/if.c @@ -19,6 +19,8 @@ typedef struct { gboolean iconic_off; gboolean focused; gboolean unfocused; + gboolean urgent_on; + gboolean urgent_off; gboolean omnipresent_on; gboolean omnipresent_off; gboolean desktop_current; @@ -81,6 +83,12 @@ static gpointer setup_func(xmlNodePtr node) else o->unfocused = TRUE; } + if ((n = obt_parse_find_node(node, "urgent"))) { + if (obt_parse_node_bool(n)) + o->urgent_on = TRUE; + else + o->urgent_off = TRUE; + } if ((n = obt_parse_find_node(node, "desktop"))) { gchar *s = obt_parse_node_string(n); if (!g_ascii_strcasecmp(s, "current")) @@ -166,6 +174,8 @@ static gboolean run_func(ObActionsData *data, gpointer options) (!o->maxfull_off || !(c->max_vert && c->max_horz)) && (!o->focused || (c == focus_client)) && (!o->unfocused || !(c == focus_client)) && + (!o->urgent_on || (c->urgent || c->demands_attention)) && + (!o->urgent_off || !(c->urgent || c->demands_attention)) && (!o->omnipresent_on || (c->desktop == DESKTOP_ALL)) && (!o->omnipresent_off || (c->desktop != DESKTOP_ALL)) && (!o->desktop_current || ((c->desktop == screen_desktop) ||