bebop
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 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.
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 typex (shorthand letter)
also narrows down to the candidates whose shorthand is the specified type
- ex.
阿部寛
narrows down to the all candidates searched with阿部寛
:link
orl
narrow down to link candidates:link 阿部寛
orl 阿部寛
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
Customize
Options page
open-options
command opens options page- Firefox:
Add-ons
->Extensions
->Preferences
ofbebop
- Chrome:
Window
->Extensions
->Options
ofbebop
Change shortcut key
Chromium based browser: Extensions page
- Open
chrome://extensions/
- Click
Keyboard shortcuts
at thxe bottom of the page - Set
Activate the extension
as your favorite shortcut key- Vivaldi user should use
toggle_popup_window
and changeIn vivaldi
toGlobal
.
- Vivaldi user should use
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.
- Clone this repository
git clone https://github.com/kumabook/bebop.git
- Edit manifest.json:
- Edit
commands._execute_browser_action.suggested_key
with your favorite shortcut key. - Edit
applications.gecko.id
with your id
- Signup developer hub
- 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
- Build and upload package as your private addon:
npm run sign
Supported browsers
- Firefox
- Chrome
- Vivaldi
- (Opera)