brotab: Control your browser's tabs from the command line

4 months ago 2

Control your browser's tabs from the terminal.

No command has been specified usage: bt [-h] {move,list,close,activate,search,open,words,text,html,dup,windows,clients} ... bt (brotab = Browser Tabs) is a command-line tool that helps you manage browser tabs. It can help you list, close, reorder, open and activate your tabs. positional arguments: {move,list,close,activate,active,search,index,open,words,text,html,dup,windows,clients,install} move move tabs around. This command lists available tabs and runs the editor. In the editor you can 1) reorder tabs -- tabs will be moved in the browser 2) delete tabs -- tabs will be closed 3) change window ID of the tabs -- tabs will be moved to specified windows list list available tabs. The command will request all available clients (browser plugins, mediators), and will display browser tabs in the following format: "<prefix>.<window_id>.<tab_id><Tab>Page title<Tab>URL" close close specified tab IDs. Tab IDs should be in the following format: "<prefix>.<window_id>.<tab_id>". You can use "list" command to obtain tab IDs (first column) activate activate given tab ID. Tab ID should be in the following format: "<prefix>.<window_id>.<tab_id>" active display active tabs for each client/window in the following format: "<prefix>.<window_id>.<tab_id>" search Search across your indexed tabs using sqlite fts5 plugin. query Filter tabs using chrome.tabs api. index Index the text from browser's tabs. Text is put into sqlite fts5 table. open open URLs from the stdin (one URL per line). One positional argument is required: <prefix>.<window_id> OR <client>. If window_id is not specified, URL will be opened in the active window of the specifed client navigate navigate to URLs. There are two ways to specify tab ids and URLs: 1. stdin: lines with pairs of "tab_id<tab>url" 2. arguments: bt navigate <tab_id> "<url>", e.g. bt navigate b.20.1 "https://google.com" stdin has the priority. update Update tabs state, e.g. URL. There are two ways to specify updates: 1. stdin, pass JSON of the form: [{"tab_id": "b.20.130", "properties": {"url": "http://www.google.com"}}] Where "properties" can be anything defined here: https://developer.mozilla.org/en-US/docs/Mozilla/Add- ons/WebExtensions/API/tabs/update Example: echo '[{"tab_id":"a.2118.2156", "properties":{"url":"https://google.com"}}]' | bt update 2. arguments, e.g.: bt update -tabId b.1.862 -url="http://www.google.com" +muted words show sorted unique words from all active tabs of all clients. This is a helper for webcomplete deoplete plugin that helps complete words from the browser text show text from all tabs html show html from all tabs dup display reminder on how to close duplicate tabs using command-line tools windows display available prefixes and window IDs, along with the number of tabs in every window clients display available browser clients (mediators), their prefixes and address (host:port), native app PIDs, and browser names install configure browser settings to use bt mediator (native messaging app) optional arguments: -h, --help show this help message and exit --target TARGET_HOSTS Target hosts IP:Port
$ pipx install brotab # preferred method, if pipx not installed: $ sudo apt install pipx $ uv tool install brotab # alternative $ pip install --user brotab # alternative $ sudo pip install brotab # alternative
Read Entire Article