tin  2.6.1
About: TIN is a threaded NNTP and spool based UseNet newsreader.
  Fossies Dox: tin-2.6.1.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

help.c
Go to the documentation of this file.
1/*
2 * Project : tin - a Usenet reader
3 * Module : help.c
4 * Author : I. Lea
5 * Created : 1991-04-01
6 * Updated : 2021-10-29
7 * Notes :
8 *
9 * Copyright (c) 1991-2022 Iain Lea <iain@bricbrac.de>
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#ifndef TIN_H
42# include "tin.h"
43#endif /* !TIN_H */
44#ifndef TCURSES_H
45# include "tcurses.h"
46#endif /* !TCURSES_H */
47
48
49typedef struct thp {
53
54/*
55 * local prototypes
56 */
57static void make_help_page(FILE *fp, const t_help_page *helppage, const struct keylist keys);
58
59
61
80#ifndef DONT_HAVE_PIPING
83#endif /* !DONT_HAVE_PIPING */
99#ifndef NO_SHELL_ESCAPE
101#endif /* !NO_SHELL_ESCAPE */
102 { NULL, NOT_ASSIGNED }
103};
104
133#ifndef NO_SHELL_ESCAPE
135#endif /* !NO_SHELL_ESCAPE */
138 { NULL, NOT_ASSIGNED }
139};
140
169#ifndef NO_SHELL_ESCAPE
171#endif /* !NO_SHELL_ESCAPE */
174 { NULL, NOT_ASSIGNED }
175};
176
204#ifndef NO_SHELL_ESCAPE
206#endif /* !NO_SHELL_ESCAPE */
207 { NULL, NOT_ASSIGNED }
208};
209
224#ifdef NNTP_ABLE
225 { txt_help_select_lookup_group, GLOBAL_LOOKUP_MESSAGEID },
226 { txt_help_select_lookup_group_comment, NOT_ASSIGNED },
227#endif /* NNTP_ABLE */
239#ifdef HAVE_COLOR
240 { txt_help_global_toggle_color, GLOBAL_TOGGLE_COLOR },
241#endif /* HAVE_COLOR */
250#ifndef NO_POSTING
253#endif /* NO_POSTING */
277#ifndef NO_SHELL_ESCAPE
279#endif /* !NO_SHELL_ESCAPE */
285 { NULL, NOT_ASSIGNED }
286};
287
322#ifdef HAVE_COLOR
323 { txt_help_global_toggle_color, GLOBAL_TOGGLE_COLOR },
324#endif /* HAVE_COLOR */
334#ifndef NO_POSTING
339#endif /* NO_POSTING */
346#ifndef DONT_HAVE_PIPING
348#endif /* !DONT_HAVE_PIPING */
349#ifndef DISABLE_PRINTING
351#endif /* !DISABLE_PRINTING */
387#ifndef NO_SHELL_ESCAPE
389#endif /* !NO_SHELL_ESCAPE */
394 { NULL, NOT_ASSIGNED }
395};
396
424#ifdef HAVE_COLOR
425 { txt_help_global_toggle_color, GLOBAL_TOGGLE_COLOR },
426#endif /* HAVE_COLOR */
431#ifndef NO_POSTING
435#endif /* NO_POSTING */
442#ifndef DONT_HAVE_PIPING
444#endif /* !DONT_HAVE_PIPING */
445#ifndef DISABLE_PRINTING
447#endif /* !DISABLE_PRINTING */
478#ifndef NO_SHELL_ESCAPE
480#endif /* !NO_SHELL_ESCAPE */
485 { NULL, NOT_ASSIGNED }
486};
487
527#ifdef HAVE_COLOR
528 { txt_help_global_toggle_color, GLOBAL_TOGGLE_COLOR },
529#endif /* HAVE_COLOR */
537#ifndef NO_POSTING
545#endif /* NO_POSTING */
554#ifndef DONT_HAVE_PIPING
556#endif /* !DONT_HAVE_PIPING */
557#ifndef DISABLE_PRINTING
559#endif /* !DISABLE_PRINTING */
585#ifndef NO_SHELL_ESCAPE
587#endif /* !NO_SHELL_ESCAPE */
589#ifdef HAVE_PGP_GPG
591 { txt_help_article_pgp, PAGE_PGP_CHECK_ARTICLE },
592#endif /* HAVE_PGP_GPG */
595 { NULL, NOT_ASSIGNED }
596};
597
627#ifndef NO_SHELL_ESCAPE
629#endif /* !NO_SHELL_ESCAPE */
630 { NULL, NOT_ASSIGNED }
631};
632
662#ifndef NO_SHELL_ESCAPE
664#endif /* !NO_SHELL_ESCAPE */
665 { NULL, NOT_ASSIGNED }
666};
667
668
669static void
671 FILE *fp,
672 const t_help_page *helppage,
673 const struct keylist keys)
674{
675 char *buf;
676 char *last;
677 char key[MAXKEYLEN];
678 /*
679 * length is only needed to pass it to expand_ctrl_chars()
680 * we have no need for the value
681 */
682 size_t length;
683 size_t i;
684
685 if (!helppage)
686 return;
687
688 buf = my_malloc(LEN);
689 last = my_malloc(LEN);
690
691 last[0] = '\0';
692
693 while (helppage->helptext) {
694 if (helppage->func == NOT_ASSIGNED) {
695 /*
696 * as expand_ctrl_chars() may has shrunk buf
697 * make sure buf is large enough to contain the helpline
698 */
699 buf = my_realloc(buf, LEN);
700
701 if (!strlen(helppage->helptext)) /* avoid translation of empty strings */
702 strcpy(buf, "\n");
703 else
704 strncpy(buf, _(helppage->helptext), LEN);
705 buf[LEN - 1] = '\0';
706 expand_ctrl_chars(&buf, &length, 8);
707 fprintf(fp, "%s\n", buf);
708 } else {
709 for (i = 0; i < keys.used; i++) {
710 if (keys.list[i].function == helppage->func && keys.list[i].key) {
711 buf = my_realloc(buf, LEN);
712#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
713 snprintf(buf, LEN, "%s\t %s", printascii(key, (wint_t) keys.list[i].key), _(helppage->helptext));
714#else
715 snprintf(buf, LEN, "%s\t %s", printascii(key, keys.list[i].key), _(helppage->helptext));
716#endif /* MULTIBYTE_ABLE &&! NO_LOCALE*/
717 expand_ctrl_chars(&buf, &length, 8);
718 if (strcmp(last, buf)) {
719 fprintf(fp, "%s\n", buf);
720 strncpy(last, buf, LEN - 1);
721 }
722 }
723 }
724 }
725 helppage++;
726 }
727
728 free(buf);
729 free(last);
730}
731
732
733void
735 const int level,
736 const char *title)
737{
738 FILE *fp;
739
740 if (!(fp = tmpfile()))
741 return;
742
743 switch (level) {
744 case ATTACHMENT_LEVEL:
746 break;
747
748 case ATTRIB_LEVEL:
750 break;
751
752 case CONFIG_LEVEL:
754 break;
755
756 case SCOPE_LEVEL:
758 break;
759
760 case SELECT_LEVEL:
762 break;
763
764 case GROUP_LEVEL:
766 break;
767
768 case THREAD_LEVEL:
770 break;
771
772 case PAGE_LEVEL:
774 break;
775
776 case POSTED_LEVEL:
778 break;
779
780 case URL_LEVEL:
782 break;
783
784 case INFO_PAGER:
785 default: /* should not happen */
787 fclose(fp);
788 return;
789 }
790
791 info_pager(fp, title, TRUE);
792 fclose(fp);
793 info_pager(NULL, NULL, TRUE); /* free mem */
794}
795
796
797void
799 int level)
800{
801 char buf[LEN];
802 char key[20][MAXKEYLEN];
803 int line;
804 size_t bufs;
805
807 return;
808
809 line = NOTESLINES + MINI_HELP_LINES - 2;
810 bufs = sizeof(buf) - 1;
811
812#ifdef HAVE_COLOR
813 fcol(tinrc.col_minihelp);
814#endif /* HAVE_COLOR */
815
816 switch (level) {
817 case ATTACHMENT_LEVEL:
823 center_line(line, FALSE, buf);
824#ifndef DONT_HAVE_PIPING
833#else
840#endif /* !DONT_HAVE_PIPING */
841 center_line(line + 1, FALSE, buf);
847 center_line(line + 2, FALSE, buf);
848 break;
849
850 case SCOPE_LEVEL:
856 center_line(line, FALSE, buf);
862 center_line(line + 1, FALSE, buf);
863 break;
864
865 case SELECT_LEVEL:
871 center_line(line, FALSE, buf);
879 center_line(line + 1, FALSE, buf);
886 center_line(line + 2, FALSE, buf);
887 break;
888
889 case GROUP_LEVEL:
894 center_line(line, FALSE, buf);
902 center_line(line + 1, FALSE, buf);
903
904#if defined(DONT_HAVE_PIPING) && defined(DISABLE_PRINTING)
911#else
912# ifdef DONT_HAVE_PIPING
921# else
922# ifdef DISABLE_PRINTING
931# else
941# endif /* DISABLE_PRINTING */
942# endif /* DONT_HAVE_PIPING */
943#endif /* DONT_HAVE_PIPING && DISABLE_PRINTING */
944
945 center_line(line + 2, FALSE, buf);
946 break;
947
948 case THREAD_LEVEL:
953 center_line(line, FALSE, buf);
961 center_line(line + 1, FALSE, buf);
962 break;
963
964 case PAGE_LEVEL:
969 center_line(line, FALSE, buf);
976 center_line(line + 1, FALSE, buf);
977
978#if defined(DONT_HAVE_PIPING) && defined(DISABLE_PRINTING)
986#else
987# ifdef DONT_HAVE_PIPING
996# else
997# ifdef DISABLE_PRINTING
1006# else
1007 snprintf(buf, bufs, _(txt_mini_page_3),
1016# endif /* DISABLE_PRINTING */
1017# endif /* DONT_HAVE_PIPING */
1018#endif /* DONT_HAVE_PIPING && DISABLE_PRINTING */
1019
1020 center_line(line + 2, FALSE, buf);
1021 break;
1022
1023 case POSTED_LEVEL:
1029 center_line(line, FALSE, buf);
1034 center_line(line + 1, FALSE, buf);
1035 break;
1036
1037 case URL_LEVEL:
1038 snprintf(buf, bufs, _(txt_mini_url_1),
1043 center_line(line, FALSE, buf);
1044 snprintf(buf, bufs, _(txt_mini_url_2),
1048 center_line(line + 1, FALSE, buf);
1049 break;
1050
1051 case INFO_PAGER:
1052 snprintf(buf, bufs, _(txt_mini_info_1),
1059 center_line(line, FALSE, buf);
1060 snprintf(buf, bufs, _(txt_mini_info_2),
1064 center_line(line + 1, FALSE, buf);
1065 break;
1066
1067 default: /* should not happen */
1069 break;
1070 }
1071#ifdef HAVE_COLOR
1072 fcol(tinrc.col_normal);
1073#endif /* HAVE_COLOR */
1074}
1075
1076
1077void
1079 int level)
1080{
1083 show_mini_help(level);
1084}
#define bool_not(b)
Definition: bool.h:81
#define TRUE
Definition: bool.h:74
#define FALSE
Definition: bool.h:70
constext txt_mini_scope_1[]
Definition: lang.c:653
constext txt_help_mark_feed_read[]
Definition: lang.c:458
constext txt_mini_info_1[]
Definition: lang.c:647
constext txt_help_group_select_thread_pattern[]
Definition: lang.c:467
constext txt_help_group_untag_thread[]
Definition: lang.c:474
constext txt_help_thread_mark_thread_unread[]
Definition: lang.c:526
constext txt_help_select_unsubscribe_pattern[]
Definition: lang.c:515
constext txt_mini_select_1[]
Definition: lang.c:655
constext txt_help_article_prev[]
Definition: lang.c:360
constext txt_help_global_shell_escape[]
Definition: lang.c:1218
constext txt_help_article_reply_with_header[]
Definition: lang.c:367
constext txt_help_article_toggle_headers[]
Definition: lang.c:373
constext txt_help_select_search_group_comment[]
Definition: lang.c:507
constext txt_help_group_last_thread[]
Definition: lang.c:453
constext txt_mini_group_2[]
Definition: lang.c:646
constext txt_help_scope_goto_scope[]
Definition: lang.c:483
constext txt_help_title_url_ops[]
Definition: lang.c:537
constext txt_help_scope_move[]
Definition: lang.c:485
constext txt_help_thread_article_by_num[]
Definition: lang.c:519
constext txt_help_global_quit_tin[]
Definition: lang.c:431
constext txt_help_thread_mark_article_unread[]
Definition: lang.c:525
constext txt_help_article_repost[]
Definition: lang.c:348
constext txt_help_group_catchup[]
Definition: lang.c:450
constext txt_help_group_toggle_thread_selection[]
Definition: lang.c:471
constext txt_help_attachment_tag_pattern[]
Definition: lang.c:392
constext txt_help_global_search_subj_forwards[]
Definition: lang.c:442
constext txt_help_attrib_search_opt_forwards[]
Definition: lang.c:401
constext txt_mini_page_2[]
Definition: lang.c:650
constext txt_help_group_toggle_getart_limit[]
Definition: lang.c:469
constext txt_help_title_disp[]
Definition: lang.c:528
constext txt_help_group_catchup_next[]
Definition: lang.c:451
constext txt_help_select_last_group[]
Definition: lang.c:494
constext txt_help_thread_last_article[]
Definition: lang.c:523
constext txt_help_select_subscribe_pattern[]
Definition: lang.c:510
constext txt_mini_page_1[]
Definition: lang.c:649
constext txt_help_global_toggle_inverse_video[]
Definition: lang.c:446
constext txt_help_global_search_subj_backwards[]
Definition: lang.c:441
constext txt_help_title_post_hist_ops[]
Definition: lang.c:535
int NOTESLINES
Definition: signal.c:111
constext txt_mini_group_1[]
Definition: lang.c:645
constext txt_help_config_first_opt[]
Definition: lang.c:405
constext txt_help_article_last_in_thread[]
Definition: lang.c:353
constext txt_help_global_scroll_down[]
Definition: lang.c:435
constext txt_help_select_catchup[]
Definition: lang.c:488
constext txt_help_attachment_pipe_raw[]
Definition: lang.c:385
constext txt_help_url_search_forwards[]
Definition: lang.c:541
constext txt_mini_group_3[]
Definition: lang.c:1240
constext txt_help_article_by_num[]
Definition: lang.c:342
constext txt_help_select_search_group_backwards[]
Definition: lang.c:506
constext txt_help_group_mark_unsel_art_read[]
Definition: lang.c:460
constext txt_help_attrib_select[]
Definition: lang.c:402
constext txt_help_thread_catchup[]
Definition: lang.c:520
constext txt_help_global_article_range[]
Definition: lang.c:413
constext txt_help_global_search_body[]
Definition: lang.c:439
constext txt_help_group_select_thread_if_unread_selected[]
Definition: lang.c:466
constext txt_help_group_reverse_thread_selection[]
Definition: lang.c:463
constext txt_help_article_cancel[]
Definition: lang.c:344
constext txt_help_select_toggle_descriptions[]
Definition: lang.c:512
constext txt_help_config_search_opt_backwards[]
Definition: lang.c:409
constext txt_mini_select_3[]
Definition: lang.c:657
constext txt_help_attachment_untag[]
Definition: lang.c:394
constext txt_mini_post_hist_1[]
Definition: lang.c:651
constext txt_help_article_first_page[]
Definition: lang.c:352
constext txt_help_group_prev[]
Definition: lang.c:462
constext txt_help_article_search_backwards[]
Definition: lang.c:368
constext txt_help_thread_mark_article_read[]
Definition: lang.c:524
constext txt_help_article_toggle_tex2iso[]
Definition: lang.c:377
constext txt_help_article_edit[]
Definition: lang.c:350
constext txt_help_attrib_toggle_attrib[]
Definition: lang.c:403
constext txt_help_config_goto_opt[]
Definition: lang.c:406
constext txt_help_article_next_thread[]
Definition: lang.c:357
constext txt_help_article_reply[]
Definition: lang.c:365
constext txt_help_global_post_postponed[]
Definition: lang.c:427
constext txt_help_global_line_up[]
Definition: lang.c:419
constext txt_help_post_hist_search_backwards[]
Definition: lang.c:476
constext txt_help_attrib_reset_attrib[]
Definition: lang.c:399
constext txt_help_title_scope_ops[]
Definition: lang.c:536
constext txt_help_global_toggle_subj_display[]
Definition: lang.c:448
constext txt_help_select_read_group[]
Definition: lang.c:504
constext txt_help_select_first_group[]
Definition: lang.c:490
constext txt_help_select_subscribe[]
Definition: lang.c:509
constext txt_help_article_autoselect[]
Definition: lang.c:340
constext txt_help_article_mark_thread_read[]
Definition: lang.c:355
constext txt_help_article_view_attachments[]
Definition: lang.c:379
constext txt_help_global_help[]
Definition: lang.c:416
constext txt_help_group_mark_article_unread[]
Definition: lang.c:455
constext txt_help_group_mark_thread_read[]
Definition: lang.c:456
constext txt_help_global_print[]
Definition: lang.c:1169
constext txt_help_url_select[]
Definition: lang.c:543
constext txt_help_attachment_tag[]
Definition: lang.c:391
constext txt_help_global_redraw_screen[]
Definition: lang.c:432
constext txt_help_title_attachment_ops[]
Definition: lang.c:532
constext txt_help_article_skip_quote[]
Definition: lang.c:371
constext txt_help_thread_first_article[]
Definition: lang.c:522
constext txt_help_select_search_group_forwards[]
Definition: lang.c:508
constext txt_help_article_quick_kill[]
Definition: lang.c:362
constext txt_help_article_toggle_rot13[]
Definition: lang.c:375
constext txt_help_url_toggle_info_line[]
Definition: lang.c:544
constext txt_help_select_mark_group_unread[]
Definition: lang.c:499
constext txt_help_article_toggle_uue[]
Definition: lang.c:378
constext txt_help_article_toggle_formfeed[]
Definition: lang.c:372
constext txt_help_attachment_toggle_info_line[]
Definition: lang.c:395
constext txt_help_group_first_thread[]
Definition: lang.c:452
constext txt_help_global_lookup_art[]
Definition: lang.c:420
constext txt_error_unknown_dlevel[]
Definition: lang.c:269
constext txt_help_attachment_select[]
Definition: lang.c:390
constext txt_help_group_undo_thread_selection[]
Definition: lang.c:473
constext txt_help_article_quick_select[]
Definition: lang.c:363
constext txt_help_global_last_art[]
Definition: lang.c:417
constext txt_help_select_goto_group[]
Definition: lang.c:491
constext txt_help_url_goto_url[]
Definition: lang.c:539
constext txt_help_config_last_opt[]
Definition: lang.c:407
constext txt_help_group_list_thread[]
Definition: lang.c:454
constext txt_help_article_first_in_thread[]
Definition: lang.c:351
constext txt_help_global_version[]
Definition: lang.c:449
constext txt_help_global_pipe[]
Definition: lang.c:1176
constext txt_help_article_autokill[]
Definition: lang.c:339
constext txt_help_title_misc[]
Definition: lang.c:529
constext txt_help_title_config_ops[]
Definition: lang.c:534
constext txt_mini_post_hist_2[]
Definition: lang.c:652
constext txt_help_article_last_page[]
Definition: lang.c:354
constext txt_help_config_toggle_attrib[]
Definition: lang.c:412
constext txt_help_select_reset_newsrc[]
Definition: lang.c:505
constext txt_help_global_auto_save[]
Definition: lang.c:434
constext txt_help_attachment_first[]
Definition: lang.c:380
constext txt_help_article_search_forwards[]
Definition: lang.c:369
constext txt_help_select_unsubscribe[]
Definition: lang.c:514
constext txt_help_select_move_group[]
Definition: lang.c:500
constext txt_help_attachment_toggle_tagged[]
Definition: lang.c:393
constext txt_help_article_followup_with_header[]
Definition: lang.c:347
constext txt_help_group_select_all[]
Definition: lang.c:464
constext txt_help_global_line_down[]
Definition: lang.c:418
constext txt_help_global_search_body_comment[]
Definition: lang.c:440
constext txt_help_config_search_opt_forwards[]
Definition: lang.c:410
constext txt_help_article_toggle_tabwidth[]
Definition: lang.c:376
constext txt_help_scope_last_scope[]
Definition: lang.c:484
constext txt_mini_thread_1[]
Definition: lang.c:658
constext txt_help_global_tag[]
Definition: lang.c:444
constext txt_help_post_hist_select[]
Definition: lang.c:478
constext txt_help_global_scroll_up[]
Definition: lang.c:436
constext txt_help_global_option_menu[]
Definition: lang.c:422
constext txt_help_group_toggle_threading[]
Definition: lang.c:472
constext txt_help_article_prev_unread[]
Definition: lang.c:361
constext txt_help_scope_select[]
Definition: lang.c:487
constext txt_help_title_attrib_ops[]
Definition: lang.c:533
constext txt_mini_attachment_1[]
Definition: lang.c:638
constext txt_help_mark_feed_unread[]
Definition: lang.c:459
constext txt_help_article_next_unread[]
Definition: lang.c:358
constext txt_help_article_reply_no_quote[]
Definition: lang.c:366
constext txt_help_attrib_last_opt[]
Definition: lang.c:398
constext txt_help_attrib_first_opt[]
Definition: lang.c:396
constext txt_help_global_mail[]
Definition: lang.c:421
constext txt_help_global_toggle_info_line[]
Definition: lang.c:445
constext txt_help_group_mark_thread_unread[]
Definition: lang.c:457
constext txt_help_global_previous_menu[]
Definition: lang.c:430
constext txt_help_scope_del[]
Definition: lang.c:480
constext txt_help_select_sync_with_active[]
Definition: lang.c:511
constext txt_help_group_thread_by_num[]
Definition: lang.c:468
constext txt_help_config_select[]
Definition: lang.c:411
constext txt_help_select_yank_active[]
Definition: lang.c:517
constext txt_help_post_hist_search_forwards[]
Definition: lang.c:475
constext txt_help_url_search_backwards[]
Definition: lang.c:542
constext txt_help_scope_first_scope[]
Definition: lang.c:482
constext txt_help_select_group_range[]
Definition: lang.c:493
constext txt_help_global_post[]
Definition: lang.c:426
constext txt_mini_attachment_2[]
Definition: lang.c:640
constext txt_mini_scope_2[]
Definition: lang.c:654
constext txt_help_global_save[]
Definition: lang.c:433
constext txt_mini_url_1[]
Definition: lang.c:660
int cLINES
Definition: curses.c:52
constext txt_help_global_search_auth_forwards[]
Definition: lang.c:438
constext txt_help_article_next[]
Definition: lang.c:356
char txt_help_bug_report[LEN]
Definition: init.c:106
constext txt_help_config_scope_menu[]
Definition: lang.c:408
constext txt_help_global_page_down[]
Definition: lang.c:423
constext txt_help_global_toggle_mini_help[]
Definition: lang.c:447
constext txt_help_thread_catchup_next_unread[]
Definition: lang.c:521
constext txt_help_attrib_goto_opt[]
Definition: lang.c:397
constext txt_mini_info_2[]
Definition: lang.c:648
constext txt_help_url_last_url[]
Definition: lang.c:540
constext txt_help_attachment_goto[]
Definition: lang.c:381
constext txt_help_attachment_search_forwards[]
Definition: lang.c:388
constext txt_help_title_navi[]
Definition: lang.c:530
constext txt_help_global_posting_history[]
Definition: lang.c:429
constext txt_help_url_first_url[]
Definition: lang.c:538
constext txt_help_scope_edit_attrib_file[]
Definition: lang.c:481
constext txt_mini_page_3[]
Definition: lang.c:1241
constext txt_help_attachment_search_backwards[]
Definition: lang.c:389
constext txt_help_attachment_save[]
Definition: lang.c:387
constext txt_help_select_sort_active[]
Definition: lang.c:516
constext txt_help_group_select_thread[]
Definition: lang.c:465
constext txt_help_article_followup[]
Definition: lang.c:345
constext txt_help_article_show_raw[]
Definition: lang.c:370
constext txt_help_select_quit[]
Definition: lang.c:502
constext txt_help_tag_parts[]
Definition: lang.c:518
constext txt_help_article_followup_no_quote[]
Definition: lang.c:346
constext txt_help_title_ops[]
Definition: lang.c:531
constext txt_help_select_next_unread_group[]
Definition: lang.c:501
struct t_config tinrc
Definition: init.c:192
constext txt_help_global_search_repeat[]
Definition: lang.c:443
constext txt_help_article_browse_urls[]
Definition: lang.c:341
constext txt_help_post_hist_toggle_info_line[]
Definition: lang.c:477
constext txt_help_scope_rename[]
Definition: lang.c:486
constext txt_help_attrib_search_opt_backwards[]
Definition: lang.c:400
constext txt_help_select_catchup_next_unread[]
Definition: lang.c:489
constext txt_help_global_search_auth_backwards[]
Definition: lang.c:437
constext txt_mini_attachment_3[]
Definition: lang.c:644
constext txt_mini_thread_2[]
Definition: lang.c:659
constext txt_help_scope_add[]
Definition: lang.c:479
constext txt_help_select_group_by_num[]
Definition: lang.c:492
constext txt_help_thread_read_article[]
Definition: lang.c:527
constext txt_help_select_quit_no_write[]
Definition: lang.c:503
constext txt_help_group_next[]
Definition: lang.c:461
constext txt_help_select_toggle_read_groups[]
Definition: lang.c:513
constext txt_help_global_page_up[]
Definition: lang.c:424
constext txt_mini_select_2[]
Definition: lang.c:656
constext txt_help_article_parent[]
Definition: lang.c:359
constext txt_help_article_quit_to_select_level[]
Definition: lang.c:364
constext txt_mini_url_2[]
Definition: lang.c:661
constext txt_help_attachment_pipe[]
Definition: lang.c:384
constext txt_help_attachment_last[]
Definition: lang.c:382
constext txt_help_global_esc[]
Definition: lang.c:414
constext txt_help_global_edit_filter[]
Definition: lang.c:415
constext txt_help_article_toggle_highlight[]
Definition: lang.c:374
constext txt_help_group_toggle_read_articles[]
Definition: lang.c:470
struct thp t_help_page
static t_help_page scope_help_page[]
Definition: help.c:177
void show_mini_help(int level)
Definition: help.c:798
static t_help_page attachment_help_page[]
Definition: help.c:62
void show_help_page(const int level, const char *title)
Definition: help.c:734
static t_help_page thread_help_page[]
Definition: help.c:397
static t_help_page page_help_page[]
Definition: help.c:488
static t_help_page select_help_page[]
Definition: help.c:210
static t_help_page url_help_page[]
Definition: help.c:633
static constext txt_help_empty_line[]
Definition: help.c:60
void toggle_mini_help(int level)
Definition: help.c:1078
static t_help_page group_help_page[]
Definition: help.c:288
static t_help_page attrib_help_page[]
Definition: help.c:105
static t_help_page config_help_page[]
Definition: help.c:141
static void make_help_page(FILE *fp, const t_help_page *helppage, const struct keylist keys)
Definition: help.c:670
static t_help_page post_hist_help_page[]
Definition: help.c:598
struct keylist select_keys
Definition: keymap.c:89
#define MAXKEYLEN
Definition: keymap.h:136
struct keylist attachment_keys
Definition: keymap.c:62
struct keylist thread_keys
Definition: keymap.c:90
struct keylist info_keys
Definition: keymap.c:68
struct keylist scope_keys
Definition: keymap.c:88
struct keylist page_keys
Definition: keymap.c:70
struct keylist option_menu_keys
Definition: keymap.c:69
char * printascii(char *buf, int ch)
Definition: keymap.c:273
@ GROUP_TAG
Definition: keymap.h:252
@ GROUP_SAVE
Definition: keymap.h:248
@ GROUP_MAIL
Definition: keymap.h:237
@ GLOBAL_SCROLL_UP
Definition: keymap.h:214
@ PAGE_TAG
Definition: keymap.h:293
@ SCOPE_DELETE
Definition: keymap.h:336
@ THREAD_SELECT_ARTICLE
Definition: keymap.h:366
@ GROUP_DO_AUTOSELECT
Definition: keymap.h:234
@ GROUP_TOGGLE_READ_UNREAD
Definition: keymap.h:255
@ PAGE_LIST_THREAD
Definition: keymap.h:274
@ GLOBAL_SHELL_ESCAPE
Definition: keymap.h:223
@ GROUP_TAG_PARTS
Definition: keymap.h:253
@ GROUP_MARK_UNSELECTED_ARTICLES_READ
Definition: keymap.h:239
@ SCOPE_ADD
Definition: keymap.h:335
@ THREAD_MARK_ARTICLE_READ
Definition: keymap.h:361
@ GROUP_TOGGLE_GET_ARTICLES_LIMIT
Definition: keymap.h:254
@ GLOBAL_PAGE_UP
Definition: keymap.h:201
@ PAGE_TOGGLE_HEADERS
Definition: keymap.h:294
@ PAGE_TOGGLE_TABS
Definition: keymap.h:298
@ ATTACHMENT_UNTAG
Definition: keymap.h:166
@ GROUP_UNDO_SELECTIONS
Definition: keymap.h:259
@ GLOBAL_SET_RANGE
Definition: keymap.h:221
@ GROUP_PREVIOUS_GROUP
Definition: keymap.h:243
@ GROUP_CANCEL
Definition: keymap.h:233
@ GROUP_NEXT_UNREAD_ARTICLE
Definition: keymap.h:241
@ GROUP_SELECT_THREAD
Definition: keymap.h:250
@ GROUP_TOGGLE_SUBJECT_DISPLAY
Definition: keymap.h:256
@ PAGE_TOGGLE_TEX2ISO
Definition: keymap.h:299
@ PAGE_NEXT_ARTICLE
Definition: keymap.h:277
@ THREAD_READ_ARTICLE
Definition: keymap.h:363
@ GLOBAL_PIPE
Definition: keymap.h:202
@ ATTACHMENT_SELECT
Definition: keymap.h:162
@ PAGE_EDIT_ARTICLE
Definition: keymap.h:268
@ GLOBAL_POST
Definition: keymap.h:203
@ GLOBAL_SEARCH_SUBJECT_FORWARD
Definition: keymap.h:220
@ SELECT_MOVE_GROUP
Definition: keymap.h:345
@ PAGE_NEXT_THREAD
Definition: keymap.h:278
@ CONFIG_RESET_ATTRIB
Definition: keymap.h:171
@ THREAD_READ_NEXT_ARTICLE_OR_THREAD
Definition: keymap.h:362
@ THREAD_TOGGLE_SUBJECT_DISPLAY
Definition: keymap.h:370
@ GLOBAL_LINE_DOWN
Definition: keymap.h:194
@ PAGE_TOGGLE_UUE
Definition: keymap.h:300
@ ATTACHMENT_PIPE
Definition: keymap.h:160
@ SELECT_SYNC_WITH_ACTIVE
Definition: keymap.h:351
@ GLOBAL_SCROLL_DOWN
Definition: keymap.h:213
@ GROUP_NEXT_UNREAD_ARTICLE_OR_GROUP
Definition: keymap.h:242
@ THREAD_CANCEL
Definition: keymap.h:359
@ PAGE_FOLLOWUP
Definition: keymap.h:269
@ GLOBAL_HELP
Definition: keymap.h:191
@ GLOBAL_LOOKUP_MESSAGEID
Definition: keymap.h:196
@ SCOPE_MOVE
Definition: keymap.h:338
@ SCOPE_SELECT
Definition: keymap.h:340
@ SELECT_UNSUBSCRIBE_PATTERN
Definition: keymap.h:355
@ GLOBAL_QUICK_FILTER_SELECT
Definition: keymap.h:209
@ PAGE_TOGGLE_ROT13
Definition: keymap.h:297
@ SELECT_ENTER_GROUP
Definition: keymap.h:341
@ PAGE_VIEW_URL
Definition: keymap.h:303
@ GROUP_MARK_THREAD_READ
Definition: keymap.h:238
@ GROUP_NEXT_GROUP
Definition: keymap.h:240
@ PAGE_REPLY_QUOTE_HEADERS
Definition: keymap.h:289
@ PAGE_MAIL
Definition: keymap.h:275
@ SELECT_NEXT_UNREAD_GROUP
Definition: keymap.h:346
@ PAGE_TOGGLE_RAW
Definition: keymap.h:296
@ THREAD_TOGGLE_ARTICLE_SELECTION
Definition: keymap.h:369
@ GLOBAL_PRINT
Definition: keymap.h:206
@ GLOBAL_SEARCH_SUBJECT_BACKWARD
Definition: keymap.h:219
@ PAGE_AUTOSAVE
Definition: keymap.h:265
@ MARK_FEED_UNREAD
Definition: keymap.h:264
@ SELECT_GOTO
Definition: keymap.h:343
@ SCOPE_RENAME
Definition: keymap.h:339
@ PAGE_TOP_THREAD
Definition: keymap.h:301
@ ATTACHMENT_TAG
Definition: keymap.h:163
@ GROUP_AUTOSAVE
Definition: keymap.h:232
@ GLOBAL_TOGGLE_INVERSE_VIDEO
Definition: keymap.h:230
@ GLOBAL_TOGGLE_HELP_DISPLAY
Definition: keymap.h:228
@ SELECT_MARK_GROUP_UNREAD
Definition: keymap.h:344
@ GLOBAL_VERSION
Definition: keymap.h:231
@ MARK_FEED_READ
Definition: keymap.h:263
@ SELECT_SUBSCRIBE_PATTERN
Definition: keymap.h:350
@ THREAD_REVERSE_SELECTIONS
Definition: keymap.h:364
@ PAGE_GROUP_SELECT
Definition: keymap.h:273
@ PAGE_SAVE
Definition: keymap.h:291
@ PAGE_PREVIOUS_ARTICLE
Definition: keymap.h:284
@ NOT_ASSIGNED
Definition: keymap.h:149
@ GLOBAL_POSTPONED
Definition: keymap.h:204
@ PAGE_BOTTOM_THREAD
Definition: keymap.h:266
@ SELECT_RESET_NEWSRC
Definition: keymap.h:347
@ SELECT_SORT_ACTIVE
Definition: keymap.h:348
@ SELECT_SUBSCRIBE
Definition: keymap.h:349
@ THREAD_UNTAG
Definition: keymap.h:372
@ GLOBAL_SEARCH_AUTHOR_BACKWARD
Definition: keymap.h:217
@ PAGE_REVEAL
Definition: keymap.h:286
@ GLOBAL_PAGE_DOWN
Definition: keymap.h:200
@ PAGE_NEXT_UNREAD_ARTICLE
Definition: keymap.h:280
@ SELECT_TOGGLE_DESCRIPTIONS
Definition: keymap.h:352
@ PAGE_SKIP_INCLUDED_TEXT
Definition: keymap.h:292
@ PAGE_GOTO_PARENT
Definition: keymap.h:272
@ PAGE_NEXT_UNREAD
Definition: keymap.h:279
@ ATTACHMENT_SAVE
Definition: keymap.h:161
@ CONFIG_SELECT
Definition: keymap.h:173
@ SELECT_ENTER_NEXT_UNREAD_GROUP
Definition: keymap.h:342
@ URL_SELECT
Definition: keymap.h:373
@ GROUP_TOGGLE_THREADING
Definition: keymap.h:258
@ GLOBAL_EDIT_FILTER
Definition: keymap.h:189
@ GROUP_REVERSE_SELECTIONS
Definition: keymap.h:247
@ GLOBAL_ABORT
Definition: keymap.h:186
@ PAGE_REPLY_QUOTE
Definition: keymap.h:288
@ GLOBAL_SEARCH_REPEAT
Definition: keymap.h:216
@ GLOBAL_SEARCH_AUTHOR_FORWARD
Definition: keymap.h:218
@ GLOBAL_QUIT
Definition: keymap.h:210
@ GROUP_REPOST
Definition: keymap.h:246
@ SELECT_TOGGLE_READ_DISPLAY
Definition: keymap.h:353
@ GLOBAL_FIRST_PAGE
Definition: keymap.h:190
@ GLOBAL_DISPLAY_POST_HISTORY
Definition: keymap.h:188
@ GLOBAL_REDRAW_SCREEN
Definition: keymap.h:212
@ GLOBAL_TOGGLE_INFO_LAST_LINE
Definition: keymap.h:229
@ PAGE_VIEW_ATTACHMENTS
Definition: keymap.h:302
@ PAGE_PREVIOUS_UNREAD_ARTICLE
Definition: keymap.h:285
@ GLOBAL_LAST_PAGE
Definition: keymap.h:192
@ ATTACHMENT_TOGGLE_TAGGED
Definition: keymap.h:165
@ THREAD_SAVE
Definition: keymap.h:365
@ PAGE_REPLY
Definition: keymap.h:287
@ GROUP_UNTAG
Definition: keymap.h:260
@ GLOBAL_LINE_UP
Definition: keymap.h:195
@ GROUP_TOGGLE_SELECT_THREAD
Definition: keymap.h:257
@ GLOBAL_SEARCH_BODY
Definition: keymap.h:215
@ CONFIG_TOGGLE_ATTRIB
Definition: keymap.h:175
@ THREAD_AUTOSAVE
Definition: keymap.h:358
@ THREAD_MAIL
Definition: keymap.h:360
@ GROUP_LIST_THREAD
Definition: keymap.h:236
@ GROUP_GOTO
Definition: keymap.h:235
@ GLOBAL_OPTION_MENU
Definition: keymap.h:199
@ GLOBAL_MENU_FILTER_SELECT
Definition: keymap.h:198
@ GROUP_PREVIOUS_UNREAD_ARTICLE
Definition: keymap.h:244
@ GLOBAL_QUIT_TIN
Definition: keymap.h:211
@ SELECT_UNSUBSCRIBE
Definition: keymap.h:354
@ PAGE_CANCEL
Definition: keymap.h:267
@ PAGE_FOLLOWUP_QUOTE_HEADERS
Definition: keymap.h:271
@ CONFIG_SCOPE_MENU
Definition: keymap.h:172
@ CATCHUP_NEXT_UNREAD
Definition: keymap.h:170
@ ATTACHMENT_TAG_PATTERN
Definition: keymap.h:164
@ POSTED_SELECT
Definition: keymap.h:325
@ MARK_ARTICLE_UNREAD
Definition: keymap.h:261
@ PAGE_MARK_THREAD_READ
Definition: keymap.h:276
@ THREAD_TAG
Definition: keymap.h:367
@ SCOPE_EDIT_ATTRIBUTES_FILE
Definition: keymap.h:337
@ THREAD_UNDO_SELECTIONS
Definition: keymap.h:371
@ CONFIG_NO_SAVE
Definition: keymap.h:174
@ GROUP_SELECT_PATTERN
Definition: keymap.h:249
@ GLOBAL_MENU_FILTER_KILL
Definition: keymap.h:197
@ GROUP_READ_BASENOTE
Definition: keymap.h:245
@ MARK_THREAD_UNREAD
Definition: keymap.h:262
@ GLOBAL_QUICK_FILTER_KILL
Definition: keymap.h:208
@ THREAD_TAG_PARTS
Definition: keymap.h:368
@ SELECT_YANK_ACTIVE
Definition: keymap.h:357
@ SELECT_QUIT_NO_WRITE
Definition: keymap.h:356
@ PAGE_FOLLOWUP_QUOTE
Definition: keymap.h:270
@ CATCHUP
Definition: keymap.h:169
@ PAGE_TOGGLE_HIGHLIGHTING
Definition: keymap.h:295
@ GLOBAL_BUGREPORT
Definition: keymap.h:187
@ GLOBAL_LAST_VIEWED
Definition: keymap.h:193
@ GROUP_SELECT_THREAD_IF_UNREAD_SELECTED
Definition: keymap.h:251
@ PAGE_REPOST
Definition: keymap.h:290
struct keylist url_keys
Definition: keymap.c:91
struct keylist group_keys
Definition: keymap.c:67
struct keylist post_hist_keys
Definition: keymap.c:82
enum defined_functions t_function
Definition: keymap.h:375
#define PrintFuncKey(buf, func, keys)
Definition: keymap.h:445
static char buf[16]
Definition: langinfo.c:50
void center_line(int line, t_bool inverse, const char *str)
Definition: screen.c:298
FILE * tmpfile(void)
Definition: tmpfile.c:53
void info_pager(FILE *info_fh, const char *title, t_bool wrap_at_ends)
Definition: page.c:2174
void error_message(unsigned int sdelay, const char *fmt,...)
Definition: screen.c:224
t_bool expand_ctrl_chars(char **line, size_t *length, size_t lcook_width)
Definition: cook.c:87
void set_noteslines(int num_lines)
Definition: signal.c:642
struct keynode * list
Definition: keymap.h:389
size_t used
Definition: keymap.h:390
char key
Definition: keymap.h:382
t_function function
Definition: keymap.h:384
t_bool beginner_level
Definition: tinrc.h:219
Definition: help.c:49
constext * helptext
Definition: help.c:50
t_function func
Definition: help.c:51
#define LEN
Definition: tin.h:860
#define URL_LEVEL
Definition: tin.h:1121
#define PAGE_LEVEL
Definition: tin.h:1115
#define SCOPE_LEVEL
Definition: tin.h:1117
#define POSTED_LEVEL
Definition: tin.h:1122
#define INFO_PAGER
Definition: tin.h:1116
#define GROUP_LEVEL
Definition: tin.h:1113
#define ATTRIB_LEVEL
Definition: tin.h:1119
#define my_malloc(size)
Definition: tin.h:2245
#define SELECT_LEVEL
Definition: tin.h:1112
#define ATTACHMENT_LEVEL
Definition: tin.h:1120
#define _(Text)
Definition: tin.h:94
#define snprintf
Definition: tin.h:2464
#define CONFIG_LEVEL
Definition: tin.h:1118
const char constext
Definition: tin.h:2018
#define my_realloc(ptr, size)
Definition: tin.h:2247
#define THREAD_LEVEL
Definition: tin.h:1114
#define MINI_HELP_LINES
Definition: tin.h:1124