X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=init.h;h=d2816e43b6e41ef03c574267099a6508f1646524;hp=e50a9f3c86c4b738fbdc9b6c17a0b4614c4e769d;hb=b85f52d2ec4d820ab5c4b577857548bec294bb27;hpb=08b24cfbdc0c35af65891f5b2478dc0ee33feb7e diff --git a/init.h b/init.h index e50a9f3..d2816e4 100644 --- a/init.h +++ b/init.h @@ -18,6 +18,8 @@ #endif #include "buffy.h" +#include "mutt.h" +#include "version.h" #include "lib/debug.h" #ifndef _MAKEDOC @@ -32,7 +34,8 @@ #define DT_MAGIC 8 /* mailbox type */ #define DT_SYN 9 /* synonym for another variable */ #define DT_ADDR 10 /* e-mail address */ -#define DT_USER 11 /* user defined viar $user_ */ +#define DT_USER 11 /* user defined via $user_ */ +#define DT_SYS 12 /* pre-defined via $muttng_ */ #define DTYPE(x) ((x) & DT_MASK) @@ -67,11 +70,6 @@ struct option_t { char* init; }; -struct feature_t { - char *name; - short builtin; -}; - #define UL (unsigned long) #endif /* _MAKEDOC */ @@ -245,7 +243,6 @@ struct option_t MuttVars[] = { ** This variable is valid only if $$strict_mime is unset. */ #ifdef USE_NNTP - {"ask_followup_to", DT_SYN, R_NONE, UL "nntp_ask_followup_to", 0}, {"nntp_ask_followup_to", DT_BOOL, R_NONE, OPTASKFOLLOWUP, "no" }, /* ** .pp @@ -255,7 +252,6 @@ struct option_t MuttVars[] = { ** If \fIset\fP, Mutt-ng will prompt you for the \fTFollowup-To:\fP header ** field before editing the body of an outgoing news article. */ - {"ask_x_comment_to", DT_SYN, R_NONE, UL "nntp_ask_x_comment_to", 0}, {"nntp_ask_x_comment_to", DT_BOOL, R_NONE, OPTASKXCOMMENTTO, "no" }, /* ** .pp @@ -378,7 +374,6 @@ struct option_t MuttVars[] = { ** visual terminals don't permit making the cursor invisible. */ #ifdef USE_NNTP - {"catchup_newsgroup", DT_SYN, R_NONE, UL "nntp_catchup", 0}, {"nntp_catchup", DT_QUAD, R_NONE, OPT_CATCHUP, "ask-yes" }, /* ** .pp @@ -589,7 +584,7 @@ struct option_t MuttVars[] = { ** filtered message is read from the standard output. */ #if defined(DL_STANDALONE) && defined(USE_DOTLOCK) - {"dotlock_program", DT_PATH, R_NONE, UL &MuttDotlock, BINDIR "/muttng_dotlock"}, + {"dotlock_program", DT_PATH, R_NONE, UL &MuttDotlock, "$muttng_bindir/muttng_dotlock"}, /* ** .pp ** Availability: Standalone and Dotlock @@ -787,7 +782,6 @@ struct option_t MuttVars[] = { ** of the same email for you. */ #ifdef USE_NNTP - {"followup_to_poster", DT_SYN, R_NONE, UL "nntp_followup_to_poster", 0}, {"nntp_followup_to_poster", DT_QUAD, R_NONE, OPT_FOLLOWUPTOPOSTER, "ask-yes" }, /* ** .pp @@ -877,7 +871,6 @@ struct option_t MuttVars[] = { ** ``Franklin'' to ``Franklin, Steve''. */ #ifdef USE_NNTP - {"group_index_format", DT_SYN, R_NONE, UL "nntp_group_index_format", 0}, {"nntp_group_index_format", DT_STR, R_BOTH, UL &GroupFormat, "%4C %M%N %5s %-45.45f %d"}, /* ** .pp @@ -960,7 +953,7 @@ struct option_t MuttVars[] = { ** .pp ** When \fIset\fP, Mutt-ng will not show the presence of messages that are hidden ** by limiting, at the top of threads in the thread tree. Note that when - ** $$hide_missing is set, this option will have no effect. + ** $$hide_missing is \fIset\fP, this option will have no effect. */ {"hide_top_missing", DT_BOOL, R_TREE|R_INDEX, OPTHIDETOPMISSING, "yes" }, /* @@ -1279,7 +1272,6 @@ struct option_t MuttVars[] = { ** See also: ``$$to_chars''. */ #ifdef USE_NNTP - {"inews", DT_SYN, R_NONE, UL "nntp_inews", 0}, {"nntp_inews", DT_PATH, R_NONE, UL &Inews, ""}, /* ** .pp @@ -1454,6 +1446,74 @@ struct option_t MuttVars[] = { ** This specifies the folder into which read mail in your ``$$spoolfile'' ** folder will be appended. */ + {"muttng_version", DT_SYS, R_NONE, 0, VERSION }, + /* + ** .pp + ** \fIThis is a read-only system property and specifies muttng's + ** version string.\fP + */ + {"muttng_revision", DT_SYS, R_NONE, 0, MUTT_REVISION }, + /* + ** .pp + ** \fIThis is a read-only system property and specifies muttng's + ** subversion revision string.\fP + */ + {"muttng_sysconfdir", DT_SYS, R_NONE, 0, SYSCONFDIR }, + /* + ** .pp + ** \fIThis is a read-only system property and specifies the + ** directory containing the muttng system-wide configuration.\fP + */ + {"muttng_bindir", DT_SYS, R_NONE, 0, BINDIR }, + /* + ** .pp + ** \fIThis is a read-only system property and specifies the + ** directory containing the muttng binary.\fP + */ + {"muttng_docdir", DT_SYS, R_NONE, 0, PKGDOCDIR }, + /* + ** .pp + ** \fIThis is a read-only system property and specifies the + ** directory containing the muttng documentation.\fP + */ +#if USE_HCACHE +#if HAVE_QDBM + {"muttng_hcache_backend", DT_SYS, R_NONE, 0, "qdbm" }, +#elif HAVE_GDBM + {"muttng_hcache_backend", DT_SYS, R_NONE, 0, "gdbm" }, +#elif HAVE_DB4 + {"muttng_hcache_backend", DT_SYS, R_NONE, 0, "db4" }, +#else + {"muttng_hcache_backend", DT_SYS, R_NONE, 0, "unknown" }, +#endif + /* + ** .pp + ** \fIThis is a read-only system property and specifies the + ** header chaching's database backend.\fP + */ +#endif + {"muttng_folder_path", DT_SYS, R_NONE, 0, "" }, + /* + ** .pp + ** \fIThis is a read-only system property and, at runtime, + ** specifies the full path or URI of the folder currently + ** open (if any).\fP + */ + {"muttng_folder_name", DT_SYS, R_NONE, 0, "" }, + /* + ** .pp + ** \fIThis is a read-only system property and, at runtime, + ** specifies the last part of the full path or URI of the + ** folder currently open (if any), i.e. everything after + ** the last ``/''.\fP + */ + {"muttng_pwd", DT_SYS, R_NONE, 0, "" }, + /* + ** .pp + ** \fIThis is a read-only system property and, at runtime, + ** specifies the current working directory of the muttng + ** binary.\fP + */ {"operating_system", DT_STR, R_NONE, UL &OperatingSystem, "" }, /* ** .pp @@ -1625,7 +1685,6 @@ struct option_t MuttVars[] = { */ #ifdef USE_NNTP - {"mime_subject", DT_SYN, R_NONE, UL "nntp_mime_subject", 0}, {"nntp_mime_subject", DT_BOOL, R_NONE, OPTMIMESUBJECT, "yes" }, /* ** .pp @@ -1720,7 +1779,6 @@ struct option_t MuttVars[] = { ** deeper threads to fit on the screen. */ #ifdef USE_NNTP - {"news_cache_dir", DT_SYN, R_NONE, UL "nntp_cache_dir", 0}, {"nntp_cache_dir", DT_PATH, R_NONE, UL &NewsCacheDir, "~/.muttng"}, /* ** .pp @@ -1734,7 +1792,6 @@ struct option_t MuttVars[] = { ** As for the header caching in connection with IMAP and/or Maildir, ** this drastically increases speed and lowers traffic. */ - {"news_server", DT_SYN, R_NONE, UL "nntp_host", 0 }, {"nntp_host", DT_STR, R_NONE, UL &NewsServer, "" }, /* ** .pp @@ -1756,7 +1813,6 @@ struct option_t MuttVars[] = { ** presents a security risk since the superuser of your machine may read it ** regardless of the file's permissions. */ - {"newsrc", DT_SYN, R_NONE, UL "nntp_newsrc", 0}, {"nntp_newsrc", DT_PATH, R_NONE, UL &NewsRc, "~/.newsrc"}, /* ** .pp @@ -1816,7 +1872,6 @@ struct option_t MuttVars[] = { ** presents a security risk since the superuser of your machine may read it ** regardless of the file's permissions. */ - {"nntp_poll", DT_SYN, R_NONE, UL "nntp_mail_check", 0}, {"nntp_mail_check", DT_NUM, R_NONE, UL &NewsPollTimeout, "60" }, /* ** .pp @@ -1837,6 +1892,17 @@ struct option_t MuttVars[] = { ** was connection lost. */ #endif +#ifdef USE_SOCKET + { "net_inc", DT_NUM, R_NONE, UL &NetInc, "10" }, + /* + ** .pp + ** Operations that expect to transfer a large amount of data over the + ** network will update their progress every \fInet_inc\fP kilobytes. + ** If set to 0, no progress messages will be displayed. + ** .pp + ** See also ``$$read_inc'' and ``$$write_inc''. + */ +#endif {"pager", DT_PATH, R_NONE, UL &Pager, "builtin"}, /* ** .pp @@ -2772,7 +2838,6 @@ struct option_t MuttVars[] = { ** string after the inclusion of a message which is being replied to. */ #ifdef USE_NNTP - {"post_moderated", DT_SYN, R_NONE, UL "nntp_post_moderated", 0 }, {"nntp_post_moderated", DT_QUAD, R_NONE, OPT_TOMODERATED, "ask-yes" }, /* ** .pp @@ -3148,7 +3213,6 @@ struct option_t MuttVars[] = { ** shell from \fT/etc/passwd\fP is used. */ #ifdef USE_NNTP - {"save_unsubscribed", DT_SYN, R_NONE, UL "nntp_save_unsubscribed", 0 }, {"nntp_save_unsubscribed", DT_BOOL, R_NONE, OPTSAVEUNSUB, "no" }, /* ** .pp @@ -3160,7 +3224,6 @@ struct option_t MuttVars[] = { */ #endif #ifdef USE_NNTP - {"show_new_news", DT_SYN, R_NONE, UL "nntp_show_new_news", 0 }, {"nntp_show_new_news", DT_BOOL, R_NONE, OPTSHOWNEWNEWS, "yes" }, /* ** .pp @@ -3172,7 +3235,6 @@ struct option_t MuttVars[] = { ** Also controls whether or not the number of new articles of subscribed ** newsgroups will be checked. */ - {"show_only_unread", DT_SYN, R_NONE, UL "nntp_show_only_unread", 0 }, {"nntp_show_only_unread", DT_BOOL, R_NONE, OPTSHOWONLYUNREAD, "no" }, /* ** .pp @@ -3484,7 +3546,9 @@ struct option_t MuttVars[] = { ** default, messages with the same subject are grouped together in ** ``pseudo threads.'' This may not always be desirable, such as in a ** personal mailbox where you might have several unrelated messages with - ** the subject ``hi'' which will get grouped together. + ** the subject ``hi'' which will get grouped together. See also + ** ``$$sort_re'' for a less drastic way of controlling this + ** behaviour. */ {"strip_was", DT_BOOL, R_NONE, OPTSTRIPWAS, "no" }, /** @@ -3752,7 +3816,6 @@ struct option_t MuttVars[] = { ** to the one used by ``$$status_format''. */ #ifdef USE_NNTP - {"x_comment_to", DT_SYN, R_NONE, UL "nntp_x_comment_to", 0}, {"nntp_x_comment_to", DT_BOOL, R_NONE, OPTXCOMMENTTO, "no" }, /* ** .pp @@ -3768,148 +3831,75 @@ struct option_t MuttVars[] = { { NULL } }; -const struct feature_t Features[] = { - {"ncurses", +static const char* Features[] = { #ifdef NCURSES_VERSION - 1 -#else - 0 + "ncurses", #endif - }, {"slang", #ifdef USE_SLANG_CURSES - 1 -#else - 0 + "slang", #endif - }, {"iconv", #ifdef _LIBICONV_VERSION - 1 -#else - 0 + "iconv", #endif - }, {"idn", #ifdef HAVE_LIBIDN - 1 -#else - 0 + "idn", #endif - }, {"dotlock", #ifdef USE_DOTLOCK - 1 -#else - 0 + "dotlock", #endif - }, {"standalone", #ifdef DL_STANDALONE - 1 -#else - 0 + "standalone", #endif - }, {"pop", #ifdef USE_POP - 1 -#else - 0 + "pop", #endif - }, {"nntp", #ifdef USE_NNTP - 1 -#else - 0 + "nntp", #endif - }, {"imap", #ifdef USE_IMAP - 1 -#else - 0 + "imap", #endif - }, {"ssl", #ifdef USE_SSL - 1 -#else - 0 + "ssl", #endif - }, {"gnutls", #ifdef USE_GNUTLS - 1 -#else - 0 + "gnutls", #endif - }, {"sasl", #ifdef USE_SASL - 1 -#else - 0 -#endif - }, {"sasl2", -#ifdef USE_SASL2 - 1 -#else - 0 + "sasl", #endif - }, {"libesmtp", #ifdef USE_LIBESMTP - 1 -#else - 0 + "libesmtp", #endif - }, {"compressed", #ifdef USE_COMPRESSED - 1 -#else - 0 + "compessed", #endif - }, {"color", #ifdef HAVE_COLOR - 1 -#else - 0 + "color", #endif - }, {"classic_pgp", #ifdef CRYPT_BACKEND_CLASSIC_PGP - 1 -#else - 0 + "classic_pgp", #endif - }, {"classic_smime", #ifdef CRYPT_BACKEND_CLASSIC_SMIME - 1 -#else - 0 + "class_smime", #endif - }, {"gpgme", #ifdef CRYPT_BACKEND_GPGME - 1 -#else - 0 + "gpgme", #endif - }, {"header_cache", #ifdef USE_HCACHE - 1 -#else - 0 + "header_cache", #endif - }, {"qdbm", #ifdef HAVE_QDBM - 1 -#else - 0 + "qdbm", #endif - }, {"gdbm", #ifdef HAVE_GDBM - 1 -#else - 0 + "gdbm", #endif - }, {"db4", #ifdef HAVE_DB4 - 1 -#else - 0 + "db4", #endif - }, /* last */ - {NULL, 0} + NULL }; const struct mapping_t SortMethods[] = {