Using w3m on Cygwin 2003/02/20 Katsuyuki Watanabe Dai Sato You can use w3m on Windows with a UNIX compatible environment "Cygwin". For detailed information of Cygwin, See http://cygwin.com/. Build After w3m-0.2, patches for Cygwin have been marged to w3m packages. If you use cygwin-1.1.4 or later, w3m shuould be build without any problems. (*) on Cygwin B20.1, you should add -luser32 to LOCAL_LIBRARIES The newest version of termcap and ncurses package are recomended. Especially, older versions of termcap have bugs in the entry for Cygwin which make the screen collapsed. The problem was fixed in termcap-20001020-1. Please make sure to execute ./configure before the make. The macros explained in "Macros" are defined by ./configure, and they are nessary to make this package. When you have some problem in making w3m, please check the points below: o Do make veryclean, then exec ./configure && make. o Check gcc and binutils are properly installed. setup.exe might have finished without reporting any errors, though the download of package files was end in failure. In this case, you should try to setup again. Using Cygwin with Win95/98/ME, configure will not run correctly when environment variable CYGWIN includes "ntsec" and/or "ntea", because shell scripts will not have executable attribute. It is recomended to remove "ntsec" and "ntea" from environment variable CYGWIN to load cygwin1.dll for the first time. Macros The macros below are defined in config.h for Cygwin environment. USE_BINMODE_STREAM With -dump, -dump_{head,source,both,extra} option, output to stdout are done in binary mode. It might not been needed with cygwin-1.3.11 or later, but remained for safe. In common with Cygwin and EMX. SUPPORT_DOS_DRIVE_PREFIX The path names are handled as file names when they includes drive letters like "C:", "C:/", "file://C:/", "file://C|/", and so on. In common with Cygwin and EMX. SUPPORT_NETBIOS_SHARE URIs of common resources of NETBIOS in "//NETBIOSHOST/SHARE/PATH", "file://NETBIOSHOST/SHARE/PATH" format are handled as file: schema instead of ftp: schema. Only for Cygwin environments. SUPPORT_WIN9X_CONSOLE_MBCS Search and line input to forms are supported. But input through IME is available only with the local console when TERM=cygwin, and environment variable CYGWIN is not include "tty". The restrictions avoid the problems of the DOS prompt of Win9x and tty layer of Cygwin. For WinNT, the macro doesn't change any behavior of w3m, IME is always available with local consoles. Only for Cygwin environments and LANG=JA. Cooperation with Native Applications When calling the Win32 Native Abblications, "File not found" errors might be raised because of difference in formats of path name between Win32 and UNIX. Local CGIs Local CGIs in $LIB (/usr/local/lib/w3m/cgi-bin by default) use /usr/bin/perl. If you want to use ActivePerl (a native application) and so on, please modify the each scripts in $LIB with wrapper scripts as follows: ------ /usr/local/bin/winperl ------ #!/bin/sh # wrapper script for Win32 Native Perl PERL=/cygdrive/c/Perl/bin/perl.exe case $1 in -*) ;; *) SCRIPT=`cygpath -w $1` shift ;; esac exec "$PERL" "$SCRIPT" $@ ------------------------------------ Where the PERL= is the path of Native Perl in Cygwin context. cygpath utilities come with Cygwin packages. For directory listing, when "Use external program for directory listing" is set "NO", you can browse the directory list without local CGIs. Editors w3m uses external editors to operate texts textareas and so on. You can use any native application as the external editor with the script as below: ------ /usr/local/lib/w3m/winedit ------ #!/bin/sh EDITOR='/cygdrive/c/Program Files/sakura/sakura.exe' FILE=`cygpath -a -w $1` exec "$EDITOR" "$FILE" ---------------------------------------- Where the EDITOR= is the path of Native editor in Cygwin context. If you use inetd as a service in WinNT and connect to localhost by telnet, the windows will be opened only if "Allow service to interact with the desktop" is ON. Known Bugs LF is converted to CR+LF when use -dump or -dump-source options. Make sure USE_BINMODE_STREAM was defined in compilation. Try to re-configure and make, or set binmode to the environment variable CYGWIN. Can't input through IME in DOS prompt of Win9x. When "tty" is included in the environment variable CYGWIN, it is not permitted to avoid problems in tty layer of Cygwin. Remove "tty" from CYGWIN. Cursor keys doesn't work when IME is ON in DOS prompt of Win9x. This is the problem of DOS prompt of Win9x and tty layer of Cygwin. Use C-f, C-b, C-p, and C-n instead. Screen is not controled correctly in command prompt of WinNT. Set the each size of screen buffer and window in a same value. Can't use the mouse with DOS prompt or command prompt. When "Quick Edit" is ON, mouse events are not handed to w3m. Set it OFF. Mouse buttons behave funny with DOS prompt or command prompt. In cygwin-1.3.15 or earlier, the escape sequence of the right and center button of the mouse are inverted. It is fixed in cygwin-1.3.16-1. Please make w3m in the environment you use, because w3m can't judge the versions of Cygwin perfectly, Others In Cygwin environment, it should be confortable to use not DOS prompt or command prompt but telnet clients like TeraTerm, PuTTY, and so on with inetd in localhost, or other tools as rxvt or cygterm. o rxvt with japanese enhancement: rxvt on Cygwin http://hp.vector.co.jp/authors/VA021953/rxvt/ compiled package http://matsu-www.is.titech.ac.jp/~sohda/cygwin/dist/ o cygterm: CygTerm - Yet another Cygwin console http://www.dd.iij4u.or.jp/~nsym/cygwin/cygterm/