Bmxtdemo
✨ AI-Powered View on Chrome Web StoreChrome will indicate if you already have this installed.
Overview
BMXt is a UI demonstration for keyboard-centric browser operation on Chrome.
It exists because the author is not satisfied with today’s out-of-the-box browser experience.
It has a terminal-style prompt and log, but rather than being a classic terminal emulator alone, it is designed as a broad command surface for steering the whole browser—so you can keep your hands on the keyboard in a relaxed posture and cut down on how often you reach for tabs and windows.
Command output and typed command history are handled primarily in memory for the UI; only capped fields are persisted in chrome.storage.local. The extension page and service worker are not designed to call fetch() against arbitrary third-party HTTPS URLs (the packaged manifest’s CSP, including connect-src, reinforces this). Optional http(s) site access is requested at runtime only when you run commands that inject scripts into web pages.
◆About the name — a play on Browser Manipulator X Terminal:
- X
- UX improvement
- A hope that many different people can use it in crossover ways
- Exponential growth and open-ended possibility through combining commands
- t
- The first letter of Terminal
- The idea of an extension layered onto your browser, carried in the letter t
The road has only just begun, but the author values your voices—so they decided to publish on the Chrome Web Store.
They believe the keyboard in front of you can take you “anywhere,” and will keep stacking features while building BMXt as a tool that stays human-centered.
◆Feedback
- Feedback and wishes from using the extension
https://github.com/UNRsports/bmxt/issues
https://x.com/ny0n150226
◆Disclaimer
BMXt is an experimental / trial implementation. UNRsports (the developer) is not liable for any incidents, loss, or damage arising from your use of the extension. You use BMXt at your own discretion and risk.
◆Version history
0.4.6:
- Fixed an issue where new tab groups could not be created in tabs mode
0.4.5:
- Cleaned up npm dependencies
- Renamed find to search (mode) with enhancements — subdivide results and jump directly to each element
- Tab picker: expand/collapse window and tab group tree rows
- Added tabs -setting -page-active (--auto / --manual) to toggle automatic tab activation on highlight
0.4.1:
- Miscellaneous internal fixes
- Fixed a bug affecting text input in nav mode
- Removed the translation side picker; translate assist is now prompt preview and nav typing only
0.4.0:
- Fixed bugs in nav mode behavior
- Added translation assist (`translate -on` / `translate -off`)
- Adjusted Tab completion menu behavior
- Fixed welcome page open behavior
0.3.8:
- Show a welcome page on install and when the extension version is upgraded
- Fixed tabs mode filtering so keyboard focus no longer jumps to the list unexpectedly
- Revised mouse interaction: text in the prompt and log can be selected while keeping keyboard-first operation as the default
- Improved in-browser cross-search (`search`)
- Improved Tab completion menu behavior
0.3.5:
- Removed Rust to reduce package size
- Added the `:edit` subcommand in tabs mode for editing tab groups and window names
- Implemented IME-style input assistance while typing commands
- Moved list pickers for all commands to side columns beside the terminal and revised picker interaction (`Esc` returns to the prompt; close a column with `<cmd> -exit -list`)
- DOM list picker: focus rows with ↑/↓ and scroll the target page to the matching element
- Added nav mode: virtual cursor overlay on the active tab (`nav -enter`; Alt toggles ON/OFF; arrows move; Enter click/type; Ctrl context menu for text selection, image save, and reload)
0.2.1:
- Added the `dom` command so you can inspect the page source.
- Added the `search` command to search across internal data such as history, bookmarks, and open tabs.
0.1.1:
- Added the split command; add panes with split and remove them with exit (closes the window when the last pane exits)
- With multiple panes from split, Ctrl+Arrow moves focus between panes
- Clarified command behavior rules
- Added an assist menu while typing commands (type "tabs" and press Enter to try it)
- In tabs mode, "/" search: type a phrase and press Enter to highlight matches; press n to jump between them
0.0.9:
- Tab name search and highlight reset in tabs mode now follow Vim-style behavior (clear highlighted matches with :nohlsearch)
- Improved how release notes are specified and shown
◆Commands
| Command | Description |
|----------|------|
| `help` / `?` | Show help |
| `clear` | Clear logs |
| `exit` | Close the BMXt window and clear the session log |
| `split` | Show `-col` / `-row` options; Enter alone restores the prompt to `split ` (with a trailing space); `split -col` adds a pane beside the current one; `split -row` adds a pane below; with multiple panes, Ctrl+Arrow moves focus between panes |
| `tabs` | Show available options, then restore the prompt to `tabs ` (with a trailing space) for continued input |
| `tabs -list [-u]` | Open the tab picker; supports search, multi-select marker `#`, and bulk modes; `/` searches tab titles, Enter highlights matches, `n` jumps between them |
| `tabs -moveurl <url>` | Focus a tab with the given URL or open a new tab (http/https) |
| `tabs -nowurl` | Show the current tab’s URL |
| `tabs -setting -page-active --auto \| --manual` | Tab picker: toggle whether moving the highlight auto-activates the tab (`--auto` default; `--manual` uses Alt+↑↓); saved setting |
| `dom` | Print available options; Enter alone restores the prompt to `dom ` (trailing space) for the next token |
| `dom -list [--html|--react] [<pattern>]` | Open a read-only DOM picker for the active tab (same picker chrome as `search -list`); flavor `--html` (default) or `--react`; optional `<pattern>` filters rendered lines with a case-insensitive substring (not a regex). ↑/↓ focus scrolls the target tab to the highlighted element. Scriptable http(s) pages only; may prompt for optional site access |
| `nav` | Print usage; Enter alone restores the prompt to `nav ` (trailing space) for `-enter` or `-exit` |
| `nav -enter` | Arm nav mode; **Alt** toggles the virtual cursor overlay on the target tab; arrows move; **Enter** click/type; **Ctrl** opens a context menu (text selection, save image, reload, history) |
| `nav -exit` | Fully disarm nav (turn the overlay **OFF** with **Alt** first) |
| `search` | Print available options; Enter alone restores the prompt to `search ` for `-list` |
| `search -list --history|--bookmark|--page [<pattern>]` | Open a search picker for one scope; scan progress appears inside the picker and hides when results arrive. **→** opens a detail list of hits per row; **Enter** on a detail row jumps to that match in the page (http(s)). Case-insensitive substring match (no regex in v1) |
| `search -exit -list` | Close the search list picker column (cancels an in-flight search if running) |
| `close` / `c <tabId>` | Close a tab |
| `group new <tabId> …` | Create a group |
| `notes` | Show release notes for the current extension version; `notes <version>` for a specific version (e.g. `0.1.1`); `notes --list` lists versions that have entries |
Tags
Privacy Practices
🔐 Security Analysis
This extension hasn't been security-scanned yet.