diff options
Diffstat (limited to 'src/match.c')
-rw-r--r-- | src/match.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/match.c b/src/match.c index a4ef05a3..6ac312e5 100644 --- a/src/match.c +++ b/src/match.c @@ -395,25 +395,36 @@ void match_parse_property(Match *match, const char *ctype, const char *cvalue) { return; } - if (strcmp(ctype, "tiling_auto") == 0) { + if (strcmp(ctype, "tiling_from") == 0 && + cvalue != NULL && + strcmp(cvalue, "auto") == 0) { match->window_mode = WM_TILING_AUTO; return; } - if (strcmp(ctype, "tiling_user") == 0) { + + if (strcmp(ctype, "tiling_from") == 0 && + cvalue != NULL && + strcmp(cvalue, "user") == 0) { match->window_mode = WM_TILING_USER; return; } - if (strcmp(ctype, "floating_auto") == 0) { - match->window_mode = WM_FLOATING_AUTO; + + if (strcmp(ctype, "floating") == 0) { + match->window_mode = WM_FLOATING; return; } - if (strcmp(ctype, "floating_user") == 0) { - match->window_mode = WM_FLOATING_USER; + + if (strcmp(ctype, "floating_from") == 0 && + cvalue != NULL && + strcmp(cvalue, "auto") == 0) { + match->window_mode = WM_FLOATING_AUTO; return; } - if (strcmp(ctype, "floating") == 0) { - match->window_mode = WM_FLOATING; + if (strcmp(ctype, "floating_from") == 0 && + cvalue != NULL && + strcmp(cvalue, "user") == 0) { + match->window_mode = WM_FLOATING_USER; return; } |