summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-07-16 18:22:27 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-07-16 18:22:27 +1000
commitaf5f736277559398d3d3df20adbb3a90ff88dbd0 (patch)
tree10c71509533639ec30cae568b067d9c159c5bb58
parentMark containers as urgent in IPC if they have urgent views (diff)
downloadsway-af5f736277559398d3d3df20adbb3a90ff88dbd0.tar.gz
sway-af5f736277559398d3d3df20adbb3a90ff88dbd0.tar.zst
sway-af5f736277559398d3d3df20adbb3a90ff88dbd0.zip
Render containers as urgent if they have an urgent child
-rw-r--r--sway/desktop/render.c12
-rw-r--r--sway/tree/workspace.c1
2 files changed, 9 insertions, 4 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index 3180f8ba..cb995215 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -611,11 +611,13 @@ static void render_container_tabbed(struct sway_output *output,
611 struct border_colors *colors; 611 struct border_colors *colors;
612 struct wlr_texture *title_texture; 612 struct wlr_texture *title_texture;
613 struct wlr_texture *marks_texture; 613 struct wlr_texture *marks_texture;
614 bool urgent = view ?
615 view_is_urgent(view) : container_has_urgent_child(child);
614 616
615 if (view && view_is_urgent(view)) { 617 if (urgent) {
616 colors = &config->border_colors.urgent; 618 colors = &config->border_colors.urgent;
617 title_texture = child->title_urgent; 619 title_texture = child->title_urgent;
618 marks_texture = view->marks_urgent; 620 marks_texture = view ? view->marks_urgent : NULL;
619 } else if (cstate->focused || parent_focused) { 621 } else if (cstate->focused || parent_focused) {
620 colors = &config->border_colors.focused; 622 colors = &config->border_colors.focused;
621 title_texture = child->title_focused; 623 title_texture = child->title_focused;
@@ -678,11 +680,13 @@ static void render_container_stacked(struct sway_output *output,
678 struct border_colors *colors; 680 struct border_colors *colors;
679 struct wlr_texture *title_texture; 681 struct wlr_texture *title_texture;
680 struct wlr_texture *marks_texture; 682 struct wlr_texture *marks_texture;
683 bool urgent = view ?
684 view_is_urgent(view) : container_has_urgent_child(child);
681 685
682 if (view && view_is_urgent(view)) { 686 if (urgent) {
683 colors = &config->border_colors.urgent; 687 colors = &config->border_colors.urgent;
684 title_texture = child->title_urgent; 688 title_texture = child->title_urgent;
685 marks_texture = view->marks_urgent; 689 marks_texture = view ? view->marks_urgent : NULL;
686 } else if (cstate->focused || parent_focused) { 690 } else if (cstate->focused || parent_focused) {
687 colors = &config->border_colors.focused; 691 colors = &config->border_colors.focused;
688 title_texture = child->title_focused; 692 title_texture = child->title_focused;
diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c
index 00b479ec..622f01ec 100644
--- a/sway/tree/workspace.c
+++ b/sway/tree/workspace.c
@@ -526,5 +526,6 @@ void workspace_detect_urgent(struct sway_container *workspace) {
526 if (workspace->sway_workspace->urgent != new_urgent) { 526 if (workspace->sway_workspace->urgent != new_urgent) {
527 workspace->sway_workspace->urgent = new_urgent; 527 workspace->sway_workspace->urgent = new_urgent;
528 ipc_event_workspace(NULL, workspace, "urgent"); 528 ipc_event_workspace(NULL, workspace, "urgent");
529 container_damage_whole(workspace);
529 } 530 }
530} 531}