Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
cha-config(5)		    Configuration of Chawan		 cha-config(5)

Configuration of Chawan
       Chawan supports configuration of	various	options	like keybindings, user
       stylesheets,  site preferences, etc.  The configuration format is simi-
       lar to toml, with the following exceptions:

        Inline	tables may span	across multiple	lines.

        Regular tables	([table]) and inline tables (table = {}) have  differ-
	 ent semantics.	 The first is additive,	meaning	old values are not re-
	 moved.	  The second is	destructive, and clears	all definitions	in the
	 table specified.

        [[table-array]] is sugar for [table-array.n], where n is  the	number
	 of  declared  table  arrays.	For example, you can declare anonymous
	 siteconfs using the syntax [[siteconf]].

       The canonical configuration file	path is	~/.chawan/config.toml, but the
       search path accommodates	XDG basedirs as	well:

       1. config file specified	through	-C switch -> use that

       2. $CHA_DIR is set -> use $CHA_DIR/config.toml

       3. $XDG_CONFIG_HOME is set -> use $XDG_CONFIG_HOME/chawan/config.toml

       4. ~/.config/chawan/config.toml exists -> use that

       5. ~/.chawan/config.toml	exists -> use that

   Start
       Start-up	options	are to be placed in the	[start]	section.

       Following is a list of start-up options:

       Name		Value		 Default		Function
       --------------------------------------------------------------------------------------
       visual-home	url		 "about:chawan"		Page	opened	  when
								Chawan	is called with
								the -V option  and  no
								other pages are	passed
								as arguments.
       --------------------------------------------------------------------------------------
       startup-script	JavaScript	 ""			Script	Chawan runs on
			code					start-up.  Pages  will
								not  be	 loaded	 until
								this  function	exits.
								(Note	however	  that
								asynchronous functions
								like setTimeout	do not
								block loading.)
       --------------------------------------------------------------------------------------
       headless		boolean	     /	 false			When  set  to  true or
			"dump"					"dump",	 the   browser
								does  not  take	input;
								instead, it  prints  a
								rendered   version  of
								all buffers in	order,
								then  exits.  The dif-
								ference	 between  true
								and   "dump"  is  that
								true first  waits  for
								all  scripts  and net-
								work requests  to  run
								to  completion,	 while
								"dump" does not.  This
								means  that  true  may
								never	  exit	  when
								scripting  is  enabled
								(e.g. if a script sets
								setInterval.)	Piping
								cha  to	 an   external
								program	or passing the
								-d switch has the same
								effect as setting this
								option to "dump".
       --------------------------------------------------------------------------------------
       console-buffer	boolean		 true			Whether	 Chawan	should
								open a console	buffer
								in  non-headless mode.
								Warning: this is  only
								useful	for debugging.
								Disabling this	option
								without	manually redi-
								recting	standard error
								will  result  in error
								messages randomly  ap-
								pearing	    on	  your
								screen.

   Buffer
       Buffer options are to be	placed in the [buffer] section.

       These options are global	to all buffers.	 For more granular  filtering,
       use [[siteconf]].

       Example:

	      [buffer]
	      #	show images on all websites
	      images = true
	      #	disable	website	CSS
	      styling =	false
	      #	You *can* set scripting	to true	here, but I strongly recommend using
	      #	[[siteconf]] to	enable it on a per-site	basis instead.

       Following is a list of buffer options:

       Name	     Value	      Default		     Function
       -----------------------------------------------------------------------------------
       styling	     boolean	      true		     Enable/disable  author
							     style  sheets.    Note
							     that   disabling  this
							     does not  affect  user
							     styles set	in [css].
       -----------------------------------------------------------------------------------
       scripting     boolean	  /   false		     Enable/disable
		     "app"				     JavaScript	  in	all
							     buffers.	"app"  also
							     enables	 JavaScript
							     APIs  that	can be used
							     to	 fingerprint  users
							     (e.g. querying	the
							     window's size.)   This
							     may   achieve   better
							     compatibility     with
							     websites  that  behave
							     like applications,	 at
							     the  cost	of  reduced
							     privacy.  For security
							     reasons, users are	en-
							     couraged	to   selec-
							     tively	     enable
							     JavaScript	       with
							     [[siteconf]]   instead
							     of	using this setting.
       -----------------------------------------------------------------------------------
       images	     boolean	      false		     Enable/disable  inline
							     image display.
       -----------------------------------------------------------------------------------
       cookie	     boolean	  /   false		     Enable/disable cookies
		     "save"				     on	 sites.	   If	the
							     string "save" is spec-
							     ified,   then  cookies
							     are also saved to	ex-
							     ternal.cookie-file.
							     true still	reads cook-
							     ies.txt,  but does	not
							     modify it.	 In Chawan,
							     each  website  gets  a
							     separate  cookie  jar,
							     so	websites relying on
							     cross-site	cookies	may
							     not work as  expected.
							     You    may	  use	the
							     [[siteconf]]
							     "share-cookie-jar"
							     setting to	adjust this
							     behavior for  specific
							     sites.
       -----------------------------------------------------------------------------------
       ref-	     boolean	      false		     Enable/disable	the
       erer-from					     "Referer" header.	De-
							     faults to false.	For
							     privacy reasons, users
							     are    encouraged	 to
							     leave this	option dis-
							     abled,  only  enabling
							     it	 for specific sites
							     in	[[siteconf]].
       -----------------------------------------------------------------------------------
       autofocus     boolean	      false		     When set to true, ele-
							     ments with	an "autofo-
							     cus" attribute are	fo-
							     cused on automatically
							     after  the	 buffer	 is
							     loaded.   If scripting
							     is	enabled, this  also
							     allows  scripts to	fo-
							     cus on elements.
       -----------------------------------------------------------------------------------
       meta-re-	     "never" / "al-   "ask"		     Whether	 or	not
       fresh	     ways" / "ask"			     http-equiv=refresh
							     meta  tags	 should	 be
							     respected.	    "never"
							     completely	   disables
							     them,  "always"  auto-
							     matically	accepts	all
							     of	them, "ask"  brings
							     up	a pop-up menu.
       -----------------------------------------------------------------------------------
       history	     boolean	      true		     Whether  or not brows-
							     ing history should	 be
							     saved to the disk.
       -----------------------------------------------------------------------------------
       mark-links    boolean	      false		     Add   numeric  markers
							     before   links.	 In
							     headless/dump    mode,
							     this  also	 prints	  a
							     list of URLs after	the
							     page.
       -----------------------------------------------------------------------------------
       user-style    string	      ""		     A	user stylesheet	ap-
							     plied to all  buffers.
							     External	stylesheets
							     can be imported  using
							     the	    @import
							     'file.css';    syntax.
							     Paths  are	relative to
							     the configuration	di-
							     rectory.	Nested @im-
							     port is not  supported
							     yet.

   Search
       Search options are to be	placed in the [search] section.

       Following is a list of search options:

       Name	     Value	      Default		     Function
       -----------------------------------------------------------------------------------
       wrap	     boolean	      true		     Whether	    on-page
							     searches  should  wrap
							     around the	document.
       -----------------------------------------------------------------------------------
       ignore-case   "auto"	  /   "auto"		     When set to true, doc-
		     boolean				     ument-wide	   searches
							     are   case-insensitive
							     by	default.  When	set
							     to	  "auto",  searches
							     are  only	case-sensi-
							     tive  when	 the search
							     term includes a  capi-
							     tal   letter.    Note:
							     this can also be over-
							     ridden inline  in	the
							     search		bar
							     (vim-style), with	the
							     escape   sequences	 \c
							     (ignore case)  and	 \C
							     (strict   case).	See
							     search  mode  for	de-
							     tails.)

   Encoding
       Encoding	options	are to be placed in the	[encoding] section.

       Following is a list of encoding options:

       Name	      Value	       Default		      Function
       ------------------------------------------------------------------------------------
       docu-	      array	  of   ["utf-8",    "sjis",   List of character	sets
       ment-charset   charset  label   "euc-jp", "latin2"]    for loading documents.
		      strings				      All  listed  character
							      sets   are  enumerated
							      until the	document has
							      been  decoded  without
							      errors.  In HTML,	meta
							      tags  and	 the BOM may
							      override this  with  a
							      different	 charset, so
							      long as the  specified
							      charset can decode the
							      document correctly.
       ------------------------------------------------------------------------------------
       dis-	      string	       "auto"		      Character	set for	key-
       play-charset					      board  input  and	dis-
							      playing	  documents.
							      Used  in	dump mode as
							      well.    (This   means
							      that    e.g. cha	  -I
							      EUC-JP -O	UTF-8 a	>  b
							      is  roughly equivalent
							      to iconv -f EUC-JP  -t
							      UTF-8.)

   External
       External	options	are to be placed in the	[external] section.

       Following is a list of external options:

       Name	      Value	       Default		      Function
       ------------------------------------------------------------------------------------
       tmpdir	      path	       {usually		      Directory	used to	save
				       /tmp/cha-tmp-user}     temporary	files.
       ------------------------------------------------------------------------------------
       editor	      shell command    {usually	$EDITOR}      External	editor	com-
							      mand.  %s	 is  substi-
							      tuted   for  the	file
							      name, %d for the	line
							      number.
       ------------------------------------------------------------------------------------
       mailcap	      array of paths   {see mailcap docs}     Search  path for mail-
							      cap    files.	(See
							      cha-mailcap(5) for de-
							      tails.)
       ------------------------------------------------------------------------------------
       mime-types     array of paths   {see	 mime.types   Search	path	 for
				       docs}		      mime.types      files.
							      (See cha-mime.types(5)
							      for details.)
       ------------------------------------------------------------------------------------
       auto-mail-     path	       "auto.mailcap"	      Mailcap file  for	 en-
       cap						      tries  that  are auto-
							      matically	   executed.
							      The  "Open  as" prompt
							      also saves entries  in
							      this file.
       ------------------------------------------------------------------------------------
       cgi-dir	      array of paths   {see local CGI docs}   Search  path for local
							      CGI   scripts.	(See
							      cha-localcgi(5)	 for
							      details.)
       ------------------------------------------------------------------------------------
       urimethodmap   array of paths   {see    urimethodmap   Search	 path	 for
				       docs}		      urimethodmap    files.
							      (See
							      cha-urimethodmap(5)
							      for details.)
       ------------------------------------------------------------------------------------
       w3m-cgi-com-   boolean	       false		      Enable  local CGI	com-
       pat						      patibility  with	w3m.
							      In short,	it redirects
							      file:///cgi-bin/*	 and
							      file:///$LIB/cgi-bin/*
							      to   cgi-bin:*.	 For
							      further  details,	 see
							      cha-localcgi(5).
       ------------------------------------------------------------------------------------
       download-dir   path	       {same as	tmpdir}	      Path to  pre-fill	 for
							      "Save to:" prompts.
       ------------------------------------------------------------------------------------
       show-down-     boolean	       true		      Whether		 the
       load-panel					      about:downloads should
							      be shown after  start-
							      ing a download.
       ------------------------------------------------------------------------------------
       copy-cmd	      shell command    "xsel -bi"	      Command	to  use	 for
							      "copy  to	  clipboard"
							      operations.
       ------------------------------------------------------------------------------------
       paste-cmd      shell command    "xsel -bo"	      Command	to  use	 for
							      "read from  clipboard"
							      operations.
       ------------------------------------------------------------------------------------
       bookmark	      path	       "bookmark.md"	      Path   to	  the  book-
							      mark.md  file.	(The
							      file   it	  points  to
							      should have a .md	 ex-
							      tension,	so  that its
							      type can be  correctly
							      deduced.)
       ------------------------------------------------------------------------------------
       history-file   path	       "history.uri"	      Path  to	the  history
							      file.
       ------------------------------------------------------------------------------------
       history-size   number	       100		      Maximum length of	 the
							      history file.
       ------------------------------------------------------------------------------------
       cookie-file    path	       "cookies.txt"	      Path   to	 the  cookie
							      file.  The  format  is
							      equivalent  to  curl's
							      "cookies.txt"  format,
							      except  that  a "jar@"
							      part is prepended	 for
							      cookies that belong in
							      a	 different  jar	than
							      the  domain.   Cookies
							      from   this  file	 are
							      used		  if
							      "buffer.cookie"	 (or
							      its  equivalent  site-
							      conf  override) is set
							      to  true	or   "save".
							      This  means  that	true
							      sets  the	 cookie-file
							      to a "read-only" mode.

   Input
       Input options are to be placed in the [input] section.

       Name		  Value			Function
       ------------------------------------------------------------------------------------
       vi-numeric-pre-	  boolean		true				  Whether
       fix									  vi-style
										  nu-
										  meric
										  pre-
										  fixes
										  to
										  com-
										  mands
										  should
										  be
										  ac-
										  cepted.
										  Only
										  ap-
										  plies
										  for
										  key-
										  bind-
										  ings
										  de-
										  fined
										  in
										  [page].
       ------------------------------------------------------------------------------------
       use-mouse	  boolean		true				  Whether
										  Chawan
										  is   al-
										  lowed	to
										  inter-
										  cept
										  mouse
										  clicks.
										  The cur-
										  rent im-
										  plemen-
										  tation
										  imitates
										  w3m.

       Examples:

	      [input]
	      vi-numeric-prefix	= true

	      [page]
	      #	Here, the arrow	function will be called	with the vi numbered prefix if
	      #	one was	input, and with	no argument otherwise.
	      #	The numeric prefix can never be	zero, so it is safe to test for	undefined
	      #	using the ternary operator.
	      G	= 'n =>	n ? pager.gotoLine(n) :	pager.cursorLastLine()'

   Network
       Network options are to be placed	in the [network] section.

       Name		    Value	     Default		    Function
       ------------------------------------------------------------------------------------------
       max-redi-	    number	     10			    Maximum   number	of
       rect							    redirections  to  fol-
								    low.
       ------------------------------------------------------------------------------------------
       max-net-con-	    number	     12			    Maximum number of  si-
       nections							    multaneous	   network
								    connections	allowed	in
								    one	 buffer.   Further
								    connections	 are  held
								    back until the  number
								    returns    below   the
								    threshold.
       ------------------------------------------------------------------------------------------
       prepend-scheme	    string	     "https://"		    Prepend this  to  URLs
								    passed to Chawan with-
								    out	 a  scheme.   Note
								    that    local    files
								    (file:   scheme)  will
								    always   be	   checked
								    first;  only  if  this
								    fails,   Chawan   will
								    retry the request with
								    prepend-scheme  set	as
								    the	scheme.
       ------------------------------------------------------------------------------------------
       prepend-https	    boolean	     true		    Deprecated:	       use
								    prepend-scheme     in-
								    stead.   When  set	to
								    false, Chawan will act
								    as	if  prepend-scheme
								    were set to	"".
       ------------------------------------------------------------------------------------------
       proxy		    URL		     unset		    Specify  a	proxy  for
								    all	 network  requests
								    Chawan  makes.    Cur-
								    rently,   the  formats
								    http://user:pass@do-
								    main	       and
								    socks5://user:pass@do-
								    main   are	 accepted.
								    (Unlike    in    curl,
								    socks5h is an alias	of
								    socks5,  and  DNS  re-
								    quests are always tun-
								    neled.)  Can be  over-
								    ridden by siteconf.
       ------------------------------------------------------------------------------------------
       default-head-	    table	     {omitted}		    Specify  a list of de-
       ers							    fault headers for  all
								    HTTP(S)   network  re-
								    quests.  Can be  over-
								    ridden by siteconf.
       ------------------------------------------------------------------------------------------
       al-		    boolean	     false		    WARNING:  think  twice
       low-http-from-file					    before enabling  this.
								    Allows  HTTP and HTTPS
								    requests   from    the
								    file:    and   stream:
								    schemes.   This  is	 a
								    very  bad idea in gen-
								    eral, because  it  al-
								    lows  local	 files	to
								    ping remote	servers	(a
								    functionality commonly
								    abused by HTML e-mails
								    to track your  mailbox
								    activity.)	  On   the
								    other hand,	it  allows
								    loading images in HTML
								    e-mails  if	 you don't
								    care about the privacy
								    implications.

   Display
       Display options are to be placed	in the [display] section.

       Following is a list of display options:

       Name		Value		 Default		Function
       --------------------------------------------------------------------------------------
       color-mode	"monochrome" /	 "auto"			Set  the  color	 mode.
			"ansi"	     /				"auto"	for  automatic
			"eight-bit"  /				detection,	"mono-
			"true-color" /				chrome"	 for  black on
			"auto"					white, "ansi" for ansi
								colors,	   "eight-bit"
								for   256-color	 mode,
								and  "true-color"  for
								true colors.
       --------------------------------------------------------------------------------------
       format-mode	"auto"	     /	 "auto"			Specifies output  for-
			["bold",				matting	  modes.   Ac-
			"italic", "un-				cepts	 the	string
			derline", "re-				"auto"	or an array of
			verse",					specific   attributes.
			"strike",				An  empty  array  ([])
			"overline",				disables    formatting
			"blink"]				completely.
       --------------------------------------------------------------------------------------
       no-for-		["bold",	 "overline"		Disable	 specific for-
       mat-mode		"italic", "un-				matting	modes.
			derline", "re-
			verse",
			"strike",
			"overline",
			"blink"]
       --------------------------------------------------------------------------------------
       image-mode	"auto"	     /	 "auto"			Specifies   the	 image
			"none"	     /				output mode.   "sixel"
			"sixel"	     /				uses  sixels  for out-
			"kitty"					put, "kitty" uses  the
								Kitty	image  display
								protocol, "none"  dis-
								ables	image  display
								completely.	"auto"
								tries  to detect sixel
								or kitty support,  and
								falls  back  to	"none"
								when	neither	   are
								available.    This  is
								the  default  setting,
								but  you must also en-
								able buffer.images for
								images to work.
       --------------------------------------------------------------------------------------
       sixel-col-	"auto"	     /	 "auto"			Only applies when dis-
       ors		2..65535				play.im-
								age-mode="sixel".
								Setting	a number over-
								rides  the  number  of
								sixel color  registers
								reported by the	termi-
								nal.
       --------------------------------------------------------------------------------------
       alt-screen	"auto"	     /	 "auto"			Enable/disable the al-
			boolean					ternative screen.
       --------------------------------------------------------------------------------------
       high-		color		 "cyan"			Set   the    highlight
       light-color						color.	 Both hex val-
								ues  and   CSS	 color
								names are accepted.
       --------------------------------------------------------------------------------------
       high-		boolean		 true			Enable/disable	 high-
       light-marks						lighting of marks.
       --------------------------------------------------------------------------------------
       dou-		boolean		 false			Assume	the   terminal
       ble-width-am-						displays characters in
       biguous							the East Asian Ambigu-
								ous  category  as dou-
								ble-width  characters.
								Useful	when e.g.  oc-
								cupies two cells.
       --------------------------------------------------------------------------------------
       minimum-con-	number		 100			Specify	 the   minimum
       trast							difference between the
								luminance  (Y)	of the
								background   and   the
								foreground.   -1  dis-
								ables  this   function
								(i.e. allows	 black
								letters	on black back-
								ground,	etc).
       --------------------------------------------------------------------------------------
       force-clear	boolean		 false			Force the screen to be
								completely     cleared
								every  time  it	is re-
								drawn.
       --------------------------------------------------------------------------------------
       set-title	boolean		 true			Set the	terminal  emu-
								lator's	 window	 title
								to that	of the current
								page.
       --------------------------------------------------------------------------------------
       default-back-	"auto" / color	 "auto"			Overrides the  assumed
       ground-color						background   color  of
								the terminal.	"auto"
								leaves	    background
								color	detection   to
								Chawan.
       --------------------------------------------------------------------------------------
       default-fore-	"auto" / color	 "auto"			Sets the assumed fore-
       ground-color						ground	color  of  the
								terminal.	"auto"
								leaves	    foreground
								color	detection   to
								Chawan.
       --------------------------------------------------------------------------------------
       query-da1	bool		 true			Enable/disable	query-
								ing Primary Device At-
								tributes, and with it,
								all "dynamic" terminal
								querying.  Do not  al-
								ter  this value	unless
								Chawan	told  you  so;
								the  output  will look
								awful.
       --------------------------------------------------------------------------------------
       columns,		number		 80, 24, 9, 18		Fallback  values   for
       lines,	pix-						the number of columns,
       els-per-col-						lines, pixels per col-
       umn,	pix-						umn,  and  pixels  per
       els-per-line						line  for  the	 cases
								where it cannot	be de-
								termined     automati-
								cally.	(For  example,
								these  values are used
								in dump	mode.)
       --------------------------------------------------------------------------------------
       force-columns,	boolean		 false			Force-set     columns,
       force-lines,						lines, pixels per col-
       force-pix-						umn,   or  pixels  per
       els-per-col-						line to	 the  fallback
       umn,							values provided	above.
       force-pix-
       els-per-line

   Protocol
       Protocol-related	 rules	are  to	 be placed in objects keyed as [proto-
       col.{protocol-name}].  e.g. FTP related rules are placed	in in  [proto-
       col.ftp].

       Name	     Value	      Default		     Function
       -----------------------------------------------------------------------------------
       form-re-	     "http" / "ftp"   "http"		     Specify which protocol
       quest	     /	 "data"	  /			     to	imitate	 when  sub-
		     "mailto"				     mitting  forms to this
							     protocol.

   Omnirule
       The omni-bar (by	default	opened	with  C-l)  can	 be  used  to  perform
       searches	 using	omni-rules.   These are	to be specified	as sub-keys to
       table [omnirule].  (The sub-key itself is ignored; you can use anything
       as long it doesn't conflict with	other keys.)

       Examples:

	      #	Search using DuckDuckGo	Lite.
	      #	(This rule is included in the default config, although C-k now invokes
	      #	Google search.)
	      [omnirule.ddg]
	      match = '^ddg:'
	      substitute-url = '(x) => "https://lite.duckduckgo.com/lite/?kp=-1&kd=-1&q=" + encodeURIComponent(x.split(":").slice(1).join(":"))'

	      #	Search using Wikipedia,	Firefox-style.
	      #	The [[omnirule]] syntax	introduces an anonymous	omnirule; it is
	      #	equivalent to the named	one.
	      [[omnirule]]
	      match = '^@wikipedia'
	      substitute-url = '(x) => "https://en.wikipedia.org/wiki/Special:Search?search=" +	encodeURIComponent(x.replace(/@wikipedia/, ""))'

       Omnirule	options:

       Name		  Value			Function
       --------------------------------------------------------------------------------
       match		  regex			Regular	 expression   used   to
						match  the  input string.  Note
						that websites passed  as  argu-
						ments	are  matched  as  well.
						Note: regexes are  handled  ac-
						cording	to the match mode regex
						handling rules.
       --------------------------------------------------------------------------------
       substitute-url	  JavaScript function	A  JavaScript  function	 Chawan
						will pass the input string  to.
						If a new string	is returned, it
						will  be  parsed instead of the
						old one.

   Siteconf
       Configuration options can be specified for individual  sites.   Entries
       are  to be specified as sub-keys	to table [siteconf].  (The sub-key it-
       self is ignored;	you can	use anything as	long it	doesn't	conflict  with
       other keys.)

       Most  siteconf  options	can also be specified globally;	see the	"over-
       rides" field.

       Examples:

	      #	Enable cookies on the orange website for log-in.
	      [siteconf.hn]
	      url = 'https://news\.ycombinator\.com/.*'
	      cookie = true

	      #	Redirect npr.org to text.npr.org.
	      [siteconf.npr]
	      host = '(www\.)?npr\.org'
	      rewrite-url = '''
	      (x) => {
	      x.host = "text.npr.org";
	      const s =	x.pathname.split('/');
	      x.pathname = s.at(s.length > 2 ? -2 : 1);
	      /* No need to return; URL	objects	are passed by reference. */
	      }
	      '''

	      #	Allow cookie sharing on	*sr.ht domains.
	      [siteconf.sr-ht]
	      host = '(.*\.)?sr\.ht' # either 'something.sr.ht'	or 'sr.ht'
	      cookie = true # enable cookies (read-only; use "save" to persist them)
	      share-cookie-jar = 'sr.ht' # use the cookie jar of 'sr.ht' for all matched hosts

	      #	Use the	"vector" skin on Wikipedia.
	      #	The [[siteconf]] syntax	introduces an anonymous	siteconf; it is
	      #	equivalent to the above	ones.
	      [[siteconf]]
	      url = '^https?://[a-z]+\.wikipedia\.org/wiki/(?!.*useskin=.*)'
	      rewrite-url = 'x => x.searchParams.append("useskin", "vector")'

	      #	Make imgur send	us images.
	      [siteconf.imgur]
	      host = '(i\.)?imgur\.com'
	      default-headers =	{
	      User-Agent = "Mozilla/5.0	chawan",
	      Accept = "*/*",
	      Accept-Encoding =	"gzip, deflate",
	      Accept-Language =	"en;q=1.0",
	      Pragma = "no-cache",
	      Cache-Control = "no-cache"
	      }

       Siteconf	options:

       Name		  Value		  Overrides		    Function
       -----------------------------------------------------------------------------------------
       url		  regex		  n/a			    Regular    expression
								    used   to  match  the
								    URL.  Either this  or
								    the	 host option must
								    be specified.   Note:
								    regexes  are  handled
								    according	to    the
								    match mode regex han-
								    dling rules.
       -----------------------------------------------------------------------------------------
       host		  regex		  n/a			    Regular    expression
								    used  to  match   the
								    host  part of the URL
								    (i.e. domain  name/ip
								    address.)	   Either
								    this or the	 url  op-
								    tion  must	be speci-
								    fied.  Note:  regexes
								    are	handled	according
								    to	 the  match  mode
								    regex handling rules.
       -----------------------------------------------------------------------------------------
       rewrite-url	  JavaScript	  n/a			    A JavaScript function
			  function				    Chawan will	pass  the
								    site's URL object to.
								    If	a  new URL is re-
								    turned,  or	 the  URL
								    object is modified in
								    any	 way, Chawan will
								    transparently   redi-
								    rect the user to this
								    new	URL.
       -----------------------------------------------------------------------------------------
       cookie		  boolean     /	  buffer.cookie		    Whether loading (with
			  "save"				    "save", also  saving)
								    cookies should be al-
								    lowed for this URL.
       -----------------------------------------------------------------------------------------
       share-cookie-jar	  host		  n/a			    Cookie jar to use for
								    this  domain.  Useful
								    for	     e.g. sharing
								    cookies  with  subdo-
								    mains.
       -----------------------------------------------------------------------------------------
       referer-from	  boolean	  buffer.referer-from	    Whether  or	 not   we
								    should send	a Referer
								    header  when  opening
								    requests  originating
								    from   this	  domain.
								    Simplified	 example:
								    if	you  click a link
								    on a.com that  refers
								    to	b.com,	and  ref-
								    erer-from  is   true,
								    b.com is sent "a.com"
								    as	   the	  Referer
								    header.
       -----------------------------------------------------------------------------------------
       scripting	  boolean     /	  buffer.scripting	    Enable/disable
			  "app"					    JavaScript	execution
								    on	this  site.   See
								    buffer.scripting  for
								    details.
       -----------------------------------------------------------------------------------------
       styling		  boolean	  buffer.styling	    Enable/disable author
								    styles (CSS) on  this
								    site.
       -----------------------------------------------------------------------------------------
       images		  boolean	  buffer.images		    Enable/disable  image
								    display on this site.
       -----------------------------------------------------------------------------------------
       document-charset	  charset label	  encoding.docu-	    Specify  the  default
			  string	  ment-charset		    encoding   for   this
								    site.
       -----------------------------------------------------------------------------------------
       stylesheet	  CSS		  n/a			    Specify an additional
			  stylesheet				    user-stylesheet   for
								    this   site.    Other
								    user-stylesheets  are
								    concatenated     with
								    this to get	the final
								    user      stylesheet.
								    Note: this setting is
								    deprecated.	   Please
								    use	 user-style   in-
								    stead.
       -----------------------------------------------------------------------------------------
       proxy		  URL		  network.proxy		    Specify  a	proxy for
								    network	 requests
								    fetching  contents of
								    this buffer.
       -----------------------------------------------------------------------------------------
       default-headers	  table		  network.default-headers   Specify a list of de-
								    fault   headers   for
								    HTTP(S)  network  re-
								    quests    to     this
								    buffer.
       -----------------------------------------------------------------------------------------
       inse-		  boolean	  n/a			    Defaults   to  false.
       cure-ssl-no-ver-						    When  set  to   true,
       ify							    this   disables  peer
								    and	hostname  verifi-
								    cation  for	 SSL keys
								    on	this  site,  like
								    curl       --insecure
								    would.  Please do not
								    use	this  unless  you
								    are	 absolutely  sure
								    you	know what you are
								    doing.
       -----------------------------------------------------------------------------------------
       autofocus	  boolean	  buffer.autofocus	    When set to	true, el-
								    ements with	an "auto-
								    focus" attribute  are
								    focused  on	automati-
								    cally    after    the
								    buffer is loaded.  If
								    scripting is enabled,
								    this    also   allows
								    scripts to	focus  on
								    elements.
       -----------------------------------------------------------------------------------------
       meta-refresh	  "never"     /	  buffer.meta-refresh	    Whether	or    not
			  "always"    /				    http-equiv=refresh
			  "ask"					    meta tags  should  be
								    respected.	  "never"
								    completely	 disables
								    them,  "always" auto-
								    matically accepts all
								    of them, "ask" brings
								    up a pop-up	menu.
       -----------------------------------------------------------------------------------------
       history		  boolean	  buffer.history	    Whether or not brows-
								    ing	history	should be
								    saved to the disk for
								    this URL.
       -----------------------------------------------------------------------------------------
       mark-links	  boolean	  buffer.history	    Add	 numeric  markers
								    before links.
       -----------------------------------------------------------------------------------------
       user-style	  string	  buffer.user-style	    Specify  a user style
								    sheet specific to the
								    site.   Please  refer
								    to	buffer.user-style
								    for	details.

   Stylesheets
       The [css] section is deprecated,	and will be  removed  in  the  future.
       Please use buffer.user-style instead.

       (user-style  accepts inline styles by default, but can also include ex-
       ternal stylesheets using	@import	'file.css';.)

   Keybindings
       Keybindings are to be placed in these sections:

        for pager interaction:	[page]

        for line editing: [line]

       Keybindings are configured using	the syntax

	      '<keybinding>' = '<action>'

       Where <keybinding> is a combination of unicode characters with or with-
       out modifiers.  Modifiers are the prefixes C- and M-, which add control
       or escape to the	keybinding respectively	 (essentially  making  M-  the
       same as C-[).  Modifiers	can be escaped with the	\ sign.

       <action>	 is  either  a	command	 defined  in  the  [cmd] section, or a
       JavaScript expression.  Here we only describe the  pre-defined  actions
       in the default config; for a description	of the API, please see:

       The API documentation at	cha-api(5).

       Examples:

	      #	show change URL	when Control, Escape and j are pressed
	      'C-M-j' =	'cmd.pager.load'

	      #	go to the first	line of	the page when g	is pressed twice without a preceding
	      #	number,	or to the line when a preceding	number is given.
	      'gg' = 'cmd.buffer.gotoLineOrStart'

	      #	JS functions and expressions are accepted too. Following replaces the
	      #	default	search engine with DuckDuckGo Lite.
	      #	(See api.md for	a list of available functions, and a discussion	on how
	      #	to add your own	"namespaced" commands like above.)
	      'C-k' = '() => pager.load("ddg:")'

   Pager actions
       Default key			  Name			  Function
       -----------------------------------------------------------------------------------------
       q				  cmd.pager.quit	  Exit the browser.
       -----------------------------------------------------------------------------------------
       C-z				  cmd.pager.sus-	  Temporarily suspend the
					  pend			  browser Note:	this also
								  suspends    e.g. buffer
								  processes    or     CGI
								  scripts.  So if you are
								  downloading  something,
								  that	will  be  delayed
								  until	 you  restart the
								  process.
       -----------------------------------------------------------------------------------------
       C-l				  cmd.pager.load	  Open	the  current  ad-
								  dress	in the URL bar.
       -----------------------------------------------------------------------------------------
       C-k				  cmd.pager.web-	  Open	the  URL bar with
					  Search		  an arbitrary search en-
								  gine.	 At  the  moment,
								  this	is Google Search,
								  but this may change  in
								  the future.
       -----------------------------------------------------------------------------------------
       M-u				  cmd.pager.dupe-	  Duplicate  the  current
					  Buffer		  buffer by  loading  its
								  source to a new buffer.
       -----------------------------------------------------------------------------------------
       U				  cmd.pager.re-		  Open	a new buffer with
					  loadBuffer		  the  current	 buffer's
								  URL, replacing the cur-
								  rent buffer.
       -----------------------------------------------------------------------------------------
       C-g				  cmd.pager.line-	  Display     information
					  Info			  about	the current  line
								  on the status	line.
       -----------------------------------------------------------------------------------------
       \				  cmd.pager.tog-	  If   viewing	 an  HTML
					  gleSource		  buffer,  open	  a   new
								  buffer with its source.
								  Otherwise,   open   the
								  current  buffer's  con-
								  tents	as HTML.
       -----------------------------------------------------------------------------------------
       D				  cmd.pager.dis-	  Discard   the	  current
					  cardBuffer		  buffer, and  move  back
								  to   the  previous/next
								  buffer   depending   on
								  what	 the   previously
								  viewed buffer	was.
       -----------------------------------------------------------------------------------------
       d,, d.				  cmd.pager.dis-	  Discard   the	  current
					  cardBufferPrev,	  buffer,  and	move back
					  cmd.pager.dis-	  to  the   previous/next
					  cardBufferNext	  buffer,   or	open  the
								  link under the cursor.
       -----------------------------------------------------------------------------------------
       M-d				  cmd.pager.dis-	  Discard    all    child
					  cardTree		  buffers  of the current
								  buffer.
       -----------------------------------------------------------------------------------------
       ., ,, M-,, M-., M-/		  cmd.pager.nextBuffer,	  Traverse   the   buffer
					  cmd.pager.pre-	  tree.	  nextBuffer  and
					  vBuffer,		  prevBuffer are the most
					  cmd.pager.pre-	  intuitive,   traversing
					  vSiblingBuffer,	  the  tree as if it were
					  cmd.pager.nextSi-	  a linked list.  prevSi-
					  blingBufer,		  blingBuffer and nextSi-
					  cmd.pager.par-	  blingBuffer	    cycle
					  entBuffer		  through   the	  buffers
								  opened  from	the  same
								  buffer.   Finally, par-
								  entBuffer  always   re-
								  turns	to the buffer the
								  current    buffer   was
								  opened  from,	 even  if
								  e.g. the  user  returns
								  and opens another  page
								  "in between".
       -----------------------------------------------------------------------------------------
       M-c				  cmd.pager.enterCom-	  Directly     enter	a
					  mand			  JavaScript	 command.
								  Note	that  this inter-
								  acts	with  the  pager,
								  not  the  website being
								  displayed.
       -----------------------------------------------------------------------------------------
       None				  cmd.pager.searchFor-	  Search for a string  in
					  ward,			  the	current	  buffer,
					  cmd.pager.searchBack-	  forwards or backwards.
					  ward
       -----------------------------------------------------------------------------------------
       /, ?				  cmd.pager.isearchFor-	  Incremental-search  for
					  ward,			  a  string, highlighting
					  cmd.pager.searchBack-	  the first result,  for-
					  ward			  wards	or backwards.
       -----------------------------------------------------------------------------------------
       n, N				  cmd.pager.searchNext,	  Jump	to the nth (or if
					  cmd.pager.searchPrev	  unspecified,	   first)
								  next/previous	   search
								  result.
       -----------------------------------------------------------------------------------------
       c				  cmd.pager.peek	  Display  a  message  of
								  the	current	 buffer's
								  URL on the status line.
       -----------------------------------------------------------------------------------------
       u				  cmd.pager.peekCursor	  Display  a  message  of
								  the  URL or title under
								  the cursor on	the  sta-
								  tus	line.	 Multiple
								  calls	  allow	  cycling
								  through     the    two.
								  (i.e.	by default, press
								  u once -> title,  press
								  again	-> URL)
       -----------------------------------------------------------------------------------------
       su				  cmd.pager.showFul-	  Show the last	alert in-
					  lAlert		  side	the  line editor.
								  You can also view  pre-
								  vious	ones using C-p or
								  C-n.
       -----------------------------------------------------------------------------------------
       M-y				  cmd.pager.copyURL	  Copy	   the	  current
								  buffer's  URL	 to   the
								  system clipboard.
       -----------------------------------------------------------------------------------------
       yu				  cmd.pager.copyCursor-	  Copy the link	under the
					  Link			  cursor  to  the  system
								  clipboard.
       -----------------------------------------------------------------------------------------
       yI				  cmd.pager.copyCur-	  Copy the URL of the im-
					  sorImage		  age under the	cursor to
								  the system clipboard.
       -----------------------------------------------------------------------------------------
       M-p				  cmd.pager.gotoClip-	  Go to	the URL	currently
					  boardURL		  on the clipboard.
       -----------------------------------------------------------------------------------------
       M-b				  cmd.pager.openBook-	  Open the bookmark file.
					  marks
       -----------------------------------------------------------------------------------------
       M-a				  cmd.pager.addBookmark	  Add the current page to
								  your bookmarks.

   Buffer actions
       Note: n in the following	text refers to a number	preceding the  action.
       e.g.   in  10gg,	 n  = 10.  If no preceding number is input, then it is
       left unspecified.

       Default key			  Name			  Function
       ------------------------------------------------------------------------------------------------
       j, k				  cmd.buffer.cur-	  Move	the  cursor   up-
					  sorUp,		  wards/downwards   by	n
					  cmd.buffer.cur-	  lines, or if n  is  un-
					  sorDown		  specified, by	1.
       ------------------------------------------------------------------------------------------------
       h, l				  cmd.buffer.cur-	  Move	the cursor to the
					  sorLeft,		  left/right by	n  cells,
					  cmd.buffer.cur-	  or if	n is unspecified,
					  sorRight		  by 1.
       ------------------------------------------------------------------------------------------------
       0/Home				  cmd.buffer.cur-	  Move	the cursor to the
					  sorLineBegin		  first	cell of	the line.
       ------------------------------------------------------------------------------------------------
       ^				  cmd.buffer.cur-	  Move the cursor to  the
					  sorLine-		  first	non-blank charac-
					  TextStart		  ter of the line.
       ------------------------------------------------------------------------------------------------
       $/End				  cmd.buffer.cur-	  Move	the cursor to the
					  sorLineEnd		  last cell of the line.
       ------------------------------------------------------------------------------------------------
       w, W				  cmd.buffer.cur-	  Move the cursor to  the
					  sorNextWord,		  beginning  of	 the next
					  cmd.buffer.cur-	  word.
					  sorNextViWord,
					  cmd.buffer.cur-
					  sorNextBigWord
       ------------------------------------------------------------------------------------------------
       None				  cmd.buffer.cur-	  Move the cursor to  the
					  sorPrevWord,		  end	of  the	 previous
					  cmd.buffer.cur-	  word.
					  sorPrevViWord,
					  cmd.buffer.cur-
					  sorPrevBigWord
       ------------------------------------------------------------------------------------------------
       e, E				  cmd.buffer.cur-	  Move the cursor to  the
					  sorWordEnd,		  end	of   the  current
					  cmd.buffer.cur-	  word,	 or  if	  already
					  sorViWordEnd,		  there,  to  the  end of
					  cmd.buffer.cur-	  the next word.
					  sorBigWordEnd
       ------------------------------------------------------------------------------------------------
       b, B				  cmd.buffer.cur-	  Move the cursor to  the
					  sorWordBegin,		  beginning  of	 the cur-
					  cmd.buffer.cur-	  rent word,  or  if  al-
					  sorViWordBegin,	  ready	there, to the end
					  cmd.buffer.cur-	  of the previous word.
					  sorBigWordBegin
       ------------------------------------------------------------------------------------------------
       [, ]				  cmd.buffer.cur-	  Move	the cursor to the
					  sorPrevLink,		  end/beginning	 of   the
					  cmd.buffer.cur-	  previous/next	clickable
					  sorNextLink		  element (e.g.	link, in-
								  put field, etc).
       ------------------------------------------------------------------------------------------------
       {, }				  cmd.buffer.cur-	  Move	the cursor to the
					  sorPrevPara-		  end/beginning	 of   the
					  graph,		  nth previous/next para-
					  cmd.buffer.cur-	  graph.
					  sorNextPara-
					  graph
       ------------------------------------------------------------------------------------------------
       None				  cmd.buffer.cur-	  Move	the cursor to the
					  sorRevNthLink		  nth link of  the  docu-
								  ment,	  counting  back-
								  wards	 from  the  docu-
								  ment's last line.
       ------------------------------------------------------------------------------------------------
       None				  cmd.buffer.cur-	  Move	the cursor to the
					  sorNthLink		  nth link of  the  docu-
								  ment.
       ------------------------------------------------------------------------------------------------
       C-b, C-f, zH, zL			  cmd.buffer.pageUp,	  Scroll
					  cmd.buffer.page-	  up/down/left/right by	n
					  Down,			  pages,  or  if n is un-
					  cmd.buffer.pageLeft,	  specified, by	one page.
					  cmd.buffer.pageRight
       ------------------------------------------------------------------------------------------------
       C-u, C-d				  cmd.buffer.half-	  Scroll
					  PageUp,		  up/down/left/right by	n
					  cmd.buffer.halfPage-	  half pages, or if n  is
					  Down,			  unspecified,	 by   one
					  cmd.buffer.half-	  page.
					  PageLeft,
					  cmd.buffer.half-
					  PageUp
       ------------------------------------------------------------------------------------------------
       K/C-y, J/C-e, zh, zl		  cmd.buffer.scrollUp,	  Scroll
					  cmd.buffer.scroll-	  up/down/left/right by	n
					  Down,			  lines, or if n  is  un-
					  cmd.buffer.scrol-	  specified, by	one line.
					  lLeft,
					  cmd.buffer.scroll-
					  Right
       ------------------------------------------------------------------------------------------------
       Enter/Return			  cmd.buffer.click	  Click	 the HTML element
								  currently   under   the
								  cursor.
       ------------------------------------------------------------------------------------------------
       I				  cmd.buffer.viewImage	  View	 the  image  cur-
								  rently under the cursor
								  in an	external viewer.
       ------------------------------------------------------------------------------------------------
       R				  cmd.buffer.reshape	  Reshape   the	  current
								  buffer   (=render   the
								  current   page   anew.)
								  Useful if the	layout is
								  not	 updating    even
								  though it should have.
       ------------------------------------------------------------------------------------------------
       r				  cmd.buffer.redraw	  Redraw screen	contents.
								  Useful   if	something
								  messed up the	display.
       ------------------------------------------------------------------------------------------------
       None   (see  gotoLineOrStart/End	  cmd.buffer.cursor-	  Move	to   the   begin-
       instead)				  FirstLine,		  ning/end in the buffer.
					  cmd.buffer.cursor-
					  LastLine
       ------------------------------------------------------------------------------------------------
       H				  cmd.buffer.cursorTop	  Move	to the first line
								  on the screen.  (Equiv-
								  alent	to H in	vi.)
       ------------------------------------------------------------------------------------------------
       M				  cmd.buffer.cur-	  Move to the line in the
					  sorMiddle		  middle of  the  screen.
								  (Equivalent	to  M  in
								  vi.)
       ------------------------------------------------------------------------------------------------
       L				  cmd.buffer.cursor-	  Move to the  last  line
					  Bottom		  on the screen.  (Equiv-
								  alent	to L in	vi.)
       ------------------------------------------------------------------------------------------------
       zt, z Return, zz, z., zb, z-	  cmd.buffer.raiseP-	  If n is specified, move
					  age,			  cursor to line n. Then,
					  cmd.buffer.raisePa-	  *   raisePage	  scrolls
					  geBegin,		  down so that the cursor
					  cmd.buffer.center-	  is on	the top	 line  of
					  Line,			  the screen.  (vi z<CR>,
					  cmd.buffer.center-	  vim  zt.)  * centerLine
					  LineBegin,		  shifts  the  screen  so
					  cmd.buffer.lower-	  that	the  cursor is in
					  Page,			  the	middle	 of   the
					  cmd.buffer.lower-	  screen.   (vi	 z.,  vim
					  PageBegin		  zz.)	   *	lowerPage
								  scrolls  up so that the
								  cursor is on the bottom
								  line	of  the	  screen.
								  (vi  z-,  vim	zb.)  The
								  -Begin  variants   also
								  move	the cursor to the
								  line's first	non-blank
								  character, as	the vari-
								  ants	originating  from
								  vi do.
       ------------------------------------------------------------------------------------------------
       z+				  cmd.buffer.nextPage-	  If n is specified, move
					  Begin			  to  the  screen  before
								  the  nth line	and raise
								  the  page.   Otherwise,
								  go   to   the	 previous
								  screen's last	line  and
								  raise	the page.
       ------------------------------------------------------------------------------------------------
       z^				  cmd.buffer.previous-	  If n is specified, move
					  PageBegin		  to  the  screen  before
								  the nth line and  raise
								  the  page.   Otherwise,
								  go  to   the	 previous
								  screen's  last line and
								  raise	the page.
       ------------------------------------------------------------------------------------------------
       g0, gc, g$			  cmd.buffer.cursor-	  Move to the  first/mid-
					  LeftEdge,		  dle/last  column on the
					  cmd.buffer.cur-	  screen.
					  sorMiddleColumn,
					  cmd.buffer.cursor-
					  RightEdge
       ------------------------------------------------------------------------------------------------
       None				  cmd.buffer.center-	  Center  screen   around
					  Column		  the	current	  column.
								  (w3m Z.)
       ------------------------------------------------------------------------------------------------
       gg, G				  cmd.buffer.gotoLine-	  If n is specified, jump
					  OrStart,		  to  line  n. Otherwise,
					  cmd.buffer.gotoLine-	  jump	to  the	start/end
					  OrEnd			  of the page.
       ------------------------------------------------------------------------------------------------
					  , None		  cmd.buffer.gotoColum-	    If
								  nOrBegin,		    n
								  cmd.buffer.gotoColum-	    is
								  nOrEnd		    spec-
											    i-
											    fied,
											    jump
											    to
											    col-
											    umn
											    n
											    of
											    the
											    cur-
											    rent
											    line.
											    Oth-
											    er-
											    wise,
											    jump
											    to
											    the
											    first/last
											    col-
											    umn.
       ------------------------------------------------------------------------------------------------
       m				  cmd.buffer.mark	  Wait for a character	x
								  and  then  set  a  mark
								  with the ID x.
       ------------------------------------------------------------------------------------------------
       `, '				  cmd.buffer.gotoMark,	  Wait for a character	x
					  cmd.buffer.gotoMarkY	  and  then  jump  to the
								  mark with the	ID x  (if
								  it exists on the page).
								  gotoMark  sets both the
								  X and	Y positions;  go-
								  toMarkY only sets the	Y
								  position.
       ------------------------------------------------------------------------------------------------
       :				  cmd.buffer.markURL	  Convert	 URL-like
								  strings to  anchors  on
								  the current page.
       ------------------------------------------------------------------------------------------------
       s Return				  cmd.buffer.saveLink	  Save	resource from the
								  URL pointed to  by  the
								  cursor to the	disk.
       ------------------------------------------------------------------------------------------------
       sS				  cmd.buffer.saveSource	  Save	the source of the
								  current buffer  to  the
								  disk.
       ------------------------------------------------------------------------------------------------
       sI				  cmd.buffer.saveImage	  Save	 the  image  cur-
								  rently under	the  cur-
								  sor.
       ------------------------------------------------------------------------------------------------
       M-i				  cmd.buffer.toggleIm-	  Toggle  display  of im-
					  ages			  ages	in  the	  current
								  buffer.
       ------------------------------------------------------------------------------------------------
       M-j				  cmd.buffer.toggle-	  Reload    the	  current
					  Scripting		  buffer  with	scripting
								  enabled/disabled.
       ------------------------------------------------------------------------------------------------
       M-k				  cmd.buffer.toggle-	  Reload    the	  current
					  Cookie		  buffer with cookies en-
								  abled/disabled.

   Line-editing	actions
       Default key			  Name		      Function
       -------------------------------------------------------------------------------------
       Return				  cmd.line.sub-	      Submit the line.
					  mit
       -------------------------------------------------------------------------------------
       C-c				  cmd.line.can-	      Cancel the current  op-
					  cel		      eration.
       -------------------------------------------------------------------------------------
       C-h, C-d				  cmd.line.back-      Delete character before
					  space,	      (backspace)/after
					  cmd.line.delete     (delete) the cursor.
       -------------------------------------------------------------------------------------
       C-u, C-k				  cmd.line.clear,     Delete	text   before
					  cmd.line.kill	      (clear)/after    (kill)
							      the cursor.
       -------------------------------------------------------------------------------------
       C-w, M-d				  cmd.line.clear-     Delete	word   before
					  Word,		      (clear)/after    (kill)
					  cmd.line.kill-      the cursor.
					  Word
       -------------------------------------------------------------------------------------
       C-b, C-f				  cmd.line.back-      Move    cursor	back-
					  ward,		      ward/forward   by	  one
					  cmd.line.for-	      character.
					  ward
       -------------------------------------------------------------------------------------
       M-b, M-f				  cmd.line.pre-	      Move cursor to the pre-
					  vWord,	      vious/next  word by one
					  cmd.line.nextWord   character
       -------------------------------------------------------------------------------------
       C-a/Home, C-e/End		  cmd.line.begin,     Move cursor to the  be-
					  cmd.line.end	      ginning/end    of	  the
							      line.
       -------------------------------------------------------------------------------------
       C-v				  cmd.line.escape     Ignore keybindings  for
							      next character.
       -------------------------------------------------------------------------------------
       C-p, C-n				  cmd.line.pre-	      Jump   to	  the  previ-
					  vHist,	      ous/next history entry
					  cmd.line.nextHist

       Note: to	facilitate URL editing,	the line editor	has a different	defin-
       ition of	what a word is than the	pager.	For the	line editor, a word is
       either a	sequence of alphanumeric characters,  or  any  single  non-al-
       phanumeric  character.  (This means that	e.g. https:// consists of four
       words: https, :,	/ and /.)

	      #	Control+A moves	the cursor to the beginning of the line.
	      'C-a' = 'cmd.line.begin'

	      #	Escape+D deletes everything after the cursor until it reaches a	word-breaking
	      #	character.
	      'M-d' = 'cmd.line.killWord'

   Appendix
   Regex handling
       Regular expressions are currently handled using the  libregexp  library
       from  QuickJS.	This  means  that  all	regular	expressions work as in
       JavaScript.

       There are  two  different  modes	 of  regex  preprocessing  in  Chawan:
       "search"	 mode and "match" mode.	 Match mode is used for	configurations
       (meaning	in all values in this document described as "regex").	Search
       mode  is	 used  for  the	 on-page  search  function  (using  searchFor-
       ward/isearchForward etc.)

   Match mode
       Regular expressions are assumed to be exact matches, except  when  they
       start with a caret (^) sign or end with an unescaped dollar ($) sign.

       In other	words, the following transformations occur:

	      ^abcd -> ^abcd (no change, only beginning	is matched)
	      efgh$ -> efgh$ (no change, only end is matched)
	      ^ijkl$ ->	^ijkl$ (no change, the entire line is matched)
	      mnop -> ^mnop$ (changed to exact match, the entire line is matched)

       Match mode has no way to	toggle JavaScript regex	flags like i.

   Search mode
       For  on-page search, the	above transformations do not apply; the	search
       /abcd searches for the string abcd inside all lines.

       Search mode also	has some other convenience transformations  (these  do
       not work	in match mode):

        The  string  \c (backslash + lower-case c) inside a search-mode regex
	 enables case-insensitive matching.

        Conversely, \C	(backslash  +  capital	C)  disables  case-insensitive
	 matching.   (Useful if	you have ignore-case set to true, which	is the
	 default.)

        \< and	\> is converted	to \b (as in vi, grep, etc.)

       Like match mode,	search mode operates on	individual lines.  This	 means
       that search patterns do not match text wrapped over multiple lines.

   Path	handling
       Rules for path handling are similar to how the shell handles strings.

        Tilde-expansion  is  used to determine	the user's home	directory.  So
	 e.g. ~/whatever works.

        Environment variables can be used like	$ENV_VAR.

        Relative paths	are relative to	 the  Chawan  configuration  directory
	 (i.e. $CHA_DIR).

       Some environment	variables are also exported by Chawan:

        $CHA_BIN_DIR:	the  directory	which the cha binary resides in.  Sym-
	 bolic links are automatically resolved	to determine this path.

        $CHA_LIBEXEC_DIR: the directory for all executables Chawan  uses  for
	 operation.  By	default, this is $CHA_BIN_DIR/../libexec/chawan.

        $CHA_DIR:  the	configuration directory.  (This	can also be set	by the
	 user; see the top section for details.	 $CHA_CONFIG_DIR is  a	depre-
	 cated alias for this.)

   Word	types
       Word-based  pager  commands  can	 operate with different	definitions of
       words.  Currently, these	are:

        w3m words

        vi words

        Big words

   w3m word
       A w3m word is a	sequence  of  alphanumeric  characters.	  Symbols  are
       treated in the same way as whitespace.

   vi word
       A  vi  word is a	sequence of characters in the same character category.
       Currently, character categories are alphanumeric	 characters,  symbols,
       han letters, hiragana, katakana,	and hangul.

       vi  words  may be separated by whitespace; however, vi words from sepa-
       rate categories do not have to be whitespace-separated.	e.g. the  fol-
       lowing character	sequence contains two words:

	      hello[]+{}@`!

   Big word
       A big word is a sequence	of non-whitespace characters.

       It  is  essentially  the	same as	a w3m word, but	with symbols being de-
       fined as	non-whitespace.

   See also
       cha(1) cha-api(7)

								 cha-config(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cha-config&sektion=5&manpath=FreeBSD+Ports+15.0>

home | help