bombadillo - a non-web browser
bombadillo [options] [url]
- -h
- Display usage help and exit. Provides a list of all command line options
with a short description and exits.
- -t
- Set the window title to 'Bombadillo'. Can be used in a GUI environment,
however not all terminals support this feature.
- -v
- Display version information and exit.
All of the below protocols are supported. With the exception of
gopher, the protocol name must be present as the scheme component of a url
in the form of [protocol]://[the rest of the url].
- gopher
- Gopher is the default protocol for bombadillo. Any textual item
types will be visited and shown to the user and any non-text types will be
downloaded. Type 7 (querying) is fully supported. As the default protocol,
any url that is not prefixed with the scheme section of a url
(gopher:// for example) will be treated as gopher urls.
- gemini
- Gemini is supported, but as a new protocol with an incomplete
specification, features may change over time. At present Bombadillo
supports TLS with a trust on first use certificate pinning system (similar
to SSH). Gemini maps and other text types are rendered in the browser and
non-text types will be downloaded.
- finger
- Basic support is provided for the finger protocol. The format is:
finger://[[username@]][hostname]. Many servers still support finger
and it can be fun to see if friends are online or read about the users
whose phlogs you follow.
- local
- Local is similar to the file protocol used in web browsers or the
like, with a smaller set of features. Users can use the local scheme to
view files on their local system. Directories are supported as viewable
text object as well as any files. Wildcards and globbing are not
supported. Using ~ to represent a user's home directory, as well as
relative paths, are supported. The color theme has no effect on
this protocol and all terminal escape sequences will be rendered to the
screen literally.
- telnet
- Telnet is not supported directly, but addresses will be followed and
opened as a subprocess by whatever telnet client a user sets in their
settings (defaulting to telnet). In some cases this behavior may be
buggy.
- http, https
- Neither of the world wide web protocols are supported directly.
bombadillo can be configured to open web links in a user's default
graphical web browser. It is also possible to display web content directly
in bombadillo using lynx, w3m, or elinks terminal web browsers to
render pages. Opening http/https links is opt-in only, controlled by the
webmode setting.
- Opening links in a default graphical web browser will only work in a GUI
environment.
- Displaying web content directly in bombadillo requires lynx, w3m or
elinks terminal web browsers are installed on the system.
These commands work as a single keypress anytime bombadillo
is not taking in a line based command or when the user is being prompted for
action. This is the default command mode of bombadillo.
- b, h
- Navigate back one place in your document history.
- B
- Toggle the bookmarks panel open/closed.
- d
- Scroll down an amount corresponding to 75% of your terminal window height
in the current document.
- f, l
- Navigate forward one place in your document history.
- g
- Scroll to the top of the current document.
- G
- Scroll to the bottom of the current document.
- j
- Scroll down a single line in the current document.
- k
- Scroll up a single line.
- n
- Jump to next found text item.
- N
- Jump to previous found text item.
- q
- Quit bombadillo.
- R
- Reload the current page (does not destroy forward history).
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 0
- Quick navigation to the first 10 links on a page. The 0 key will navigate
to the link numbered '10', all other numbers navigate to their matching
link number.
- U
- Move up a level in the current url path. /mydir/mysubdir/myfile.txt
would become /mydir/mysubdir/, and so on.
- u
- Scroll up an amount corresponding to 75% of your terminal window height in
the current document.
- /
- Search for text within current document. / followed by a text query will
highlight and allow navigation of found text. / with an empty query will
clear the current query.
- <tab>
- Toggle the scroll focus between the bookmarks panel and the document
panel. Only has an effect if the bookmarks panel is open.
- <spc>
- Enter line command mode. Once a line command is input, the mode will
automatically revert to key command mode.
- :
- Alias for <spc>. Enter line command mode.
These commands are typed in by the user to perform an action of
some sort. As listed in KEY COMMANDS, this mode is initiated by pressing :
or <space>. The command names themselves are not case sensitive,
though the arguments supplied to them may be.
- [url]
- Navigates to the requested url.
- [link id]
- Follows a link on the current document with the given number.
- add [url]
[name...]
- Adds the url as a bookmarks labeled by name. a can be used instead
of the full add.
- add [link id]
[name...]
- Adds the url represented by the link id within the current document as a
bookmark labeled by name. a can be used instead of the full
add.
- add .
[name...]
- Adds the current document's url as a bookmark labeled by name. a
can be used instead of the full add.
- bookmarks
- Toggles the bookmarks panel open/closed. Alias for KEY COMMAND B.
b can be used instead of the full bookmarks.
- bookmarks [bookmark id]
- Navigates to the url represented by the bookmark matching bookmark id.
b can be entered, rather than the full bookmarks.
- check [link
id]
- Displays the url corresponding to a given link id for the current
document. c can be used instead of the full check.
- check [setting
name]
- Displays the current value for a given configuration setting. c can
be used instead of the full check.
- delete [bookmark
id]
- Deletes the bookmark matching the bookmark id. d can be used
instead of the full delete.
- help
- Navigates to the gopher based help page for bombadillo. ?
can be used instead of the full help.
- home
- Navigates to the document set by the homeurl setting. h can
be entered, rather than the full home.
- jump
- Navigates to the previous page in history from the current page. Useful
for keeping the current page in your history while still browsing.
j can be used instead of the full jump.
- jump [history location]
- Navigates to the given history location. The history location should be an
integer between 0 and 20. j can be used instead of the full
jump.
- purge *
- Deletes all pinned gemini server certificates. p can be used
instead of the full purge.
- purge [host
name]
- Deletes the pinned gemini server certificate for the given hostname.
p can be used instead of the full purge.
- quit
- Quits bombadillo. Alias for KEY COMMAND q. q can be
used instead of the full quit.
- reload
- Requests the current document from the server again. This does not break
forward history the way entering the url again would. r can be used
instead of the full reload.
- search
- Queries the user for search terms and submits a search to the search
engine set by the searchengine setting.
- search [keywords...]
- Submits a search to the search engine set by the searchengine
setting, with the query being the provided keyword(s).
- set [setting name]
[value]
- Sets the value for a given configuration setting. s can be used
instead of the full set.
- version
- Shows the current Bombadillo version number.
- write .
- Writes the current document to a file. The file is named by the last
component of the url path. If the last component is blank or / a
default name will be used. The file saves to the directory set by the
savelocation setting. w can be entered rather than the full
write.
- write
[url]
- Writes data from a given url to a file. The file is named by the last
component of the url path. If the last component is blank or / a
default name will be used. The file saves to the directory set by the
savelocation setting. w can be entered rather than the full
write.
- write [link
id]
- Writes data from a given link id in the current document to a file. The
file is named by the last component of the url path. If the last component
is blank or / a default name will be used. The file saves to the
directory set by the savelocation setting. w can be entered
rather than the full write.
bombadillo keeps a hidden configuration file in a user's
XDG configuration directory. The file is a simplified ini file titled
.bombadillo.ini. It is generated when a user first loads
bombadillo and is updated with bookmarks and settings as a user adds
them. The file can be directly edited, but it is best to use the SET command
to update settings whenever possible. To return to the state of a fresh
install, simply remove the file and a new one will be generated with the
bombadillo defaults. On some systems an administrator may set the
configuration file location to somewhere other than the default setting. If
you do not see the file where you expect it, or if your settings are not
being read, try :check configlocation to see where the file should
be, or contact your system administrator for more information.
The following is a list of the settings that bombadillo
recognizes, as well as a description of their valid values.
- configlocation
- The path to the directory that the .bombadillo.ini configuration
file is stored in. This is a read only setting and cannot be
changed with the set command, but it can be read with the
check command.
- defaultscheme
- The scheme that should be used when no scheme is present in a given URL.
gopher, gemini, http, and https are valid
values.
- geminiblocks
- Determines how to treat preformatted text blocks in text/gemini documents.
block will show the contents of the block, alt will show any
available alt text for the block, both will show both the content
and the alt text, and neither will show neither. Unlike other
settings, a change to this value will require a fresh page load to see the
change.
- homeurl
- The url that bombadillo navigates to when the program loads or when
the home or h LINE COMMAND is issued. This should be a valid
url. If a scheme/protocol is not included, gopher will be assumed.
- maxwidth
- The number of characters at which lines should be wrapped. If this is
bigger than the available terminal width, the full width of the terminal
will be used. If a non-integer or an integer less than 10 is given, a
default value will be used.
- savelocation
- The path to the directory that bombadillo should write files to.
This must be a valid filepath for the system, must be a directory, and
must already exist.
- searchengine
- The url to use for the LINE COMMAND search. Should be a valid
search path that terms may be appended to.
- telnetcommand
- Tells the browser what command to use to start a telnet session. Should be
a valid command, including any flags. The address being navigated to will
be added to the end of the command.
- theme
- Can toggle between visual modes. Valid values are normal,
color, and inverse. When set to inverse, the normal mode
colors are inverted. Both normal and inverse modes filter out terminal
escape sequences. When set to color, Bombadillo will render terminal
escape sequences representing colors when it finds them in documents.
- timeout
- The number of seconds after which connections to gopher or gemini servers
should time out if the server has not responded.
- webmode
- Controls behavior when following web links. The following values are
valid: none will disable following web links, gui will have
the browser attempt to open web links in a user's default graphical web
browser; lynx, w3m, and elinks will have the browser
attempt to use the selected terminal web browser to handle the rendering
of web pages and will display the pages directly in Bombadillo.
There are very likely bugs. Many known bugs can be found in the
issues section of bombadillo's source code repository (see
links).
bombadillo was primarily developed by sloum, with kind and
patient assistance from ~asdf and jboverf.