Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

линукс-4

Программизмы всякие, и то не очень интересные.

1. Исправил баг в mutt'е, который там уже года четыре висит. Послал письмо с патчем на mutt-dev@mutt.org, больше суток назад уж - ответа пока нет. Завис, что ли, девелопмент? Подожду ещё.

Письмо прилагается.

From: Anatoly Vorobey <mellon@pobox.com>
Subject: read-thread & resolve
To: mutt-dev@mutt.org

So, the commands "read-thread" (^R) and "read-subthread" (Esc-R)
do not honor the resolve variable (i.e. they don't advance the cursor 
after marking the thread/subthread as read), which, to me at least, is a
nuisance. I tracked this to a bug in curs_main.c, and below is a fix, tested
and working. At least I think it's a bug, because the code as it is seems
obviously incorrect (it modifies menu->oldcurrent which will be reset
on the next cycle anyway); but checking the CVS reveals that this code
hasn't been changed for at least 4 years (since revision 1.1 of this
file), so for all I know, I may be missing something important here.
                                                                                
The patch is against the current CVS version, all comments are welcome.
                                                                                
Index: curs_main.c
===================================================================
RCS file: /home/roessler/cvs/mutt/curs_main.c,v
retrieving revision 3.15
diff -u -r3.15 curs_main.c
--- curs_main.c 15 Jul 2003 11:41:32 -0000      3.15
+++ curs_main.c 11 Aug 2003 02:21:31 -0000
@@ -1917,8 +1917,11 @@
        {
          if (option (OPTRESOLVE))
          {
-           if ((menu->oldcurrent = ci_next_undeleted (menu->current))
== -1)
-             menu->oldcurrent = menu->current;
+           if ((menu->current =
+              (op == OP_MAIN_READ_THREAD ?
+                mutt_next_thread(CURHDR) : mutt_next_subthread(CURHDR)
+              )) == -1)
+             menu->current = menu->oldcurrent;
          }
          menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
        }
                                                                                
                                                                                


2. Если будет время, добавлю фичу в gnome-terminal: хочу кнопку, чтобы по табам бегала, как ctrl-tab в Мозилле итп. (есть кнопка, бегающая вперёд по табам, но она останавливается на последнем и не переходит на первый), см. обсуждение в Багзилле.

3. Поигрался немного с форматом extensions для Мозиллы/Firebird. Много всяких непонятных акронимов: XUL, XPI... а под ними - всё тот же противный жабий скрипт. Смешно. Собственно мотивация была такая: я пользуюсь одновременно Googlebar и Quicknote, а hotkey у них оказалась одинаковая - Ctrl-F8, что сильно мешает. Раскрыл архив Quicknote, порылся в XML-файлах внутри, и недолго думая заменил вручную в описании интерфейса строку Ctrl-F8 на Ctrl-F7 - заработало.

4. Провёл кучу времени, настраивая mutt from scratch, зато теперь так всё подогнано - налюбоваться не могу. И цвета хорошие, и рассылки все знает, и сортирует как надо, и подтверждения именно там спрашивает, где я хочу... это я прошёлся по /etc/mutt/Muttrc и проверил дифолтные значения всех конфигурационных переменных (300+) и изменил в своём .muttrc то, что не понравилось. Несколько часов угрохал, зато какая теперь лепота.

Например (один из многих примеров):
send-hook '~l'  'set attribution="On %d, %n wrote:"'
send-hook '!~l' 'set attribution="You wrote on %d:"'

Т.е., когда я отвечаю на адрес какой-нибудь рассылки, то attribution line используется более формальный и с именем: "On Sun, Aug 10, 2003 at 08:56:17PM -0700, John Doe wrote:" . А когда отвечаю кому-то лично (из рассылки или на личное письмо, неважно), то более неформальный и без имени: "You wrote on Mon, Aug 11, 2003 at 03:00:46PM -0700:"

Потихоньку настраиваю фильтры для рассылок/против спама. Конфигурация getmail/maildrop настолько лучше "старых добрых" fetchmail/procmail, что это даже не смешно. Особенно нравится формат конфигурации maildrop, очень простой, удобный и одновременно весьма мощный.

5. Купил hub и настроил локальную сеть, в которую теперь включены новый компьютер и старый, который с NT4. Теперь не нужно провод перевтыкивать туда-сюда, когда что-то со старого скопировать надо. Постепенно скопирую почтовые архивы, всякие важные файлы итп. Аська пока только на старом компьютере, да я и там редко заходил в неё.

6. Ещё кучу всего сконфигурировал и какие-то исходники читал, но уже не помню.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 10 comments