Inline image support of w3m
2002/02/04
H. Sakamoto
2002/10/16
H. Ito
Introduction
This is the extension for w3m to support inline image.
Support
* Display inline images (GIF, PNG, JPEG, etc.) on terminals
(xterm, rxvt, etc.) of X11, Linux framebuffer device or
terminals of Windows.
* Support inline image of <img> tag.
Support of attributes "width", "height", and "align".
* Direct display of image file which header is "Content-type: image/*"
* Support of <map> tag.
Support of attributes "shape" and "coords" of <area> tag.
* Support of an attribute "ismap" of <img> tag.
"w3m" adds coordinate of the cursor as ?<x>,<y> to url, and sends url.
* Support of an attribute "type=image" of <input> tag.
"w3m" sends coordinate of the cursor as <name>.x=<x>&<name>.y=<y>.
* Asynchronous loading of image files.
* Using cache of image file as pixmap.
* Support of GIF animation when use GdkPixbuf.
Key functions
DISPLAY_IMAGE
Restart loading and drawing of images.
STOP_IMAGE
Stop loading and drawing of images in the current buffer.
SET_OPTION display_image=toggle
Toggle loading and drawing of images.
These functions are not keybinded as default.
Specify the following keymaps in ~/.w3m/keymap.
keymap X DISPLAY_IMAGE
keymap C-c STOP_IMAGE
keymap t SET_OPTION display_image=toggle
Commandline options
-ppc <pixel>
# of pixels per character. The default value is automatically
detected. Must fit the width of font of terminal.
-ppl <pixel>
# of pixels per character. The default value is automatically
detected. Must fit the height of font of terminal.
Option panel
pixel_per_char
# of pixels per character. The default value is automatically
detected. Must fit the width of font of terminal.
pixel_per_line
# of pixels per character. The default value is automatically
detected. Must fit the height of font of terminal.
display_image
Display of inline image. The default is ON.
auto_image
Automatic loading of inline image. The default is ON.
If it is OFF, loading starts with a command DISPLAY_IMAGE.
max_load_image
Maximum # of processes for downloading inline images. The default is 4.
1 to 8 can be set.
ext_image_viewer
Use external image viewer, when a command VIEW_IMAGE or
view of image file which header is "Content-type: image/*".
The default is ON. If it is OFF, the image is directly displayed.
image_scale
Scale of image (%). The default value is 100(%).
imgdisplay
External command to display image. The default value is "w3mimgdisplay".
See "Setting w3mimgdisplay."
Required programs
for X11
* GdkPixbuf-0.16 or later
or
* w3m-0.2.5+cvs-1.287 or later
http://w3m.sourceforge.net/
http://sourceforge.net/projects/w3m/
http://prdownloads.sourceforge.net/w3m/
* Imlib-1.9.8 (1.9.10 is recommendable.)
libungif-4.1.0b1 is recommendable.
for Linux framebuffer device
* GdkPixbuf-0.16 or later
or
* Imlib2-1.0.6 or later
* Framebuffer device(packed pixels with 8 bpp pseudocolor
and 16/24/32 bpp truecolor/directcolor)
Setting w3mimgdisplay
"w3mimgdisplay" has the following options. Set options to fit terminal.
-x <offset_x>
The X origin of display of image on terminal. The default value
for X11 is 2.
If the terminal is "xterm", the width of scroll bar is added.
If the terminal is "Eterm", it may be better to specify 5.
The default value for Linux framebuffer device is 0.
-y <offset_y>
The Y origin of display of image on terminal. The default value
for X11 is 2.
If the terminal is "Eterm", it may be better to specify 5.
The default value for Linux framebuffer device is 0.
-bg <background>
Background color of terminal. The default value for X11 is
automatically detected.
The default value for Linux framebuffer device is #000000 (black).
When the color is specified as #RRGGBB, escape '#'.
-anim <n>
Maximum number of frames for animation. It will run everything
if the number is 0. Negative values count backward from the end
of the frames. The default value is 100.
-margin <n>
Margin of an area to clear an image. The default value is 0.
ex.)
w3m -o 'imgdisplay=w3mimgdisplay -x 5 -bg "#cccccc"'
Notice
If you want to see GIF animation, please hit a suitable key, such
as 'h', 'l', etc., repeatedly, because a new frame is only requested
according to the re-drawing demand from w3m.
Some code in w3mimg/fb/fb.c was originally written by Mr. Yamasaki.
http://www.sainet.or.jp/~yamasaki/download/fb-sample.tar.gz
On Windows, we check the behavior on standard console, Cygwin rxvt
and PuTTY.
Change log
2002/02/04
* Revised this document.
2002/02/01 w3m-0.2.5+cvs-1.287
* Merged in the CVS repository of the original w3m.
2002/01/31 w3m-0.2.4-img-2.2
* Based on w3m-0.2.4+cvs-1.278.
2002/01/29 w3m-0.2.4-img-2.1
* Based on w3m-0.2.4+cvs-1.268.
2002/01/28 w3m-0.2.4-img-2.0
* Based on w3m-0.2.4+cvs-1.265.
* pixel_per_char and pixel_per_line are automatically detected.
* The background color of terminal is automatically detected.
* The source code to display images is moved to image.c
2002/01/08 w3m-0.2.4-img-1.18
* Based on w3m-0.2.4
2001/12/29 w3m-0.2.3.2-img-1.17
* Based on w3m-0.2.3.2+cvs-1.196.
2001/12/25 w3m-0.2.3.2-img-1.16.1
* [w3m-dev 02698] Thanks > Kazuhiko-san
2001/12/22 w3m-0.2.3.2-img-1.16
* Based on w3m-0.2.3.2.
2001/12/20 w3m-0.2.3.1-img-1.15
* Based on w3m-0.2.3.1.
* Support display of image with Content-Transfer-Encoding.
2001/11/29
* Start merge against CVS source (ChangeLog 1.71)
2001/11/17 w3m-0.2.2-img-1.14
* Based on w3m-0.2.2.
2001/11/14 w3m-0.2.1-inu-1.6-img-1.13
* Based on w3m-0.2.1-inu-1.6.
2001/11/05 w3m-0.2.1-inu-1.5-img-1.12
* Based on w3m-0.2.1-inu-1.5.
* Fixed the bug for <area>, <map>.
* Fixed the problem with xwnmo on kterm.
2001/10/03 w3m-0.2.1-inu-1.4-img-1.11
* Based on w3m-0.2.1-inu-1.4.
* Fixed bug when reading from stdin.
* Fixed "configure". Thanks > Fukagawa-san.
2001/08/01 w3m-0.2.1-img-1.10
* Adjust image position.
* Fixed scaling image.
2001/07/31 w3m-0.2.1-img-1.9
* Fixed initImgdisplay(). Thanks > David.
2001/07/29 w3m-0.2.1-img-1.8
* Fixed "configure".
2001/07/28 w3m-0.2.1-img-1.7
* Sorry, w3m-0.2.1-img-1.6 is not complete.
* Added "configure" and "Makefile" to the patch.
2001/07/27 w3m-0.2.1-img-1.6
* Created doc/README.img.
-------------------------------------------
Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
http://www2u.biglobe.ne.jp/~hsaka/