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_)) {
|
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user