rxvt és egérgörgő (és mc)

Szóval, a kérdés: miért nem megy az rxvt-ben futtatott mc-ben az egérgörgő?

Haladjunk lépésenként:

1. xterm-ben, Eterm-ben megy a görgő

2. a TERM változó nem számít

3. nem arról van szó, hogy az egér általában nem megy; bal klikk, jobb klikk működik

4. segédprogrammal ellenőrizve (shkeys -mouse) azt látjuk, hogy a görgőtekerés küld be ESC-szekvenciát

4. mc verzió: 4.8.10, forrásból fordítva, linux-on; 4.7.5.5, forrásból fordítva, AIX-en; 4.7.0.9, Debian package-ből, linuxon

5. rxvt verzió: 2.6.4, forásból fordítva: nem megy a görgő; Debian package-ból: megy

Akkor most mi is van? Hirtelen eszembe jut, hogy kétféleképpen lehet az egérműködést bekapcsolni, X10 és X11 módon: ESC[?9h illetve ESC[?1000h. Görgőkezelés csak az utóbbiban van.
Akkor most elsősorban a tesztprogramot kell fejleszteni...

20130829.1524: Nem erről volt szó, inkább arról, hogy az rxvt (a forrásból fordított) rossz szekvenciát küld. Az új shkeys ezt írja (fel- és lefelé görgetésnél egyaránt):

Mouse event: button up at row=30 col=45
^[[M#M>           27 0x1b 0033
                  91 0x5b 0133
                  77 0x4d 0115
                  35 0x23 0043
                  77 0x4d 0115
                  62 0x3e 0076

hát ez nem jó, legalábbis nem annyira jó, mint az xterm outputja:


Mouse event: roller up at row=41 col=16
^[[M`0I           27 0x1b 0033
                  91 0x5b 0133
                  77 0x4d 0115
                  96 0x60 0140
                  48 0x30 0060
                  73 0x49 0111
Mouse event: roller down at row=41 col=16
^[[Ma0I           27 0x1b 0033
                  91 0x5b 0133
                  77 0x4d 0115
                  97 0x61 0141
                  48 0x30 0060
                  73 0x49 0111

20130829.1546: Nem találom a régi forrást a gépemen, az újjal (2.7.10) hibátlanul működik minden. Azért szétnézek a readme/history fájlokban, hátha találok valami utalást erre.
Off: ezeket a configure opciókat használtam:

    --prefix=/usr/local
    --enable-rxvt-scroll
    --enable-mousewheel
    --enable-256-colors

20130829.1839: Off: Az rxvt forrást nézegetve úgy látom, hogy a görgő fel / görgő le más nézőpontból button4 és button5, nyitva hagyva a kérdést, hogy a protokoll mennyit engedne... gondolom, a módosítókra való tekintettel ez a 0x40-0x43 tartományt jelentené, vagyis négy gombot vagy két kereket.

20130829.1907: Ez a rész új az új verzióban:


    if (button_number >= 3)
    button_number += (64 - 3);

ez végzi a 4->64,5->65 átalakítást [éber olvasók kedvéért: eddigre már kivont egyet a gomb számából, tehát 1..3=>0..2; 4..7=>3..6=>64..67]

Holnap következik a FAQ frissítése...

20130830.1353: Úgy látom, a dtelnet tudja az egér-görgést (én tettem bele pár hónapja, úgyhogy ez nem meglepetés), viszont kiderült, hogy nem tudja a 256-színű üzemmódot... ezen segíteni kellene... (tárgyi bizonyíték ellenem, illetve általános színtesztelő eszköz: dtelnet.test.sh colors)

20130830.1831: dtelnet megtette az első lépéseket a 256-színű működés felé: a színinfo 2x4-bitről 2x8-bitre nőtt, és közben megmaradt az eddigi funkcionalitás... most jönne az, hogy a bővített színtartomány meg is jelenjen (mondjuk színpalettás üzemmódban nem hiszem, hogy megcsinálnám, de az talán már nem annyira aktuális a mai hadveren... bár történelmileg benne van a forrásban, működőképes)

20130903.1844: Megy(eget) a 256 szín, a mc-ben mégis csúnya dolgokat látok; első debug szerint azért, mert mintha ilyenkor a mc ESC [ ? 90+x m szekvenciákat is küldene... a wiki szerint ez: "aixterm (not in standard) aixterm (not in standard)"
No mindegy, holnap belerakom.

Hozzászólások

"5. rxvt verzió: 2.6.4, forásból fordítva: nem megy a görgő; Debian package-ból: megy"

Check Debian patches.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Gentoo féle változatban is szépen működik.