Add matching which monitor the client is on in the If action (Bug 5426)
This commit is contained in:
parent
f8aa8cf5bb
commit
bced74beaa
1 changed files with 7 additions and 1 deletions
|
@ -29,6 +29,7 @@ typedef struct {
|
||||||
gboolean desktop_other;
|
gboolean desktop_other;
|
||||||
guint desktop_number;
|
guint desktop_number;
|
||||||
guint screendesktop_number;
|
guint screendesktop_number;
|
||||||
|
guint client_monitor;
|
||||||
GPatternSpec *matchtitle;
|
GPatternSpec *matchtitle;
|
||||||
GRegex *regextitle;
|
GRegex *regextitle;
|
||||||
gchar *plaintitle;
|
gchar *plaintitle;
|
||||||
|
@ -107,6 +108,9 @@ static gpointer setup_func(xmlNodePtr node)
|
||||||
g_free(s);
|
g_free(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ((n = obt_xml_find_node(node, "monitor"))) {
|
||||||
|
o->client_monitor = obt_xml_node_int(n);
|
||||||
|
}
|
||||||
|
|
||||||
if ((n = obt_xml_find_node(node, "then"))) {
|
if ((n = obt_xml_find_node(node, "then"))) {
|
||||||
xmlNodePtr m;
|
xmlNodePtr m;
|
||||||
|
@ -192,7 +196,9 @@ static gboolean run_func(ObActionsData *data, gpointer options)
|
||||||
(!o->regextitle ||
|
(!o->regextitle ||
|
||||||
(g_regex_match(o->regextitle, c->original_title, 0, NULL))) &&
|
(g_regex_match(o->regextitle, c->original_title, 0, NULL))) &&
|
||||||
(!o->plaintitle ||
|
(!o->plaintitle ||
|
||||||
(!strcmp(o->plaintitle, c->original_title))))
|
(!strcmp(o->plaintitle, c->original_title))) &&
|
||||||
|
(!o->client_monitor ||
|
||||||
|
(o->client_monitor == client_monitor(c) + 1)))
|
||||||
{
|
{
|
||||||
acts = o->thenacts;
|
acts = o->thenacts;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue