commit a6c3bd3af12eb01e51378753481d406eb9784b60
parent 928f885bab169f4abda1838a985f722b44892d9b
Author: ukai <ukai>
Date: Sat, 15 Dec 2001 18:33:41 +0000
[w3m-dev 02666] resizing on xterm with gpm support
From: Fumitoshi UKAI <ukai@debian.or.jp>
Diffstat:
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,8 @@
+2001-12-16 Fumitoshi UKAI <ukai@debian.or.jp>
+
+ * [w3m-dev 02666] resizing on xterm with gpm support
+ * terms.c (mouse_init): check Gpm_Open return value, signal(SIGWINCH)
+
2001-12-16 Rin Okuyama <okuyama@cna.ne.jp>
* [w3m-dev 02664] install-sh -s option
diff --git a/terms.c b/terms.c
@@ -2005,6 +2005,7 @@ mouse_init()
{
Gpm_Connect conn;
extern int gpm_process_mouse(Gpm_Event *, void *);
+ int r;
if (mouseActive)
return;
@@ -2012,7 +2013,9 @@ mouse_init()
conn.defaultMask = 0;
conn.maxMod = 0;
conn.minMod = 0;
- if (Gpm_Open(&conn, 0) == -2) {
+
+ r = Gpm_Open(&conn, 0);
+ if (r == -2) {
/*
* If Gpm_Open() success, returns >= 0
* Gpm_Open() returns -2 in case of xterm.
@@ -2021,14 +2024,16 @@ mouse_init()
* passed through to the application.
*/
Gpm_Close();
- is_xterm = 1;
+ is_xterm = (NEED_XTERM_ON|NEED_XTERM_OFF);
}
- else {
+ else if (r >= 0) {
gpm_handler = gpm_process_mouse;
+ is_xterm = 0;
}
if (is_xterm) {
XTERM_ON;
}
+ signal(SIGWINCH, resize_hook);
mouseActive = 1;
}