badwolf(1)
| BADWOLF(1) | General Commands Manual | BADWOLF(1) |
NAME
badwolf —
minimalist and privacy-oriented web browser based on
WebKitGTK
SYNOPSIS
badwolf |
[webkit/gtk options] [-iS]
[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 these.
OPTIONS
-i- Disable Images.
-S- Enable JavaScript.
CUSTOM SCHEMES
badwolf supports the
‘man:’ scheme, where for example
man(1) maps to
man:man.1
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%.
- webview Ctrl-MousePrimary, webview MouseMiddle
- Opens the selected link in a new tab. (Note: JS still overrides the event)
- 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 Ctrl-Escape
- Terminates the web process
- 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
- textarea Ctrl-;
- Insert Emoji
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-dictsor 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).
You can do a symbolic link from their path, but you might prefer to use XInclude which is natively supported by
badwolfto automatically merge multiple XBEL files.Also the bookmark entries aren't re-sorted, so you might want to put your most frequently used ones at the top of the file.
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
badwolfinterface. See https://docs.gtk.org/gtk3/css-properties.html for the properties being available.For testing your styles I would recommend using the
GTK_DEBUG=interactiveenvironment variable on launchingbadwolfand going to the CSS tab. - ${XDG_DATA_HOME:-$HOME/.local/share}/badwolf/scripts/
- Directory containing JS userscripts (ending in
.js) ran at the start of page loads, nesting down into iframes, useful to override website behaviors or add missing features to websites.Please note that for now unlike GreaseMonkey-style userscripts, they are always run, regardless of the hostname / URLs.
AUTHORS
Haelwenn (lanodan) Monnier <contact+badwolf@hacktivis.me>
BUGS
You can submit contributions or tickets to https://sr.ht/~lanodan/badwolf/ with git-send-email(1) for patches.
| 2022-07-13 | Linux 6.12.85-6.12-alt1 |
