1/* opt.ih
2 */
3/* This software is copyrighted as detailed in the LICENSE file. */
4
5static char yes_or_no[] = "yes/no";
6static char selector_commands[] = "<Last-page-cmd><Other-page-cmd>";
7
8INI_WORDS options_ini[] = {
9    { 0, "OPTIONS", 0 },
10
11    { 0, "*Display Options", 0 },
12    { 0, "Terse Output", yes_or_no },
13    { 0, "Pager Line-Marking", "standout/underline/no" },
14    { 0, "Erase Screen", yes_or_no },
15    { 0, "Erase Each Line", yes_or_no },
16    { 0, "Muck Up Clear", yes_or_no },
17    { 0, "Background Spinner", yes_or_no },
18    { 0, "Charset", "<e.g. patm>" },
19    { 0, "Filter Control Characters", yes_or_no },
20
21    { 0, "*Selector Options", 0 },
22    { 0, "Use Universal Selector", yes_or_no },
23    { 0, "Universal Selector Order", "natural/points" },
24    { 0, "Universal Selector article follow", yes_or_no },
25    { 0, "Universal Selector Commands", selector_commands },
26    { 0, "Use Newsrc Selector", yes_or_no },
27    { 0, "Newsrc Selector Commands", selector_commands },
28    { 0, "Use Addgroup Selector", yes_or_no },
29    { 0, "Addgroup Selector Commands", selector_commands },
30    { 0, "Use Newsgroup Selector", yes_or_no },
31    { 0, "Newsgroup Selector Order", "natural/group/count" },
32    { 0, "Newsgroup Selector Commands", selector_commands },
33    { 0, "Newsgroup Selector Display Styles", "<e.g. slm=short/long/med>" },
34    { 0, "Use News Selector", "yes/no/<# articles>" },
35    { 0, "News Selector Mode", "threads/subjects/articles" },
36    { 0, "News Selector Order", "[reverse] date/subject/author/groups/cnt/points" },
37    { 0, "News Selector Commands", selector_commands },
38    { 0, "News Selector Display Styles", "<e.g. lms=long/medium/short>" },
39    { 0, "Option Selector Commands", selector_commands },
40    { 0, "Use Selector Numbers", yes_or_no },
41    { 0, "Selector Number Auto-Goto", yes_or_no },
42
43    { 0, "*Newsreading Options", 0 },
44    { 0, "Use Threads", yes_or_no },
45    { 0, "Select My Postings", "subthread/parent/thread/no" },
46    { 0, "Initial Article Lines", "no/<# lines>" },
47    { 0, "Article Tree Lines", "no/<# lines>" },
48    { 0, "Word-Wrap Margin", "no/<# chars in margin>" },
49    { 0, "Auto-Grow Groups", yes_or_no },
50    { 0, "Compress Subjects", yes_or_no },
51    { 0, "Join Subject Lines", "no/<# chars>" },
52    { 0, "Line Num for Goto", "<# line (1-n)>" },
53    { 0, "Ignore THRU on Select", yes_or_no },
54    { 0, "Read Breadth First", yes_or_no },
55    { 0, "Background Threading", yes_or_no },
56    { 0, "Scan Mode Count", "no/<# articles>" },
57    { 0, "Header Magic", "<[!]header,...>" },
58    { 0, "Header Hiding", "<[!]header,...>" },
59
60    { 0, "*Posting Options", 0 },
61    { 0, "Cited Text String", "<e.g. '>'>" },
62#if 0
63    { 0, "Attribute string", "<e.g. ...>" },
64    { 0, "Reply To", "<e.g. ...>" },
65#endif
66
67    { 0, "*Save Options", 0 },
68    { 0, "Save Dir", "<directory path>" },
69    { 0, "Auto Savename", yes_or_no },
70    { 0, "Default Savefile Type", "norm/mail/ask" },
71
72    { 0, "*Mouse Options", 0 },
73    { 0, "Use XTerm Mouse", yes_or_no },
74    { 0, "Mouse Modes", "<e.g. acjlptwK>" },
75    { 0, "Universal Selector Mousebar", "<e.g. [PgUp]< [PgDn]> Z [Quit]q>" },
76    { 0, "Newsrc Selector Mousebar", "<e.g. [PgUp]< [PgDn]> Z [Quit]q>" },
77    { 0, "Addgroup Selector Mousebar", "<e.g. [Top]^ [Bot]$ [ OK ]Z>" },
78    { 0, "Newsgroup Selector Mousebar", "<e.g. [ OK ]Z [Quit]q [Help]?>" },
79    { 0, "News Selector Mousebar", "<e.g. [KillPg]D [Read]^j [Quit]Q>" },
80    { 0, "Option Selector Mousebar", "<e.g. [Save]S [Use]^I [Abandon]q>" },
81    { 0, "Article Pager Mousebar", "<e.g. [Next]n J [Sel]+ [Quit]q>" },
82
83    { 0, "*MIME Options", 0 },
84    { 0, "Multipart Separator", "<string>" },
85    { 0, "Auto-View Inline", yes_or_no },
86
87    { 0, "*Misc Options", 0 },
88    { 0, "Check for New Groups", yes_or_no },
89    { 0, "Restriction Includes Empty Groups", yes_or_no },
90    { 0, "Append Unsubscribed Groups", yes_or_no },
91    { 0, "Initial Group List", "no/<# groups>" },
92    { 0, "Restart At Last Group", yes_or_no },
93    { 0, "Eat Type-Ahead", yes_or_no },
94    { 0, "Verify Input", yes_or_no },
95    { 0, "Fuzzy Newsgroup Names", yes_or_no },
96    { 0, "Auto Arrow Macros", "regular/alternate/no" },
97    { 0, "Checkpoint Newsrc Frequency", "<# articles>" },
98    { 0, "Default Refetch Time", "never/<1 day 5 hours 8 mins>" },
99    { 0, "Novice Delays", yes_or_no },
100    { 0, "Old Mthreads Database", yes_or_no },
101
102#ifdef SCAN_ART
103    { 0, "*Article Scan Mode Options", 0 },
104    { 0, "Follow Threads", yes_or_no },
105    { 0, "Fold Subjects", yes_or_no },
106    { 0, "Re-fold Subjects", yes_or_no },
107    { 0, "Mark Without Moving", yes_or_no },
108    { 0, "VI Key Movement Allowed", yes_or_no },
109    { 0, "Display Item Numbers", yes_or_no },
110    { 0, "Display Article Number", yes_or_no },
111    { 0, "Display Author", yes_or_no },
112    { 0, "Display Score", yes_or_no },
113    { 0, "Display Subject Count", yes_or_no },
114    { 0, "Display Subject", yes_or_no },
115    { 0, "Display Summary", yes_or_no },
116    { 0, "Display Keywords", yes_or_no },
117#endif
118
119#ifdef SCORE
120    { 0, "*Scoring Options", 0 },
121    { 0, "Verbose scoring", yes_or_no },
122#endif
123    { 0, 0, 0 }
124};
125
126/* DON'T EDIT BELOW THIS LINE OR YOUR CHANGES WILL BE LOST! */
127
128static char* hidden_list _((void));
129static char* magic_list _((void));
130static void set_header_list _((int,int,char*));
131static int parse_mouse_buttons _((char**,char*));
132static char* expand_mouse_buttons _((char*,int));
133