https://github.com/chase/awrit
A full graphical web browser for Kitty terminal with mouse and keyboard support
https://github.com/chase/awrit
Last synced: 5 months ago
JSON representation
A full graphical web browser for Kitty terminal with mouse and keyboard support
- Host: GitHub
- URL: https://github.com/chase/awrit
- Owner: chase
- License: bsd-3-clause
- Created: 2023-05-06T15:51:19.000Z (almost 3 years ago)
- Default Branch: electron
- Last Pushed: 2025-05-12T21:04:31.000Z (10 months ago)
- Last Synced: 2025-05-15T07:03:16.222Z (10 months ago)
- Language: Rust
- Homepage:
- Size: 941 KB
- Stars: 993
- Watchers: 16
- Forks: 31
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- stars - chase/awrit - A full graphical web browser for Kitty terminal with mouse and keyboard support (Rust)
- awesome-starred - chase/awrit - A full graphical web browser for Kitty terminal with mouse and keyboard support (Rust)
README
# Actual Web Rendering in Terminal
Or just `awrit`.
[awrit-demo.webm](https://github.com/user-attachments/assets/5da3fffc-d781-4b00-9fe3-19ce18d01a7e)
Yep, actual Chromium being rendered in your favorite terminal that supports the [Kitty terminal graphics protocol](https://sw.kovidgoyal.net/kitty/graphics-protocol/).
**`awrit` works best in [Kitty v0.31 or newer](https://github.com/kovidgoyal/kitty/releases)**
## Why?
- Display documentation from [DevDocs](https://devdocs.io)
- Watch the changes from [Vite](https://vitejs.dev) come to life
- Tiled layout without a tiling window manager using [Kitty's layouts](https://sw.kovidgoyal.net/kitty/layouts/)
- Add fancy UI using web technologies, so NeoVim can pretend it is Emacs instead of the other way around
## Install
``` bash
curl -fsS https://chase.github.io/awrit/get | bash
```
By default, this will download to `~/awrit` and link to `~/.local/bin/awrit`.
You can configure `awrit` by changing `~/awrit/config.js`. See [Configuration](#configuration) for more information.
#### (Optional) Change Download Location or Install Prefix
``` bash
curl -fsS https://chase.github.io/awrit/get | DOWNLOAD_TO=~/somewhere-completely-different bash
```
``` bash
curl -fsS https://chase.github.io/awrit/get | INSTALL_TO=~/.not-local bash
```
## Usage
```bash
awrit [url]
# if url is not provided, it will go to the awrit homepage (this is temporary, promise)
# the URL protocol can be http:, https:, or data:
# if the URL protocol is not included, https: is used by default
```
For more options look at the help:
```bash
awrit --help
```
## Configuration
`awrit` can be configured through `config.js` in the project root. Changes to it will update the config in any running `awrit`.
Currently it only supports custom keybindings and changing the homepage that displays when no URL is provided.
For more details on keybinding syntax and available actions, see the comments in `config.js`.
## Contributing
See [Contributing to Awrit](/CONTRIBUTING.md#contributing-to-awrit).
## Development
Assuming you already have `git` installed, your installation of `awrit` will already be a Git repository.
You can update `awrit` to use your fork by changing the origin:
``` bash
# note: you'll have to change the username some-kind-contributor to your GitHub username
git remote set-url origin git@github.com:some-kind-contributor/awrit.git
# also track the upstream electron branch
git remote add upstream -f -t electron git@github.com:chase/awrit.git
```
You can make a branch (ex: my-feature-branch) off the latest changes by doing:
```
git fetch upstream electron
git checkout upstream/electron
git switch -c 'my-feature-branch'
```
Read [Your First Code Contribution](/CONTRIBUTING.md#your-first-code-contribution) for more information on making a PR.