Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cprussin/minichrome
A minimal web browser built for tiling window managers
https://github.com/cprussin/minichrome
Last synced: about 2 months ago
JSON representation
A minimal web browser built for tiling window managers
- Host: GitHub
- URL: https://github.com/cprussin/minichrome
- Owner: cprussin
- Created: 2018-08-29T21:45:48.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-17T18:43:24.000Z (almost 6 years ago)
- Last Synced: 2023-08-30T14:48:15.367Z (over 1 year ago)
- Language: PureScript
- Size: 412 KB
- Stars: 29
- Watchers: 3
- Forks: 1
- Open Issues: 14
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Minichrome
Minichrome is a minimalistic web browser, built especially with tiling window
managers in mind. It explicitly does not have a tabbed UI and avoids most UI
chrome in favor of keyboard shortcuts.![screenshot](./screenshot.png)
## Why Minichrome?
I used to be an avid user of browsers like [surf](https://surf.suckless.org/)
and [uzbl](https://www.uzbl.org/). However, these browsers are built on top of
webkit, and have fallen behind modern Chrome in a few ways, most especially the
developer tooling.Minichrome is built on [Electron](https://electronjs.org), and thus tracks
fairly close to the latest Blink rendering engine, and always has up-to-date
Chrome dev tools.In order to stay as light as possible on resources, Minichrome is built as a
client-server architecture. The server exposes an HTTP interface and owns all
browser windows, and the client provides a simple CLI wrapper over the HTTP
calls to create and manipulate windows. This means you'll only have one
instance of Electron running for all your Minichrome windows, rather than one
instance of Electron per window. It also means you can script pretty much
anything around Minichrome by using the client interface, and could even build
software that remotely interfaces with minichrome via the HTTP interface.Note that individual frames render in their own process, so you still will have
process isolation between websites.## Installing
There is an AUR package for arch linux users, available
[here](https://aur.archlinux.org/packages/minichrome/)._We welcome contributions--please help us by contributing packaging
files for other distributions!_For other users, you can download and install from the latest [release
tarball](https://github.com/cprussin/minichrome/releases).You can also build from source:
```bash
cd
yarn package
```Minichrome assets will be built to the `build/minichrome-{platform}` directory.
## CLI
To run the server, simply run
```sh
minichrome
```To open a new window, when a minichrome server is running, run:
```sh
minichrome browse "http://xkcd.com"
```You can run `minichrome help` for help on how you can send commands to windows.
## Keybindings
Minichrome uses vim-style keybindings:
- h - scroll left
- l - scroll right
- j - scroll down
- k - scroll up
- C-u - big scroll up
- C-d - big scroll down
- G - scroll to the bottom of the page
- g g - scroll to the top of the page
- C-+ - zoom in
- C-- - zoom out
- C-0 - reset zoom
- C-o - go back
- C-i - go forward
- C-r - refresh page
- C-R - hard refresh page (refresh ignoring cache)
- y y - yank the current URL into the clipboard
- Escape - leave insert mode or clear the current search
- : - enter ex mode
- / - start a search
- n - go to the next search result
- N - go to the previous search result
- i - select the first insertable element and switch to insert mode## Configuring
Coming soon!
## Status
This project is undergoing heavy development, and we welcome contributions!
Especially helpful are:- Bug reports / bugfix PRs
- Feature requests / feature PRs
- Packaging implementations for other platforms