aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts
diff options
context:
space:
mode:
authorStephen Blott2016-04-21 07:43:59 +0100
committerStephen Blott2016-04-21 07:43:59 +0100
commit618d66bbd57d7709f211149305ebc41f1b6941f9 (patch)
treef00c6d1886e4bacfcefd1ae5176b9929ef7ce414 /content_scripts
parentc5198e1b6cc90389e15979fb72cccd314feb73b8 (diff)
downloadvimium-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.
Diffstat (limited to 'content_scripts')
-rw-r--r--content_scripts/vimium_frontend.coffee6
1 files changed, 6 insertions, 0 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).