--- mc/src/mouse.c.orig 2002-10-30 18:11:50 +0300 +++ mc/src/mouse.c 2002-10-30 18:31:47 +0300 @@ -47,7 +47,25 @@ switch (use_mouse_p) { #ifdef HAVE_LIBGPM case MOUSE_NONE: - use_mouse_p = MOUSE_GPM; + { + int mouse_d; + Gpm_Connect conn; + + mouse_d = Gpm_Open (&conn, 0); + switch (mouse_d) { + case -1: + use_mouse_p = MOUSE_NONE; + break; + case -2: + use_mouse_p = MOUSE_XTERM; + define_sequence (MCKEY_MOUSE, xmouse_seq, MCKEY_NOACTION); + break; + default: + use_mouse_p = MOUSE_GPM; + break; + } + Gpm_Close(); + } break; #endif /* HAVE_LIBGPM */ case MOUSE_XTERM: @@ -69,7 +87,6 @@ #ifdef HAVE_LIBGPM case MOUSE_GPM: { - int mouse_d; Gpm_Connect conn; conn.eventMask = ~GPM_MOVE; @@ -77,11 +94,7 @@ conn.minMod = 0; conn.maxMod = 0; - mouse_d = Gpm_Open (&conn, 0); - if (mouse_d == -1) { - use_mouse_p = MOUSE_NONE; - return; - } + Gpm_Open (&conn, 0); mouse_enabled = 1; } break; --- mc/src/main.c.orig 2003-02-05 18:54:34 +0300 +++ mc/src/main.c 2003-02-07 12:16:22 +0300 @@ -33,6 +33,9 @@ # include #endif +#include +#include + #include #include #include @@ -1366,6 +1369,7 @@ init_xterm_support (void) if (force_xterm || strncmp (termvalue, "xterm", 5) == 0 || strncmp (termvalue, "rxvt", 4) == 0 + || strncmp (termvalue, "Eterm", 5) == 0 || strcmp (termvalue, "dtterm") == 0) { xterm_flag = 1; @@ -1604,15 +1608,27 @@ midnight_callback (struct Dlg_head *h, d void update_xterm_title_path (void) { - unsigned char *p, *s; + unsigned char *p, *s, *u; + struct utsname buf; + struct passwd *pwd = NULL; if (xterm_flag && xterm_title) { + uname(&buf); + u = getlogin(); + if (u) + pwd = getpwnam(u); + if (!pwd) + pwd = getpwuid(getuid()); + if (!pwd) { + pwd = malloc(sizeof(struct passwd)); + strcpy(pwd->pw_name,"(unknow)"); + } p = s = g_strdup (strip_home_and_password (current_panel->cwd)); do { if (!is_printable (*s)) *s = '?'; } while (*++s); - fprintf (stdout, "\33]0;mc - %s\7", p); + fprintf (stdout, "\33]0;%s@%s: %s\7", pwd->pw_name, buf.nodename, p); fflush (stdout); g_free (p); }