2. Reading News With Olive

(Getting Started) Prev | Index | Next (Setting Options)


2.1 The User Interface

Olive does not mimic GUI-style user interfaces by implementing text-based menus, controls, and the like. Instead it takes programs like mutt as its inspiration and stays out of your way as much as possible. Transient panels and message dialogues aside, the Olive UI is composed of 4 components (listed here top-to-bottomly): Title Bar, List Pane, Status Line, and Story Pane. Only the List Pane and Story Pane can be interacted with in any meaningful way.

Focus is shifted between the List Pane and Story Pane with the 'w' key, but this is rarely needed anymore.

2.1.1 The Titlebar

The titlebar is simply the top line of the window, used to display Olive's name and version number in white-on-blue text.

  |
  | Olive b7                                                  
  |

You can hide the titlebar and have this line of screen real-estate for your own use. See Section 3.2.4 for details on how to do this.

2.1.2 List Pane

The top half of Olive's window is used by the List Pane. This is where the stories from the feeds currently in your feed list are displayed, one story per line. Each line displays the following information:

  1. Title (taken from RSS data)
  2. Feed nickname (taken from feed config)
  3. Age (time since posting, taken from RSS data)
  4. Starred indicator
  5. Read/Unread indicator

Stories are sorted as follows:

  1. New or Unread stories, sorted oldest-to-newest by age
  2. Old stories, sorted newest-to-oldest by age

If there are both new and old stories present in the list, a separator line of dashes will be displayed between them.

                  TITLE                       FEED         AGE   S U
    |------ (Width - 29 chars) -------| |-- 16 chars --| |- 7 -| 1 1

  | Martian rover rolls free of trap    BBC News         00h 52m   @
  | Pacman comes to life virtually      BBC News         00h 38m * @ 
  | Many dead in Nepalese bus blast     BBC News         00h 12m   @
  | ----------------------------------------------------------------
  | China dismisses US Tiananmen call   BBC News         03h 38m * -
  | Japanese firms raise investment     BBC News         04h 12m   -

The age field displays 'HHh MMm' for stories less than one day old, 'DDd HHh' for stories between 1 and 100 days old, '___+99d' for stories 100 or more days old, and '____???' for stories with no date (or invalid dates) in their RSS data.

The Starred indicator displays '*' for stories you have flagged as starred and nothing for stories which are unstarred. See Section 2.4 for more information on this.

The Read/Unread indicator displays '@' for unread stories and '-' for stories which you have already read. As you read stories, they will remain in place among the new stories until the next feed poll (see Section 3.3) occurs; they will then be sorted with the old stories.

The list cursor is displayed as a bolded reverse-video bar spanning the width of the pane.

  | Martian rover rolls free of trap    BBC News         00h 52m   @
  | Pacman comes to life virtually      BBC News         00h 38m * @ 
  | Many dead in Nepalese bus blast     BBC News         00h 12m   @
  | --------------------------------------------------------------
  | China dismisses US Tiananmen call   BBC News         03h 38m * -
  | Japanese firms raise investment     BBC News         04h 12m   -

When the cursor is moved from the currently selected story, that story is displayed in bold face:

  | Martian rover rolls free of trap    BBC News         00h 52m   @
  | Pacman comes to life virtually      BBC News         00h 38m * @ 
  | Many dead in Nepalese bus blast     BBC News         00h 12m   @
  | --------------------------------------------------------------
  | China dismisses US Tiananmen call   BBC News         03h 38m * -
  | Japanese firms raise investment     BBC News         04h 12m   -

The cursor will return to the top of the list when a feed poll occurs.

2.1.3 The Status Line

Between the List Pane and the Story Pane sits the Status Line. It is a single line which displays various and sundry informational mesasges for you. It cannot be turned off, but its behavior can be modified.

Most of the status line is taken up by the Staus Area. If enabled as per Section 3.2.1, the Status Area will display a message in the following format when no other activity is happening:

  |
  | [S: 1/175] [U/N: 21/21] [P: 5 @ 05:45 | 6 since 02:41] [F: F,S]     
  |

It is read as follows:

[S: n/n]
Story count. The first number is the number (in the story list) of the location of the list cursor. The second number is the total number of stories in the list.
[U/N: n/n]
Unread/New count. The first number is how many unread stories remain in the list. The second number is now many new stories are currently in the list.
[P: n @ HH:MM | n since HH:MM]
Polling data. The data on the left side of the pipe is how many feeds were refreshed during the last poll, and the time at which that poll occurred. The date on the right side is how many feeds total have been refreshed since the last user activity (presently defined as "reading a story").
[F: X,Y,..Z]
Filter status. The comma-separated list of letters indicated which filters are active. Current possible values are F for flagged feeds and S for starred stories. If no filters are active, this block will not display at all.

When polling is active, the Status Area displays brief messages about the polling process (Checking..., Fetching..., etc.) for each feed being polled. When the Story Pane is focused, the Status Area displays the title (the actual title, taken from the feed, not the nickname displayed in the story list) of the feed from which the currently selected story is taken.

The rightmost character of the Status Line is the Focus Pointer. It simply points to whichever of the the List Pane (^) or the Story Pane (V) is focused.

2.1.4 Story Pane

The bottom half of Olive's window is used by the Story Pane. This is where the content of (and some other information from) the currently selected story is displayed.

  |             Story Title
  |             -----------
  |
  | -- Header
  |
  | Lorem ipsum dolor sit amet, consectetuer 
  | adipiscing elit. Vivamus rhoncus libero. 
  |
  | Aenean sit amet risus sed felis molestie 
  | hendrerit. Pellentesque feugiat mauris.
  |
  | -- 
  | http://someurl/pathto/story.html

2.1.5 Searching

The List and Story panes, as well as the feed Edit and Remove panels, have capabilities much like those of the Unix utility less.

2.2 Reading The News

The selection cursor in the List Pane is moved one line at a time with the up and down arrow keys or the 'j' and 'k' keys, Pressing Enter selects the current story and causes its contents to be loaded into the Story Pane.

Cursor movement and story selection functions are combined in the '[' and ']' keys, which select the previous and next stories,respectively.

The cursor can also be moved one screen at a time with PgUp and PgDn, or to the top and bottom of the list with Home and End.

Individual stories can be marked or unmarked as read with the 'm' and 'u' keys. All stories can be marked/unmarked at once with 'M' and 'U'.

When the Story Pane is focused, the story text can be scrolled one line up or down with the arrow keys or the 'j' and 'k' keys. It can also be scrolled one screen at a time with PgUp and PgDn, or to the top and bottom with Home and End.

2.3 Link Handling

Nearly all stories will have a single link URL attached to them which leads to a fuller or permanent copy of the story from the feed. This URL is displayed after the story text, and can be followed by pressing the 'l' (ell) key.

Some news stories have URLs embedded in their content, in addition to the dedicated link URL. These can be accessed by pressing 'L', which will pop up a Linklist in the top-right corner of the Olive window.

    .[ Linklist ]-----------------------------------.
    |                                               |
    | [ 6] permalink                               ||
    | [ 7] incorporated                            ||
    | [ 8] entry                                   #|
    | [ 9] discovery                               #|
    | [10] Patrick Stewart                         #|
    | [11] Circulating intentional data            ||
    |                                               |
    |                                    < Cancel > |
    |                                               |
    '-----------------------------------------------'

The numbers correspond to markers which are placed in the story text, as in:

    On the test version of the catalog he has [incorporated][7]
    tagging, which he discusses in a recent [entry][8] on his blog.

Select a link with the Up/Down arrow keys and press Enter to launch an external browser session with the URL of that link as the target. If Global Story Paging has not been disabled, the story text can be paged while the Linklist is displayed. The linklist will be dismissed when you Tab to the "Cancel" button and press Enter.

2.4 Starred Stories and Flagged Feeds

Olive has a pair of selector mechanisms to help you separate the wheat from the chaff in your newsreading: starring stories and flagging feeds.

Starred stories will remain in your story list even after they have "fallen off" the feed they were sourced from. This lets you force stories to stick around if you need them for later reference. The star flag of a story is toggled on/off with the 's' key. Once unstarred, a story will be removed from the story database if it is no longer in the feed it came from. The secondary effect of starring stories is that you can filter the story list to show only the currently starred stories with the 'S' key.

Unlike starred stories, which are immortal, There is nothing special about flagged feeds except that you have "flagged" them as special in some way. For instance, I flag the feeds which belong to journals of my friends, marking them as distinct from the general news feeds I subscribe to. The story list can be filtered to show only stories from flagged feeds with the 'F' key. See Section 4.1 for information on flagging feeds.

The current filtering status will be shown in the Status Area of the Status Line when filtering is active.


(Getting Started) Prev | Index | Next (Setting Options)


$Id: news.html 368 2006-01-05 01:20:15Z mdxi $