"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.4.4/include/tinrc.h" (20 Nov 2019, 17549 Bytes) of package /linux/misc/tin-2.4.4.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "tinrc.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 2.4.3_vs_2.4.4.

    1 /*
    2  *  Project   : tin - a Usenet reader
    3  *  Module    : tinrc.h
    4  *  Author    : Jason Faultless <jason@altarstone.com>
    5  *  Created   : 1999-04-13
    6  *  Updated   : 2017-08-13
    7  *  Notes     :
    8  *
    9  * Copyright (c) 1999-2020 Jason Faultless <jason@altarstone.com>
   10  * All rights reserved.
   11  *
   12  * Redistribution and use in source and binary forms, with or without
   13  * modification, are permitted provided that the following conditions
   14  * are met:
   15  *
   16  * 1. Redistributions of source code must retain the above copyright notice,
   17  *    this list of conditions and the following disclaimer.
   18  *
   19  * 2. Redistributions in binary form must reproduce the above copyright
   20  *    notice, this list of conditions and the following disclaimer in the
   21  *    documentation and/or other materials provided with the distribution.
   22  *
   23  * 3. Neither the name of the copyright holder nor the names of its
   24  *    contributors may be used to endorse or promote products derived from
   25  *    this software without specific prior written permission.
   26  *
   27  * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   28  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   29  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   30  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
   31  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   32  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   33  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   34  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   35  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   36  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   37  * POSSIBILITY OF SUCH DAMAGE.
   38  */
   39 
   40 
   41 /*
   42  * These are the tin defaults read from the tinrc file
   43  * If you change this, ensure you change the initial values in init.c
   44  *
   45  * FIXME: most default_* could/should be stored in the .inputhistory
   46  *        and could be nuked if tin comes with a prefilled .inputhistory
   47  *        which is installed automatically if no .inputhistory is found.
   48  *
   49  * TODO:  sort in a useful order (also needs reordering in init.c)
   50  */
   51 
   52 #ifndef TINRC_H
   53 #   define TINRC_H 1
   54 
   55 struct t_config {
   56     /*
   57      * Chars used to show article status
   58      */
   59     char art_marked_deleted;
   60     char art_marked_inrange;    /* misnomer, as it's also used for other ranges */
   61     char art_marked_return;
   62     char art_marked_selected;
   63     char art_marked_recent;
   64     char art_marked_unread;
   65     char art_marked_read;
   66     char art_marked_killed;
   67     char art_marked_read_selected;
   68     char editor_format[PATH_LEN];       /* editor + parameters  %E +%N %F */
   69     char default_goto_group[HEADER_LEN];        /* default for the 'g' command */
   70     char default_mail_address[HEADER_LEN];
   71     char mailer_format[PATH_LEN];       /* mailer + parameters  %M %S %T %F */
   72 #   ifndef DONT_HAVE_PIPING
   73         char default_pipe_command[LEN];
   74 #   endif /* DONT_HAVE_PIPING */
   75     char default_post_newsgroups[HEADER_LEN];   /* default newsgroups to post to */
   76     char default_post_subject[LEN]; /* default subject when posting */
   77 #   ifndef DISABLE_PRINTING
   78         char printer[LEN];                  /* printer program specified from tinrc */
   79 #   endif /* !DISABLE_PRINTING */
   80     char default_range_group[LEN];
   81     char default_range_select[LEN];
   82     char default_range_thread[LEN];
   83     char default_pattern[LEN];
   84     char default_repost_group[LEN];     /* default group to repost to */
   85     char default_save_file[PATH_LEN];
   86     char default_search_art[LEN];       /* default when searching in article */
   87     char default_search_author[HEADER_LEN]; /* default when searching for author */
   88     char default_search_config[LEN];    /* default when searching config menu */
   89     char default_search_group[HEADER_LEN];      /* default when searching select screen */
   90     char default_search_subject[LEN];   /* default when searching by subject */
   91     char default_select_pattern[LEN];
   92     char default_shell_command[LEN];
   93     char mail_quote_format[LEN];
   94     char maildir[PATH_LEN];             /* mailbox dir where = saves are stored */
   95     int mailbox_format;                 /* format of the mailbox (mboxo, mboxrd, mmdf, ...) */
   96     char mail_address[HEADER_LEN];              /* user's mail address */
   97     char metamail_prog[PATH_LEN];               /* name of MIME message viewer */
   98 #   ifndef CHARSET_CONVERSION
   99         char mm_charset[LEN];               /* MIME charset */
  100 #   else
  101         int mm_network_charset;             /* MIME charset */
  102 #   endif /* !CHARSET_CONVERSION */
  103     char mm_local_charset[LEN];     /* display charset, not a rc/Menu-option anymore -> should be moved elsewhere */
  104 #   ifdef HAVE_ICONV_OPEN_TRANSLIT
  105         t_bool translit;                        /* use //TRANSLIT */
  106 #   endif /* HAVE_ICONV_OPEN_TRANSLIT */
  107     char news_headers_to_display[LEN];  /* which headers to display */
  108     char news_headers_to_not_display[LEN];  /* which headers to not display */
  109     char news_quote_format[LEN];
  110     char quote_chars[LEN];          /* quote chars for posting/mails ": " (size matches prefixbuf in copy_body() */
  111 #   ifdef HAVE_COLOR
  112         char quote_regex[LEN];              /* regex used to determine quoted lines */
  113         char quote_regex2[LEN];             /* regex used to determine twice quoted lines */
  114         char quote_regex3[LEN];             /* regex used to determine >=3 times quoted lines */
  115         char extquote_regex[LEN];           /* regex used to determine quoted lines from external sources */
  116 #   endif /* HAVE_COLOR */
  117     char slashes_regex[LEN];            /* regex used to highlight /slashes/ */
  118     char stars_regex[LEN];              /* regex used to highlight *stars* */
  119     char underscores_regex[LEN];            /* regex used to highlight _underscores_ */
  120     char strokes_regex[LEN];            /* regex used to highlight -strokes- */
  121     char sigfile[PATH_LEN];
  122     char strip_re_regex[LEN];           /* regex used to find and remove 'Re:'-like strings */
  123     char strip_was_regex[LEN];          /* regex used to find and remove '(was:.*'-like strings */
  124     char verbatim_begin_regex[LEN];         /* regex used to find the begin of a verbatim block */
  125     char verbatim_end_regex[LEN];           /* regex used to find the end of a verbatim block */
  126     char savedir[PATH_LEN];             /* directory to save articles to */
  127     char spamtrap_warning_addresses[LEN];
  128     char url_handler[LEN];              /* Helper app for opening URL's */
  129     char xpost_quote_format[LEN];
  130     int filter_days;                    /* num of days an article filter can be active */
  131     int default_filter_kill_header;
  132     int default_filter_select_header;
  133     int default_move_group;
  134     int default_save_mode;              /* Append/Overwrite existing file when saving */
  135     int getart_limit;                   /* number of article to get */
  136     int recent_time;                /* Time limit when article is "fresh" */
  137     int goto_next_unread;               /* jump to next unread article with SPACE|PGDN|TAB */
  138     int hide_uue;                       /* treatment of uuencoded data in pager */
  139     int kill_level;                     /* Define how killed articles are shown */
  140     int mail_mime_encoding;
  141     int post_mime_encoding;
  142     int post_process_type;              /* type of post processing to be performed */
  143     int reread_active_file_secs;        /* reread active file interval in seconds */
  144     int scroll_lines;                   /* # lines to scroll by in pager */
  145     int show_author;                    /* show_author value from 'M' menu in tinrc */
  146     int sort_article_type;              /* method used to sort arts[] */
  147     int sort_threads_type;              /* method used to sort base[] */
  148 #   ifdef USE_HEAPSORT
  149         int sort_function;              /* index into sort_function[] */
  150 #   endif /* USE_HEAPSORT */
  151     int strip_bogus;
  152     int thread_articles;                /* threading system for viewing articles */
  153     int thread_perc;                /* how close the match needs to be for THREAD_PERC to recognize two articles as the same thread */
  154     int thread_score;               /* how the score for threads is computed */
  155     int wildcard;                       /* 0=wildmat, 1=regex */
  156     int score_limit_kill;                   /* score limit to kill articles */
  157     int score_limit_select;                 /* score limit to select articles */
  158     int score_kill;                     /* default score for "kill" filter rules */
  159     int score_select;                   /* default score for "hot" filter rules */
  160     int trim_article_body;              /* remove unnecessary blank lines */
  161 #   ifdef HAVE_COLOR
  162         int col_back;                       /* standard background color */
  163         int col_from;                       /* color of sender (From:) */
  164         int col_head;                       /* color of headerlines */
  165         int col_help;                       /* color of help pages */
  166         int col_invers_bg;                  /* color of inverse text (background) */
  167         int col_invers_fg;                  /* color of inverse text (foreground) */
  168         int col_minihelp;                   /* color of mini help menu */
  169         int col_normal;                     /* standard foreground color */
  170         int col_markdash;                   /* text highlighting with _underdashes_ */
  171         int col_markstar;                   /* text highlighting with *stars* */
  172         int col_markslash;                  /* text highlighting with /slashes/ */
  173         int col_markstroke;                 /* text highlighting with -strokes- */
  174         int col_message;                    /* color of message lines at bottom */
  175         int col_newsheaders;                /* color of actual news header fields */
  176         int col_quote;                      /* color of quotelines */
  177         int col_quote2;                     /* color of twice quoted lines */
  178         int col_quote3;                     /* color of >=3 times quoted lines */
  179         int col_extquote;                   /* color of quoted external text */
  180         int col_response;                   /* color of respone counter */
  181         int col_signature;                  /* color of signature */
  182         int col_urls;                       /* color of urls highlight */
  183         int col_verbatim;                   /* color of verbatim blocks */
  184         int col_subject;                    /* color of article subject */
  185         int col_text;                       /* color of textlines */
  186         int col_title;                      /* color of Help/Mail-Sign */
  187 #   endif /* HAVE_COLOR */
  188     int word_h_display_marks;           /* display * or _ when highlighting or space or nothing */
  189     int mono_markdash;              /* attribute for text highlighting with _underdashes_ */
  190     int mono_markstar;              /* attribute for text highlighting with *stars* */
  191     int mono_markslash;             /* attribute for text highlighting with /slashes/ */
  192     int mono_markstroke;                /* attribute for text highlighting with -strokes- */
  193     t_bool word_highlight;              /* like word_highlight but stored in tinrc */
  194     t_bool url_highlight;               /* highlight urls in text bodies */
  195     int wrap_column;                /* screen column to wrap of text messages */
  196 #   ifdef HAVE_COLOR
  197         t_bool use_color;                   /* like use_color but stored in tinrc */
  198 #   endif /* HAVE_COLOR */
  199     t_bool abbreviate_groupname;        /* abbreviate groupnames like n.s.readers */
  200     t_bool add_posted_to_filter;
  201     t_bool advertising;
  202     t_bool alternative_handling;
  203     int auto_cc_bcc;                    /* add your name to cc/bcc automatically */
  204     t_bool auto_list_thread;            /* list thread when entering it using right arrow */
  205     t_bool auto_reconnect;              /* automatically reconnect to news server */
  206     t_bool auto_save;                   /* save thread with name from Archive-name: field */
  207     t_bool batch_save;                  /* save arts if -M/-S command line switch specified */
  208     t_bool beginner_level;              /* beginner level (shows mini help a la elm) */
  209     t_bool cache_overview_files;        /* create local index files for NNTP overview files */
  210     t_bool catchup_read_groups;         /* ask if read groups are to be marked read */
  211     int confirm_choice;             /* what has to be confirmed */
  212     t_bool draw_arrow;                  /* draw -> or highlighted bar */
  213     t_bool force_screen_redraw;         /* force screen redraw after external (shell) commands */
  214     t_bool group_catchup_on_exit;       /* catchup group with left arrow key or not */
  215     t_bool info_in_last_line;
  216     t_bool inverse_okay;
  217     t_bool keep_dead_articles;          /* keep all dead articles in dead.articles */
  218     char posted_articles_file[PATH_LEN];        /* if set, file in which to keep posted articles */
  219     t_bool mail_8bit_header;            /* allow 8bit chars. in header of mail message */
  220     t_bool mark_ignore_tags;            /* Ignore tags for GROUP_MARK_THREAD_READ/THREAD_MARK_ARTICLE_READ */
  221     t_bool mark_saved_read;             /* mark saved article/thread as read */
  222     t_bool pos_first_unread;            /* position cursor at first/last unread article */
  223     t_bool post_8bit_header;            /* allow 8bit chars. in header when posting to newsgroup */
  224     t_bool post_process_view;           /* set TRUE to invoke mailcap viewer app */
  225 #   ifndef DISABLE_PRINTING
  226         t_bool print_header;                /* print all of mail header or just Subject: & From lines */
  227 #   endif /* !DISABLE_PRINTING */
  228     t_bool process_only_unread;         /* save/print//mail/pipe unread/all articles */
  229     t_bool prompt_followupto;           /* display empty Followup-To header in editor */
  230     int quote_style;                    /* quoting behaviour */
  231     t_bool show_description;
  232     t_bool show_only_unread_arts;       /* show only new/unread arts or all arts */
  233     t_bool show_only_unread_groups;     /* set TRUE to see only subscribed groups with new news */
  234     t_bool show_signatures;             /* show signatures when displaying articles */
  235     t_bool sigdashes;                   /* set TRUE to prepend every signature with dashes */
  236     t_bool signature_repost;            /* set TRUE to add signature when reposting articles */
  237     t_bool start_editor_offset;
  238 #ifndef USE_CURSES
  239         t_bool strip_blanks;
  240 #endif /* !USE_CURSES */
  241     t_bool strip_newsrc;
  242     t_bool tex2iso_conv;            /* convert "a to Umlaut-a */
  243     t_bool thread_catchup_on_exit;      /* catchup thread with left arrow key or not */
  244     t_bool unlink_article;
  245 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
  246         t_bool utf8_graphics;               /* use utf-8 characters for line drawing */
  247 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
  248     t_bool verbatim_handling;           /* Detection of verbatim blocks */
  249 #   ifdef HAVE_COLOR
  250         t_bool extquote_handling;       /* Detection of quoted text from external sources */
  251 #   endif /* HAVE_COLOR */
  252     char inews_prog[PATH_LEN];
  253 #ifdef USE_CANLOCK
  254         int cancel_lock_algo;           /* algorithm used for Cancel-Lock/Cancel-Key */
  255 #endif /* USE_CANLOCK */
  256     int interactive_mailer;         /* invoke user's mailreader */
  257     t_bool use_mouse;                   /* enables/disables mouse support under xterm */
  258 #   ifdef HAVE_KEYPAD
  259         t_bool use_keypad;
  260 #   endif /* HAVE_KEYPAD */
  261     t_bool wrap_on_next_unread;     /* Wrap around threads when searching next unread article */
  262     t_bool ask_for_metamail;            /* enables/disables the viewer query if a MIME message is going to be displayed */
  263     t_bool default_filter_kill_case;
  264     t_bool default_filter_kill_expire;
  265     t_bool default_filter_kill_global;
  266     t_bool default_filter_select_case;
  267     t_bool default_filter_select_expire;
  268 #   ifdef XFACE_ABLE
  269         t_bool use_slrnface;            /* Use the slrnface program to display 'X-Face:'s */
  270 #   endif /* XFACE_ABLE */
  271     t_bool default_filter_select_global;
  272     char select_format[LEN];        /* format string for the selection level */
  273     char group_format[LEN];         /* format string for the group level */
  274     char thread_format[LEN];        /* format string for the thread level */
  275     char date_format[LEN];          /* format string for the date display in the page header */
  276 #   ifdef HAVE_UNICODE_NORMALIZATION
  277         int normalization_form;
  278 #   endif /* HAVE_UNICODE_NORMALIZATION */
  279 #   if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE)
  280         t_bool render_bidi;
  281 #   endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */
  282 #   ifdef CHARSET_CONVERSION
  283         int attrib_mm_network_charset;
  284         char attrib_undeclared_charset[LEN];
  285 #   endif /* !CHARSET_CONVERSION */
  286     char attrib_editor_format[PATH_LEN];
  287     char attrib_fcc[PATH_LEN];
  288     char attrib_maildir[PATH_LEN];
  289     char attrib_from[HEADER_LEN];
  290     char attrib_mailing_list[HEADER_LEN];
  291     char attrib_organization[LEN];
  292     char attrib_followup_to[LEN];
  293     char attrib_mime_types_to_save[LEN];
  294     char attrib_news_headers_to_display[LEN];
  295     char attrib_news_headers_to_not_display[LEN];
  296     char attrib_news_quote_format[LEN];
  297     char attrib_quote_chars[LEN];
  298     char attrib_sigfile[PATH_LEN];
  299     char attrib_savedir[PATH_LEN];
  300     char attrib_savefile[PATH_LEN];
  301     char attrib_x_body[LEN];
  302     char attrib_x_headers[HEADER_LEN];
  303 #   ifdef HAVE_ISPELL
  304         char attrib_ispell[PATH_LEN];
  305 #   endif /* HAVE_ISPELL */
  306     char attrib_quick_kill_scope[LEN];
  307     char attrib_quick_select_scope[LEN];
  308     char attrib_group_format[LEN];
  309     char attrib_thread_format[LEN];
  310     char attrib_date_format[LEN];
  311     int attrib_trim_article_body;
  312     int attrib_auto_cc_bcc;
  313     int attrib_quick_kill_header;
  314     int attrib_quick_select_header;
  315     int attrib_mail_mime_encoding;
  316 #if defined(HAVE_ALARM) && defined(SIGALRM)
  317         /*
  318          * # seconds after which a read from the NNTP will timeout
  319          * NB: This is different from the NNTP server timing us out due to inactivity
  320          */
  321         int nntp_read_timeout_secs;
  322 #endif /* HAVE_ALARM && SIGALRM */
  323     int attrib_post_mime_encoding;
  324     int attrib_post_process_type;
  325     int attrib_show_author;
  326     int attrib_sort_article_type;
  327     int attrib_sort_threads_type;
  328     int attrib_thread_articles;
  329     int attrib_thread_perc;
  330     t_bool attrib_add_posted_to_filter;
  331     t_bool attrib_advertising;
  332     t_bool attrib_alternative_handling;
  333     t_bool attrib_auto_list_thread;
  334     t_bool attrib_auto_select;
  335     t_bool attrib_auto_save;
  336     t_bool attrib_batch_save;
  337     t_bool attrib_delete_tmp_files;
  338     t_bool attrib_group_catchup_on_exit;
  339     t_bool attrib_mail_8bit_header;
  340     t_bool attrib_mime_forward;
  341     t_bool attrib_mark_ignore_tags;
  342     t_bool attrib_mark_saved_read;
  343     t_bool attrib_pos_first_unread;
  344     t_bool attrib_post_8bit_header;
  345     t_bool attrib_post_process_view;
  346 #   ifndef DISABLE_PRINTING
  347         t_bool attrib_print_header;
  348 #   endif /* !DISABLE_PRINTING */
  349     t_bool attrib_process_only_unread;
  350     t_bool attrib_prompt_followupto;
  351     t_bool attrib_show_only_unread_arts;
  352     t_bool attrib_show_signatures;
  353     t_bool attrib_sigdashes;
  354     t_bool attrib_signature_repost;
  355     t_bool attrib_start_editor_offset;
  356     t_bool attrib_tex2iso_conv;
  357     t_bool attrib_thread_catchup_on_exit;
  358     t_bool attrib_verbatim_handling;
  359 #   ifdef HAVE_COLOR
  360         t_bool attrib_extquote_handling;
  361 #   endif /* HAVE_COLOR */
  362     t_bool attrib_x_comment_to;
  363     t_bool attrib_wrap_on_next_unread;
  364     t_bool attrib_ask_for_metamail;
  365     t_bool attrib_quick_kill_case;
  366     t_bool attrib_quick_kill_expire;
  367     t_bool attrib_quick_select_case;
  368     t_bool attrib_quick_select_expire;
  369 };
  370 
  371 #endif /* !TINRC_H */