From 42011d1734f582e4f18be22d550ae49f9e6fb02d Mon Sep 17 00:00:00 2001 From: cnjhb Date: Wed, 18 Mar 2026 09:38:19 +0800 Subject: [PATCH] fix(taglist): for property filter table filter interfere with property filter, so we need to remove table filter from the instance. --- lib/awful/widget/taglist.lua | 1 + tests/test-taglist.lua | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tests/test-taglist.lua diff --git a/lib/awful/widget/taglist.lua b/lib/awful/widget/taglist.lua index e5e41663f0..3ef32002bc 100644 --- a/lib/awful/widget/taglist.lua +++ b/lib/awful/widget/taglist.lua @@ -652,6 +652,7 @@ function taglist.new(args, filter, buttons, style, update_function, base_widget) }) gtable.crush(w, taglist, true) + rawset(w, "filter", nil) gtable.crush(w._private, { style = args.style or {}, diff --git a/tests/test-taglist.lua b/tests/test-taglist.lua new file mode 100644 index 0000000000..ecc8c9801e --- /dev/null +++ b/tests/test-taglist.lua @@ -0,0 +1,20 @@ +-- Test the taglist + +local awful = require "awful" +local runner = require "_runner" + +local taglist = awful.widget.taglist { + screen = screen[1], + filter = awful.widget.taglist.filter.all +} + + +runner.run_steps { + function() + return type(taglist.filter) == "function" + end, + function() + taglist.filter = awful.widget.taglist.filter.selected + return taglist.filter == awful.widget.taglist.filter.selected + end, +}