w3m is a pager with WWW capability. It IS a pager, but it can also be used as a text-mode WWW browser. It displays HTML documents containing links to files on the local system as well as on remote systems. It renders tables and frames, supports tabbed browsing, cookies and SSL, and can display inline images. In addition, it can be used as a "pager" in much the same manner as "more" or "less". Help is available in English, German and Japanese. There is an option menu ('o') which can be configured for the chosen language. Upstream note: this package now follows Rene Kita's fork at https://sr.ht/~rkta/w3m, which is where w3m development happens today. Earlier versions of this SlackBuild used the Debian fork (tats/w3m). Inline images ------------- w3m supports five image protocols, selected with the option inline_img_protocol: 0 w3m-img needs w3mimgdisplay, X11 or Linux framebuffer 1 OSC 5379 terminal escapes (mlterm, st, urxvt, termite) 2 sixel terminal escapes (foot, contour, mlterm, xterm) 3 OSC 1337 terminal escapes (iTerm2, WezTerm) 4 APC G terminal escapes (kitty, Konsole, ghostty) Only protocol 0 uses the w3mimgdisplay helper, which draws a real X window over the terminal and therefore needs a WINDOWID, i.e. an X11 session or XWayland. Protocols 1 to 4 are written by w3m itself and work fine under Wayland. If you never use protocol 0, build with NOIMAGE=yes below. Optional dependencies --------------------- w3m ships several small helper scripts under /usr/libexec/w3m. None of them is needed for browsing; each pulls in a program of its own. compface (SBo, libraries/compface) Provides uncompface, called by the xface2xpm script to render 'X-Face:' mail headers. Not needed at build time and its presence does not change the resulting package at all, so it can be installed at any point. X-Face follows the image setting, so NOIMAGE=yes disables it and xface2xpm is not installed. nkf (SBo, system/nkf) Used by multipart.cgi to decode Japanese multipart MIME mail. Install it BEFORE building if you want this: configure records the path to nkf at build time. When it is missing, this script is set up to look in /usr/bin/nkf anyway, so installing nkf later also works. The Perl NKF module, if present, is preferred over the command. a dict client (for example dictd) Used by w3mdict.cgi for dictionary lookups. Purely a runtime matter; the script prints a clear error if no dict is found. SlackBuild options ------------------ NOMOUSE=yes build without mouse support NOMAILER=yes build without the internal mailto: handler, so that mailto: links are passed to an external program NOIMAGE=yes build without w3mimgdisplay. Drops image protocol 0 only; protocols 1 to 4 keep working. Also unlinks the package from gdk-pixbuf2, gdk-pixbuf2-xlib and libX11. W3M_BROWSER=path external browser (default /usr/bin/firefox) W3M_EDITOR=path external editor (default /usr/bin/vi) For example: NOMOUSE=yes ./w3m.SlackBuild NOIMAGE=yes W3M_EDITOR=/usr/bin/nvim ./w3m.SlackBuild W3M_BROWSER and W3M_EDITOR only set the compiled-in defaults. Both are also settable at runtime from the option menu ('o'), which writes to ~/.w3m/config and overrides whatever was built in, so you rarely need these switches at all. The last two were previously called GUIBROWSER and EDITOR. EDITOR was renamed because it collides with the standard environment variable of the same name: anyone with EDITOR exported in their shell silently got a different package from everyone else.