From f22c9379530ebaacefcc337714cc2a5fe0db8902 Mon Sep 17 00:00:00 2001 From: minus Date: Tue, 25 Aug 2015 18:24:15 +0200 Subject: refactored view visibility - replace visibilty mask integers with an enum - set output's visibilty mask on creation - added update_visibility to manually update a containers visibility (e.g. when it moved to an invisible workspace) --- sway/focus.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'sway/focus.c') diff --git a/sway/focus.c b/sway/focus.c index e369de30..823eefa2 100644 --- a/sway/focus.c +++ b/sway/focus.c @@ -28,12 +28,11 @@ static void update_focus(swayc_t *c) { if (parent->focused) { swayc_t *ws = parent->focused; // hide visibility of old workspace - uint32_t mask = 1; + uint32_t mask = INVISIBLE; container_map(ws, set_view_visibility, &mask); // set visibility of new workspace - mask = 2; + mask = VISIBLE; container_map(c, set_view_visibility, &mask); - wlc_output_set_mask(parent->handle, 2); destroy_workspace(ws); } break; @@ -45,8 +44,8 @@ static void update_focus(swayc_t *c) { // for example, stacked and tabbing change stuff. break; } + c->parent->focused = c; } - c->parent->focused = c; } bool move_focus(enum movement_direction direction) { -- cgit v1.2.3 From ca89ba83a8adf392ba3409f18d3af2545d69b034 Mon Sep 17 00:00:00 2001 From: minus Date: Tue, 25 Aug 2015 20:13:35 +0200 Subject: changed view visibility to be bool view_visibility enum remains with one constant that is the mask to wlc's view masking --- sway/focus.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sway/focus.c') diff --git a/sway/focus.c b/sway/focus.c index 823eefa2..1086f1a8 100644 --- a/sway/focus.c +++ b/sway/focus.c @@ -28,11 +28,11 @@ static void update_focus(swayc_t *c) { if (parent->focused) { swayc_t *ws = parent->focused; // hide visibility of old workspace - uint32_t mask = INVISIBLE; - container_map(ws, set_view_visibility, &mask); + bool visible = false; + container_map(ws, set_view_visibility, &visible); // set visibility of new workspace - mask = VISIBLE; - container_map(c, set_view_visibility, &mask); + visible = true; + container_map(c, set_view_visibility, &visible); destroy_workspace(ws); } break; -- cgit v1.2.3