2. Main display

2.1. Panels

The 4 main panels

The main window is divided into four panels, as numbered in the screenshot above.

  • 1: the quick selection panel contains a tree view that provides one-click access to dynamic lists of messages.
  • 2: the current list of messages, or result list, typically obtained by clicking on an item in the quick selection panel or by the Selection->New query command.
  • 3: the contents of the message that is currently selected, if any.
  • 4: the tags panel, to add or remove tags from the currently selected messages. If not needed, it can be hidden by unchecking Display->Tags panel in the menu bar.

2.2. The quick selection panel

This panel is laid out as a tree structure. Each leaf is internally associated to a query; when the user selects a tree item, the associated query is run, and a new page is shown with the resulting list of messages. Each leaf is a selector.

The quick selection panel

The numbers inside parentheses represent the estimated number of messages matched by the selector. Bold text indicates that some of them are unread. Within the branch of current messages, when there are two numbers separated by a < (left than) sign, the one at the left is a count of current messages, and the one at the right is a count of unread messages. For example, in the screenshot, the branch Current messages->Tagged->qt-interest has 39 current messages, including 28 unread.

The built-in branches are:

  • Unread messages->All: messages that have never been read.

  • Current messages groups selectors for non-archived messages. These are messages that need to be acted upon in a near future. Current is a synonym for "non-archived" or "not yet processed".

  • Current messages->Tagged: messages to which a tag has been assigned. Each tag for which there is at least one current message is displayed in this branch. When tags are part of a hierarchy, the hierarchy is displayed as flattened text in a single line, with a right arrow representing the parent->child relationship.

  • Current messages->Prioritized: messages that are curent and have a priority field whose value is greater or equal than 1.

  • Current messages->Not tagged: messages to which no tag has been assigned.

  • Archived tagged mail: messages that have a least one tag assigned to them, and have been archived. There are no counters computed for these leafs for performance reason, since it is expected that the number of archived messages may be huge.

  • Sent mail: messages that have their status "sent" flag set to "Yes".

  • Trashcan: messages that have their status "trashed" flag set to "Yes".

  • User queries: queries that have been saved in the Query Selection by the Selection->Save Query command or set up by an administrator. Every built-in selector mentioned above could also have been created as a query with the corresponding SQL statement.

Important

Contrary to folders in traditional mail programs, selectors aren't necessarily mutually exclusive. In particular, new messages are also current, and the All selector will obviously include the results of the more specialized Prioritized, or Not tagged selectors.

2.3. The result list

The list can display the following message fields: subject, sender, status (icon), priority, attachment (icon), note (icon), and date. The messages are grouped by threads (also called conversations) unless Display->Threaded is unchecked.

Columns can be removed by unchecking their name in the popup that appears when right-clicking on the header titles. They can also be moved by sliding their titles right or left with the mouse (while keeping the mouse button pressed). Clicking on a column title also sorts the list by that column (if threading display is enabled, messages belonging to the same thread are still grouped together). The positions and sizes of the columns are saved in the database in the current configuration by the Display->Store settings command.

Table V.1, “Status icons” lists the icons that can be displayed in the messages list.

Table V.1. Status icons

New message (unread)
Message read, but not yet processed
Archived message (processed)
The message has been replied to (processed)
The message has been forwarded
The message has been moved to the trash can
The message has been sent
The message is waiting to be sent (transient state)


2.4. Windows and pages

2.4.1. Pages

The interface displays lists of messages in pages between which the user can navigate with Move back and Move forward commands (bound to alt-left and alt-right keys), like in a web browser. When a new set of results is requested, a new page is opened, replacing the list of messages previously on screen. Other pages can be instantly displayed back on screen by moving through pages, back and forward.

These commands are meant to let the user navigate rapidly through lists of messages. Example: a message currently on screen is from john.doe@domain.tld. The user right clicks on the subject line and choose the Last 10 messages from john.doe@domain.tld command. The program then opens a new page with the results. The user wades through the results, and when done, comes back to the previous page by issuing Move back. The display and selection will then be restored as they were before the Last 10 messages... command was issued.

The number of pages that are kept in memory is a configuration parameter named "msg_window_pages" which defaults to 5. It means that when a new page is opened while there are already five result pages in memory, the older page (number 1) is removed from the memory to get room for the new one. The page number 2 becomes number 1, 3 becomes 2, and so on.

When a new page is opened while there are other pages after it, the new page becomes the tail of the pages list, which means that the pages that were after can no longer be accessed with the Move forward command. This matches web browsers behavior.

2.4.2. Windows

A new window with an entirely new set of pages (initially blank) can be opened with the File->New window command. Different windows are manipulated completely independently from each other, except that when several windows show the same message, a status change or a deletion of that message is visually propagated to all windows.