https://github.com/kumabook/bebop
Groovy WebExtension that offers command line interface like emacs helm for browsing.
https://github.com/kumabook/bebop
chrome-extension firefox-addon javascript webextension
Last synced: 8 days ago
JSON representation
Groovy WebExtension that offers command line interface like emacs helm for browsing.
- Host: GitHub
- URL: https://github.com/kumabook/bebop
- Owner: kumabook
- License: mit
- Created: 2016-04-30T13:35:57.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T17:26:01.000Z (over 2 years ago)
- Last Synced: 2024-11-09T21:36:47.374Z (6 months ago)
- Topics: chrome-extension, firefox-addon, javascript, webextension
- Language: JavaScript
- Homepage: https://addons.mozilla.org/ja/firefox/addon/bebop/
- Size: 3.36 MB
- Stars: 49
- Watchers: 4
- Forks: 3
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
bebop
=====[](https://travis-ci.org/kumabook/bebop)
[](https://greenkeeper.io/)
[](https://coveralls.io/github/kumabook/bebop?branch=master)
[](https://codeclimate.com/github/kumabook/bebop/maintainability)
bebop is a WebExtensions that makes your browsing groovy.
bebop is available on [Firefox Add-ons][] and [Chrome web store][]
Enjoy and swing your browsing!
About
-----bebop is a WebExtensions that offers command line interface like
[emacs helm](https://github.com/emacs-helm/helm) for browsing.- bebop retrieves candidates from various sources such as `tabs`, `history`, `bookmark`, etc.
- you can narrows down them with a pattern.
- bebop provides actions on candidates such as `open url`, `activate tab`, `remove bookmark`, etc.
- you can choose a candidate and execute an action on it.
- you can also marks multiple candidates to execute chosen action on this set of candidates.
- ex: close multiple tabs at once.
Usage
-----### 1. Show popup
`Click icon on toolbar` or `Ctrl+Comma` ... show popup that has command input
On Vivaldi, `_execute_browser_action` keyboard shortcut doesn't work.
So, bebop offers two alternatives to it.| command name | description |
|:---------------------|:-------------------------------- |
| toggle_popup_window | show popup as a window |
| toggle_content_popup | show popup in a content document |To use these alternatives, you need to set shortcut key.
See [Customize shortcut](#change-shortcut-key).NOTE: `toggle_content_popup` doesn't work completely.
ex:
- it doesn't work in some pages
- it can't focus automatically from browser ui.### 2. Narrow down candidates
Input a query to narrow down the candidates.
NOTE: On Windows, you need to press a tab-key to focus to a query input
| type | shorthand | description |
|:------------|:---------:|:------------------------------- |
| search | | open new tab with google search |
| link | l | click a link in current page |
| tab | t | active selected tab |
| history | h | open a history |
| bookmark | b | open a bookmark |
| session | s | restore a session |
| command | c | execute a command |- `:type` narrows down to the candidates whose type is the specified type
- `x (shorthand letter)` also narrows down to the candidates whose shorthand is the specified type
- ex.
- `阿部寛` narrows down to the all candidates searched with `阿部寛`
- `:link` or `l` narrow down to link candidates
- `:link 阿部寛` or `l 阿部寛` narrow down to link candidates searched with `阿部寛`You can use these key-bindings in command input:
| key-binding | command |
|:------------|:-------------------- |
| C-f | forward-char |
| C-b | backward-char |
| C-a | beginning-of-line |
| C-e | end-of-line |
| C-h | delete-backward-char |
| C-k | kill-line |
| C-g | quit |### 3. Select the candidates
You can change the selected candidate with shortcut keys:
| key-binding | command |
|:---------------|:-------------------- |
| tab | next-candidate |
| S-tab | previous-candidate |
| C-n (only mac) | next-candidate |
| C-p | previous-candidate |
| C-j (opt-in) | next-candidate |
| C-k (opt-in) | previous-candidate |
| C-SPC | mark-candidate |`C-j`, `C-k` are opt-in key-bindings. You can enable them from options page.
You can mark multiple candidates with `C-SPC`.
Some action can handle multiple candidates.
For example, `close-tab` command closes multiple tabs.### 4. Execute action
A candidate can be executed by various actions.
You can execute default action by pressing `return` or click a candidate.
You can also execute another action by these shortcuts.| key-binding | action |
|:------------|:------------------------ |
| return | runs the first action |
| S-return | runs the second action |
| C-i | lists available actions |You can change shortcut key from `Ctrl+Comma`.
See [Customize shortcut](#change-shortcut-key)Customize
---------### Options page
- `open-options` command opens options page
- Firefox: `Add-ons` -> `Extensions` -> `Preferences` of `bebop`
- Chrome: `Window` -> `Extensions` -> `Options` of `bebop`### Change shortcut key
#### Chromium based browser: Extensions page
1. Open `chrome://extensions/`
2. Click `Keyboard shortcuts` at thxe bottom of the page
3. Set `Activate the extension` as your favorite shortcut key
- Vivaldi user should use `toggle_popup_window` and change `In vivaldi` to `Global`.#### Firefox: Change shortcut key with your own private addon
You can change the shourcut key if you build and upload the addon as your own private addon.
1. Clone this repository
```sh
git clone https://github.com/kumabook/bebop.git```
2. Edit manifest.json:
- Edit `commands._execute_browser_action.suggested_key` with your favorite shortcut key.
- Edit `applications.gecko.id` with your id3. Signup [developer hub](https://addons.mozilla.org/en-US/developers/addon/)
4. Get api key and api secret and set them to environment variables:```
export NODE_ENV=production
export API_KEY=user:00000000:000
export API_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```5. Build and upload package as your private addon:
```
npm run sign
```[Firefox Add-ons]: https://addons.mozilla.org/ja/firefox/addon/bebop/
[Chrome web store]: https://chrome.google.com/webstore/detail/bebop/idiejicnogeolaeacihfjleoakggbdidSupported browsers
------------------- Firefox
- Chrome
- Vivaldi
- (Opera)