Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firefox 57+ support / Turn VimFx into a WebExtension #860

Closed
lydell opened this issue Jan 7, 2017 · 47 comments
Closed

Firefox 57+ support / Turn VimFx into a WebExtension #860

lydell opened this issue Jan 7, 2017 · 47 comments
Labels

Comments

@lydell
Copy link
Collaborator

lydell commented Jan 7, 2017

Note: VimFx is dead. It won't be updated for Firefox 57+. See README.md for more information.

Orginial post below. Warning! It contains some outdated stuff.


Firefox has several types of extensions. The newest type is called “WebExtensions.” Mozilla plans to stop supporting all other types than WebExtensions at the end of 2017.

See Mozilla’s blog post Add-ons in 2017 for more information.

VimFx is not a WebExtension.

The other types of extensions are very flexible. They can do almost anything. While that is really cool, it also holds back the development of Firefox. Wonder why multi-process Firefox took so long?

WebExtensions are not as powerful — yet. Mozilla seem to be open to adding new APIs, but it will take time.

VimFx will be maintained and continue to work like it does now as long as Mozilla supports the “legacy” types of extensions. But no new features will be added. The more features, the harder it will be to turn VimFx into a WebExtension.

For a couple of months, I looked into converting VimFx to a WebExtension. But I've lost the motivation.

So, for now I recommend supporting philc/vimium#2425.

I want to create a new extension with the best of VimFx. But I don't know when that will happen.

Here are a bunch of interesting links:

Summary:

  • You can use the current VimFx for the rest of 2017.
  • Then, Vimium is your best bet: Support for Firefox philc/vimium#2425
  • VimFx is free software, so if somebody feels like converting it to a WebExtension they're totally free to do so! (But you're probably going to spend your time more wisely on Vimium.)
  • I hope to create a new add-on with the best parts from VimFx some day.
  • Firefox will become a better browser! It’s sad but worth the sacrifice.
lydell added a commit that referenced this issue Jan 7, 2017
@bhajneet bhajneet mentioned this issue Feb 2, 2017
8 tasks
@letientai299
Copy link

Hi @akhodakivskiy, I've followed this topic for a while. Since there's nothing news recently, I wonder:

  • What is the current status of WebExtension VimFx versioon?
  • Where is the repo of WebExtension version? (So that we could learn and contribute)
  • When could we suggest new features for VimFx? The issue template still direct to this issue, which is clear that feature request are not accepted.

@lydell
Copy link
Collaborator Author

lydell commented Mar 28, 2017

Thanks for reaching out, @letientai299! Ive updated the issue description.

What is the current status of WebExtension VimFx versioon?

There is none.

Where is the repo of WebExtension version?

There is none.

When could we suggest new features for VimFx?

Never. (Or when a new maintainer decides that it would make sense.)

@f1u77y
Copy link

f1u77y commented Mar 30, 2017 via email

@lydell
Copy link
Collaborator Author

lydell commented Mar 30, 2017

There could absolutely be a WebExtension version now: Vimium is living proof. But the keyboard shortcut handling is very different in WebExtensions, and more restricted. A WebExtension version will be similar but different. Never ever 100% the same.

@Eremiell
Copy link

Eremiell commented May 5, 2017

So I just noticed, my Firefox Nightly tagged VimFx as legacy today and came around to see, how things are. What I read here is a bunch of bad news.

I have Vimium installed in my Google Chrome and VimFx is one of the huge reasons I stick with Firefox. Even without VimFx I still wouldn't convert, as the other reasons add up, but it feels and works so much smoother and generally better.

I have no clear insight into how much work it is to convert VimFx or an other legacy add-on into the WebExtension, but I still really hope, this will happen.

Just wanted to personally thank you for all the hard work so far and show how much useful it is to me and certainly countless others and express my hopes it will survive this change.

Thank you and everyone who helped make this happen so far again.

@lydell
Copy link
Collaborator Author

lydell commented May 5, 2017

I have no clear insight into how much work it is to convert VimFx or an other legacy add-on into the WebExtension, but I still really hope, this will happen.

Thanks for the positive words! But realistically, VimFx is basically dead. 😢

@Eremiell
Copy link

Eremiell commented May 5, 2017

Is there any way I could possibly help? Most of my work happens in C++, but I probably can write an ECMAScript line or dozen. But I'm no expert on the domain, neither ECMAScript, nor browser plugins. Still would love to give a hand if possible.

@lydell
Copy link
Collaborator Author

lydell commented May 5, 2017

Is there any way I could possibly help?

Nobody, including me, have "signed up" for doing this so far, so you wouldn't "help" but rather "do it all yourself". If you want to do that – great! You'd make lot's of people happy. Having worked on every single part of the code base, I can provide guidance to anyone who would like to try porting to a WebExtension a go. 👍

@Eremiell
Copy link

Eremiell commented May 5, 2017

I'm not sure, I'm the right person to push the whole thing through as I haven't done any major ECMAScript since 90s before the whole "block scripting in your browser" movement (which was huge at least locally), which turned me other ways. I may look into WebExtensions docs (there are some, right?) once I have an hour or two to see what it actually expects. I have agreed before to go ahead on projects I had no technical knowledge about and if it gave me one thing, it was to look into it before whenever possible.

I'd love to see VimFx to roll on and if I find out, I'm able to help that, be it rewrite it myself, I'll give it my best. But don't put up bets on that yet. If anyone else feels like pushing it forward, someone with more experience in ECMAScript and browser extensions, I'll gladly assist.

@braham-snyder
Copy link

another alternative is qutebrowser (it's not Firefox, but that's of course better in some ways: it's unencumbered by WebExtensions, for example), whose author just funded a kickstarter (that hasn't ended yet) to work full-time on v1.0

@f1u77y
Copy link

f1u77y commented May 8, 2017

I'd like to try translating (subset of?) VimFx to WebExtension. I know that Vimium exists but their main goal is to support Chrome and not to struggle with non-trivial Firefox incompatibilities. And I do also like the VimFx way(extensive usage of default browser features instead of reinventing the wheel).

I've looked into the code but I have now some questions to @lydell:

  1. AFAIK features like "focus some browser element" are dead due to nature of WebExtensions. That could be main reason for Vimium authors to implement their own UI for opening pages(which I don't like). Could there be any progress in the related issue?
  2. I cannot understand how does the smooth scrolling work. As I can see it calls element.scrollBy({ top: someNumber, behaviour: 'smooth' }) but when I try to call it from the console, scrolling is not smooth.

@musoke
Copy link

musoke commented Aug 12, 2017 via email

@lydell
Copy link
Collaborator Author

lydell commented Aug 16, 2017

@lindhe’s comment convinced me. I’d like to change the license, but there are more copyright holders. I emailed @akhodakivskiy and @zhuochun about a couple of days ago, but neither of them has replied yet. We also need to ask @XrXr (I don’t have his email address). If nobody answers, I guess we could change the license only of the files that only I have copyright on. We could possibly even change the license on stuff that @akhodakivskiy and @zhuochun have copyright on, because VimFx used to be MIT licensed and neither of them have contributed code after the license change to GPL.

@XrXr
Copy link
Contributor

XrXr commented Aug 16, 2017

@lydell Got email from Github. I have no problem giving up my copyright on the stuff I contributed :) feel free to do whatever

@zhuochun
Copy link
Contributor

I have no problem giving up my copyright as well. Thanks for notifying.

@eejdoowad
Copy link

Thanks for the relicense! Now I definitely have to port VimFX's algorithm.

Also wanted to mention that Saka Key is now a pretty good choice for Firefox (in my subjective opinion). It has import/export support, configurable profiles, good presets, smooth scroll, multi-frame link hints, and, as far as I can tell, no deal-breaking bugs.

Give it a chance by installing the Development Channel version from the Addons Marketplace. Don't install the default version as that's hopelessly outdated.

@lydell
Copy link
Collaborator Author

lydell commented Aug 23, 2017

@eejdoowad The actual relicensing hasn't happened yet, but I'll get to it soon. Nice to hear about the progress on Saka Key! I want to try that out soon too, and add links to Saka Key and Vimium in the VimFx description so that people find their way to alternatives.

@lydell lydell changed the title Turn VimFx into a WebExtension / THE FUTURE OF VIMFX Turn VimFx into a WebExtension Aug 25, 2017
@lydell
Copy link
Collaborator Author

lydell commented Aug 25, 2017

@eejdoowad VimFx has now been re-licensed to MIT. Enjoy!

I've also now officially declared VimFx dead, and added links to Vimium-FF and Saka Key in the readme as well as on AMO.

@pluto439
Copy link

pluto439 commented Nov 7, 2017

How about continuing development for palemoon instead? I can try to help with something.

I tried to switch to chromium, but I can't get used to the ui. I tried remove this "use f11 to exit fullscreen mode", but the answer I found honestly asked me to patch dll file in hex editor. I'm shocked by how hard it is to get such simple things. https://superuser.com/questions/1264349/how-to-completely-remove-press-f11-to-exit-full-screen-chromes-message

Also it's impossible to get "ctrl-v to enter address bar" and "esc to leave it" in anything that's not VimFx. It's kind of glitchy in VimFx too though, sometimes it mutes the page instead. Still, it's a must have for me. I can't compile chromium on my own pc, so I can't change anything in there. Maybe with palemoon I'll be more lucky.

@lydell lydell changed the title Turn VimFx into a WebExtension Firefox 57+ support / Turn VimFx into a WebExtension Nov 16, 2017
@lydell
Copy link
Collaborator Author

lydell commented Nov 16, 2017

Re-opening so peolpe can find this more easily.

@lydell lydell reopened this Nov 16, 2017
@lydell lydell added the wontfix label Nov 16, 2017
@lydell
Copy link
Collaborator Author

lydell commented Feb 15, 2020

Three years later … if anyone’s still around here I’d like to plug my new extension – Link Hints. It’s basically VimFx’s Hints Mode on steroids.

Note that it’s not a replacement for the Vim parts of VimFx – it’s just link hinting. It does not even offer Vim-style keyboard shortcuts. These days I just use standard browser shortcuts plus Link Hints.

Enjoy!

@girst
Copy link
Collaborator

girst commented Feb 15, 2020 via email

@lydell
Copy link
Collaborator Author

lydell commented Feb 15, 2020

Nothing planned, but yes, I should probably write something about it.

@braham-snyder
Copy link

To those thinking "I need the vim parts", it sounds like there's some chance Link Hints could be integrated into other vim extensions.

Two big advantages would be vastly faster hinting and more intuitive placement.

Link for potential integration: lydell/LinkHints#6

@girst
Copy link
Collaborator

girst commented Dec 13, 2020

Closing, as the information here isn't accurate any more. VimFx has supported Firefox 68 or higher for a while now.

@girst girst closed this as completed Dec 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests