summaryrefslogtreecommitdiff
path: root/sway/desktop/render.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/desktop/render.c')
-rw-r--r--sway/desktop/render.c22
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,