NevemTeve blogja

Putty -- Home/End ez mi ez?

Van a putty-ban egy olyan, hogy Terminal/Keyboard/TheHomeAndEndKeys, lehet standard vagy rxvt.
A doksi szerint:

The Unix terminal emulator `rxvt' disagrees with the rest of the
       world about what character sequences should be sent to the server by
       the Home and End keys.

       `xterm', and other terminals, send `ESC [1~' for the Home key, and
       `ESC [4~' for the End key. `rxvt' sends `ESC [H' for the Home key
       and `ESC [Ow' for the End key.

Ezt vajon milyen rxvt-n nézték, és milyen xterm-en? A friss mérések eredménye itt van: http://web.axelero.hu/lzsiga/terminal.html#S0007

rxvt: resize megszűnt működni

Azzal próbálkozom, hogy 'resize -s 81 25' de nincs eredmény, csak timeout.
Házilag fordított rxvt-2.7.10 -ről lenne szó.

A 'debianos'-sal meg az urxvt-vel megy.

20130925.1430 Úgy tűnik, hogy a command.c-ben a rxvt_process_window_ops függvényt kellene debuggolni. Mondjuk egy furcsaságot látni vélek:

void
rxvt_process_window_ops(rxvt_t *r, const int *args, unsigned int nargs)
{
    switch (args[0]) {
    case 1:/* deiconify window */
    case 2:/* iconify window */
    case 3:/* set position (pixels) */
    case 4:/* set size (pixels) */
    case 5:/* raise window */
    case 6:/* lower window */
    case 7:/* refresh window */
    case 8:/* set size (chars) */
    default:
    case 11:/* report window state */
    case 13:/* report window position */
    case 14:/* report window size (pixels) */
    case 18:/* report window size (chars) */
    }
}

libtool #123

Kedvenc hobby-projektjeim egyike egy libtool-kompatibilis eszköz összegányolása, persze sosincs kész, most éppen a mc-4.8.10 buktatott meg. A gond azzal függhet össze, hogy agresszíven használ convenience librarykat, és a poén kedvvért azonos nevű objekteket (lib.o) is telepít mindegyikbe.

Első lépésként a fordítás során gondosan elrejtett információt kellene láthatóvá tenni:


find . -name Makefile  -exec \
    sed_repl 's|@echo "  CCLD    "|echo "  CCLD    "|
              s|--silent||' {} \;

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

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

firefox és java plugin

Valahogy el van ez átkozva...
Főbb tényezők:

- Debian GNU/linux 6
- 64-bites kernel 3.10.5
- firefox-23.0, angol, 32-bites /opt/firefox-ba telepítve
- java-jdk1.7.0_25 /opt/jdk-ba telepítve, benne egy tök jó kis plugin
- /usr/lib/mozilla/plugins, benne
libflashplayer.so (file)
libjavaplugin_oji.so (symlink)
- saját könyvtáramban egy ~/.mozilla/firefox/*.default/pluginregs.dat, benne:
[INVALID]
/local/opt/jdk1.7.0_25/jre/plugin/i386/ns7/libjavaplugin_oji.so:$
1370492063000:$

Most azt találtam ki, hogy megnézem a firefox forrását, végső esetben megpróbálom fordítani... na nem mintha az olyan könnyű lenne...

Terminál és emuláció

Üres perceimben elkezdtem írni egy terminál-FAQ című dolgozatot, hátha valakit érdekel. Vagy ha nem, legalább nekem megmarad írásban.

Ugyanitt megemlítem, hogy a dtelnet most éppen apró darabokra van szétszedve, de már elkezdtem összerakni. A gond a kijelölések hibás működésével kezdődött, azután volt némi pixel-dropping ClearType használatánál, azután elkezdtem egyes részeket átszervezni, hogy legalább én értsem, mi történik, azután a színek kezelését is megkavartam; később jelentkezett valaki, hogy a scrolling region kezelése problémás, viszont kellene neki az aláhúzás... Szóval kavaros az egész...