aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 9dc0952a6149f1282620c946ef86eab8dc3235d7 (plain) (blame)
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
![null-browser](./media/banner.png)

# null-browser [WIP]
A simple, fast web browser built using [qtwebengine (chromium)](https://wiki.qt.io/QtWebEngine), that is configured and extended using lua.

## What does it do?
This web browser is just a stack of web views that can be controlled using lua. Don't expect a full featured web browser, expect the **opposite**.

## What does it not do? How can I do it?
- **No url bar**
  - use dmenu, rofi, fzf in a terminal, etc. for url input
- **No tab ui**
  - use dmenu, rofi, etc. to show a list of tabs on key
  - use tabbed (x11) with multiple windows 
  - use window manager with multiple windows
- **No persistant history**
  - save it in a file on UrlChanged event and show as completion for your url input
  - same as above but in a sqlite db instead
- **No splits**
  - use a window manager
- **No tab ui**
  - use a window manager
  - use [tabbed (X11)](https://tools.suckless.org/tabbed/)
- **No buttons**
  - define key bindings
- **No built-in ad blocker**
  - filter host-names
- **No settings page**
  - write some lua
- **No incognito/private window**
  - create a window with a custom user data directory and delete it when window is closed
- **No chromium/web extensions**
  - inject javascript into pages from your lua config
- **No built-in cryptocurrency**
  - add it if you want it
- **No built-in AI**
  - add it if you want it

Any feature you want, you implement yourself. Either from scratch or build on top of a built-in module.

## Who is it for?
I built this for myself and people like me who enjoy tinkering with their tools.
Out of the box, it is almost unusable... by design.

## Install
### Nix flake
- Add this repo to nixos flake config: `inputs.null-browser.url = "github:phenax/null-browser";`
- Or build it in a directory: `nix build github:phenax/null-browser`
- Or run it without installing: `nix run github:phenax/null-browser`
- Or add to profile: `nix profile install github:phenax/null-browser`

### Others
- Clone
- Run `make build` to build it
- `sudo make install PREFIX=/usr/local` to install it

## Configuring
WIP