1 /* opt.h 2 */ 3 /* This software is copyrighted as detailed in the LICENSE file. */ 4 5 6 EXT char* ini_file; 7 EXT char* yesorno[2] 8 #ifdef DOINIT 9 = {"no", "yes"}; 10 #else 11 ; 12 #endif 13 14 #define YESorNO(v) yesorno[(int)(v)] 15 16 /* Display Options */ 17 #define OI_TERSE_OUTPUT 2 18 #define OI_PAGER_LINE_MARKING (OI_TERSE_OUTPUT+1) 19 #define OI_ERASE_SCREEN (OI_PAGER_LINE_MARKING+1) 20 #define OI_ERASE_EACH_LINE (OI_ERASE_SCREEN+1) 21 #define OI_MUCK_UP_CLEAR (OI_ERASE_EACH_LINE+1) 22 #define OI_BKGND_SPINNER (OI_MUCK_UP_CLEAR+1) 23 #define OI_CHARSET (OI_BKGND_SPINNER+1) 24 #define OI_FILTER_CONTROL_CHARACTERS (OI_CHARSET+1) 25 26 /* Selector Options */ 27 #define OI_USE_UNIV_SEL (OI_FILTER_CONTROL_CHARACTERS+2) 28 #define OI_UNIV_SEL_ORDER (OI_USE_UNIV_SEL+1) 29 #define OI_UNIV_FOLLOW (OI_UNIV_SEL_ORDER+1) 30 #define OI_UNIV_SEL_CMDS (OI_UNIV_FOLLOW+1) 31 #define OI_USE_NEWSRC_SEL (OI_UNIV_SEL_CMDS+1) 32 #define OI_NEWSRC_SEL_CMDS (OI_USE_NEWSRC_SEL+1) 33 #define OI_USE_ADD_SEL (OI_NEWSRC_SEL_CMDS+1) 34 #define OI_ADD_SEL_CMDS (OI_USE_ADD_SEL+1) 35 #define OI_USE_NEWSGROUP_SEL (OI_ADD_SEL_CMDS+1) 36 #define OI_NEWSGROUP_SEL_ORDER (OI_USE_NEWSGROUP_SEL+1) 37 #define OI_NEWSGROUP_SEL_CMDS (OI_NEWSGROUP_SEL_ORDER+1) 38 #define OI_NEWSGROUP_SEL_STYLES (OI_NEWSGROUP_SEL_CMDS+1) 39 #define OI_USE_NEWS_SEL (OI_NEWSGROUP_SEL_STYLES+1) 40 #define OI_NEWS_SEL_MODE (OI_USE_NEWS_SEL+1) 41 #define OI_NEWS_SEL_ORDER (OI_NEWS_SEL_MODE+1) 42 #define OI_NEWS_SEL_CMDS (OI_NEWS_SEL_ORDER+1) 43 #define OI_NEWS_SEL_STYLES (OI_NEWS_SEL_CMDS+1) 44 #define OI_OPTION_SEL_CMDS (OI_NEWS_SEL_STYLES+1) 45 #define OI_USE_SEL_NUM (OI_OPTION_SEL_CMDS+1) 46 #define OI_SEL_NUM_GOTO (OI_USE_SEL_NUM+1) 47 48 /* Newsreading Options */ 49 #define OI_USE_THREADS (OI_SEL_NUM_GOTO+2) 50 #define OI_SELECT_MY_POSTS (OI_USE_THREADS+1) 51 #define OI_INITIAL_ARTICLE_LINES (OI_SELECT_MY_POSTS+1) 52 #define OI_ARTICLE_TREE_LINES (OI_INITIAL_ARTICLE_LINES+1) 53 #define OI_WORD_WRAP_MARGIN (OI_ARTICLE_TREE_LINES+1) 54 #define OI_AUTO_GROW_GROUPS (OI_WORD_WRAP_MARGIN+1) 55 #define OI_COMPRESS_SUBJECTS (OI_AUTO_GROW_GROUPS+1) 56 #define OI_JOIN_SUBJECT_LINES (OI_COMPRESS_SUBJECTS+1) 57 #define OI_GOTO_LINE_NUM (OI_JOIN_SUBJECT_LINES+1) 58 #define OI_IGNORE_THRU_ON_SELECT (OI_GOTO_LINE_NUM+1) 59 #define OI_READ_BREADTH_FIRST (OI_IGNORE_THRU_ON_SELECT+1) 60 #define OI_BKGND_THREADING (OI_READ_BREADTH_FIRST+1) 61 #define OI_SCANMODE_COUNT (OI_BKGND_THREADING+1) 62 #define OI_HEADER_MAGIC (OI_SCANMODE_COUNT+1) 63 #define OI_HEADER_HIDING (OI_HEADER_MAGIC+1) 64 65 /* Posting Options */ 66 #define OI_CITED_TEXT_STRING (OI_HEADER_HIDING+2) 67 68 /* Save Options */ 69 #define OI_SAVE_DIR (OI_CITED_TEXT_STRING+2) 70 #define OI_AUTO_SAVE_NAME (OI_SAVE_DIR+1) 71 #define OI_SAVEFILE_TYPE (OI_AUTO_SAVE_NAME+1) 72 73 /* Mouse Options */ 74 #define OI_USE_MOUSE (OI_SAVEFILE_TYPE+2) 75 #define OI_MOUSE_MODES (OI_USE_MOUSE+1) 76 #define OI_UNIV_SEL_BTNS (OI_MOUSE_MODES+1) 77 #define OI_NEWSRC_SEL_BTNS (OI_UNIV_SEL_BTNS+1) 78 #define OI_ADD_SEL_BTNS (OI_NEWSRC_SEL_BTNS+1) 79 #define OI_NEWSGROUP_SEL_BTNS (OI_ADD_SEL_BTNS+1) 80 #define OI_NEWS_SEL_BTNS (OI_NEWSGROUP_SEL_BTNS+1) 81 #define OI_OPTION_SEL_BTNS (OI_NEWS_SEL_BTNS+1) 82 #define OI_ART_PAGER_BTNS (OI_OPTION_SEL_BTNS+1) 83 84 /* MIME Options */ 85 #define OI_MULTIPART_SEPARATOR (OI_ART_PAGER_BTNS+2) 86 #define OI_AUTO_VIEW_INLINE (OI_MULTIPART_SEPARATOR+1) 87 88 /* Misc Options */ 89 #define OI_NEWGROUP_CHECK (OI_AUTO_VIEW_INLINE+2) 90 #define OI_RESTRICTION_INCLUDES_EMPTIES (OI_NEWGROUP_CHECK+1) 91 #define OI_APPEND_UNSUBSCRIBED_GROUPS (OI_RESTRICTION_INCLUDES_EMPTIES+1) 92 #define OI_INITIAL_GROUP_LIST (OI_APPEND_UNSUBSCRIBED_GROUPS+1) 93 #define OI_RESTART_AT_LAST_GROUP (OI_INITIAL_GROUP_LIST+1) 94 #define OI_EAT_TYPEAHEAD (OI_RESTART_AT_LAST_GROUP+1) 95 #define OI_VERIFY_INPUT (OI_EAT_TYPEAHEAD+1) 96 #define OI_FUZZY_NEWSGROUP_NAMES (OI_VERIFY_INPUT+1) 97 #define OI_AUTO_ARROW_MACROS (OI_FUZZY_NEWSGROUP_NAMES+1) 98 #define OI_CHECKPOINT_NEWSRC_FREQUENCY (OI_AUTO_ARROW_MACROS+1) 99 #define OI_DEFAULT_REFETCH_TIME (OI_CHECKPOINT_NEWSRC_FREQUENCY+1) 100 #define OI_NOVICE_DELAYS (OI_DEFAULT_REFETCH_TIME+1) 101 #define OI_OLD_MTHREADS_DATABASE (OI_NOVICE_DELAYS+1) 102 103 #define OI_TRN_LAST (OI_OLD_MTHREADS_DATABASE) 104 105 #ifdef SCAN_ART 106 /* CAA: There are no current plans for scan modes other than SCAN_ART. 107 * The general-scan options might as well be displayed in the same 108 * section as the article-scan options. 109 */ 110 # define OI_SCANA_FOLLOW (OI_TRN_LAST+2) 111 # define OI_SCANA_FOLD (OI_SCANA_FOLLOW+1) 112 # define OI_SCANA_UNZOOMFOLD (OI_SCANA_FOLD+1) 113 # define OI_SCANA_MARKSTAY (OI_SCANA_UNZOOMFOLD+1) 114 # define OI_SCAN_VI (OI_SCANA_MARKSTAY+1) 115 # define OI_SCAN_ITEMNUM (OI_SCAN_VI+1) 116 # define OI_SCANA_DISPANUM (OI_SCAN_ITEMNUM+1) 117 # define OI_SCANA_DISPAUTHOR (OI_SCANA_DISPANUM+1) 118 # define OI_SCANA_DISPSCORE (OI_SCANA_DISPAUTHOR+1) 119 # define OI_SCANA_DISPSUBCNT (OI_SCANA_DISPSCORE+1) 120 # define OI_SCANA_DISPSUBJ (OI_SCANA_DISPSUBCNT+1) 121 # define OI_SCANA_DISPSUMMARY (OI_SCANA_DISPSUBJ+1) 122 # define OI_SCANA_DISPKEYW (OI_SCANA_DISPSUMMARY+1) 123 # define OI_SCAN_LAST (OI_SCANA_DISPKEYW) 124 #else /* !SCAN_ART */ 125 # define OI_SCAN_LAST (OI_TRN_LAST) 126 #endif /* SCAN_ART */ 127 128 #ifdef SCORE 129 # define OI_SC_VERBOSE (OI_SCAN_LAST+2) 130 # define OI_SCORE_LAST (OI_SC_VERBOSE) 131 #else 132 # define OI_SCORE_LAST (OI_SCAN_LAST) 133 #endif 134 135 extern INI_WORDS options_ini[]; 136 EXT char** option_def_vals; 137 EXT char** option_saved_vals; 138 EXT char* option_flags; 139 140 #define OF_SEL 0x0001 141 #define OF_INCLUDED 0x0010 142 143 EXT int sel_page_op; 144 EXT int sel_next_op; 145 146 /* DON'T EDIT BELOW THIS LINE OR YOUR CHANGES WILL BE LOST! */ 147 148 void opt_init _((int,char**,char**)); 149 void opt_file _((char*,char**,bool_int)); 150 void set_options _((char**)); 151 void set_option _((int,char*)); 152 void save_options _((char*)); 153 char* option_value _((int)); 154 void set_header _((char*,int,bool_int)); 155 char* quote_string _((char*)); 156 void cwd_check _((void)); 157