commands: allow "first", "last", "newest" and "recent" as values for urgent criteria

This commit is contained in:
Ian Fan 2018-07-29 10:33:21 +01:00
parent 0cd418ba42
commit 710f27d0d2
2 changed files with 10 additions and 4 deletions

View file

@ -452,13 +452,18 @@ static bool parse_token(struct criteria *criteria, char *name, char *value) {
criteria->tiling = true;
break;
case T_URGENT:
if (strcmp(effective_value, "latest") == 0) {
if (strcmp(effective_value, "latest") == 0 ||
strcmp(effective_value, "newest") == 0 ||
strcmp(effective_value, "last") == 0 ||
strcmp(effective_value, "recent") == 0) {
criteria->urgent = 'l';
} else if (strcmp(effective_value, "oldest") == 0) {
} else if (strcmp(effective_value, "oldest") == 0 ||
strcmp(effective_value, "first") == 0) {
criteria->urgent = 'o';
} else {
error =
strdup("The value for 'urgent' must be 'latest' or 'oldest'");
strdup("The value for 'urgent' must be 'first', 'last', "
"'latest', 'newest', 'oldest' or 'recent'");
}
break;
case T_WORKSPACE:

View file

@ -612,7 +612,8 @@ The following attributes may be matched with:
currently focused window.
*urgent*
Compares the urgent state of the window. Can be "latest" or "oldest".
Compares the urgent state of the window. Can be "first", "last", "latest",
"newest", "oldest" or "recent".
*window\_role*
Compare against the window role (WM\_WINDOW\_ROLE). Can be a regular