Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Kirill Frolov                        2:5030/827.2   08 Feb 2004  11:00:31
 To : All
 Subject : Re: slrn суксь... Delete/Catch up не хочу
 -------------------------------------------------------------------------------- 
 
 
 On Mon, 2 Feb 2004 03:11:02 +0000 (UTC), Kirill Frolov wrote:
 
  KF>   Знаю, в gnus есть такая вещь, забыл как называется, но суть в том, что
  KF> сообщение в группе можно пометить как *просмотренное*, а не удалённое. То
  KF> есть при следующем заходе в группу его там снова будет видно, но будет
  KF> также видно, что оно уже просмотренное, а не новое. 
 
 ~/News/Score:
 
 Score:: -10
   ~Age: 7
 
 Score:: -20
   ~Age: 30
 
    Очень сильно помогло. Теперь старые сообщение хоть по Score видно,
 верней наоборот не видно.
  KF>   Ещё хочу кнопки "-" и "+" для регулирования скоринга для конкретных
  KF> "тредов".  Сделать можно, но если менять score на лету, то slrn же всё
  KF> заново пересортирует...  Это наверное не побороть. :-(
  
    Это можно побороть. Клавишами "-" и "+" регулируются очки текущего
 сообщения и ответов на него, клавишами Esc-"-" и Esc-"+" -- всех сообщений
 с точно такой же темой. По-умолчанию прибавляется/убавляется по 10 очков,
 но это задаётся предваряющей комбинацией клавиш <Esc>-число (ну это prefix
 argument, как в emacs или vim).
 % vim: set syntax=slang:
 
 variable expire_days = 10;
 variable score_step = 10;
 
 define score_by_ref (score)
 {
 variable msgid = extract_article_header("Message-Id");
 
 set_header_score (get_header_score() + score);
 call("header_bob");
 do {
   if (is_substr(
    extract_article_header("References"),
    msgid)
   ) {
    set_header_score (get_header_score() + score);
   }
 } while (header_down(1));
 
 ()=locate_header_by_msgid (msgid, 0);
 
 msgid = str_quote_string (msgid, "\\^$[].*+?", '\\');
 return strcat ("Message-ID: ",
    strcat (msgid, strcat ("\nReferences: ", msgid)));
 }
 
 define score_by_subj (score)
 {
 variable msgid = extract_article_header("Message-Id");
 variable subj = str_quote_string (
   extract_article_header("Subject"),
   "\\^$[].*+?", '\\'
 );
 
 variable subjpat = strcat ("[A-Za-z0-9^]:[ ]", subj);
 call("header_bob");
 do {
   variable s=extract_article_header("Subject");
   if (string_match (s, subj, 1)
    or string_match (s, subjpat, 1)
   ) {
    set_header_score (get_header_score() + score);
   }
 } while (header_down(1));
 
 ()=locate_header_by_msgid (msgid, 0);
 
 return strcat ("Subject: ", subj);
 }
 define score_add (score, by_rule)
 {
 variable file, time, arg;
 
 arg = get_prefix_arg();
 if (arg != -1) {
   if (score >= 0)  score = arg;
    else score = -arg;
 }
 
 variable scorefile = strcat (getenv("HOME"), "/News/Score");
 file = fopen(scorefile, "a+");
 if (file==NULL) {
   error( sprintf(
    "Can't open score file for writing (%s)",
    scorefile
   ));
   return;
 }
 
 time = localtime(_time() + expire_days*86400);
 fprintf (file, "\n%%BOS\n[%s]\nScore:: %d\nExpires: %d/%d/%d\n%s\n%%EOS\n\n",
   current_newsgroup(),
   score, 
   time.tm_mon+1, time.tm_mday, 1900+time.tm_year, 
   @by_rule(score)
 );
 
 fclose(file);
 reload_scorefile(0);  % not apply now
 }
 define score_ref_plus() {score_add(score_step, &score_by_ref);}
 definekey("score_ref_plus", "+", "article");
 
 define score_ref_minus() {score_add(-score_step, &score_by_ref);}
 definekey("score_ref_minus", "-", "article");
 
 define score_subj_plus() {score_add(score_step, &score_by_subj);}
 definekey("score_subj_plus", "\e+", "article");
 
 define score_subj_minus() {score_add(-score_step, &score_by_subj);}
 definekey("score_subj_minus", "\e-", "article");
 --- [ZX]
  * Origin: Это письмо написано в Vim (2:5030/827.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 slrn суксь... Delete/Catch up не хочу   Kirill Frolov   02 Feb 2004 07:11:02 
 Re: slrn суксь... Delete/Catch up не хочу   vadim s. sabinich   03 Feb 2004 23:25:19 
 Re: slrn суксь... Delete/Catch up не хочу   Kirill Frolov   08 Feb 2004 11:00:31 
Архивное /ru.linux/3833234cdad3.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional