added check for background layer in render_layer iterator
This commit is contained in:
parent
7f78901153
commit
7d2e2bf832
2 changed files with 4 additions and 5 deletions
|
@ -201,7 +201,8 @@ void output_layer_for_each_toplevel_surface(struct sway_output *output,
|
||||||
layer_surface->layer_surface;
|
layer_surface->layer_surface;
|
||||||
|
|
||||||
struct render_data *data = user_data;
|
struct render_data *data = user_data;
|
||||||
data->deco_data.blur = layer_surface->has_blur;
|
data->deco_data.blur = layer_surface->layer != ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND ?
|
||||||
|
layer_surface->has_blur : false;
|
||||||
data->deco_data.shadow = layer_surface->has_shadow;
|
data->deco_data.shadow = layer_surface->has_shadow;
|
||||||
data->deco_data.corner_radius = layer_surface->corner_radius;
|
data->deco_data.corner_radius = layer_surface->corner_radius;
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
#include "sway/desktop/fx_renderer/fx_renderer.h"
|
#include "sway/desktop/fx_renderer/fx_renderer.h"
|
||||||
#include "sway/input/input-manager.h"
|
#include "sway/input/input-manager.h"
|
||||||
#include "sway/input/seat.h"
|
#include "sway/input/seat.h"
|
||||||
#include "sway/layers.h"
|
|
||||||
#include "sway/output.h"
|
#include "sway/output.h"
|
||||||
#include "sway/server.h"
|
#include "sway/server.h"
|
||||||
#include "sway/tree/arrange.h"
|
#include "sway/tree/arrange.h"
|
||||||
|
@ -784,8 +783,7 @@ static void render_saved_view(struct sway_view *view, struct sway_output *output
|
||||||
enum wl_output_transform transform = wlr_output_transform_invert(saved_buf->transform);
|
enum wl_output_transform transform = wlr_output_transform_invert(saved_buf->transform);
|
||||||
wlr_matrix_project_box(matrix, &proj_box, transform, 0, wlr_output->transform_matrix);
|
wlr_matrix_project_box(matrix, &proj_box, transform, 0, wlr_output->transform_matrix);
|
||||||
|
|
||||||
struct sway_container *con = view->container;
|
struct sway_container_state state = view->container->current;
|
||||||
struct sway_container_state state = con->current;
|
|
||||||
dst_box.x = state.x - output->lx;
|
dst_box.x = state.x - output->lx;
|
||||||
dst_box.y = state.y - output->ly;
|
dst_box.y = state.y - output->ly;
|
||||||
dst_box.width = state.width;
|
dst_box.width = state.width;
|
||||||
|
@ -814,7 +812,7 @@ static void render_saved_view(struct sway_view *view, struct sway_output *output
|
||||||
wlr_box_transform(&monitor_box, &monitor_box,
|
wlr_box_transform(&monitor_box, &monitor_box,
|
||||||
wlr_output_transform_invert(wlr_output->transform), monitor_box.width, monitor_box.height);
|
wlr_output_transform_invert(wlr_output->transform), monitor_box.width, monitor_box.height);
|
||||||
struct wlr_fbox src_box = wlr_fbox_from_wlr_box(&monitor_box);
|
struct wlr_fbox src_box = wlr_fbox_from_wlr_box(&monitor_box);
|
||||||
bool should_optimize_blur = !container_is_floating(con);
|
bool should_optimize_blur = !container_is_floating(view->container) || config->blur_xray;
|
||||||
render_blur(should_optimize_blur, output, damage, &src_box, &dst_box, &opaque_region,
|
render_blur(should_optimize_blur, output, damage, &src_box, &dst_box, &opaque_region,
|
||||||
saved_buf->width, saved_buf->height, 1, deco_data.corner_radius, deco_data.has_titlebar);
|
saved_buf->width, saved_buf->height, 1, deco_data.corner_radius, deco_data.has_titlebar);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue