This page contains legacy documentation for Bombadillo 1.0. Please visit bombadillo.colorfield.space for documentation of more recent/current versions of Bombadillo.
Bombadillo is a [gopher] client for the [terminal]. The application functions as a "full screen" terminal user interface. Keys are mapped similarly to [Vim] in order to provide a sense of familiarity and ease of control. Source code is written in golang and is freely available with the general intent being: use it however you like in a non-profit fashion. Linux, BSD, and OSX are fully supported for both ARM and x86_64.
The name Bombadillo comes fromt he legendarium of [J.R.R. Tolkien], specifically The Lord of the Rings. [Tom Bombadil], who was a jolly fellow, is a mysterious figure. A seemingly simple character that speaks in rhymed meter and lives in the woods, Tom is master of his domain and is in his way quite powerful. The goal with Bombadillo, the gopher client, was to take this simple protocol (gopher) and make an easy to use, but powerful, client for the terminal.
The main developer of Bombadillo had made two other gopher clients previously: [Stubb] and [Burrow]. Stubb is also for the terminal; but did not function as a pager (full screen scrolling), and had a more confusing and less configurable usage pattern. Burrow is a graphical gopher client with an appearance much like a web browser (it even displays images), but it is difficult to get working correctly on a number of systems (it works as intended on debian based linux).
Bombadillo attempts to solve the shortcomings of those clients by being available as binaries for multiple operating systems and processor architectures. While it does not have the image viewing capabilities of Burrow, it is quick and easy to control and just feels right for the gopher protocol. The dream of the internet in the 90s as a place of freedom, expression, and community is alive and well via gopher. See the [links] section for other great clients and related projects.
Once installed on a system and included in the system path, a user can start the application by typing `bombadillo` into their terminal and pressing enter, or if they wish they can include a URL to visit: `bombadillo gopher://colorfield.space`.
At the top of the screen you will see the current URL. Below that you will see the content of your requested URL. If you did not pass a URL to Bombadillo when you ran the program you will be navigated to your home page. By default the home page is set to gopher based documentation for Bombadillo.
If you are on a gophermap you will see link numbers and types to the left of the main content. To visit a link press the spacebar and then enter the link number you would like to visit followed by the enter key. You can visit a different URL the same way: press the spacebar, type in the URL, and press enter.
To go forward or backward in history you can, without first pressing the spacebar, press `b` for back or `f` for forward.
That should get you started using Bombadillo at a basic level. There are many more options and features. Please read the [Documentation] section to find out more.
Bombadillo is released under the [GNU GPL Version 3] license. The basic gist: you are free to use this software, modify it, and share it; so long as any modifications or code based on it is released under the same license with the same terms (the source code must be freely available and modifiable by others). There is a little more to it than that, but that is the basic idea: free and open source software that will remain free and open source software.
Gopher is the sole protocol supported by Bombadillo at this time. Gopher types are implemented in a 4 tier fashion:
- Gophermaps are supported with all classic/standardized features
- Text documents are displayed in the client as scrollable documents
- Search is provided by a prompt, and usually returns a gophermap
- All other types (images, binaries, etc) are implemented as downloads
Navigation and Hot Keys
Navigation on a page is done via hot keys. Moving around a page, going forward and backward in history, toggling between windows, quitting the application, and entering command mode are all hot key based. Hot keys perform simple concrete actions. For more complex behavior, or behavior involving text entry, see the [commands] section.
|b||Go back a place in browsing history|
|f||Go forward a place in browsing history|
|G||Go to end|
|g||Go to beginning|
|B||Toggle bookmarks sidebar into or out of view|
|:||Enter command mode. Once in command mode you may enter your command (see the [commands table])|
|spc||Alternate entry into command mode|
|tab||Toggle window selection between bookmark bar and main content window (only usable if bookmark bar is open). Lets a user scroll each window as needed.|
As detailed in the above section on [hot keys], a user can initiate command entry by pressing the spacebar or :
Once command entry is initiated a user can enter a command to navigate to a link or url, adjust/view settings, add/remove bookmarks, download files, etc.
|Quit Bombadillo||quit||q||Same as q hot key|
|Go home||home||h||Set by homeurl option. Defaults to Bombadillo help document|
|Search||search||Will promopt for search terms. Engine defaults to Veronica2. Engine can be set by searchengine option|
|Go to URL||[url]||Enter a url to go there, defaults to gopher protocol/port 70|
|Go to link||[link#]||Any number entered will be treated as a link. If the link number exists on the current page, it will be followed|
|Add bookmark||add [url or link#] [title]||a||Instead of url or link # a user can use . to add the current page|
|Delete bookmark||delete [bookmark#]||d|
|Go to bookmark||bookmark [bookmark#]||b|
|Write to file||write [url or link#] [filename]||w||Use . for current page. Downloads as filename at savelocation set in options, defaults to ~/Downloads/|
|Set option||set [option name] [value]||s|
|Check option||check [option name]||c||Will print the value of a configuration option to the screen|
Configurations allow a user to customize the client as they see fit. A configuration file (ini format) is saved to the users home directory. This file can technically be edited directly, but it is recommended to use the set command to update configuration options. To verify current settings, use the check command.
|Option Name||Value Type||Default Value||What it does|
|homeurl||Gopher url||gopher://colorfield.space:70/1/bombadillo-info||Sets the homepage, which loads when Bombadillo opens|
|savelocation||A non-relative filepath||/[home path]/Downloads/||Sets the save location for downloads|
|searchengine||A type 7 gopher url||gopher.floodgap.com:70/7/v2/vs||Sets what search engine to use when a user uses the search command|
|openhttp||true / false||false||Toggles whether or not to try opening www links in a users web browser|
Terminal Window Resizing
If you resize your terminal window the text display will likely become distorted and wrapped weirdly. Pressing any key when the screen is in this state will redraw the screen and realign the text. Do not that all hot keys will also still have their normal behavior, so avoid pressing `q` if you do not want to quit the application.
When running Bombadillo at the terminal prompt, a user may optionally pass a URL to have the client load that URL rather than the user's homepage.
Bombadillo is coded in [Go] and can be built from source. No outside libraries are used, just the Go standard library. The source code is designed with modules so requires Go 1.11+. The source code is available at https://tildegit.org/sloum/bombadillo.
Other platforms can be built for from source (various BSD systems, Plan 9, etc). Windows can technically be built, but is not verified as functional at present.