kbwarrior

Browse the web like a true keyboard warrior with simple hinting and a few vim-style browsing shortcuts.

What is kbwarrior?

kbwarrior is a Chrome extension developed by https://www.gregjs.com, and its main feature is "Browse the web like a true keyboard warrior with simple hinting and a few vim-style browsing shortcuts.".

Extension Screenshots

screenshot
screenshot
screenshot
screenshot

Download kbwarrior Extension CRX File

Download kbwarrior extension files in crx format, manually install Chrome extensions in the browser, or share the crx files with friends to easily install Chrome extensions.

Extension Usage Instructions

                        kbwarrior is a simple Chrome extension for people who like the idea of keyboard (or vim)-based web browsing, but for whom the existing extensions that provide such functionality either do too much or too little for their liking.

I aim to keep this simple, and am still not sure about the final feature set. For now though, this is what `kbwarrior` does:

Page navigation

* `j` to scroll down a line
* `k` to scroll up a line
* `h` to scroll left (if applicable)
* `l` to scroll right (if applicable)
* `u` to scroll up half a page
* `d` to scroll down half a page
* `g` to scroll all the way up
* `G` to scroll all the way down
* `backspace` to go back in history (thanks a lot to Google by the way for generously removing that for us!)
* `Shift+backspace` to go forward in history
* NO SMOOTH SCROLLING IT'S THE DEVIL

Keyboard tab navigation

* `n` to switch to the next tab
* `p` to switch to the previous tab
* `q` to close the current tab

Hinting

* `f` to bring up hints (keyboard shortcuts for all visible links on a page)
* all other `kbwarrior` shortcuts will be disabled for as long as hinting is on
* type a hint to navigate instantly to the hinted link
* hold shift to open in a new tab
* press `f` again to cancel and remove the hints

Inserting

* `i` to bring up insert hints (keyboard shortcuts for all visible text inputs and textareas)
* same as above but just for inserts

## Known issues

I've made sure none of these shortcuts will trigger when you're typing in an input field or anything, but there are some websites that provide their own keyboard shortcuts (GitHub and Twitter for example).

Those site-defined shortcuts will interfere with the ones provided by this extension. I wasn't sure how to deal with this, so I've elected to simply disable the extension on sites that make heavy use of such shortcuts. The current list where `kbwarrior` is disabled is:

* Facebook
* GitHub
* Reddit
* Twitter

I will probably update this list as I go along. Feel free to make a PR or open an issue if there are other sites this really doesn't work on.                    

Extension Basic Information

Name kbwarrior kbwarrior
ID apiogmmklkamhdnjjikooemepogmhjel
Official URL https://chromewebstore.google.com/detail/kbwarrior/apiogmmklkamhdnjjikooemepogmhjel
Description Browse the web like a true keyboard warrior with simple hinting and a few vim-style browsing shortcuts.
File Size 61.89 KB
Installation Count 14
Current Version 0.4.0
Last Updated 2016-10-10
Publish Date 2016-10-10
Rating 5.00/5 Total 3 Ratings
Developer https://www.gregjs.com
Email [email protected]
Payment Type free
Extension Website https://www.github.com/greg-js/kbwarrior
Help Page URL https://github.com/greg-js/kbwarrior/issues
Supported Languages en-US
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "manifest_version": 2,
    "name": "kbwarrior",
    "description": "Browse the web like a true keyboard warrior with simple hinting and a few vim-style browsing shortcuts.",
    "version": "0.4.0",
    "browser_action": {
        "default_popup": "popup.html",
        "default_title": "kbwarrior"
    },
    "icons": {
        "16": "kbw16.png",
        "48": "kbw48.png",
        "128": "kbw128.png"
    },
    "permissions": [
        "activeTab",
        "tabs"
    ],
    "background": {
        "scripts": [
            "background.js"
        ],
        "persistent": false
    },
    "content_scripts": [
        {
            "matches": [
                "http:\/\/*\/*",
                "https:\/\/*\/*"
            ],
            "exclude_matches": [
                "*:\/\/*.facebook.com\/*",
                "*:\/\/*.twitter.com\/*",
                "*:\/\/*.reddit.com\/*",
                "*:\/\/*.github.com\/*",
                "*:\/\/*.youtube.com\/*"
            ],
            "js": [
                "helpers.js",
                "content.js"
            ],
            "css": [
                "content.css"
            ],
            "run_at": "document_end"
        }
    ]
}