It's a news (NNTP) and Feeds (RSS/Atom) downloader and reader. It is organised as follows:

The usual NNTP servers is gmane. Feed servers may require an Elisp code to be supported (Atom particulary) and can be found in any Web page.

Groups have a DNS-like name, ex.: (the name is inverted as the original DNS were thought).

Summary buffer

Mark reference.

 !  Important      
 ?  Dormant        
 R  Read           
 r  Marked as read 
 O  Old            
 E  Expirable      
Table 1: Mark reference table.

Group buffer

Keyboard in Group buffer:

 L  list-all-groups          
 t  topic-mode               
 c  catchup-current          
 u  unsuscribe-current-group 
 g  get-new-news             
 ^  enter-server-mode        
 s  save-newsrc              
 q  exit                     
 R  restart                  
Table 2: Key bindings for the Group buffer.

Keyboard in Summary view:

 D/d  mark as read        
 C-w  mark region as read 
Table 3: Key binding sfor the Summary view.

Browse server for groups

The Server buffer lists the servers already suscribed and their connection status. The user can disconnect a server making it unabailable for retrieving new updates. A group list can be retrieved from this buffer by pressing `RET ` on any server name.

To access the Browse Server, on the Group buffer (the first one) press `^ ` key to enter the Server buffer, and the press `RET ` on any server hostname. If you know an NNTP server hostname, press `B ` on the Group buffer.

The Gnus Browse Server buffer lists all the groups registered on a particular server. It has the following elements in its list: A suscription key, number of messages, and the group name. The user can suscribe any group, but they can read the groups without suscribing to them at all. The following is an example of server as displayed by the Gnus Browse Server buffer:


| 25628: gmane.announce

| K 41: gmane.comp.accessibility.tanaguru

| K 6492:

| K 409:

| K 145:

| K 218:

| K 3448:


The first line in the example shows the group `gmane.announce', with 25628 messages in it. The user is suscribed beacuse no suscription key is present. The second line state another group with ``K'' as suscription key, meaning no suscription by default, because the user has not set anything yet.

 Suscription keys  Meaning                           
 Empty             Suscribed                         
 K                 No suscription/nothing setted yet 
 U                 Unsuscribed by user               
Table 4: Reference of suscription key of the Gnus Browse Server


Some hydra functions to guide and remember how to use Gnus.

my/hydra-toggle-verbosity - Function to toggle verbosity

(defun my/hydra-toggle-verbosity (hydra-name)
  "Toggle verbosity of HIDRA-NAME hydra"
  (hydra-set-property hydra-name :verbosity 
                      (if (or (null (hydra-get-property hydra-name :verbosity))
                              (eq 0 (hydra-get-property hydra-name :verbosity)))