source: help.c @ 6829afc

release-1.10release-1.8release-1.9
Last change on this file since 6829afc was f25df21, checked in by David Benjamin <davidben@mit.edu>, 13 years ago
Don't call owl_list_create in owl_dict_get_keys Until we get rid of this owl_list thing altogether, there should be a convention as to who initializes the thing. Otherwise, we leak memory from people initializing it too many times. Whoever reviews this probably wants to look over this very carefully in case I missed one of the owl_list_creates. Also kill the various wrappers over owl_list_cleanup as they are not the inverse of any operation.
  • Property mode set to 100644
File size: 6.0 KB
Line 
1#include "owl.h"
2#include <string.h>
3
4void owl_help(void)
5{
6  owl_fmtext fm;
7  const char *varname;
8  owl_list varnames;
9  int i, numvarnames;
10
11  owl_fmtext_init_null(&fm);
12  owl_fmtext_append_bold
13    (&fm, 
14     "OWL HELP\n\n");
15
16  owl_fmtext_append_normal
17    (&fm, 
18     "  If you're new to BarnOwl, the first thing you should type is\n\n"
19     "    :show quickstart\n\n"
20     "  For help on a specific command use 'help <command>'\n"
21     "  For information on advanced keys, use 'show keymaps'.\n"
22     "  For information on advanced commands, use 'show commands'.\n"
23     "  For information on variables, use 'show variables'.\n\n");
24
25  owl_fmtext_append_bold
26    (&fm, 
27     "  Basic Keys:\n"
28     );
29  owl_fmtext_append_normal
30    (&fm, 
31     "    n             Move to next non-deleted message\n"
32     "    p             Move to previous non-deleted message\n"
33     "    C-n , down    Move to next message\n"
34     "    C-p , up      Move to previous message\n"
35     "    < , >         Move to first, last message\n"
36     "    right , left  Scroll screen left or right\n"
37     "    C-v           Page down\n"
38     "    M-v           Page up\n"
39     "    i             Print more information about a message\n"
40     "    P             Move to the next personal message\n"
41     "    M-P           Move to the previous personal message\n"
42     "    C-space       Move the mark (asterisk) to the current message\n"
43     "    C-x C-x       Move the mark to the current message while moving to previous mark\n"
44     "\n"
45     "    d             Mark message for deletion\n"
46     "    u             Undelete a message marked for deletion\n"
47     "    x             Expunge deleted messages\n"
48     "    X             Expunge deleted messages and switch to home view\n"
49     "    T             Mark all 'trash' messages for deletion\n"
50     "    M-D           Mark all messages in current view for deletion\n"
51     "    M-u           Unmark all messages in the current view for deletion\n"
52     "\n"
53     "    z             Start a zwrite command\n"
54     "    a             Start an aimwrite command\n"
55     "    r             Reply to the current message\n"
56     "    R             Reply to sender\n"
57     "    C-r           Reply but allow editing of reply line\n"
58     "\n"
59     "    M-n           View zephyrs in selected conversation\n"
60     "    M-N           View zephyrs in selected conversation of instance\n"
61     "    M-p           View only personal zephyrs\n"
62     "    V             Change to back to home view ('all' by default)\n"
63     "    v             Start a view command\n"
64     "    !             Invert the current view\n"
65     "\n"
66     "    l             Print a zephyr/AIM buddy listing\n"
67     "    A             Toggle zaway\n"
68     "    o             Toggle one-line display mode\n"
69     "    w             Open a URL in the current message\n"
70     "    C-l           Refresh the screen\n"
71     "    C-z           Suspend Owl\n"
72     "    h             Print this help message\n"
73     "    : , M-x       Enter command mode\n"
74     "\n"
75     "    /             Foward search\n"
76     "    ?             Reverse search\n"
77     "\n\n"
78     );
79  owl_fmtext_append_bold
80    (&fm, 
81     "  Basic Commands:\n"
82     );
83  owl_fmtext_append_normal
84    (&fm, 
85     "    quit, exit    Exit owl\n"
86     "    help          Get help about commands\n"
87     "    show          Show information about owl (see detailed help)\n"
88     "\n"
89     "    zwrite        Send a zephyr\n"
90     "    aimlogin      Login to AIM\n"
91     "    aimwrite      Send an AIM message\n"
92     "\n"
93     "    addbuddy      Add a zephyr or AIM buddy\n"
94     "    zaway         Turn zaway on or off, or set the message\n"
95     "    zlocate       Locate a user\n"
96     "    subscribe     Subscribe to a zephyr class or instance\n"
97     "    unsubscribe   Unsubscribe to a zephyr class or instance\n"
98     "    blist         Print a list of zephyr and AIM buddies logged in\n"
99     "    search        Search for a text string\n"
100     "\n"
101     "    set           Set a variable (see list below)\n"
102     "    print         Print a variable's value (variables listed below)\n"
103     "    startup       Set a command to be run at every Owl startup\n"
104     "    unstartup     Remove a command to be run at every Owl startup\n"
105     "\n"
106     "    getsubs       Print a list of current subscriptions\n"
107     "    unsuball      Unsubscribe from all zephyr classes\n"
108     "    load-subs     Load zephyr subscriptions from a file\n"
109     "    zpunt         Supress messages from a zephyr triplet\n"
110     "    zlog          Send a login or logout notification\n"
111     "    zlist         Print a list of zephyr buddies logged in\n"
112     "    alist         Print a list of AIM buddies logged in\n"
113     "    info          Print detailed information about the current message\n"
114     "    filter        Create a message filter\n"
115     "    view          View messages matching a filter\n"
116     "    viewuser      View messages to or from a particular user\n"
117     "    viewclass     View messages to a particular class\n"
118     "    expunge       Expunge messages marked for deletion\n"
119     "    bindkey       Create a new key binding\n"
120     "    alias         Create a command alias\n"
121     "    dump          Dump messagelist as text to a file\n"
122     "\n"
123     "    about         Print information about owl\n"
124     "    status        Print status information about the running owl\n"
125     "    version       Print the version number of owl\n"
126     "\n");
127 
128  /* help for variables */
129  owl_fmtext_append_bold(&fm, 
130                         "Variables:\n");
131  owl_list_create(&varnames);
132  owl_variable_dict_get_names(owl_global_get_vardict(&g), &varnames);
133  numvarnames = owl_list_get_size(&varnames);
134  for (i=0; i<numvarnames; i++) {
135    varname = owl_list_get_element(&varnames, i);
136    if (varname && varname[0]!='_') {
137      owl_variable_describe(owl_global_get_vardict(&g), varname, &fm);
138    }
139  }
140  owl_list_cleanup(&varnames, g_free);
141
142  owl_fmtext_append_normal(&fm, "\n");
143
144  owl_function_popless_fmtext(&fm);
145
146  owl_fmtext_cleanup(&fm);
147}
Note: See TracBrowser for help on using the repository browser.