1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
.\" BadWolf: Minimalist and privacy-oriented WebKitGTK+ browser
.\" Copyright © 2019-2021 Badwolf Authors <https://hacktivis.me/projects/badwolf>
.\" SPDX-License-Identifier: BSD-3-Clause
.Dd 2019-10-31
.Dt BADWOLF 1
.Os
.Sh NAME
.Nm badwolf
.Nd minimalist and privacy-oriented web browser based on WebKitGTK
.Sh SYNOPSIS
.Nm
.Op Ar webkit/gtk options
.Op Ar URLs or paths
.Sh DESCRIPTION
.Nm
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.
.Pp
Runtime configuration specific to
.Nm
will probably get added at a later release.
.Sh KEYBINDINGS
The following section lists the keybinding by their action, each item is described by the widget the focus is on or
.Aq any
if it works for the whole window, followed by the keybind it grabs.
.Bl -tag -width Ds
.It webview Ctrl-Scroll
Zooms the webpage in/out.
.It webview Ctrl-0
Resets webpage zoom to 100%.
.It any Ctrl-t
Creates a new tab (in a new session, similar as pressing the button)
.It browser Ctrl-F4, browser Alt-d
Closes the current tab
.It browser Ctrl-f
Focuses on the search entry
.It browser Ctrl-l
Focuses on the location(URL) entry
.It browser Ctrl-Shift-r / Ctrl-r, browser F5
Reloads the content in the current tab (with/without clearing cache)
.It browser Escape
Stops loading the content in the current tab
.It browser F7
Toggles caret browsing.
.It browser F12
Opens the web inspector.
.It browser Ctrl-[ / Ctrl-]
Go back/forward in current tab's history
.It browser Ctrl-p
Print the current page. (spawns a dialog)
.It any Alt-Left / Alt-Right
Go to the previous/next tab
.It any F1
Shows the about dialog
.It any Alt-n
Where n is any numeric-row key.
Go to the n-th tab, 0 goes to the last one.
.El
.Ss DEFAULT ONES
Here is a incomplete list of the default Webkit/GTK keybindings:
.Bl -tag -width Ds
.It any Ctrl-PageUp / Ctrl-PageDown
Go to the previous/next tab
.It search Ctrl-g / Ctrl-Shift-g
When the search box is focused it goes to the Next/Previous search term.
.It search Escape
Cancels current search
.El
.Sh ENVIRONMENT
.Bl -tag -width Ds
.It Ev BADWOLF_L10N
A colon-separated list in the form lang_COUNTRY where lang is in ISO-639 and COUNTRY in ISO-3166.
For example
.Ic 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.
.Pp
To get the list of supported dictionaries execute
.Ic enchant-lsmod-2 -list-dicts
or before enchant 2.0:
.Ic enchant-lsmod -list-dicts
.El
.Sh FILES
The following paths are using
.Xr sh 1
syntax to correctly support XDG Base Directory Specification, you can use the
.Xr echo 1
command to check where it is on your system.
.Pp
.Bl -tag -width Ds -compact
.It Pa ${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:
.Lk https://webkit.org/blog/3476/content-blockers-first-look/
.Lk https://webkit.org/blog/4062/targeting-domains-with-content-blockers/
.Lk https://developer.apple.com/documentation/safariservices/creating_a_content_blocker
.Pp
For a converter using AblockPlus-style filters, try:
.Lk https://gitlab.com/eyeo/adblockplus/abp2blocklist
.Pp
For a ready-to-use file (that you should update periodically), try:
.Lk https://easylist-downloads.adblockplus.org/easylist_min_content_blocker.json
.It Pa ${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.
.It Pa ${XDG_DATA_HOME:-$HOME/.local/share}/badwolf/bookmarks.xbel
XBEL (XML Bookmark Exchange Language) file, known to be currently supported by:
.Xr elinks 1 ,
.Xr konqueror 1 ,
.Xr kbookmarkeditor 1 . Doing a symbolic link from their path works fine but you might also want to use XInclude to merge multiple XBEL files.
.Pp
For more information about this format see:
.Lk http://pyxml.sourceforge.net/topics/xbel/
.Pp
For an example XBEL file see:
.Lk https://hacktivis.me/bookmarks.xbel
.It Pa ${XDG_DATA_HOME:-$HOME/.local/share}/badwolf/webkit-web-extension/
Directory containing the
.Lk https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebExtension.html WebKitWebExtensions
to be loaded into
.Nm . Note: They aren't the JavaScript-based Web-Extensions supported by Firefox or Chrome, but native code in shared objects using the WebKitGTK API.
.Pp
Examples of useful extensions may be found at:
.Lk https://hacktivis.me/git/badwolf-extensions
.It Pa ${DATADIR:-/usr/local/share}/badwolf/interface.css
.It Pa ${XDG_DATA_HOME:-$HOME/.local/share}/badwolf/interface.css
CSS files (respectively system and user-level) for styling badwolf interface.
See
.\" GNOME can't even into doing any redirections of the few docs available
.Lk http://web.archive.org/web/20210420214617/https://developer.gnome.org/gtk3/stable/chap-css-properties.html
for the properties being available.
.Pp
For testing your styles I would recommend using the
.Ev GTK_DEBUG=interactive
environment variable on launching
.Nm
and going to the CSS tab.
.El
.Sh AUTHORS
.An Haelwenn (lanodan) Monnier Aq Mt contact+badwolf@hacktivis.me
.Sh BUGS
You can submit contributions or tickets to
.Lk https://gitlab.com/lanodan/badwolf
or
.Mt contact+badwolf@hacktivis.me ,
with
.Xr git-send-email 1 for patches.
|