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.
This commit is contained in:
Austin Horstman
2026-07-05 10:23:58 -05:00
parent cbad42bc9b
commit ebbc7ea4dc
+5 -5
View File
@@ -290,14 +290,14 @@ void Task::hide_if_ignored() {
if (tbar_->ignore_list().count(app_id_) || tbar_->ignore_list().count(title_)) { if (tbar_->ignore_list().count(app_id_) || tbar_->ignore_list().count(title_)) {
ignored_ = true; ignored_ = true;
hide_button(); hide_button();
return;
} }
if (!ignored_ && !squashed_) { if (ignored_) {
bool is_was_ignored = ignored_; /* The app_id/title changed to a value that is no longer ignored */
ignored_ = false; ignored_ = false;
if (is_was_ignored) { if (!squashed_ && (tbar_->all_outputs() || on_bar_output_)) {
auto output = gdk_wayland_monitor_get_wl_output(bar_.output->monitor->gobj()); show_button();
handle_output_enter(output);
} }
} }
} }