putty és egér (és mc)

Előző adásunk folytatása: most éppen az lenne jó, ha a 'putty'-t használva is menne az egerentyű.

Tesztek:

$ infocmp putty | grep 'kmous'
kmous=\E[M

rxvt ablakban:

TERM=putty mc
nem megy az egerentyű

Akkor most jöjjön az, hogy megpatcheljük a mc-4.8.10 forrását:

src/mc-4.8.10# diff -u0 lib/tty/tty.cold lib/tty/tty.c
--- lib/tty/tty.cold    2013-06-25 23:29:14.000000000 +0200
+++ lib/tty/tty.c       2013-09-02 16:50:06.000000000 +0200
@@ -107,3 +107,8 @@
-        || strncmp (termvalue, "konsole", 7) == 0
-        || strncmp (termvalue, "rxvt", 4) == 0
-        || strcmp (termvalue, "Eterm") == 0
+        || strcmp  (termvalue, "konsole")     == 0
+        || strncmp (termvalue, "konsole-", 8) == 0
+        || strcmp  (termvalue, "rxvt")        == 0
+        || strncmp (termvalue, "rxvt-", 5)    == 0
+        || strcmp  (termvalue, "putty")       == 0
+        || strncmp (termvalue, "putty-", 6)   == 0
+        || strcmp  (termvalue, "Eterm")       == 0
+        || strncmp (termvalue, "Eterm-", 6)   == 0

Látszólag megy, csak el ne kiabáljuk.

És hogy miért is kellene ez? Hát azért egy-s-más nem tökéletesen tökéletes a putty-ban, és ezen talán segítene, ha a saját termináltípusával működhetne.

Szerk: mc-4.8.10 nem fordul az AIX-en az én házibarkács libtool-ommal (ez persze az én egyéni szociális problémám), mivel több lib.c-je van neki, amiket (vagyis a lib.o fájlokat) szeretne egyidőben egy .a archívban látni, és a libtool-tól várja, hogy az automatikus átnevezéssel megoldja ezt.

Hozzászólások

20130903.1300: Van egy olyan érzésem, hogy a Slang-ot is bele fogom keverni a történetbe... ugyebár AIX-on a nyomorult s.k. akarja olvasni a terminfo adatbázist, de nem megy neki, tehát termcap-ot kell erőltetni. Hogy ez hogy függ össze a jelen problémával, azt nem tudom, de majd nyomozok...

"a libtool-tól várja, hogy az automatikus átnevezéssel megoldja ezt."

Azert ez mennyire gany megoldas mar? En is szoktam nevadasi valsagban fetrengeni, de valami megoldast mindig talalok ra, ha mast nem, lib1.c, lib2.c, lib3.c, stb.
--

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

Ez egy új eredmény, a 4.7.5.5-ben még nem volt ilyen ütközés... egyébként a szépészeten kívül még annyi az értelme, hogy az objecteket elhelyezi *.a archívumokba (libmcviewer.a, libdiffviewer.a, etc), azután azokat összeönti egy libinternal.a archívumba, és azután azzal linkeli az executablét. Ez bizonyára segít valamit... mondjuk lassít egy-két másodercet, az is valami;)

20130903.1705: Megpatcheltem a slang-ot is, nem segített ugyan, de isteni érzés;)

$ cat /usr/local/src/slang-2.2.2/src/sldisply.patch
2391a2392
>              || (0 == strncmp (term, "putty", 5))

20130903.1749: 'mc --oldmouse' opcióval működik!

20130903.1803: pillanatnyilag ez a patch a 4.7.5.5-höz:

cd /usr/local/src/mc-4.7.5.5/lib/tty$ diff tty.cold tty.c
107c107,109
<         || strcmp (termvalue, "Eterm") == 0 || strcmp (termvalue, "dtterm") == 0;
---
>         || strncmp (termvalue, "putty", 5) == 0
>         || strncmp (termvalue, "Eterm", 5) == 0
>         || strcmp (termvalue, "dtterm") == 0;
281a284
>                   strncmp (termvalue, "putty", 5) == 0 ||