From 6b8c10dcd45c8fb1cc25bfc671b373c491837044 Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Mon, 7 Mar 2022 21:18:23 +0000 Subject: [PATCH] view: show fullscreen views above top-layer See https://github.com/LBCrion/sfwbar/issues/24 --- include/ssd.h | 2 +- src/view.c | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/ssd.h b/include/ssd.h index fed6ba0c..74bc535c 100644 --- a/include/ssd.h +++ b/include/ssd.h @@ -8,7 +8,7 @@ #define SSD_HEIGHT 26 /* TODO: use theme->title_height */ #define BUTTON_COUNT 4 #define BUTTON_WIDTH 26 -#define EXTENDED_AREA 20 +#define EXTENDED_AREA 8 #define FOR_EACH(tmp, ...) \ { \ diff --git a/src/view.c b/src/view.c index 0bf04693..4d661e04 100644 --- a/src/view.c +++ b/src/view.c @@ -295,6 +295,9 @@ view_set_fullscreen(struct view *view, bool fullscreen, wlr_foreign_toplevel_handle_v1_set_fullscreen( view->toplevel_handle, fullscreen); } + if (!wlr_output) { + wlr_output = view_wlr_output(view); + } if (fullscreen) { if (!view->maximized) { view->unmaximized_geometry.x = view->x; @@ -302,10 +305,6 @@ view_set_fullscreen(struct view *view, bool fullscreen, view->unmaximized_geometry.width = view->w; view->unmaximized_geometry.height = view->h; } - - if (!wlr_output) { - wlr_output = view_wlr_output(view); - } view->fullscreen = wlr_output; view_apply_fullscreen_geometry(view, view->fullscreen); } else { @@ -317,6 +316,12 @@ view_set_fullscreen(struct view *view, bool fullscreen, } view->fullscreen = false; } + + /* Show fullscreen views above top-layer */ + struct output *output = + output_from_wlr_output(view->server, wlr_output); + uint32_t top = ZWLR_LAYER_SHELL_V1_LAYER_TOP; + wlr_scene_node_set_enabled(&output->layer_tree[top]->node, !fullscreen); } void