badwolf - Man Page
minimalist and privacy-oriented web browser based on WebKitGTK
Synopsis
badwolf | [webkit/gtk options] [URLs or paths] |
Description
badwolf is a minimalist browser that cares about privacy, it is based on WebKitGTK and thus also accepts WebKitGTK (and dependencies) flags and environment variables, unfortunately there doesn't seems to be manpages for theses.
Runtime configuration specific to badwolf will probably get added at a later release.
Keybindings
The following section lists the keybinding by their action, each item is described by the widget the focus is on or ⟨any⟩ if it works for the whole window, followed by the keybind it grabs.
- webview Ctrl-Scroll
Zooms the webpage in/out.
- webview Ctrl-0
Resets webpage zoom to 100%.
- any Ctrl-t
Creates a new tab (in a new session, similar as pressing the button)
- browser Ctrl-F4, browser Alt-d
Closes the current tab
- browser Ctrl-f
Focuses on the search entry
- browser Ctrl-l
Focuses on the location(URL) entry
- browser Ctrl-Shift-r / Ctrl-r, browser F5
Reloads the content in the current tab (with/without clearing cache)
- browser Escape
Stops loading the content in the current tab
- browser F7
Toggles caret browsing.
- browser F12
Opens the web inspector.
- browser Ctrl-[ / Ctrl-]
Go back/forward in current tab's history
- browser Ctrl-p
Print the current page. (spawns a dialog)
- any Alt-Left / Alt-Right
Go to the previous/next tab
- any F1
Shows the about dialog
- any Alt-n
Where n is any numeric-row key. Go to the n-th tab, 0 goes to the last one.
Default Ones
Here is a incomplete list of the default Webkit/GTK keybindings:
- any Ctrl-PageUp / Ctrl-PageDown
Go to the previous/next tab
- search Ctrl-g / Ctrl-Shift-g
When the search box is focused it goes to the Next/Previous search term.
- search Escape
Cancels current search
Environment
- BADWOLF_L10N
A colon-separated list in the form lang_COUNTRY where lang is in ISO-639 and COUNTRY in ISO-3166. For example
BADWOLF_L10N="en_GB:fr_FR:de_DE"
. When this variable isn't set, spelling isn't activated. A more generic variable name is also intended to be used in the future.To get the list of supported dictionaries execute
enchant-lsmod-2 -list-dicts
or before enchant 2.0:enchant-lsmod -list-dicts
Files
The following paths are using sh(1) syntax to correctly support XDG Base Directory Specification, you can use the echo(1) command to check where it is on your system.
- ${XDG_CONFIG_HOME:-$HOME/.config}/badwolf/content-filters.json
WebKit-specific content-filter file, this allows to block unwanted content (ads, nagware, ...). For some introductory information about the format see: https://webkit.org/blog/3476/content-blockers-first-look/ https://webkit.org/blog/4062/targeting-domains-with-content-blockers/ https://developer.apple.com/documentation/safariservices/creating_a_content_blocker
For a converter using AblockPlus-style filters, try: https://gitlab.com/eyeo/adblockplus/abp2blocklist
For a ready-to-use file (that you should update periodically), try: https://easylist-downloads.adblockplus.org/easylist_min_content_blocker.json
- ${XDG_CACHE_HOME:-$HOME/.cache}/badwolf/filters
This is where the compiled filters are stored, the file(s) in it are automatically generated and so shouldn't be edited. Documented here only for sandboxing / access-control purposes.
- ${XDG_DATA_HOME:-$HOME/.local/share}/badwolf/bookmarks.xbel
XBEL (XML Bookmark Exchange Language) file, known to be currently supported by: elinks(1), konqueror(1), kbookmarkeditor(1). Doing a symbolic link from their path works fine but you might also want to use XInclude to merge multiple XBEL files.
For more information about this format see: http://pyxml.sourceforge.net/topics/xbel/
For an example XBEL file see: https://hacktivis.me/bookmarks.xbel
- ${XDG_DATA_HOME:-$HOME/.local/share}/badwolf/webkit-web-extension/
Directory containing the WebKitWebExtensions to be loaded into badwolf. Note: They aren't the JavaScript-based Web-Extensions supported by Firefox or Chrome, but native code in shared objects using the WebKitGTK API.
Examples of useful extensions may be found at: https://hacktivis.me/git/badwolf-extensions
- ${DATADIR:-/usr/local/share}/badwolf/interface.css
- ${XDG_DATA_HOME:-$HOME/.local/share}/badwolf/interface.css
CSS files (respectively system and user-level) for styling badwolf interface. See http://web.archive.org/web/20210420214617/https://developer.gnome.org/gtk3/stable/chap-css-properties.html for the properties being available.
For testing your styles I would recommend using the
GTK_DEBUG=interactive
environment variable on launching badwolf and going to the CSS tab.
Authors
Haelwenn (lanodan) Monnier <contact+badwolf@hacktivis.me>
Bugs
You can submit contributions or tickets to https://gitlab.com/lanodan/badwolf or contact+badwolf@hacktivis.me, with git-send-email(1) for patches.