8 ms·
Tridactyl: A Vim-like interface for Firefox
- mauricedenassau 6y agoComing from vim-vixen, I must say this is dope, some people complain about the new tab default change after installing this extension, but I find it fine tbh.
- bovine3dom 6y agoEnough people complained + someone cared enough to help out, so we now offer a build without a new tab page [1]. Migration between the builds is much the same as the process documented here [2]. [1]: https://tridactyl.cmcaine.co.uk/betas/nonewtab/tridactyl_no_new_tab_beta-latest.xpi https://tridactyl.cmcaine.co.uk/betas/nonewtab/tridactyl_no_... [2]: https://github.com/tridactyl/tridactyl/wiki/Migration-from-stable-to-beta https://github.com/tridactyl/tridactyl/wiki/Migration-from-s...
- cozzyd 6y agoI've used Tridactyl (as well as similar other plugins) in the past, but eventually I found myself having to disable it on a lot of websites due to poor interaction with web site keybindings.
- RMPR 6y agoHave you tried qutebrowser? Also I suggest you to give tridactyl another try, it vastly improved, especially the hint mode, plus you don't really have to disable the extension if it gets in your way, just switch to "ignore mode" and voilà
- dotancohen 6y agoThen why stop using it? The only website keybinding that really frustrates me is /, which many sites bind to their search feature. I don't understand why they do that. Don't web browsers already have page navigation features? Either the user is a mouse maid and can click the search field themselves, or they have a keyboard navigation tool such as Tridactyl and the binding just overrides the tool.
- cozzyd 6y agoBecause once it's disabled on some sites, I get annoyed by the inconsistent interface.
- bovine3dom 6y agoIf it's just one or two binds that are causing issues on a site you can unbind them with `:unbindurl`.
- hibbelig 6y agoI think page-specific keyboard-driven navigation has advantages. For example, in Gmail j/k navigates between email threads. I can't see that Tridactyl provides this functionality. For the search functionality specifically, I guess it's possible to find a solution. The page-specific search shortcut will just focus a specific element on the page, and maybe that could be provided on a different shortcut in addition to /.
- cmcaine 6y agoYou can use unbindurl, so you can unbind tridactyl's j/k on mail.google.com, for example. Keys not bound in tridactyl are passed through to the page.
- JoshMcguigan 6y agoI’ve never used Tridactyl, but I switched from vim vixen to qutebrowser and found the full browser allows a much deeper vim integration and customization than a plugin ever could. I’d highly recommend checking out qutebrowser if you are interested in this type of thing.
- RMPR 6y agoOne thing that made me stick to tridactyl is the lack of addon support in qutebrowser, and I don't use that much addons: privacy badger, multi containers (especially this one), cookie auto delete and unlock origin ...
- The-Compiler 6y agoFor at least some of those, there are plans to add support natively to qutebrowser: Containers: https://github.com/qutebrowser/qutebrowser/issues/4102 https://github.com/qutebrowser/qutebrowser/issues/4102 Better adblocker: https://github.com/qutebrowser/qutebrowser/pull/5317 https://github.com/qutebrowser/qutebrowser/pull/5317 I'm still not sure what exactly Privacy Badger really does under the hood, but I suspect much of it won't be possible with QtWebEngine's API. Not sure about Cookie Auto Delete - I fear it's not possible to implement either, but I'm not entirely sure, I've always found the QtWebEngine cookie APIs quite confusing so I'd need to take a closer look.
- ChrisClark 6y agoOnly kind of on topic, but a few weeks ago I read a comment here (but can't find it again). I think it's worth repeating though. You don't need to love or use Vim to benefit from it. Just learning the keybinds is a great thing, because you can most likely find Vim bindings for any popular system. So though you never use Vim, whatever you pick up next can use the same bindings you're used to.
- zoltar 6y agoI looked at a few things including tridactyl when web extensions took out vimperator. After seeing the demos, I settled on giving https://krabby.netlify.app/ https://krabby.netlify.app/ a try. Copying all the links from a table in a go without doing some console fiddling is kinda nice when you need it.
- randompwd 6y agoAnybody know how this differs from Vimium extension?
- RMPR 6y agoBefore tridactyl, I used vimium and vim-vixen, this is the best one hands down. In terms of integration with Firefox and links recognition.
- ziftface 6y agoI'm trying it out just now after having used vimium for the longest time, and I like it, but it randomly doesn't support upvotes on this site. I'm sure there will be other cases it doesn't support for some reason. But it definitely has more features than vimium.
- bovine3dom 6y agoI am surprised that it doesn't support upvotes here (perhaps this gives away how stingy I am with upvotes). If you have time could you file an issue? https://github.com/tridactyl/tridactyl/issues/new https://github.com/tridactyl/tridactyl/issues/new Thanks : )
- justaguy88 6y agoI really want to use things like this, but the permissions model is scary, it wants access to everything. I'm sure most plugins are benign, but it might not be
- ssivark 6y agoI felt/feel the same, but I am greatly comforted by the add-on making an attempt to clearly communicate what it uses/needs each of those permissions for: https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/ https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim... Even though there’s no guarantee that the explanation corresponds exactly to what is implemented behind the scenes, this unusual pattern of user respect and consideration makes the add-on/developers feel more trustworthy than other sketchier ones.
- renewiltord 6y agoIt's open source, just read it and use the source-code release https://github.com/tridactyl/tridactyl https://github.com/tridactyl/tridactyl
- lajawfe 6y agoIs it possible to validate what I am running in browser is an unaltered version of what is there in Github? Otherwise, I will have to trust the package author to not be malicious. Another option might be to personally package and sideload the extension which I don't know how.
- bovine3dom 6y agoTridactyl exists in the Arch community repos [1] if you would rather use that; you're effectively shifting your trust to an Arch trusted user away from some random person (me) and Mozilla. [1]: https://www.archlinux.org/packages/community/any/firefox-tridactyl/ https://www.archlinux.org/packages/community/any/firefox-tri...
- renewiltord 6y agoYes, that's what I meant! It's very easy to sideload. https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension#:~:text=In%20Firefox%3A%20Open%20the%20about,stay%20until%20you%20restart%20Firefox https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web....
- darau1 6y agoThere's also SurfingKeys[1]. [1]: https://github.com/brookhong/Surfingkeys/ https://github.com/brookhong/Surfingkeys/
- Izkata 6y agoAnd another, I use Vim Vixen: https://github.com/ueokande/vim-vixen https://github.com/ueokande/vim-vixen https://addons.mozilla.org/en-US/firefox/addon/vim-vixen/ https://addons.mozilla.org/en-US/firefox/addon/vim-vixen/
- RMPR 6y agoIf you use vim-vixen, consider giving tridactyl a try, it is one level above in terms of browser integration, I say this as an ex Vim-vixen user. One example is using a custom search engine, with vim-vixen it'll just continue to use Google while tridactyl works fine, I also like how it highlights the elements targeted by the letters when you press 'f'
- goffi 6y ago> One example is using a custom search engine, with vim-vixen it'll just continue to use Google while tridactyl works fine, Hi, I'm using vim-vixen with DuckDuckGo without problem. I just have "duckduckgo" set in search.default
- RMPR 6y agoWhat I call a custom search engine is something not in the default, like this one: https://searx.privatenet.cf/ https://searx.privatenet.cf/ I wasn't able to make it work, as a side note, I changed my search engine after installing vim-vixen, so its probably why it didn't work.
- The-Compiler 6y agoAnd a handful more: https://github.com/qutebrowser/qutebrowser#active https://github.com/qutebrowser/qutebrowser#active (Vimium-FF, Vim Vixen, VVimpulation, Krabby)
- zaltekk 6y agoI was an avid user of Pentadactyl[1], but the project died when the Firefox plugin changes[2] happened. From what I could tell at the time, all of the similar plugins like Vimium[3] suffered from severe limitations. For example, if your focus ended up on browser chrome you needed mouse clicks to escape. Is this actually getting us back to something similar to Pentadactyl? I had assumed the plugin changes were preventing such control from being granted to plugins. Was I wrong, and it was just that the authors didn't port to the new framework? [1] bug.5digits.org/pentadactyl [2] https://support.mozilla.org/en-US/kb/firefox-add-technology-modernizing https://support.mozilla.org/en-US/kb/firefox-add-technology-... [3] https://vimium.github.io/ https://vimium.github.io/
- ve55 6y agoThere are a lot of limitations and the addon class will never be as good as it used to be. Solutions are to either use an old FF, different version, or fork that supports them. I still have an okay time doing this, but it probably won't work forever.
- jmiskovic 6y agoThis seems a common sentiment for Firefox users: enjoying the amazing productivity of custom tailored environment with carefully chosen extensions, but knowing our days are numbered.
- yegle 6y agoThere are multiple XUL based Firefox forks, e.g. Pale Moon, Waterfox, Basilisk. They should all work well with Pantadactyl. But note their security patch is maintained by volunteers outside of Firefox team, and may not be the best of state.
- bovine3dom 6y agoI think the main limitation is not being able to accept key presses from browser chrome. Mozilla in principle was prepared to accept a patch that added a new API that did that [1] but people have repeatedly lost interest in developing it - the reward for getting it working being a months-long negotiation with Mozilla to get it merged probably doesn't make it appealing to many. The API would also fix some but not all instances of not being able to use Tridactyl until the page has loaded. Recently, we have added an escape hatch where if you press ctrl-, focus returns to the page even from browser chrome. This works even on special pages like "we could not load this page" where it returns you to a page where Tridactyl can run. I've trained myself to use it instead of escape and it feels quite natural. On every platform except Windows ctrl-6 now takes you to the previous tab everywhere, even on pages to which we don't normally have access. Users can add their own octopus-style binds which are accessible everywhere but the criteria for what works are unfortunately quite opaque. I personally think the biggest problems for Tridactyl are in the future. Manifest v3 proposes heavily restricting the use of `eval` which our users use a lot for writing their own little scripts. I don't think it would be insurmountable, but Tridactyl already has its own little DSL, so we would probably run afoul of the spirit of the new rules and risk getting delisted or banned. We might have to take most of the coolest features of Tridactyl out (and maybe have a contrib/ part of the source where anyone can have their own scripts merged without too much review). The other problem is that new web extension APIs tend be gated behind a very narrow definition of "user intent" - essentially, the user clicks on your extension button or presses an octopus-style keybind (like ctrl-,) - that excludes about 99% of the intent of Tridactyl users. A recent example of this is the new "optional permissions" where an extension can ask for permissions as it needs them; Firefox requires you can convince it that you have user intent or it will not allow you to ask for more permissions. (Incidentally, the keyboard API I mentioned above would allow us to prove user intent to Firefox in some limited circumstances). So in summary: yeah, there are limitations. Lots of them could be fixed by working with Mozilla but no one has yet been motivated enough. In practice it's not as bad as it sounds. [1]: https://github.com/tridactyl/keyboard-api https://github.com/tridactyl/keyboard-api
- bardan 6y agoTridactyl worked for me better than any alternatives, but qutebrowser (https://qutebrowser.org/ https://qutebrowser.org/) was built for this kind of browsing and is more configurable. Unfortunately it doesn't have good plugin support, although I believe it does have an inbuilt ad blocker.
- RMPR 6y agoImho tridactyl's hint mode is better than qutebrowser's
- The-Compiler 6y agoCan you elaborate? Maybe there's something to learn for qutebrowser's hint implementation :)
- bovine3dom 6y agoI can't answer for OP but I think Tridactyl's callback hint mode is more powerful than Qutebrowsers' spawn, as we provide the hinted element to the callback. That means you can do stuff like remove it from the page or make the font comic sans etc. Qutebrowsers' spawn hint mode seems to only let you use the URL of the hint. In general we seem to have more hint modes - copy paragraph to clipboard, select text, etc. See https://github.com/tridactyl/tridactyl/blob/5e8f94ff06bd5f143732f2dabd32b08dabf1e65a/src/excmds.ts#L3920 https://github.com/tridactyl/tridactyl/blob/5e8f94ff06bd5f14... (and forgive the code ... we really need an argument parser).
- RMPR 6y agoSomehow you were able to express exactly what I wanted to say with less words and less pictures https://news.ycombinator.com/item?id=24637140 https://news.ycombinator.com/item?id=24637140 Edit: Thanks for Tridactyl, it's a great add-on and truly a life changer, and I just started using it 2 or 3 days ago :)
- The-Compiler 6y ago
- nkrisc 6y agoI'm a novice vim user, so it's a learning curve to be sure (I mean, perhaps it is anyway since it's applied to a browser instead of a text editor). But I love this addon for the same reason I learned to love vim: it really is just faster to do all kinds of manipulation with just the keyboard. I'm not a developer by trade but I found writing and editing prose documents (typically usability reports and documentation) faster and easier with vim. This makes browsing similarly easier and the hints mode is fantastic for websites with shit UI. Now whenever I use something like discord to talk with my gaming friends I find myself wanting the same keybindings.
- RMPR 6y agoTbh you don't really need to know Vim to get the most out of this extension, sure already knowing Vim keybindings is advantageous, and it provides a kind of homogeneity, but it's not needed plus you can even learn new keybindings.
- approxim8ion 6y agoTridactyl user for the last few months, it has made my browsing experience so much more pleasurable. I pair it with a custom userChrome.css which removes the tab bar (I use 'b' to view and access tabs whenever I need them), affording me more vertical real-estate. My only gripe was that the search navigation with C-g(?) was very clunky and painful so I unbound C-f and it works just fine now. I'm sure that's a matter of personal preference, though.
- leonixyz 6y agocan you please share details about your setup? for example, can you share the content of the userChrome.css and the trydactyl configuration needed to bind 'b' with the toggle action?
- bovine3dom 6y agob is the default bind for filtering and selecting tabs, so no configuration is needed there. We offer some help with userchrome via `:guiset` which I personally use, but you should beware that Mozilla break it fairly often (maybe once every 6 months) with updates.
- approxim8ion 6y agoAs bovine3dom has mentioned already, b is the default keybind. For userChrome, I use https://github.com/MrOtherGuy/firefox-csshacks/blob/master/chrome/hide_tabs_toolbar.css https://github.com/MrOtherGuy/firefox-csshacks/blob/master/c... Not my GitHub, but incredibly useful repo for all kinds of userChrome shenanigans. Personally I keep it to a minimum (literally just this hack) so that I have less stuff to look at if an update breaks something.
- binaryapparatus 6y agoHuge Tridactyl fan here, it works beautifully. I am using it for over a year, ever since I spotted its mention at Suckless 'rocks' page: https://suckless.org/rocks/ https://suckless.org/rocks/
- blackbear_ 6y agoHint mode is a great idea! I wish it was supported at the OS level...
- bovine3dom 6y agoThere is a young project that does this for macOS [1]. I think I remember seeing a similar project for GTK but I might have imagined it. [1]: https://github.com/dexterleng/vimac https://github.com/dexterleng/vimac
- blackbear_ 6y agoOh thank you, that's quite nice actually! Will keep it in mind next time I get my hands on a mac.
- ziftface 6y agoThere is actually an app like this for macos that supports hint mode and is made for navigating everything with your mouse.
- honkycat 6y agoNice extension. For the love of GOD do not hijack my "new tab" page and focus on the page instead of the URL bar. That is SUPER ANNOYING. There should be a button to disable this behaviour very clearly on the page.
- bovine3dom 6y agoI addressed this preemptively earlier today [1]. As it happens, I would also like to enable or disable new tab pages without disabling an extension entirely. Perhaps you could file an issue with Mozilla asking for this functionality? I'd integrate it into Tridactyl in an instant if I could. Regarding the focus stealing: having focus on the page was one of our most requested features. Unfortunately it isn't trivial to have it be optional. [1]: https://news.ycombinator.com/item?id=24615963 https://news.ycombinator.com/item?id=24615963