diff options
Diffstat (limited to 'sway/desktop/render.c')
-rw-r--r-- | sway/desktop/render.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 3ee719b6..fd42cbbb 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c @@ -39,6 +39,8 @@ struct render_data { struct decoration_data get_undecorated_decoration_data() { return (struct decoration_data) { .alpha = 1.0f, + .dim = 0.0f, + .dim_color = config->dim_inactive_colors.unfocused, .corner_radius = 0, .saturation = 1.0f, .has_titlebar = false, @@ -945,6 +947,10 @@ static void render_containers_linear(struct sway_output *output, bool has_titlebar = state->border == B_NORMAL; struct decoration_data deco_data = { .alpha = child->alpha, + .dim_color = view_is_urgent(view) + ? config->dim_inactive_colors.urgent + : config->dim_inactive_colors.unfocused, + .dim = child->current.focused ? 0.0f: config->dim_inactive, // no corner radius if smart gaps are on and only visible view .corner_radius = config->smart_gaps == SMART_GAPS_ON && view_ancestor_is_only_visible(view) ? 0 : child->corner_radius, @@ -1038,6 +1044,10 @@ static void render_containers_tabbed(struct sway_output *output, if (current->view) { struct decoration_data deco_data = { .alpha = current->alpha, + .dim_color = view_is_urgent(current->view) + ? config->dim_inactive_colors.urgent + : config->dim_inactive_colors.unfocused, + .dim = current->current.focused ? 0.0f: config->dim_inactive, .corner_radius = current->corner_radius, .saturation = current->saturation, .has_titlebar = true, @@ -1107,6 +1117,10 @@ static void render_containers_stacked(struct sway_output *output, if (current->view) { struct decoration_data deco_data = { .alpha = current->alpha, + .dim_color = view_is_urgent(current->view) + ? config->dim_inactive_colors.urgent + : config->dim_inactive_colors.unfocused, + .dim = current->current.focused ? 0.0f: config->dim_inactive, .saturation = current->saturation, .corner_radius = current->corner_radius, .has_titlebar = true, @@ -1203,6 +1217,10 @@ static void render_floating_container(struct sway_output *soutput, bool has_titlebar = state->border == B_NORMAL; struct decoration_data deco_data = { .alpha = con->alpha, + .dim_color = view_is_urgent(view) + ? config->dim_inactive_colors.urgent + : config->dim_inactive_colors.unfocused, + .dim = con->current.focused ? 0.0f: config->dim_inactive, .saturation = con->saturation, .corner_radius = con->corner_radius, .has_titlebar = has_titlebar, @@ -1355,6 +1373,10 @@ void output_render(struct sway_output *output, struct timespec *when, if (focus && focus->view) { struct decoration_data deco_data = { .alpha = focus->alpha, + .dim_color = view_is_urgent(focus->view) + ? config->dim_inactive_colors.urgent + : config->dim_inactive_colors.unfocused, + .dim = focus->current.focused ? 0.0f: config->dim_inactive, .corner_radius = focus->corner_radius, .saturation = focus->saturation, .has_titlebar = focus->current.border == B_NORMAL, |