From 6441bd58f32c57afb48d70b6e9c35c6431042380 Mon Sep 17 00:00:00 2001 From: tokyo4j Date: Sat, 2 Aug 2025 21:11:12 +0900 Subject: [PATCH] view: don't use bitset for VIEW_EDGE_ALL We will use bitset for views snapped to corner (e.g. top-left = TOP|LEFT) --- include/view.h | 4 +--- src/view.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/view.h b/include/view.h index 6b2ccdb6..240d1f7d 100644 --- a/include/view.h +++ b/include/view.h @@ -72,9 +72,7 @@ enum view_edge { VIEW_EDGE_UP = (1 << 2), VIEW_EDGE_DOWN = (1 << 3), VIEW_EDGE_CENTER = (1 << 4), - - VIEW_EDGE_ALL = (VIEW_EDGE_LEFT | VIEW_EDGE_RIGHT | - VIEW_EDGE_UP | VIEW_EDGE_DOWN | VIEW_EDGE_CENTER), + VIEW_EDGE_ANY = (1 << 5), }; enum view_wants_focus { diff --git a/src/view.c b/src/view.c index f1ffa85c..4f9345d5 100644 --- a/src/view.c +++ b/src/view.c @@ -169,8 +169,14 @@ view_matches_query(struct view *view, struct view_query *query) return false; } - if (query->tiled != VIEW_EDGE_INVALID && !(query->tiled & view->tiled)) { - return false; + if (query->tiled == VIEW_EDGE_ANY) { + if (!view->tiled) { + return false; + } + } else if (query->tiled != VIEW_EDGE_INVALID) { + if (query->tiled != view->tiled) { + return false; + } } const char *tiled_region = @@ -2136,7 +2142,7 @@ view_edge_parse(const char *direction, bool tiled, bool any) if (any) { if (!strcasecmp(direction, "any")) { - return VIEW_EDGE_ALL; + return VIEW_EDGE_ANY; } } -- 2.52.0