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.

Info

2019-10-31