detached 52e9ce9

chore: Update README with extensions and ad blocking info

commit
52e9ce9862bd0af9165d518825fd9ed179b784d5
author
bnema · · 2026-08-14 02:06 UTC
committer
GitHub · · 2026-08-14 02:06 UTC
parent
8058429
signature
GPG UnverifiedB5690EEEBB952194 The key is unknown
1 file · +10 -12
M README.md +10 -12
@@ -125,9 +125,17 @@ enabled = true
125125
126126 The config reloads while Dumber is running. See the [configuration documentation](https://bnema.dev/dumber/docs) for all options.
127127
128+## Extensions and ad blocking
129+
130+CEF does not expose the Extensions API, so browser extensions are not supported. While WebKitGTK can use
131+injected filter lists, this approach is not available with CEF.
132+
133+For consistent ad and tracker blocking across applications and devices, use network-level DNS filtering such as
134+[AdGuard](https://adguard.com/) or [Pi-hole](https://pi-hole.net/). DNS filtering is more reliable than treating ad blocking as a browser extension, and it protects every device that uses your network.
135+
128136 ## Browser engine
129137
130-Dumber uses Chromium Embedded Framework by default. WebKitGTK is available as a fallback backend.
138+Dumber uses Chromium Embedded Framework by default. WebKitGTK is available as a second option but I don't use it daily so it is more prone to bugs.
131139
132140 On Arch Linux, install the CEF runtime with:
133141
@@ -164,17 +172,7 @@ WebKit can be selected explicitly:
164172 type = "webkit"
165173 ```
166174
167-### Page scroll execution
168-
169-Page Mode scroll commands are routed through `port.PageScrollable`. CEF and
170-WebKit use the shared `BuildScrollByJS` target resolver when the page is ready:
171-it starts under the viewport center, walks through ancestors that can move in
172-the requested direction, and hands scrolling to the document when a nested
173-container reaches its boundary. The application repeater owns held-key cadence;
174-each engine executes one immediate scroll step per tick. Cross-origin frame
175-contents remain best-effort.
176-
177-### Rendering notes
175+### Rendering
178176
179177 CEF uses Dumber's GPU-first Wayland render stack by default: GDK DMABUF presentation with ANGLE/GSK Vulkan. For driver compatibility, switch to the EGL/OpenGL stack with `engine.cef.render_stack = "egl"`; the default is `"vulkan"`.
180178
@@ -125,9 +125,17 @@ enabled = true
125 125
126 The config reloads while Dumber is running. See the [configuration documentation](https://bnema.dev/dumber/docs) for all options.126 The config reloads while Dumber is running. See the [configuration documentation](https://bnema.dev/dumber/docs) for all options.
127 127
128+## Extensions and ad blocking
129+
130+CEF does not expose the Extensions API, so browser extensions are not supported. While WebKitGTK can use
131+injected filter lists, this approach is not available with CEF.
132+
133+For consistent ad and tracker blocking across applications and devices, use network-level DNS filtering such as
134+[AdGuard](https://adguard.com/) or [Pi-hole](https://pi-hole.net/). DNS filtering is more reliable than treating ad blocking as a browser extension, and it protects every device that uses your network.
135+
128 ## Browser engine136 ## Browser engine
129 137
130-Dumber uses Chromium Embedded Framework by default. WebKitGTK is available as a fallback backend.138+Dumber uses Chromium Embedded Framework by default. WebKitGTK is available as a second option but I don't use it daily so it is more prone to bugs.
131 139
132 On Arch Linux, install the CEF runtime with:140 On Arch Linux, install the CEF runtime with:
133 141
@@ -164,17 +172,7 @@ WebKit can be selected explicitly:
164 type = "webkit"172 type = "webkit"
165 ```173 ```
166 174
167-### Page scroll execution175+### Rendering
168-
169-Page Mode scroll commands are routed through `port.PageScrollable`. CEF and
170-WebKit use the shared `BuildScrollByJS` target resolver when the page is ready:
171-it starts under the viewport center, walks through ancestors that can move in
172-the requested direction, and hands scrolling to the document when a nested
173-container reaches its boundary. The application repeater owns held-key cadence;
174-each engine executes one immediate scroll step per tick. Cross-origin frame
175-contents remain best-effort.
176-
177-### Rendering notes
178 176
179 CEF uses Dumber's GPU-first Wayland render stack by default: GDK DMABUF presentation with ANGLE/GSK Vulkan. For driver compatibility, switch to the EGL/OpenGL stack with `engine.cef.render_stack = "egl"`; the default is `"vulkan"`.177 CEF uses Dumber's GPU-first Wayland render stack by default: GDK DMABUF presentation with ANGLE/GSK Vulkan. For driver compatibility, switch to the EGL/OpenGL stack with `engine.cef.render_stack = "egl"`; the default is `"vulkan"`.
180 178

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close