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:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user