aboutsummaryrefslogtreecommitdiffstats
path: root/sway/criteria.c
diff options
context:
space:
mode:
authorLibravatar Tony Crisci <tony@dubstepdish.com>2018-03-29 23:41:33 -0400
committerLibravatar Tony Crisci <tony@dubstepdish.com>2018-03-29 23:41:33 -0400
commitdc8c9fbeb664518c76066cc28ee29452c6c30128 (patch)
tree88c2de0d08e00b2a30cb20cdfadfa6e53f5c59b4 /sway/criteria.c
parentMerge pull request #1653 from swaywm/revert-1647-refactor-tree (diff)
downloadsway-dc8c9fbeb664518c76066cc28ee29452c6c30128.tar.gz
sway-dc8c9fbeb664518c76066cc28ee29452c6c30128.tar.zst
sway-dc8c9fbeb664518c76066cc28ee29452c6c30128.zip
Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"
Diffstat (limited to 'sway/criteria.c')
-rw-r--r--sway/criteria.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sway/criteria.c b/sway/criteria.c
index 2eee331c..247f6b75 100644
--- a/sway/criteria.c
+++ b/sway/criteria.c
@@ -4,9 +4,9 @@
4#include <stdbool.h> 4#include <stdbool.h>
5#include <pcre.h> 5#include <pcre.h>
6#include "sway/criteria.h" 6#include "sway/criteria.h"
7#include "sway/container.h" 7#include "sway/tree/container.h"
8#include "sway/config.h" 8#include "sway/config.h"
9#include "sway/view.h" 9#include "sway/tree/view.h"
10#include "stringop.h" 10#include "stringop.h"
11#include "list.h" 11#include "list.h"
12#include "log.h" 12#include "log.h"
@@ -272,7 +272,7 @@ static int regex_cmp(const char *item, const pcre *regex) {
272} 272}
273 273
274// test a single view if it matches list of criteria tokens (all of them). 274// test a single view if it matches list of criteria tokens (all of them).
275static bool criteria_test(swayc_t *cont, list_t *tokens) { 275static bool criteria_test(struct sway_container *cont, list_t *tokens) {
276 if (cont->type != C_VIEW) { 276 if (cont->type != C_VIEW) {
277 return false; 277 return false;
278 } 278 }
@@ -398,7 +398,7 @@ void free_criteria(struct criteria *crit) {
398 free(crit); 398 free(crit);
399} 399}
400 400
401bool criteria_any(swayc_t *cont, list_t *criteria) { 401bool criteria_any(struct sway_container *cont, list_t *criteria) {
402 for (int i = 0; i < criteria->length; i++) { 402 for (int i = 0; i < criteria->length; i++) {
403 struct criteria *bc = criteria->items[i]; 403 struct criteria *bc = criteria->items[i];
404 if (criteria_test(cont, bc->tokens)) { 404 if (criteria_test(cont, bc->tokens)) {
@@ -408,7 +408,7 @@ bool criteria_any(swayc_t *cont, list_t *criteria) {
408 return false; 408 return false;
409} 409}
410 410
411list_t *criteria_for(swayc_t *cont) { 411list_t *criteria_for(struct sway_container *cont) {
412 list_t *criteria = config->criteria, *matches = create_list(); 412 list_t *criteria = config->criteria, *matches = create_list();
413 for (int i = 0; i < criteria->length; i++) { 413 for (int i = 0; i < criteria->length; i++) {
414 struct criteria *bc = criteria->items[i]; 414 struct criteria *bc = criteria->items[i];
@@ -424,7 +424,7 @@ struct list_tokens {
424 list_t *tokens; 424 list_t *tokens;
425}; 425};
426 426
427static void container_match_add(swayc_t *container, 427static void container_match_add(struct sway_container *container,
428 struct list_tokens *list_tokens) { 428 struct list_tokens *list_tokens) {
429 if (criteria_test(container, list_tokens->tokens)) { 429 if (criteria_test(container, list_tokens->tokens)) {
430 list_add(list_tokens->list, container); 430 list_add(list_tokens->list, container);
@@ -435,8 +435,8 @@ list_t *container_for_crit_tokens(list_t *tokens) {
435 struct list_tokens list_tokens = 435 struct list_tokens list_tokens =
436 (struct list_tokens){create_list(), tokens}; 436 (struct list_tokens){create_list(), tokens};
437 437
438 container_map(&root_container, 438 container_for_each_descendent(&root_container,
439 (void (*)(swayc_t *, void *))container_match_add, 439 (void (*)(struct sway_container *, void *))container_match_add,
440 &list_tokens); 440 &list_tokens);
441 441
442 // TODO look in the scratchpad 442 // TODO look in the scratchpad