7.9.4 Agent Visuals

If you open a summary while unplugged and, Gnus knows from the group’s active range that there are more articles than the headers currently stored in the Agent, you may see some articles whose subject looks something like ‘[Undownloaded article #####]’. These are placeholders for the missing headers. Aside from setting a mark, there is not much that can be done with one of these placeholders. When Gnus finally gets a chance to fetch the group’s headers, the placeholders will automatically be replaced by the actual headers. You can configure the summary buffer’s maneuvering to skip over the placeholders if you care (See gnus-auto-goto-ignores).

While it may be obvious to all, the only headers and articles available while unplugged are those headers and articles that were fetched into the Agent while previously plugged. To put it another way, “If you forget to fetch something while plugged, you might have a less than satisfying unplugged session”. For this reason, the Agent adds two visual effects to your summary buffer. These effects display the download status of each article so that you always know which articles will be available when unplugged.

The first visual effect is the ‘%O’ spec. If you customize gnus-summary-line-format to include this specifier, you will add a single character field that indicates an article’s download status. Articles that have been fetched into either the Agent or the Cache, will display gnus-downloaded-mark (defaults to ‘+’). All other articles will display gnus-undownloaded-mark (defaults to ‘-’). If you open a group that has not been agentized, a space (‘ ’) will be displayed.

The second visual effect are the undownloaded faces. The faces, there are three indicating the article’s score (low, normal, high), seem to result in a love/hate response from many Gnus users. The problem is that the face selection is controlled by a list of condition tests and face names (See gnus-summary-highlight). Each condition is tested in the order in which it appears in the list so early conditions have precedence over later conditions. All of this means that, if you tick an undownloaded article, the article will continue to be displayed in the undownloaded face rather than the ticked face.

If you use the Agent as a cache (to avoid downloading the same article each time you visit it or to minimize your connection time), the undownloaded face will probably seem like a good idea. The reason being that you do all of our work (marking, reading, deleting) with downloaded articles so the normal faces always appear. For those users using the agent to improve online performance by caching the NOV database (most users since 5.10.2), the undownloaded faces may appear to be an absolutely horrible idea. The issue being that, since none of their articles have been fetched into the Agent, all of the normal faces will be obscured by the undownloaded faces.

If you would like to use the undownloaded faces, you must enable the undownloaded faces by setting the agent-enable-undownloaded-faces group parameter to t. This parameter, like all other agent parameters, may be set on an Agent Category (see Agent Categories), a Group Topic (see Topic Parameters), or an individual group (see Group Parameters).

The one problem common to all users using the agent is how quickly it can consume disk space. If you using the agent on many groups, it is even more difficult to effectively recover disk space. One solution is the ‘%F’ format available in gnus-group-line-format. This format will display the actual disk space used by articles fetched into both the agent and cache. By knowing which groups use the most space, users know where to focus their efforts when “agent expiring” articles.