philc / vimium

The hacker's browser.
https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb
MIT License
23.22k stars 2.48k forks source link

Support for Firefox #2425

Closed mrmr1993 closed 7 years ago

mrmr1993 commented 7 years ago

Firefox now supports WebExtensions. It would be nice to tweak Vimium to work on Firefox.

This is related to #2076.

So far, I've developed some basic support in my fork:

You can use branch firefox-merger to test, which is simply all of these merged into master.

smblott-github commented 7 years ago

Thanks, @mrmr1993. Reviewing the final branch mentioned above, it looks like the required changes aren't really that disruptive. How complete is this? (I don't have the setup to test this.) I know @philc is interested in adding Firefox support.

mrmr1993 commented 7 years ago

I probably still need to look at non-normal mode key handling. Other than that, it seems complete, but Firefox isn't.

Some example problem Firefox bugs:

philc commented 7 years ago

This is really cool; great start @mrmr1993. I would love to get a viable Firefox version out onto the store since the current crop of Vim-style extensions are going to stop working once the classic extension APIs are fully deprecated. Hopefully Firefox support won't incur a large QA/maintenance burden.

I haven't stressed tested it with days of usage, but I will try to. However, there were a couple of things I noticed right away:

  1. Link hints on this bing page appear much slower than on Chrome. It takes between 250ms-1000ms, whereas with Chrome, it's instant. Not sure if that's just poor performance from Firefox, or some bad interaction between our link hints code and Firefox.
  2. I was able to get into a state where I had link hints showing, but ESC didn't dismiss them, and other keys were being registered (e.g. you can use j/k to scroll the page, even though hints are showing). I got here by very quickly toggling between the f and esc keys, although it's not easy to reproduce.

Have you used it much in practice @mrmr1993?

mrmr1993 commented 7 years ago

Have you used it much in practice @mrmr1993?

I've completely switched from Chrome to Firefox, so I'm using it a lot. There's plenty that isn't working, but my barely-patched version works well enough for my current day to day.

I would love to get a viable Firefox version out onto the store

Is anybody else (interested in) working on this at the moment? I can start actively working on the project again, if not / if it would help.

gloomy-ghost commented 7 years ago

FYI:

https://addons.mozilla.org/en/firefox/addon/vimfx/ There is an addon on amo which is similar with Vimium for Chrome [EDIT: Still using old Addon-SDK though]

https://addons.mozilla.org/en/firefox/addon/vimium/ And a deprecated addon which is also called vimium...

AnshulMalik commented 7 years ago

I wish to contribute to this project, making vimium work with firefox :)

pvinis commented 7 years ago

how can i actually install from the firefox-merger branch? i would also like to try it out and test it.

mrmr1993 commented 7 years ago
smblott-github commented 7 years ago

@mrmr1993 What's the status of this?

philc commented 7 years ago

We should probably merge firefox-merger and create a TODO list of gaps between the chrome and firefox version. Once we get to the point where it's ready for wide adoption, we'll get it onto the Firefox addons site.

mrmr1993 commented 7 years ago

We should probably merge firefox-merger

I've rebased firefox-compat onto master. To get Vimium working with Firefox, it should be enough to merge firefox-compat-rb (the rebase branch).

@mrmr1993 What's the status of this?

Other things that need fixing, either on our side or on Firefox's:

This is everything that springs to mind for now.. I'll tidy this up and push a PR.

mcomella commented 7 years ago

FYI: it was announced that legacy extensions will stop working in tomorrow's Firefox Nightly so presumably VimFx, Firefox's Vimium counterpart, will also stop working in 57. With a brief skim, it doesn't look like their initiative to switch to WebExtensions is progressing (https://github.com/akhodakivskiy/VimFx/issues/860).

ronjouch commented 7 years ago

Thanks for the FYI @mcomella. In case it's not clear to passersby, Vimium does work in Firefox 57, see Vimium-FF. I, for one, and coming from VimFx, am happy with its feature set. Thanks Vimium folks 🙂.