"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.4.5/include/tinrc.h" (1 Dec 2020, 17549 Bytes) of package /linux/misc/tin-2.4.5.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.

    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-2021 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 */