rename: att -> att_browser
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
# att
|
||||
# att_browser
|
||||
|
||||
A small, keyboard-driven QtWebEngine browser in the spirit of qutebrowser.
|
||||
|
||||
One page per window, a qutebrowser-style status line and `:` command line, `f`
|
||||
link hints and adblocking. There is deliberately no tab bar: where qutebrowser
|
||||
opens or closes a tab, att opens or closes a window, and your window manager
|
||||
opens or closes a tab, att_browser opens or closes a window, and your window manager
|
||||
does the tabbing. No config file yet.
|
||||
|
||||
## Running
|
||||
@@ -20,7 +20,7 @@ nix run . -- news.ycombinator.com
|
||||
nix develop
|
||||
cmake -B build -G Ninja
|
||||
cmake --build build
|
||||
./build/att
|
||||
./build/att_browser
|
||||
```
|
||||
|
||||
The dev shell exports `QT_PLUGIN_PATH`, `QML2_IMPORT_PATH` and
|
||||
@@ -45,7 +45,7 @@ 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.
|
||||
|
||||
> Note: unlike qutebrowser, att does not yet auto-switch to insert mode when you
|
||||
> 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*.
|
||||
|
||||
@@ -62,7 +62,8 @@ is hidden while a page is fullscreen.
|
||||
| `gi` | focus the first text field, insert mode |
|
||||
| `f` | hint mode: follow a link by its label |
|
||||
| `Escape` | back to normal mode |
|
||||
| `h` `j` `k` `l`| scroll |
|
||||
| `j` `k` | scroll down / up 25 CSS px (`scroll-px 0 ±25`) |
|
||||
| `h` `l` | scroll left / right |
|
||||
| `Ctrl-d/u` | scroll half a page |
|
||||
| `Ctrl-f/b` | scroll a full page |
|
||||
| `gg` / `G` | jump to top / bottom |
|
||||
@@ -94,17 +95,20 @@ shadow DOM yet.
|
||||
|
||||
## Browsing data
|
||||
|
||||
Browsing history is kept in `~/.local/share/att/att/history.sqlite` (tables
|
||||
Browsing history is kept in `~/.local/share/att_browser/history.sqlite` (tables
|
||||
`visits`, one row per page load, and `urls`, one row per URL for completion).
|
||||
A page is recorded once it finishes loading, so redirect hops and in-page
|
||||
`#anchor` jumps don't create entries. `:history-clear` empties it.
|
||||
|
||||
Cookies, local storage and Chromium's own state are kept in a persistent QtWebEngine profile
|
||||
under `~/.local/share/att/att/QtWebEngine/default` (the cache is in
|
||||
`~/.cache/att/att/`). Session cookies are saved too, like qutebrowser's
|
||||
under `~/.local/share/att_browser/QtWebEngine/default` (the cache is in
|
||||
`~/.cache/att_browser/`). Session cookies are saved too, like qutebrowser's
|
||||
`content.cookies.store`, so you stay logged in across restarts. Delete that
|
||||
directory to start fresh.
|
||||
|
||||
Before the rename to att_browser, this data lived in `~/.local/share/att/att` and
|
||||
`~/.cache/att/att`. The first start moves it to the new locations.
|
||||
|
||||
## Adblocking
|
||||
|
||||
Network requests are checked against EasyList and EasyPrivacy with Brave's
|
||||
@@ -114,15 +118,15 @@ no cosmetic filtering (element hiding), so ads served from the site's own URLs
|
||||
still get through.
|
||||
|
||||
The lists are downloaded on first start and compiled into
|
||||
`~/.local/share/att/att/adblock-cache.dat`, which later starts just load.
|
||||
`~/.local/share/att_browser/adblock-cache.dat`, which later starts just load.
|
||||
`:adblock-update` re-downloads them. `:adblock-toggle` switches blocking off and
|
||||
on, for when a site breaks.
|
||||
|
||||
## Greasemonkey
|
||||
|
||||
Userscripts go in `~/.local/share/att/att/greasemonkey/` as `*.js` files. They
|
||||
Userscripts go in `~/.local/share/att_browser/greasemonkey/` as `*.js` files. They
|
||||
are loaded at startup; after changing them, run `:greasemonkey-reload` and reload
|
||||
the page. Like qutebrowser, att:
|
||||
the page. Like qutebrowser, att_browser:
|
||||
|
||||
- runs scripts in the page's own JavaScript context (so `unsafeWindow` is just
|
||||
`window`), in iframes too unless `@noframes` is set;
|
||||
@@ -144,7 +148,7 @@ supported. `GM_openInTab` does nothing until new-window requests are handled.
|
||||
|
||||
## Security
|
||||
|
||||
On top of Chromium's own protections, att:
|
||||
On top of Chromium's own protections, att_browser:
|
||||
|
||||
- blocks third-party cookies, which stops most cross-site tracking. A few embedded
|
||||
logins (e.g. some comment widgets) may stop working.
|
||||
@@ -186,13 +190,13 @@ and platform.
|
||||
|
||||
Chrome and Edge claim the engine's real Chromium major version (as qutebrowser
|
||||
does), so sites don't use features the engine lacks. The Firefox and Safari
|
||||
versions are pinned in `src/useragent.cpp`. Those presets only change what att
|
||||
versions are pinned in `src/useragent.cpp`. Those presets only change what att_browser
|
||||
says, not how it behaves: Chromium's low-entropy client hints still name
|
||||
Chromium, and feature detection still sees Chromium.
|
||||
|
||||
## Settings
|
||||
|
||||
att has no config file yet. The settings live in `src/config.h`, named after
|
||||
att_browser has no config file yet. The settings live in `src/config.h`, named after
|
||||
their qutebrowser equivalents; change them there and rebuild:
|
||||
|
||||
| Setting | Default | Meaning |
|
||||
@@ -201,7 +205,8 @@ their qutebrowser equivalents; change them there and rebuild:
|
||||
| `zoom.levels` | 25%, 33%, 50%, … 125%, 150%, … 500% | the steps `+` / `-` move through |
|
||||
| `content.cookies.accept` | no third-party | `kBlockThirdPartyCookies` |
|
||||
| `content.pdfjs` | on | `kPdfViewer`: Chromium's PDF viewer |
|
||||
| `content.headers.user_agent` | `chrome-linux` | `kUserAgent`: the preset att starts with |
|
||||
| `j` / `k` step (`scroll-px`) | 25 CSS px | `kScrollStepPx`; grows with the zoom |
|
||||
| `content.headers.user_agent` | `chrome-linux` | `kUserAgent`: the preset att_browser starts with |
|
||||
|
||||
## Commands
|
||||
|
||||
|
||||
Reference in New Issue
Block a user