% slang configuration file for slrn % makes the usage TIN-like, using cursor keys % by Peter Sobisch % % % statis group assignments % definekey ("up", "\e[A", "group"); % definekey ("down", "\e[B", "group"); % definekey ("pageup", "\e[5~", "group"); % definekey ("pagedown", "\e[6~", "group"); % definekey ("bob", "\e[1~", "group"); definekey ("eob", "\e[4~", "group"); definekey ("subscribe", "S", "group"); definekey ("subscribe", "\e[2~", "group"); definekey ("unsubscribe", "U", "group"); definekey ("unsubscribe", "\e[3~", "group"); definekey ("add_group", "A", "group"); definekey ("catchup", "C", "group"); definekey ("group_search_forward", "/", "group"); definekey ("redraw", "^R", "group"); definekey ("refresh_groups", "G", "group"); definekey ("select_group", "\r", "group"); definekey ("select_group", "\t", "group"); definekey ("select_group", "\e[C", "group"); definekey ("select_group", "\eOC", "group"); definekey ("toggle_group_display", "D", "group"); definekey ("toggle_scoring", "K", "group"); definekey ("toggle_hidden", "l", "group"); definekey ("toggle_hidden", "r", "group"); definekey ("toggle_hidden", " ", "group"); definekey ("toggle_list_all", "L", "group"); definekey ("toggle_list_all", "y", "group"); definekey ("post", "p", "group"); definekey ("post_postponed", "P", "group"); definekey ("save_newsrc", "X", "group"); definekey ("help", "?", "group"); definekey ("quit", "Q", "group"); % % static article assignments % definekey ("shrink_window", "^^", "article"); definekey ("enlarge_window", "^", "article"); definekey ("toggle_rot13", "\eR", "article"); definekey ("wrap_article", "W", "article"); definekey ("toggle_headers", "H", "article"); definekey ("article_search", "/", "article"); definekey ("author_search_forward", "a", "article"); definekey ("author_search_backward", "A", "article"); definekey ("subject_search_forward", "S", "article"); definekey ("subject_search_backward", "^S", "article"); definekey ("next_high_score", "!", "article"); definekey ("toggle_collapse_threads", "+", "article"); definekey ("toggle_collapse_threads", " ", "article"); definekey ("toggle_sort", "o", "article"); definekey ("toggle_show_author", "^A", "article"); definekey ("get_parent_header", "^P", "article"); definekey ("post", "p", "article"); definekey ("post_postponed", "P", "article"); definekey ("followup", "f", "article"); definekey ("followup", "r", "article"); definekey ("forward", "F", "article"); definekey ("reply", "R", "article"); definekey ("delete", "d", "article"); definekey ("undelete", "u", "article"); definekey ("save", "s", "article"); definekey ("pipe_article", "|", "article"); definekey ("catchup", "c", "article"); definekey ("catchup_all", "C", "article"); definekey ("uncatchup", "u", "article"); definekey ("uncatchup_all", "U", "article"); definekey ("cancel", "\e^C", "article"); definekey ("mark_spot", ";", "article"); definekey ("exchange_mark", ",", "article"); definekey ("redraw", "^R", "article"); definekey ("help", "?", "article"); definekey ("quit", "q", "article"); % quit definekey ("quit", "\t", "article"); % quit definekey ("quit", "^?", "article"); % quit %--------------------------------------------------------------- % article index keys %--------------------------------------------------------------- define index_keys () { definekey ("up", "\e[A", "article"); % up definekey ("up", "\eOA", "article"); % definekey ("down", "\e[B", "article"); % down definekey ("down", "\eOB", "article"); % down definekey ("pageup", "\e[5~", "article"); % pg-up definekey ("pagedn", "\e[6~", "article"); % pg-down definekey ("header_bob", "\e[1~", "article"); % home definekey ("header_eob", "\e[4~", "article"); % end definekey ("index_right", "\e[C", "article"); % right (article window on) definekey ("index_right", "\eOC", "article"); definekey ("index_right", "\r", "article"); % definekey ("index_left", "^?", "article"); % backspace (quit to group mode) definekey ("index_left", "\e[D", "article"); % left (quit to group mode) definekey ("index_left", "\eOD", "article"); % left (quit to group mode) definekey ("collapse_threads", "-", "article"); % collapse threads definekey ("uncollapse_threads", "+", "article"); % uncollapse threads } %--------------------------------------------------------------- % article viewer keys %--------------------------------------------------------------- define article_keys () { definekey ("article_lineup", "\e[A", "article"); % up definekey ("article_lineup", "\eOA", "article"); % up definekey ("article_linedn", "\e[B", "article"); % down definekey ("article_linedn", "\eOB", "article"); % down definekey ("scroll_up", "\e[5~", "article"); % pg-up definekey ("scroll_dn", "\e[6~", "article"); % pg-down definekey ("art_bob", "\e[1~", "article"); % home definekey ("art_eob", "\e[4~", "article"); % end definekey ("article_off", "\e[D", "article"); % left (article window off) definekey ("article_off", "\eOD", "article"); % left (article window off) definekey ("article_off", "^?", "article"); % backspace (article window off) definekey ("article_off ()", "\r", "article"); } %--------------------------------------------------------------- % routines %--------------------------------------------------------------- define article_on () { !if (is_article_visible ()) { call ("hide_article"); article_keys (); } } %--------------------------------------------------------------- define article_off () { if (is_article_visible ()) { call ("hide_article"); index_keys (); } } %--------------------------------------------------------------- define index_right () { if (is_thread_collapsed ()) { uncollapse_thread (); return (); } article_on (); } %--------------------------------------------------------------- define index_left () { !if (is_thread_collapsed ()) { collapse_thread (); if (is_thread_collapsed ()) { return (); } call("quit"); return (); } call("quit"); } %--------------------------------------------------------------- % global asignments %--------------------------------------------------------------- define article_mode_hook () { index_keys (); }