make bar look like the one from qutebrowser

This commit is contained in:
2026-10-17 13:53:01 +02:00
parent 483b3f87ba
commit e202725e07
13 changed files with 354 additions and 96 deletions
+17 -2
View File
@@ -45,6 +45,17 @@ Like qutebrowser, keys mean different things depending on the mode:
leaves fullscreen when a page (e.g. a YouTube video) is fullscreen. The status bar
is hidden while a page is fullscreen.
### Status bar
Laid out and coloured like qutebrowser's defaults: black, turning dark green in
insert mode. On the left is the mode (`-- INSERT MODE --`, `-- HINT MODE --`),
on the right the keys typed so far (e.g. `g`), the URL, the scroll position
(`[top]`, `[42%]`, `[bot]`) and, while a page loads, a progress bar. The URL is
white while loading and for plain `http://`, green once an HTTPS page has
loaded, orange if the load failed, and aqua while it shows a link under the
mouse. Messages stack above the bar (info on black, errors on red) and vanish
after three seconds. All of it uses the `fonts` setting (14pt monospace).
> Note: unlike qutebrowser, att_browser does not yet auto-switch to insert mode when you
> click into a text field on a page — press `i` first. Doing it automatically
> needs a JS focus-tracking script over QWebChannel; see *Next steps*.
@@ -158,7 +169,8 @@ On top of Chromium's own protections, att_browser:
- keeps WebRTC from revealing your LAN address, and doesn't let scripts open
pop-up windows.
- pins the safe defaults for mixed content, clipboard access and plugins.
- shows plain `http://` URLs in orange in the status bar.
- shows the URL in green in the status bar only once an HTTPS page has loaded;
plain `http://` stays white, as in qutebrowser.
- only accepts Greasemonkey `@require` files over HTTPS. A `@require` URL may pin
its content as in Tampermonkey (`…#sha256=<hex or base64>` or `…#sha256-<base64>`),
and the script is skipped if the file doesn't match.
@@ -206,6 +218,8 @@ their qutebrowser equivalents; change them there and rebuild:
| `content.cookies.accept` | no third-party | `kBlockThirdPartyCookies` |
| `content.pdfjs` | on | `kPdfViewer`: Chromium's PDF viewer |
| `j` / `k` step (`scroll-px`) | 25 CSS px | `kScrollStepPx`; grows with the zoom |
| `fonts.*` | 14pt monospace | `kFont`: bar, completion, messages, hints, context menu |
| `messages.timeout` | 3000 ms | `kMessageTimeoutMs` |
| `content.headers.user_agent` | `chrome-linux` | `kUserAgent`: the preset att_browser starts with |
## Commands
@@ -233,7 +247,8 @@ an existing local path, or free text, which goes to DuckDuckGo.
| `src/hardening` | profile security settings, sandbox check |
| `src/history` | SQLite browsing history |
| `src/completionview`| the `:open` / `:useragent` completion list |
| `src/statusbar` | mode / URL / progress line |
| `src/statusbar` | mode / keys / URL / scroll / progress line |
| `src/messageview` | the message stack above the status bar |
| `src/adblock` | request interceptor around the adblock engine |
| `adblock/` | Rust crate: C API over adblock-rust, built by Corrosion |
| `src/hints` | the injected hint-mode script |