"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.6.1/include/tinrc.h" (22 Dec 2021, 17822 Bytes) of package /linux/misc/tin-2.6.1.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.6.0_vs_2.6.1.

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