aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2001-12-15 18:33:41 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2001-12-15 18:33:41 +0000
commit7a65c8e698bcc3422bc70f17334071eac649bfb8 (patch)
tree1303b70c8d624654f2c91d9a6353ad2ed92f389d
parent[w3m-dev 02664] install-sh -s option (diff)
downloadw3m-7a65c8e698bcc3422bc70f17334071eac649bfb8.tar.gz
w3m-7a65c8e698bcc3422bc70f17334071eac649bfb8.zip
[w3m-dev 02666] resizing on xterm with gpm support
From: Fumitoshi UKAI <ukai@debian.or.jp>
-rw-r--r--ChangeLog7
-rw-r--r--terms.c13
2 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 2505670..6a7236e 100644
--- 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
@@ -1256,4 +1261,4 @@
* release-0-2-1
* import w3m-0.2.1
-$Id: ChangeLog,v 1.130 2001/12/15 17:25:45 ukai Exp $
+$Id: ChangeLog,v 1.131 2001/12/15 18:33:41 ukai Exp $
diff --git a/terms.c b/terms.c
index 3b1a828..17af0d4 100644
--- a/terms.c
+++ b/terms.c
@@ -1,4 +1,4 @@
-/* $Id: terms.c,v 1.23 2001/12/14 17:40:09 ukai Exp $ */
+/* $Id: terms.c,v 1.24 2001/12/15 18:33:41 ukai Exp $ */
/*
* An original curses library for EUC-kanji by Akinori ITO, December 1989
* revised by Akinori ITO, January 1995
@@ -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;
}