Here's some code that lets you hide groups when they have just a few unread articles. You can set the threshold on a per-topic and/or per-group basis. I use levels to separate my groups by priority but I am subscribed to a lot of groups so each level contains a lot of groups. I'm easily distracted so I wanted a way to hide groups without many unread articles. That way when I check for new messages I don't end up reading two or three articles in each of 25 groups. Instead I generally end up reading one or two groups with 25 articles each. It requires a small patch to gnus-group.el which allows you to specify the predicate to use in the funcall to gnus-group-prepare-function. That's the first attachment. The second attachment does the rest of the work. You get a new group parameter called gnus-distraction-threshold. If a group has fewer than gnus-distraction-threshold unread articles, it won't be displayed. gnus-distraction-threshold defaults to 1 so nothing should change unless you set the threshold somewhere. As with any group parameter you can set it for a topic and have it apply to all groups in the topic. By default groups with ticked articles are always displayed. Two key bindings are turned on in the Group buffer: - C-cd toggles distraction prevention on and off - C-ct toggles the display of groups with ticked articles I've only been playing with this for a few days so comments and suggestions are very welcome!