@atomashevic/cliweb
v2.0.5
Published
A full graphical web browser for Kitty-compatible terminals
Downloads
40
Maintainers
Readme
CLI Web Browser
Or just cliweb.
Actual Chromium being rendered in your favorite terminal that supports the Kitty terminal graphics protocol.
cliweb works best in Kitty v0.31 or newer
Why?
- Display documentation from DevDocs
- Watch the changes from Vite come to life
- Tiled layout without a tiling window manager using Kitty's layouts
- Add fancy UI using web technologies, so NeoVim can pretend it is Emacs instead of the other way around
Installation
Install the published command globally with npm:
npm install --global @atomashevic/cliwebThe npm package contains prebuilt application and toolbar assets. It does not build the TypeScript application on first launch.
See npm packaging for the package layout and release workflow.
Usage
cliweb [url]
# if url is not provided, it will go to the cliweb 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 defaultFor more options look at the help:
cliweb --helptmux
cliweb can render in a local tmux pane when passthrough is enabled:
set -g allow-passthrough ontmux 3.3 or newer is required for configurable passthrough, and tmux 3.6 or newer is recommended
for reliable pane pixel dimensions. The tmux server and terminal emulator must run on the same
machine because cliweb transfers frames through POSIX shared memory; tmux over SSH is not yet
supported.
Configuration
cliweb can be configured through $XDG_CONFIG_HOME/cliweb/config.js, or
~/.config/cliweb/config.js when XDG_CONFIG_HOME is not set. The default
configuration is copied there on first launch. Changes update any running
cliweb process.
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
Development
Clone the repository and run the local setup script:
git clone https://github.com/atomashevic/cliweb.git
cd cliweb
./setup.shYou can update your checkout to use another fork by changing the origin:
# note: you'll have to change the username some-kind-contributor to your GitHub username
git remote set-url origin [email protected]:some-kind-contributor/cliweb.git
# also track the upstream electron branch
git remote add upstream -f -t electron [email protected]:atomashevic/cliweb.gitYou 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 for more information on making a PR.
