diff options
| author | Stephen Blott | 2016-04-21 07:43:59 +0100 |
|---|---|---|
| committer | Stephen Blott | 2016-04-21 07:43:59 +0100 |
| commit | 618d66bbd57d7709f211149305ebc41f1b6941f9 (patch) | |
| tree | f00c6d1886e4bacfcefd1ae5176b9929ef7ce414 | |
| parent | c5198e1b6cc90389e15979fb72cccd314feb73b8 (diff) | |
| download | vimium-618d66bbd57d7709f211149305ebc41f1b6941f9.tar.bz2 | |
Prime focus input on the Vimium options page.
This is a bit of a hack, and pertains to focusInput (`gf`).
The problem... On the options page, there are *lots* of inputs
(specifically, for every exclusion rule there are two inputs). This
makes `gf` almost unusable. It's impossibly to `Tab` through them all.
Here, on the options page, we prime the pre-selected input to be the
key-mappings input:
- arguably, this is the most frequently used input, and
- other inputs (such as custom search engines) are just one `Tab` away.
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 6 | ||||
| -rw-r--r-- | pages/options.coffee | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 06b447fc..2d6d66be 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -391,6 +391,12 @@ extend window, HUD.showForDuration("There are no inputs to focus.", 1000) return + # This is a hack to improve usability on the Vimium options page. We prime the recently-focused input + # to be the key-mappings input. Arguably, this is the input that the user is most likely to use. + unless recentlyFocusedElement? + if window.isVimiumOptionsPage + recentlyFocusedElement = document.getElementById "keyMappings" + selectedInputIndex = if count == 1 # As the starting index, we pick that of the most recently focused input element (or 0). diff --git a/pages/options.coffee b/pages/options.coffee index ff6ad15a..883405e6 100644 --- a/pages/options.coffee +++ b/pages/options.coffee @@ -324,4 +324,4 @@ document.addEventListener "DOMContentLoaded", -> # Exported for tests. root = exports ? window -extend root, {Options} +extend root, {Options, isVimiumOptionsPage: true} |
