533622a82b
Signed-off-by: Gwenhael Le Moine <gwenhael.le.moine@gmail.com>
124 lines
4.2 KiB
Diff
124 lines
4.2 KiB
Diff
diff -urN w3m-0.5.2/configure.ac w3m-0.5.2.fixed/configure.ac
|
|
--- w3m-0.5.2/configure.ac 2004-04-29 00:19:25.000000000 +0600
|
|
+++ w3m-0.5.2.fixed/configure.ac 2005-09-24 16:39:11.000000000 +0600
|
|
@@ -97,6 +97,7 @@
|
|
AC_SUBST(USE_W3M)
|
|
AC_CHECK_LIB(gpm, Gpm_Open, [AC_DEFINE(USE_GPM)
|
|
W3M_LIBS="$W3M_LIBS -lgpm"])
|
|
+ AC_CHECK_LIB(gpm, Gpm_Wgetch, AC_DEFINE(HAVE_GPM_WGETCH))
|
|
AC_SUBST(USE_SYSMOUSE)
|
|
AC_TRY_CPP([#include <machine/console.h>
|
|
MOUSE_GETINFO], [AC_DEFINE(USE_SYSMOUSE)])
|
|
diff -urN w3m-0.5.2/gpm-libcurses.c w3m-0.5.2.fixed/gpm-libcurses.c
|
|
--- w3m-0.5.2/gpm-libcurses.c 1970-01-01 05:00:00.000000000 +0500
|
|
+++ w3m-0.5.2.fixed/gpm-libcurses.c 2005-09-24 18:18:30.000000000 +0600
|
|
@@ -0,0 +1,84 @@
|
|
+/*
|
|
+ * libcurses.c - client library - curses level (gpm-Linux)
|
|
+ *
|
|
+ * Copied from GPM by Alexander E. Patrakov
|
|
+ * Copyright 1994,1995 rubini@linux.it (Alessandro Rubini)
|
|
+ * Copyright 2002 nico@schottelius.org (Nico Schottelius)
|
|
+ *
|
|
+ * This program is free software; you can redistribute it and/or modify
|
|
+ * it under the terms of the GNU General Public License as published by
|
|
+ * the Free Software Foundation; either version 2 of the License, or
|
|
+ * (at your option) any later version.
|
|
+ *
|
|
+ * This program is distributed in the hope that it will be useful,
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
+ * GNU General Public License for more details.
|
|
+ *
|
|
+ * You should have received a copy of the GNU General Public License
|
|
+ * along with this program; if not, write to the Free Software
|
|
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
+ ********/
|
|
+
|
|
+#include <stdio.h>
|
|
+#include <stdlib.h>
|
|
+#include <unistd.h> /* select(); */
|
|
+#include <sys/time.h> /* timeval */
|
|
+#include <sys/types.h> /* socket() */
|
|
+
|
|
+#include "config.h"
|
|
+#if defined(USE_GPM) && !defined(HAVE_GPM_WGETCH)
|
|
+
|
|
+extern int getch();
|
|
+
|
|
+#include <gpm.h>
|
|
+#include <errno.h>
|
|
+
|
|
+#define SELECT_TIME 86400 /* one day */
|
|
+
|
|
+int Gpm_Wgetch(void * dummy)
|
|
+{
|
|
+fd_set selSet;
|
|
+int max, flag, result;
|
|
+int fd=STDIN_FILENO;
|
|
+static Gpm_Event ev;
|
|
+
|
|
+ if (!gpm_flag || gpm_fd==-1) return getch();
|
|
+ if (gpm_morekeys) return (*gpm_handler)(&ev,gpm_data);
|
|
+ gpm_hflag=0;
|
|
+
|
|
+ max = (gpm_fd>fd) ? gpm_fd : fd;
|
|
+
|
|
+/*...................................................................*/
|
|
+ if (gpm_fd>=0) /* linux */
|
|
+ while(1)
|
|
+ {
|
|
+ if (gpm_visiblepointer) GPM_DRAWPOINTER(&ev);
|
|
+ do
|
|
+ {
|
|
+ FD_ZERO(&selSet);
|
|
+ FD_SET(fd,&selSet);
|
|
+ FD_SET(gpm_fd,&selSet);
|
|
+ gpm_timeout.tv_sec=SELECT_TIME;
|
|
+ errno = 0;
|
|
+ flag=select(max+1,&selSet,(fd_set *)NULL,(fd_set *)NULL,&gpm_timeout);
|
|
+ }
|
|
+ while (!flag);
|
|
+
|
|
+ if (flag==-1)
|
|
+ continue;
|
|
+
|
|
+ if (FD_ISSET(fd,&selSet))
|
|
+ return getch();
|
|
+
|
|
+ if (Gpm_GetEvent(&ev) && gpm_handler
|
|
+ && (result=(*gpm_handler)(&ev,gpm_data)))
|
|
+ {
|
|
+ gpm_hflag=1;
|
|
+ return result;
|
|
+ }
|
|
+ }
|
|
+ return 0;
|
|
+}
|
|
+#endif
|
|
+
|
|
diff -urN w3m-0.5.2/Makefile.in w3m-0.5.2.fixed/Makefile.in
|
|
--- w3m-0.5.2/Makefile.in 2004-04-26 23:04:48.000000000 +0600
|
|
+++ w3m-0.5.2.fixed/Makefile.in 2005-09-24 16:48:54.000000000 +0600
|
|
@@ -85,11 +85,11 @@
|
|
SRCS=main.c file.c buffer.c display.c etc.c search.c linein.c table.c local.c \
|
|
form.c map.c frame.c rc.c menu.c mailcap.c image.c \
|
|
symbol.c entity.c terms.c url.c ftp.c mimehead.c regex.c news.c \
|
|
- func.c cookie.c history.c backend.c $(KEYBIND_SRC)
|
|
+ func.c cookie.c history.c backend.c gpm-libcurses.c $(KEYBIND_SRC)
|
|
OBJS=main.o file.o buffer.o display.o etc.o search.o linein.o table.o local.o\
|
|
form.o map.o frame.o rc.o menu.o mailcap.o image.o \
|
|
symbol.o entity.o terms.o url.o ftp.o mimehead.o regex.o news.o \
|
|
- func.o cookie.o history.o backend.o $(KEYBIND_OBJ)
|
|
+ func.o cookie.o history.o backend.o gpm-libcurses.o $(KEYBIND_OBJ)
|
|
LSRCS=anchor.c parsetagx.c tagtable.c istream.c
|
|
LOBJS=anchor.o parsetagx.o tagtable.o istream.o
|
|
LLOBJS=version.o
|
|
diff -urN w3m-0.5.2/config.h.in w3m-0.5.2.fixed/config.h.in
|
|
--- w3m-0.5.2/config.h.in 2004-04-04 22:47:20.000000000 +0600
|
|
+++ w3m-0.5.2.fixed/config.h.in 2005-09-24 16:50:43.000000000 +0600
|
|
@@ -231,3 +231,4 @@
|
|
#define INFLATE_NAME "inflate"
|
|
|
|
+#undef HAVE_GPM_WGETCH
|
|
#endif /* CONFIG_H_SEEN */
|