This repository has been archived by the owner. It is now read-only.

Extension: Vimium #9531

Closed
jonathansampson opened this Issue Jun 16, 2017 · 22 comments

Comments

Projects
None yet
@jonathansampson
Copy link
Collaborator

jonathansampson commented Jun 16, 2017

Extension: Vimium

image

For development purposes, the background page for this extension can be accessed by navigating to chrome-extension://iohnebgmbihompbdpjbgkcgahnkdjbal/_generated_background_page.html

Needed APIs:

chrome.bookmarks

chrome.browserAction

chrome.extension

  • #9549 chrome.extension.getBackgroundPage
  • #8688 chrome.extension.getURL
  • #9550 chrome.extension.getViews
  • #9551 chrome.extension.inIncognitoContext

chrome.history

  • #10397 chrome.history.onVisitRemoved
  • #10398 chrome.history.onVisited
  • #9552 chrome.history.search

chrome.notifications

  • #8817 chrome.notifications.onClicked

chrome.permissions

  • #10404 chrome.permissions.onAdded

chrome.runtime

  • #8682 chrome.runtime.connect
  • #8683 chrome.runtime.getManifest
  • #9555 chrome.runtime.getURL
  • #8799 chrome.runtime.lastError
  • #9655 chrome.runtime.onConnect
  • #10399 chrome.runtime.onInstalled
  • #8791 chrome.runtime.onMessage
  • #8802 chrome.runtime.sendMessage

chrome.sessions

  • #10400 chrome.sessions.restore

chrome.storage

  • #8803 chrome.storage.local.get
  • #8805 chrome.storage.local.remove
  • #8804 chrome.storage.local.set
  • #10401 chrome.storage.onChanged
  • #10402 chrome.storage.sync.get
  • #10402 chrome.storage.sync.set

chrome.tabs

  • #8680 chrome.tabs.create
  • #7458 chrome.tabs.duplicate
  • #8808 chrome.tabs.executeScript
  • #9830 chrome.tabs.get
  • #7456 chrome.tabs.insertCSS
  • #10403 chrome.tabs.move
  • #8819 chrome.tabs.onActivated
  • #8809 chrome.tabs.onRemoved
  • #6194 chrome.tabs.onReplaced
  • #8811 chrome.tabs.query
  • #4687 chrome.tabs.remove
  • #8812 chrome.tabs.sendMessage
  • #6790 chrome.tabs.update (docs)

chrome.webNavigation

  • #6196 chrome.webNavigation.onHistoryStateUpdated (docs)
  • #9544 chrome.webNavigation.onReferenceFragmentUpdated (docs)

chrome.windows

  • #9553 chrome.windows.WINDOW_ID_NONE
  • #6789 chrome.windows.create
  • #8677 chrome.windows.getAll
  • #9554 chrome.windows.getCurrent
  • #4760 chrome.windows.onFocusChanged
  • #8679 chrome.windows.update

Vimium Shortcuts:

Navigating history

  • H : Go back in history ✔️
  • L : Go forward in history ✔️

Manipulating tabs

  • K, gt : Go one tab right ✔️
  • J, gT : Go one tab left ✔️
  • t : Create new tab ✔️ (Opens to chrome://newtab/)
  • x : Close current tab
  • X : Restore closed tab (session.restore: Access to extension API denied.)

Navigating the page

  • ? : Show the help dialog ✔️
  • j : Scroll down ✔️
  • k : Scroll up ✔️
  • h : Scroll left ✔️
  • l : Scroll right ✔️
  • gg : Scroll to the top of the page ✔️
  • G : Scroll to the bottom of the page ✔️
  • u, <c-u> : Scroll a half page up ⚠️ (<c-u> conflicts with View Source)
  • d, <c-d> : Scroll a half page down ⚠️ (<c-d> conflicts with Bookmark Page)
  • <c-f> : Scroll a full page down ⚠️ (<c-f> conflicts with Find on Page)
  • <c-b> : Scroll a full page up
  • f : Open a link in the current tab ✔️
  • F : Open a link in a new tab ✔️
  • o : Open URL, bookmark, or history entry ⚠️ (bookmarks.getTree)
  • O : Open URL, bookmark, or history entry in a new tab ⚠️ (bookmarks.getTree)
  • r : Reload the page ✔️
  • gs : View page source ✔️
  • / : Enterfind mode ✔️
  • n : Cycle forward to the next find match ✔️
  • N : Cycle backward to the previous find match ✔️
  • yy : Copy the current URL to the clipboard ✔️
  • gf : Cycle focus to the next frame ✔️
  • i : Enter insert mode ✔️

This was referenced Jun 17, 2017

@fredfortier

This comment has been minimized.

Copy link

fredfortier commented Sep 25, 2017

@jonathansampson that's great news! Here are my favorite features in order of importance just to give you an idea. Others may want to chime in:

  1. Open new page (o O)
  2. Search in page (/ n)
  3. Maps keys to links (f F)
  4. Scroll up and down (j l gg G)

If extensions can now open a tab, these features should be covered.

@rwehe

This comment has been minimized.

Copy link

rwehe commented Sep 26, 2017

+1 to this extension being make or break for me with using Brave.

I agree with what @fredfortier for those features being priority. I'd add:
*half page up/down (u d)
*page up/down (space Shift+space)
*close tab / restore closed tab (x X)
*reload (r)
*next tab / previous tab (K J)

for the Find/Search mode (no. 2 above) I'd add the n for next or N for previous.

luixxiul added a commit to luixxiul/browser-laptop that referenced this issue Oct 2, 2017

Skip Vimium and Enpass on extensionsTest.js
Closes brave#11234
Related: brave#9531 brave#7778

Auditors:

Test Plan:
1. Run `npm run test -- --grep='about:extensions'`

@luixxiul luixxiul referenced this issue Oct 2, 2017

Merged

Skip Vimium and Enpass on extensionsTest.js #11235

5 of 8 tasks complete

luixxiul added a commit to luixxiul/browser-laptop that referenced this issue Oct 2, 2017

Skip Vimium and Enpass on extensionsTest.js
Closes brave#11234
Related: brave#9531 brave#7778

Auditors:

Test Plan:
1. Run `npm run test -- --grep='about:extensions'`
@mjuarezm

This comment has been minimized.

Copy link

mjuarezm commented Nov 4, 2017

Thanks for working on this. I am using this trick to install vimium by @jonathansampson: test chrome extensions. However, vimium is disabled in brave after installation. Any pointers on how to make it work? Thanks.

@jknight

This comment has been minimized.

Copy link

jknight commented Nov 6, 2017

I installed vimium with the same hack as @mjuarezm. The icon shows up fine (albeit disabled) as do all the options.

Developer tools (chrome-extension://bmnlcjabgnpnenekpadlanbbkooimhnj/_generated_background_page.html) show a stack of these errors on startup:
at chrome-extension://bmnlcjabgnpnenekpadlanbbkooimhnj/background_scripts/main.js:934:4 _generated_background_page.html:1 Unchecked runtime.lastError while running storage.remove: IO error: .../LOCK: Lock file already locked. (ChromeMethodOnly: 15::LockFile)
as well as a couple:
_generated_background_page.html:1 Error in response to storage.get: TypeError: Cannot read property 'findModeRawQueryListIncognito' of undefined

I was hoping to see some logging output from chrome-extension://bmnlcjabgnpnenekpadlanbbkooimhnj/pages/logging.html but it might be erring out before it gets that far.

syuan100 added a commit to syuan100/browser-laptop that referenced this issue Nov 9, 2017

Skip Vimium and Enpass on extensionsTest.js
Closes brave#11234
Related: brave#9531 brave#7778

Auditors:

Test Plan:
1. Run `npm run test -- --grep='about:extensions'`
@sdtsui

This comment has been minimized.

Copy link

sdtsui commented Nov 21, 2017

Just wanted to say I am stoked about this, and would be happy to help review/QA early versions of this extension if needed. :)

You folks are awesome.

@bsclifton bsclifton added this to the Triage Backlog milestone Nov 27, 2017

@liaosteven

This comment has been minimized.

Copy link

liaosteven commented Jan 24, 2018

Any update on this? I am happy to contribute if some work still needs to be done.

@jpbochi

This comment has been minimized.

Copy link

jpbochi commented Jan 25, 2018

@liaosteven there are lots of issues linked here. Those are needed to make Vimium work properly. I'd pick one or more and implement it.

@jozi-k

This comment has been minimized.

Copy link

jozi-k commented Jan 28, 2018

Would it be possible to release some kind of beta version with limited features?

@rdewolff

This comment has been minimized.

Copy link

rdewolff commented Mar 30, 2018

Would love to see this must have plugin implemented in Brave!

@snowblink

This comment has been minimized.

Copy link

snowblink commented Apr 3, 2018

Only thing stopping me switching currently.

@yisiliu

This comment has been minimized.

Copy link

yisiliu commented May 14, 2018

I lost my mouse two years ago for my desktop and it was Vimium that enabled me doing everything on Chrome and saved me 50 bucks. Please at least release a beta version for us to try so that I can completely switch to Brave.

@rdewolff

This comment has been minimized.

Copy link

rdewolff commented May 18, 2018

Any estimation when we will be able to test this?

@bsclifton

This comment has been minimized.

Copy link
Member

bsclifton commented May 18, 2018

I don't think we'll be able to finish this on our current Muon base... but we are in the midst of updating to use the Chromium based UI (aka Brave Core). This will give us full support for extensions (including Vimium!) 😄

More info here:
https://brave.com/development-plans-for-upcoming-release/

@bsclifton bsclifton removed this from the Triage Backlog milestone May 18, 2018

@bsclifton bsclifton added the wontfix label Jul 25, 2018

@bsclifton bsclifton closed this Jul 25, 2018

@Drunkenpanda2000

This comment has been minimized.

Copy link

Drunkenpanda2000 commented Sep 12, 2018

please please fix this i need this

@rdewolff

This comment has been minimized.

Copy link

rdewolff commented Sep 12, 2018

Why has this been closed?

@kevinlawler

This comment has been minimized.

Copy link
Contributor

kevinlawler commented Sep 12, 2018

It works on the new browser. See above. I'm using it on this page now.

@bsclifton

This comment has been minimized.

Copy link
Member

bsclifton commented Sep 12, 2018

@Drunkenpanda2000 @rdewolff please check out our Developer channel release (it's live now!) 😄
https://brave.com/download-dev

@jonchoi

This comment has been minimized.

Copy link

jonchoi commented Oct 6, 2018

Confirm vimium works for dev. So should most chrome "power users" be using dev and not the regular one?

When is vimium support coming to the stable release? (also was curious why dev release settings looks like chrome and the stable release a custom page.)

Also, assuming no BAT token compatibility on dev?

@bsclifton

This comment has been minimized.

Copy link
Member

bsclifton commented Oct 9, 2018

@jonchoi the dev version is now live on our Beta channel as well (and in time, it will entirely replace the current product). You can grab it here:
https://brave.com/download-beta

Unlike the Developer channel, the BAT functionality in the Beta should be using a production environment. However, Brave Payments is being overhauled entirely as Brave Rewards (the UI and experience is entirely different). Feedback is very much appreciated 😄 But it's still a work in progress. You may not be able to import your data yet and I don't believe it's at the point where you can pay your favorite sites yet

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.