BADWOLF(1)
πΊβ¨ BADWOLF(1) β¨πΊ
okay so this is badwolf, from the General Commands Manual section (section 1, bestie, the "type it in your terminal" section π
). she's a browser. she's minimal. she's privacy-obsessed. she's literally the moment.
πΈ NAME πΈ
badwolf β a minimalist, privacy-oriented web browser built on WebKitGTK. no cap, that's the whole vibe.
π¦ SYNOPSIS π¦
badwolf [webkit/gtk options] [-iS] [URLs or paths]
π DESCRIPTION π
badwolf is a minimalist browser that genuinely cares about your privacy β it's giving "I don't want your cookies, I don't want your trackers, I want peace." π«Ά
It's based on WebKitGTK, which means it also happily accepts WebKitGTK flags and environment variables (and the flags of its dependencies too, because it's generous like that). Tragically though? There doesn't seem to be manpages for those. π So like... good luck, iykyk.
π OPTIONS π
-iβ Disable images. bye bye pictures πΌοΈ-Sβ Enable JavaScript. yes, enable β it's off by default, slay for privacy β
π CUSTOM SCHEMES π
badwolf supports the man: scheme β¨ β so for example, man(1) maps to man:man.1. iconic, honestly.
π KEYBINDINGS π
Here's the whole list, sorted by action. Each entry tells you which widget has to be focused, or β¨anyβ© if it works for the whole window β and then the keybind it grabs. π
π§ The keys π§
- webview
Ctrl-Scrollβ Zooms the webpage in and out. π - webview
Ctrl-0β Resets webpage zoom back to 100%. - webview
Ctrl-MousePrimary, webviewMouseMiddleβ Opens the selected link in a new tab. > (heads up: JS still overrides the event π) - any
Ctrl-tβ Creates a new tab (in a new session, similar to pressing the button). - browser
Ctrl-F4, browserAlt-dβ Closes the current tab. - browser
Ctrl-fβ Focuses the search entry. π - browser
Ctrl-lβ Focuses the location (URL) entry. - browser
Ctrl-Shift-r/Ctrl-r, browserF5β 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. π dramatic but valid - browser
F7β Toggles caret browsing. - browser
F12β Opens the web inspector. dev tools girlies rise π οΈ - browser
Ctrl-[/Ctrl-]β Goes back / forward in the current tab's history. - browser
Ctrl-pβ Prints the current page. (spawns a dialog) - any
Alt-Left/Alt-Rightβ Goes to the previous / next tab. - any
F1β Shows the about dialog. - any
Alt-nβ where n is any numeric-row key. Goes to the n-th tab, and0goes to the last one. π’
π DEFAULT ONES π
Here's an incomplete list of the default WebKit/GTK keybindings β not my list, theirs, so don't come for me π:
- any
Ctrl-PageUp/Ctrl-PageDownβ Goes 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 the current search. - textarea
Ctrl-;β Insert emoji ππ (the most important one fr fr)
π ENVIRONMENT π
BADWOLF_L10Nβ A colon-separated list in the form lang_*COUNTRY*, where lang is in ISO-639 and COUNTRY is in ISO-3166. For example:BADWOLF_L10N="en_GB:fr_FR:de_DE". When this variable isn't set, spelling isn't activated β so no spellcheck, bestie. 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 use sh(1) syntax so they correctly support the 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 is the one that lets you block unwanted content (ads, nagware, ... π«). For some introductory info 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, fr fr keep it fresh), 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, so they shouldn't be edited π«βοΈ. Documented here only for sandboxing / access-control purposes.${XDG_DATA_HOME:-$HOME/.local/share}/badwolf/bookmarks.xbelβ Your 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 β https://www.w3.org/TR/xinclude/ β which is natively supported by badwolf to 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 (https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebExtension.html) to be loaded intobadwolf. β οΈ Note: these aren't the JavaScript-based Web-Extensions supported by Firefox or Chrome β they're native code in shared objects using the WebKitGTK API. very different energy.
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-level and user-level π¨) for styling thebadwolfinterface. Seehttps://docs.gtk.org/gtk3/css-properties.htmlfor 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. chef's kiss π©βπ³π
${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. π no filtering, no vibe check, they just go.
π«Ά AUTHORS π«Ά
Haelwenn (lanodan) Monnier <contact+badwolf@hacktivis.me> β the icon, the legend π
π BUGS π
You can submit contributions or tickets to https://sr.ht/~lanodan/badwolf/ β with git-send-email(1) for patches. π¨
and that's the page, bestie!! πΈ This one's from Debian, dated 2022-07-13 β written back when the vibes were immaculate and the manpage was thβ£is long. go browse privately, block your ads, and put your favourite bookmarks at the top of the file. periodt. π β¨π¦
π¦ where this page comes from
- alpine 3.24: badwolf-doc 1.4.0-r0 Β· BSD-3-Clause
- π the page's license: BSD-3-Clause
- Copyright Β© 2019-2024 Badwolf Authors <https://hacktivis.me/projects/badwolf>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms