--- mc/src/mouse.c.orig 2006-03-06 14:28:14 +0500 +++ mc/src/mouse.c 2008-02-24 15:26:43 +0500 @@ -47,7 +47,25 @@ void init_mouse (void) 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_NORMAL_TRACKING: @@ -70,7 +88,6 @@ void enable_mouse (void) #ifdef HAVE_LIBGPM case MOUSE_GPM: { - int mouse_d; Gpm_Connect conn; conn.eventMask = ~GPM_MOVE; @@ -78,11 +95,7 @@ void enable_mouse (void) 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 2006-09-22 21:14:58 +0600 +++ mc/src/main.c 2008-02-24 15:33:06 +0500 @@ -32,6 +32,8 @@ #include #include #include +#include +#include #include "global.h" #include "tty.h" @@ -1605,15 +1607,27 @@ midnight_callback (struct Dlg_head *h, d void update_xterm_title_path (void) { - 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,"(unknown)"); + } p = s = g_strdup (strip_home_and_password (current_panel->cwd)); do { if (!is_printable ((unsigned char) *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); }