bollux/bollux.conf.5

288 lines
6.3 KiB
Groff

\" -*- nroff -*-
.TH bollux.conf 5 0.4.1
.SH NAME
.B bollux.conf
\- configuration file for
.BR bollux (1)
.SH DESCRIPTION
.BR bollux (1)
uses a number of environment variables that can be sourced from an external file,
usually placed in
.IR $XDG_CONFIG_HOME/bollux/bollux.conf .
\"The location can be changed at runtime by invoking
\".BR "bollux \-c CONFIG" .
.SH VARIABLES
.SS Variables you might actually want to set
Here are actually useful variables that are good things to set in your
.IR bollux.conf ,
in order of usefulness.
.TP
.BR BOLLUX_URL
valid values are URLs; default is ''.
.br
If
.B BOLLUX_URL
is set,
.BR bollux (1)
loads that resource;
otherwise it asks the user for where to go.
Setting this variable works like setting a home page.
.TP
.BR BOLLUX_DOWNDIR
valid values are directories; default is '.'.
.br
The directory to attempt to save downloads in.
.BR bollux (1)
will attempt to download anything whose mimetype isn't
.IR text/* ,
and it tries to place it in
.BR BOLLUX_DOWNDIR .
If it can't open the directory, save the file,
or if there's another file with the same name,
.BR bollux (1)
will report the name of the temporary file it saved.
.TP
.BR BOLLUX_DATADIR
valid values are directories; default is '$XDG_DATA_HOME/bollux'.
.br
The directory
.BR bollux (1)
will put its data files, such as history, cert fingerprints, etc.
.TP
.BR BOLLUX_MAXREDIR
valid values are integers; default is '5'.
.br
The maximum number of redirects before
.BR bollux (1)
decides to quit.
The default is 5 as per some RFC spec.
.TP
.BR BOLLUX_LOGLEVEL
valid values are '', DEBUG or QUIET; default is ''.
.br
How verbose
.BR bollux (1)
should be.
.I DEBUG
prints debug-level messages.
.I QUIET
suppresses even error-level messages.
I'm going to be honest,
the difference between the levels is somewhat arbitrary.
In addition, if the environment variable
.BR DEBUG
is set to
.IR true ,
.BR bollux (1)
will enable the
.BR bash (1)
functionality behind
.IR set\ \-x ,
debugging every call.
.SS Typesetting
.BR bollux (1)
typesets text/gemini content using the
.I typeset_gemini
function.
While it's probably possible to redefine the function in
.BR bollux.conf (5),
the default function is pretty nice (at least in my opinion).
The following variables control how text/gemini content is rendered:
.TP
.BR T_MARGIN
valid values are integers; default is 4.
.br
The left margin for text.
Should be at least 3, since line-markers will be displayed in the left margin.
.TP
.BR T_WIDTH
valid values are integers; default is 0.
.br
The total width of the window, including
.BR T_MARGIN .
If set to 0, attempts to use the width of the terminal,
falling back to 80.
.TP
.BR T_PRE_DISPLAY
comma-separated list of items; default is both,pre,alt.
.br
How to display preformatted text blocks.
.I pre
shows only the preformatted lines, ignoring the delimiting fences.
.I alt
shows only the first fence line, along with whatever alt text might be there.
.I both
shows both.
.SS Colors
The different line-types in text/gemini documents are rendered with
.I m-class
terminal escapes (e.g., '\\e[31m').
The following variables should hold the values between
.I \\e[
and
.IR m ,
meaning valid values are anything between those that are valid terminal
color escapes.
.TP
.BR C_SIGIL
default: 35 (fg: magenta)
.br
The color of the line type as defined by text/gemini.
.TP
.BR C_LINK_NUMBER
default: 1 (bold)
.br
The color of the link number added by typeset_gemini.
.TP
.BR C_LINK_TITLE
default: 4 (underline)
.br
The color of the link's title, or if titleless, the URL.
.TP
.BR C_LINK_URL
default: 36 (fg: cyan)
.br
The color of the link's URL.
If the link doesn't have a title, this isn't used.
.TP
.BI C_HEADER "x"
where x is
.IR 1 ,
.IR 2 ", or"
.IR 3
.br
The color of text/gemini headers.
The default for level 1 is
.IR 1;4 ,
for level 2 is
.IR 1 ,
for level 3 is
.IR 3 .
.TP
.BR C_LIST
default: 0 (no formatting)
.br
The color of list items.
.TP
.BR C_PRE
default: 0 (no formatting)
.br
The color of preformatted lines, as delimited by '```'.
.SS Keybindings
.BR bollux (1)
(ab)uses the exit-code scripting capabilities of
.BR less (1)
to do things. The default keys are listed in the man page for
.BR bollux (1),
but you can also configure them by tweaking these variables:
.TP
.BR KEY_OPEN
default:
.IR o
.br
the key used to open a link from the current page.
.TP
.BR KEY_GOTO
default:
.IR g
.br
the key used to go to a new link (like a URL bar).
.TP
.BR KEY_GOTO_FROM
default:
.IR G
.br
similar to
.BR KEY_GOTO ,
but with the current URL pre-populated.
.TP
.BR KEY_BACK
default:
.IR [
.br
the key used to go back in the history list.
.TP
.BR KEY_FORWARD
default:
.IR ]
.br
the key used to go forward in the history list.
.TP
.BR KEY_REFRESH
default:
.IR r
.br
the key used to re-fetch the current page.
.TP
.BR KEY_CYCLE_PRE
default:
.IR p
.br
the key used to cycle the preformatted text display (see
.BR T_PRE_DISPLAY ,
above).
.TP
If you want more fine-tuned control over the keybindings,
you can edit
.BR BOLLUX_CUSTOM_LESSKEY ,
which is
.IR $XDG_CONFIG_HOME/bollux/bollux.lesskey
by default (of course, it can also be changed).
See
.BR lesskey (1)
for details on that file's format.
.SS Variables that could be configured, but probably shouldn't be
These variables control deeper aspects of
.BR bollux (1)'s
workings.
It's possible they could be tweaked to make
.BR bollux (1)
work differently, like browsing gopher instead of gemini,
but that capability has not been tested.
.TP
.BR BOLLUX_GEMINI_PORT
valid values are port numbers (1-65535); default is '1965'.
.br
The port
.BR bollux (1)
tries to connect to on gemini servers.
.TP
.BR BOLLUX_GOPHER_PORT
valid values are port numbers (1-65535); default is '70'.
.br
The port
.BR bollux (1)
tries to connect to on gopher servers.
.TP
.BR BOLLUX_PROTO
valid values are protocol names (strings); default is 'gemini'.
.br
The protocol to use.
.TP
.BR BOLLUX_TIMEOUT
valid values are as specified in 'help read'; default is '30'.
.br
The request timeout duration.
Specified in seconds.
.TP
.BR BOLLUX_LESSKEY
valid values are files; default is '$BOLLUX_DATADIR/lesskey'.
.br
Where to store the generated
.BR lesskey (1)
file.
.TP
.BR BOLLUX_PAGESRC
valid values are files; default is '$BOLLUX_DATADIR/pagesrc'.
.br
Where to store the page source of the site being visited.
It's not used right now by
.BR bollux (1),
but you could ...
.BR cat (1)
it?
.SH FILES
.I $XDG_CONFIG_HOME/bollux/bollux.conf
.SH SEE ALSO
.BR bollux (1)