commit af5f736277559398d3d3df20adbb3a90ff88dbd0
parent be28c18ad5a3271aad537a5356662d57f16d9703
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date: Mon, 16 Jul 2018 18:22:27 +1000
Render containers as urgent if they have an urgent child
Diffstat:
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
@@ -611,11 +611,13 @@ static void render_container_tabbed(struct sway_output *output,
struct border_colors *colors;
struct wlr_texture *title_texture;
struct wlr_texture *marks_texture;
+ bool urgent = view ?
+ view_is_urgent(view) : container_has_urgent_child(child);
- if (view && view_is_urgent(view)) {
+ if (urgent) {
colors = &config->border_colors.urgent;
title_texture = child->title_urgent;
- marks_texture = view->marks_urgent;
+ marks_texture = view ? view->marks_urgent : NULL;
} else if (cstate->focused || parent_focused) {
colors = &config->border_colors.focused;
title_texture = child->title_focused;
@@ -678,11 +680,13 @@ static void render_container_stacked(struct sway_output *output,
struct border_colors *colors;
struct wlr_texture *title_texture;
struct wlr_texture *marks_texture;
+ bool urgent = view ?
+ view_is_urgent(view) : container_has_urgent_child(child);
- if (view && view_is_urgent(view)) {
+ if (urgent) {
colors = &config->border_colors.urgent;
title_texture = child->title_urgent;
- marks_texture = view->marks_urgent;
+ marks_texture = view ? view->marks_urgent : NULL;
} else if (cstate->focused || parent_focused) {
colors = &config->border_colors.focused;
title_texture = child->title_focused;
diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c
@@ -526,5 +526,6 @@ void workspace_detect_urgent(struct sway_container *workspace) {
if (workspace->sway_workspace->urgent != new_urgent) {
workspace->sway_workspace->urgent = new_urgent;
ipc_event_workspace(NULL, workspace, "urgent");
+ container_damage_whole(workspace);
}
}