From ebbc7ea4dc8ab397704ec6dc25e3ebd6ce16a4bf Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 5 Jul 2026 10:23:58 -0500 Subject: [PATCH] fix(wlr/taskbar): re-show task when it no longer matches ignore-list The un-ignore branch in hide_if_ignored() computed is_was_ignored after the enclosing condition already required ignored_ to be false, so it never ran, and a task whose app_id/title changed away from an ignore-list entry stayed hidden forever. Reset ignored_ and show the button again, subject to the same all-outputs/output-membership check used everywhere else. --- src/modules/wlr/taskbar.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/modules/wlr/taskbar.cpp b/src/modules/wlr/taskbar.cpp index 1bba7dd8..34960624 100644 --- a/src/modules/wlr/taskbar.cpp +++ b/src/modules/wlr/taskbar.cpp @@ -290,14 +290,14 @@ void Task::hide_if_ignored() { if (tbar_->ignore_list().count(app_id_) || tbar_->ignore_list().count(title_)) { ignored_ = true; hide_button(); + return; } - if (!ignored_ && !squashed_) { - bool is_was_ignored = ignored_; + if (ignored_) { + /* The app_id/title changed to a value that is no longer ignored */ ignored_ = false; - if (is_was_ignored) { - auto output = gdk_wayland_monitor_get_wl_output(bar_.output->monitor->gobj()); - handle_output_enter(output); + if (!squashed_ && (tbar_->all_outputs() || on_bar_output_)) { + show_button(); } } }