Tridactyl has to override your new tab page due to WebExtension limitations. You can learn how to change it at the bottom of the page, otherwise please read on for some tips and tricks.
You can view the main help page by typing :help, and access the tutorial with :tutor. There's a wiki too - feel free to add to it. You may find :apropos useful for finding relevant settings and commands.
You can view your current configuration with :viewconfig.
Breaking change: FF141 has broken :set smoothscroll true. I've disabled it for affected version until I can work out a fix
Tridactyl funding đ: donate via GitHub sponsors here. Please consider starting a recurring donation to bovine3dom (me) if you find Tridactyl useful. In July 2025, I got the lowest amount since 2023, so I guess I need to gently push this again :)
All GitHub and Patreon donors get a nice little newsletter every now and then; for people who donate at least 10USD a month I briefly did a "tips & tricks" newsletter roughly once a month (see an example here) but now I'm open to other ideas for saying thanks. You can also donate via PayPal, but they charge fairly high fees and you won't get any newsletters. Donations currently aim to ensure that bovine3dom can work one day a week on Tridactyl at minimum wage. Previously the donations have funded an in-person developer retreat.
If Tridactyl breaks a website or is broken by a website, trying the steps in the troubleshooting guide might help.
You can contact the developers, other users and contributors for support or whatever on Matrix, Gitter, Discord or IRC. Follow bovine3dom on Mastodon or Bluesky
If you're enjoying Tridactyl (or not), please leave a review on addons.mozilla.org.
New features
:bmark{s,} now completes folders (#5145):tst{move, moveafter, attach} (#377):seturl ... commandlineterriblewebsitefix true to get the commandline back on nextjs pages that vandalise Tridactyl (#5050):tabmove # now works (#5195)gp[character] bind for opening in new private windows (#5204)Bug fixes
:set smoothscroll true is ignored in FF141+ because it was almost totally broken (#5240):editor should now work on more sites. Use :seturl ... editorusehtml true on sites where it has got worse (#3900)noiframe should now never stop non-iframe binds from working (#5143):js{,b} -r now trims filenames (#5222):back completions should be more robust against edge cases (#5187)--tridactyl-cmplt-font-size should now work in themes (#5152)Thanks to all of our contributors for this release: Oliver Blanthorn, Vsevolod Chernetskyi, dependabot[bot], Benoit de Chezelles, Chic-Tweetz, Colin Caine, FugueSoft, Julyanna Francesca C. Huang, Mikhail Gaile, Eleanor Clifford, Elijah Yajaman, Thomas Dy, cassepipe, gholk, paris
Extra special thanks go to cassepipe, Eleanor Clifford, Elijah Yajaman, FugueSoft, Julyanna Francesca C. Huang, Mikhail Gaile, paris, Thomas Dy, Vsevolod Chernetskyi who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
:set hintstyles.{bg, fg, outline} (#4106):tabdiscard added to unload a tab from memory (#4798):tabopen -p opens a pinned tab (#5000)/ to the end of a URL forces :open and friends to treat it as a URL (#4998)none proxy added as override for autocontain (#5015):pin now accepts and index and has completionscolemak layout added for :set keyboardlayoutbase (#4995)Bug fixes
:guiset gui none works again in Firefox 133 (#5098):apropos will now work even if you have created a custom setting (#5076)D now throws an error if used with a count rather than closing a seemingly random tab:followpage now searches all <a> tags (#5031):focusinput now works in shadow roots (#5025):open [number] will now search for the number rather than trying to interpret the 32-bit integer as an IP address (#5084);r for text-to-speech now hints all text correctly:zoom now only tries to zoom to 300% (#5018)Miscellaneous
searchurls have been removed because people (especially me) found them annoying (#3925)Thanks to all of our contributors for this release: Oliver Blanthorn, Cooper Pellaton, dependabot[bot], Chic-Tweetz, Alexis Daboville, gholk, Alan Pearce, George Gemousakakis, Johannes Löthberg, Maxim Pavlenko, Nils Wireklint, Sakari, bennyyip, glacambre, leaty, pvs and zorzem32.
Extra special thanks go to Alan Pearce, Alexis Daboville, bennyyip, Chic-Tweetz, Cooper Pellaton, George Gemousakakis, Johannes Löthberg, leaty, Maxim Pavlenko, Nils Wireklint, Sakari and zorzem32 who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
;c and ;: hint modes for context menu and mouse hover added for Linux, both require :native to be installed with xdotool on the $PATHworkman keyboard layout added for :set keyboardlayoutbase (#4928):reader is now a toggle (#4930)text.{next_,previous_}line added for use with insert mode (#4831):set markjumpnoisy true|false added to suppress jump notifications (#4946)Bug fixes
:set hintnames short should now skip the right number of hints (#4924):tabopen [blah] will now no longer open a tab in the current container (#4791)Miscellaneous
tri.bg and tri.tabs added for easy communication between tab and background contexts in :jsb and :js, see their help pages for more information (#4891)window.QRCode is now exported on our qr code generation page (:text2qr) for intrepid users (#4910)--tridactyl-font-size to make changing all sizes at once easier (#2127)Thanks to all of our contributors for this release: Oliver Blanthorn, petoncle, dependabot[bot], glacambre, RoeyFuchs, gholk, Chris Holland, Danny Zhu, Dmitrii Pshonko, Joseph, Mathieu Ablasou and Valentin Boettcher.
Extra special thanks go to Chris Holland, Danny Zhu, Dmitrii Pshonko, Joseph, Mathieu Ablasou, RoeyFuchs and Valentin Boettcher who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
:reader mode has been added which Tridactyl binds can run on. If you prefer the old mode, it is accessible with :reader --old. We've left gr bound to the old mode for now but you can update it with :bind gr reader:set tabsort mru, tab IDs within Tridactyl are now determined by recency of use almost everywhere. This means, e.g. that you can use 2gt to switch to the second most recently used tab (so identical to <C-^>), 3gt to the third most recently used tab, etc. (#4595)yq bind added to display current URL as a QR code, with q bind in visual mode. See :text2qr for details (#4728):set keyboardlayoutforce true will now force Tridactyl to use, by default, the US keyboard layout for keybinds, even if you're using a different layout. Useful if you use multiple layouts but don't want Tridactyl binds to move, or if you use a layout such as a Cyrillic one where the default binds are difficult to use. Change the forced layout with :set keyboardlayoutbase (#4532):help sidebartoggle and :help sidebaropen for more details:autocmd and related commands now have completions (#4604):open and related commands now have completions for searchurls and previous searches (#4562)-x flag added to :hint to exclude CSS selectors from hints (#4453)<C-o>t opens a new tab in the background for the selected completion - especially useful with :back completions:hint -C [selectors] added for custom hint modes while including the default selectors (#4781);gd rapid hint mode with discarded tabs added (#4694):undo now has fuzzy matching (#4344):source can now read from the command line and the clipboard with --strings and --clipboard (#4821):tab{grab,push} now respect tabopenpos (#4867)Bug fixes
:find will now find start from the current viewport (#4486):editor now works on Gradio apps (please spare me when AI takes over the world) (#4643):winmerge completions are more readable with many windows (#4639):urlincrement now operates on the decoded URI so e.g. %20 doesn't become %21 (#4616);m and ;M for Google reverse-image search now work again (#4591)gi no longer goes to the start of the search box on Google (#4706)modeindicator border is now configurable (#4751)Miscellaneous
:jsua command added to preserve "user action" intent when using browser binds, needed for triggering certain Web Extension APIs such as browser.sidebarAction.open(). See :help jsua for more informationtri.hinting_content.hintElements function added for advanced usage in :js - see the source for documentation:native version at least 0.4.0%XDG_CONFIG_HOME% on Windowswhen_feature.sh [feature] helper script added to repo to find the earliest possible version a feature appeared in TridactylThanks to all of our contributors for this release: Oliver Blanthorn, dependabot[bot], R. David Dunphy, Denis Revunov, gholk, satyamk, Pascal Jufer, Gold Holk, glacambre, treapster, Tushar, petoncle, Aditya Prakash Gupta, Amir Hossein, Daniel Caixinha, Dhruva Sambrani, Imran Khan, Michael Joseph Rosenthal, Raffaele Mancuso, Richard Mathieson, Satyam Kumar, Simon, frikdt, josh, monirzadeh, nfd (aka alex), pataquets and themaherdev.
Extra special thanks go to Aditya Prakash Gupta, Amir Hossein, Daniel Caixinha, frikdt, monirzadeh, nfd (aka alex), Pascal Jufer, pataquets, petoncle, Raffaele Mancuso, R. David Dunphy, Richard Mathieson, satyamk, Satyam Kumar, Simon, themaherdev, treapster and Tushar who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
:back and :forward tab completions with tree style history (#242)m[a-zA-Z] to add a mark, lowercase makes a local mark (unique to that page), uppercase makes a global mark. Global marks are preserved between browser restarts. Press backtick followed by a key to go to a mark. See the eighth page of the :tutor for more information (#604):tgroup* functionality added for "tab groups" for showing/hiding groups of tabs and switching between them. See :help tgroupcreate and :help tgroupswitch for usage tips (#2359):proxyadd, :set proxy and :autocontain support (#4036):tab completions now shows whether tabs are pinned (P), audible (A), muted (M), or discarded (D) and allows filtering by these characters. :set statusstylepretty true to display emojis instead (but always use the same characters for filtering):bmark will now use the tab's title if one is not provided, even if a folder path is provided (#4457):gobble mode now accepts key combinations as terminators rather than just counts of key presses to accept. This lays the groundwork for making Tridactyl friendlier to more keyboard layouts (#4440):set jsurls.[keyword] added which work like searchurls but provide js functions whose return value is called by {,tab,win}open. See :help jsurls for more information (#4193)searchurls now support array slicing with %s[n:m] (#4194):tabopen --focus-address-bar added to open a new tab and give focus to the address bar (#4259){search,js}url now support aliases (#4363):autocmd now lets you modify requestHeaders and responseHeaders, for example if you want to change your User-Agent (#4438)ex.insert_space command added to insert a space in the command line, bound to <C-Space> by default (#4176)Bug fixes
visual mode will now exit erroneously less often (#4339):open should now work with bookmarklets (#4188):find now searches from view and gains some new arguments to control its behaviour (#4378):issue should now prefill its fields correctly (#3927)forced-color CSS support improved (#4283):mktridactylrc doesn't make :seturls into global settings (#4289):set tabsort mru now displays the current tab at the bottom (#4169)Miscellaneous
:bind --mode=browser bind slots added (#4275)arg argument parsing library so excmd arguments might become more consistent one day :):allowautofocus and :unfocus improved:native for containerised (Snap, Flatpak, etc) installations of Firefox improved (#4406):autocmd improved (#4320):bind [key] now returns a valid :bind command that you can edit (#4409):get [setting] no longer returns an equals sign so it can be more easily changed into a :set (#4410):tutor is now viewable directly on GitHub (#4381)Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot[bot], gholk, ivcz, pvs, Mariusz Kaczmarczyk, Michael Joseph Rosenthal, Denis Revunov, Gold Holk, Janek, Fox Kiester, Nicolas Ganz, Babil G. Sarwar, David Scotson, Eric, Eugene, Igor, Luka MarkuĆĄiÄ, Nicolas, Robin Ekman, badcold, fluem and mariuszdb.
Extra special thanks go to badcold, Denis Revunov, Eric, Fox Kiester, gholk, Gold Holk, Igor, Janek, Luka MarkuĆĄiÄ, mariuszdb, Michael Joseph Rosenthal, Nicolas, Nicolas Ganz and Robin Ekman who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
:editor is running (#3915):goto added to jump to a heading on a page, see :help gotoselector for configuration (#4116):wintitle command added to add a prefix to the current window title (#4049)Bug fixes
:tabpush will no longer show the current window (#4114):tabgrab (#3283):autocontain will now pick the longest regex that matches a container if multiple filters match (#3545):elementunhide works again (#4069):set modeindicatormodes.[mode] false (#2690):editor icon should now be correctly removed when finished (#3909):set newtab about:newtab will no longer cause two tabs to be opened (#3656)Miscellaneous
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot[bot], pvs, David Scotson, Calvin T. Nesbitt, Colin Caine, Gerard Bosch, Icelk, Liam Hupfer, Mo, Mo Hijazi and glacambre
Extra special thanks go to Calvin T. Nesbitt, David Scotson, Gerard Bosch, Icelk, Liam Hupfer, Mo and Mo Hijazi who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
superignore setting has been added which nearly totally disables Tridactyl, per page. Use it with :seturl only. If you break Tridactyl with it, remember that you can always use the tri keyword in the address bar to execute ex-commands (#3497):drawing{start,stop,erasertoggle} added to scribble on pages:hint -V hint mode added, bound to ;V, which adds hints to all matching elements on the page, including ones outside the viewport (#3534):set completionfuzziness [0-1] added to control strictness of completion matches (#3556):find mode, there is now a findhighlighttimeout setting (in milliseconds) which allows you to control how long text stays highlighted after a search (#3854):tabrename (#3577):colours midnight added - a dark theme based on shydactyl (#3750):urlmodify can now accept a URL as an argument (#3748):tabpush now pushes to the next most recently used window if no other argument is given:colourscheme auto theme added which follows your system's dark/light mode setting (#3923):setmode [mode] allowautofocus [true|false] added, currently only for the allowautofocus setting, to control the setting per-mode (#3740)Bug fixes
The new tab page no longer has invisible links on it when set to about:blank (#1743)
:viewconfig might now work more reliably but we are not sure (#3653)
:nmode is now shown in the mode indicator
:open will now always run in its own tab (#3583)
Hint modes now accept a much wider array of arguments (#3534)
:source --url now works on data URIs (#3540)
:guiset now gives a more useful error on reading a malformed userChrome.css (#3541)
:mpvsafe now leaves MPV running after Firefox exits on all platforms (#3538)
:viewcontainers uses :jsonview internally which should fix how it is displayed from Tridactyl pages (#3539)
:containerdelete no longer closes all normal tabs if an invalid container is given (#3536)
:set auconcreatecontainer fales is now respected (#3537)
GitHub and other SVG favicons should appear in the tab completions (#3892)
:editor now correctly returns a value (#3800)
Miscellaneous
:tab completionsfirenvims web-editor library which means that CodeMirror, Monaco and other in-browser code editors now work with :editor (#3851)Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, dependabot[bot], Vincent Tavernier, Rummskartoffel, Dhruva Sambrani, karizma, Jay Kamat, Aaron Rancsik, Simon H Moore, glacambre, ivcz, Caleb Maclennan, Eugene, Ivan Oleynikov, SĂžren Knudsen, meep, mozbug and slmb3.
Extra special thanks go to Aaron Rancsik, Eugene, Ivan Oleynikov, ivcz, karizma, meep, slmb3, SĂžren Knudsen and Vincent Tavernier who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
Bug fixes
:nativeinstall now correctly bypasses execution policy on Windowsgi now supports "textbox" ARIA roles - i.e. it works on Twitter now (#3459)w in visual mode now selects the first character of the next word (#3455):native now behaves better when reading non-existent files (#3418):nativeupdate now works on Windows and elsewhere (#3404)text.backward_kill_word command fixed on single characters (#3405)Miscellaneous
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, Dhruva Sambrani, Rummskartoffel, Jez Cope, Babil G. Sarwar, Babil Golam Sarwar, Hosein Naghdbishi, Laura, William, WorldCodeCentral and fluem.
Extra special thanks go to Babil G. Sarwar, Dhruva Sambrani, Hosein Naghdbishi, Jez Cope, Laura and William who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
:tabclose now accepts window_number.tab_number arguments; this is particularly useful for use with <S-Del> to close :taball completions:tab completions now show which tabs are playing audio:tabaudio tab with ga default bind takes you to the window and tab which is currently playing audio (#3184):tab completions:urlincrement binds now accept numeric prefixes, e.g. 10<C-a> increments the URL by 10 (#3145):seturl now checks that you have entered a valid RegEx (#3134):colours now accepts a --url option to load a theme from the internet with no need for :native (#3148):colours now has completions for default and installed themes (i.e. themes for which you have already run :colours once):colours will fall back to loading custom themes from the Tridactyl storage if they cannot be found on diskyo bind added to yank URLs and titles in an Emacs-compatible org-mode format:tab [string] now switches to the first tab that matches that string (#3263):set completions.Tab.autoselect false first.:reloaddead command added to force all tabs which Tridactyl is not running in to load. Useful for making tab switching more pleasurable (#3260):mkt --clipboard added to put a Tridactyl RC file in your clipboard. Use with e.g. GitHub Gist and :source --url to avoid needing :native installed:help colours to see current requirements (there are essentially none) (#3288):set hintautoselect [true|false] added to determine whether hints are automatically followed if there is only one (#3097):set logging.autocmds debug|info|warning|error added to make debugging autocmds easier (#3381):set tabclosepinned true|false added to prevent d from closing pinned tabs (#3363):tabsort command added to sort tabs according to titles, URLs or container (#3364):winopen -c [container] added for opening containers in new windows (#3326):set completions.TabAll.autoselect true|false added to allow spaces to be used when filtering (#1835):scrollpage binds now accept counts (#3319)Bug fixes
:editor selection on Windows has improved (#3170):yankimage now accepts more MIME types (#3127):quickmarks should now be a little more reliable (#3299):mkt now no longer breaks with custom themes (#2535):firefoxsyncpush no longer breaks with custom themes (#3050):bmark completions no longer interfere with flags (#3274):zoom works with negative relative increments (#3031):undo completions now show negative times more gracefully (#3339):tabopen .thing now searches for .thing (#3398):winopen no longer puts focus in the URL barMiscellaneous
Nim and is much faster (especially noticeable on :editor). You may need to run :nativeupate to update it - the latest :native version is 0.2.5pyeval support from this version - you are very unlikely to have used this since it was an internal Tridactyl command. :exclaim is unaffected.:taball now internally uses :tab (#3262)<C-c> and <C-a> binds have been removed from the command line as they were widely disliked (#3229):colours shydactyl now uses more CSS variables (#3390):native is now cached for a few milliseconds to speed up repeated version checks (#3366)no-throw-literal eslint rule added to ensure Tridactyl errors get to the user usefullyThanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, Rummskartoffel, fluem, Benoit de Chezelles, Bruno Garcia, Jay Kamat, Babil Golam Sarwar, Elliott Shugerman, Annie Zhang, Tiago EpifĂąnio, glacambre and yellowmoneybank.
Extra special thanks go to Annie Zhang, Benoit de Chezelles, Bruno Garcia, Elliott Shugerman, Jay Kamat, Tiago EpifĂąnio and yellowmoneybank who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
;Y image-to-clipboard hint mode (#3085):viewconfig can now accept a dot-delimited path like :set, e.g. :viewconfig completions.Tab;x and ;X "emergency" hint modes added. They use xdotool and :native to move the mouse and click on the hinted element - if you don't have xdotool or :native installed they won't work. (#3077)Bug fixes
:viewconfig now gets completions and :viewconfig --{user,default} now accept a key to examine (#3098)# comments are now skipped in RC files (#3100):bind --mode=browser now works with binds involving Space (#3101)<C-Enter> on the command line no longer inserts a space before its invocation (#3089):nativeintall can now run on POSIX-y systems without needing bash (#3020);# hint mode now throws no errors if no anchors are found (#2964)Miscellaneous
no-unused-vars-experimental (#3111)Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, Rummskartoffel and Timothy Robert Bednarzyk.
Extra special thanks go to Timothy Robert Bednarzyk who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
g! jumbles all text on the page, inspired by this letter (#2913):set modeindicatormodes.[mode] true|false controls whether the mode indicator should show in a specific mode (#2690)quakelight, essentially identical to the default theme but with the command line at the top of the page.:set completions.[CompletionSource].autoselect true|false. The completion sources are the ones Tridactyl uses internally - use :get completions to see the list (#2901):bmarks now autoselects its completion by default. :set completions.Bmark.autoselect false to disable (#2863):undo tab_strict only restores tabs in the current window (#2883):js now accepts a flag, -d, to specify an EOF character which allows space-separated arguments to be given to it, stored in the array JS_ARGS (#2859)composite command only_second js -d% window.alert(JS_ARGS[1])%; only_second ignoreme SHOW_THIS! ignoreme ignoremeUriChange event has been added for :autocmd, for use on modern web applications which update their URI without navigating to a new page (#3003);K hint mode added to reversibly hide elements from the page; hidden elements can be restored with :elementunhide (#2934)Bug fixes
:undo and :rssexec completions now autoselect the closest match, as was always intended (#2901):credits no longer disappears before showing all authors (#665):js -r now works on Windows (#3017):hint now can operate on HTMLDetailsElements (#2984):help and :tutor now follow the Tridactyl theme (#2895)Miscellaneous
nativeinstall on Windows now installs the native messenger corresponding to your version of Tridactyl, meaning that we can finally make breaking changes to the native messenger! (#3027)git hooks no longer prevent committing from Windows (#3033)Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, fluem, Rummskartoffel, R Primus, Morgan Connolly, Sayan, Espen Henriksen, Mariusz Kaczmarczyk, glacambre and trixxo.
Extra special thanks go to Espen Henriksen, fluem, Mariusz Kaczmarczyk, R Primus, Rummskartoffel, Sayan and trixxo who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
:set escapehatchsidebarhack false stops <C-,> from closing the sidebar (usually Tree Style Tab) at the expense of not being able to grab focus back from the address bar (#2775):autocmd now provides magic variables for many events (so, e.g. you can tell an ex command which tab it should close). See :help autocmd and scroll down to the ...excmd parameter for more information (#2814):zoom now accepts a tab ID to tell it which tab to zoom (#2809)Bug fixes
:bind completionsThanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn and Simon H Moore
Extra special thanks go to Simon H Moore who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
excmd (#2727):tabopen (#1571)<C-[> now takes you to normal mode in more modes (#2723)Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn and xi.
Extra special thanks go to xi who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
<C-,> browser-wide bind added to new ex-command, :escapehatch which returns focus to the page and returns you to a tab where Tridactyl can run.:help bind and :bind --mode=browser for more details.<C-6> and <CS-6> are now bound to :tab # browser-wide, except on Windows, where the previous behaviour remains, with a new <A-6> bind instead.WebRequest events - see :help autocmd for more details. Particularly useful for e.g. redirecting sites.hint -F added for running arbitrary JS on an element you select. (#2552):blacklistdelete alias added as the inverse of :blacklistaddonclick events now appear grey. If an element has a grey hint and a normal hint, the normal hint is probably the right one. (#2259):winmerge ex-command added to merge windows (#404):tabgrab and tabpush ex-commands added to move tabs between windows (#2540):ex.copy_completion ex-mode command added to copy the currently selected completion, bound to <C-o>yy while the command line is open:tabopen now never puts focus in the address bar (#2490):tabopen -c firefox-default opens a new tab in the default container (handy with set tabopencontaineraware true)<S-Delete> closes the tab corresponding to the highlighted completion in the commandline (#2617)<C-Enter> executes the highlighted completion and keeps the window open (useful for, e.g. :winopen or :tabopen -b):set downloadsskiphistory true prevents downloads via Tridactyl (e.g. ;s hint mode) from being stored in your download history:autocontain -s [url] [container] added with a bug fix - :autocontain with no flags is deprecated (#2629)Removed features
Bug fixes
:tabopen works again in FF80+ (#2695):guiset no longer claims to work if it has not (#2210)<Tab> in completions is now a bit more reliable (but not much :)):find now works in private windows (#2520):containerdelete with no arguments is now a no-op (#2239)insert mode now works better on some sites (#2696)text. functions are now more readline compliant (#2679)yy should no longer give spurious errors (#1239):help now takes you to the right page (#2707)Miscellaneous
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], Michael Kaufman, MatiasStorm, glacambre, Dranaxel, Christian Heinrich, Csaba Henk, Morgan Connolly, mozbug, AurĂ©lien Ooms, David Ludovino, Imran Khan, Jakub OkoĆski, Josehkn, Luke Granger-Brown, Makkonan, and dependabot[bot].
Extra special thanks go to Aurélien Ooms, Christian Heinrich, Csaba Henk, David Ludovino, Imran Khan, Josehkn, Luke Granger-Brown, Makkonan, Michael Kaufman and Morgan Connolly who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
;;, now hints more selectors to make it easier to select an element to scroll:recontain command to change the container of the current tab added:help recontain before use as it has potentially surprising privacy implicationsBug fixes
g; works again (#2407)mkt now works even if you have used setnull or unbind (#2415)repeat will no longer function in private windowswinopen -private [url] is no longer stored for repeat (#2424)Miscellaneous
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], Matias Ammentorp Storm, MatiasStorm, Dranaxel, glacambre, Alexandre, Robert GĂŒnzler and Tanath.
Extra special thanks go to Alexandre, Dranaxel, Matias Ammentorp Storm, MatiasStorm and Tanath who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
"passthrough" mode has been added - press <C-v> in normal mode to send the next key combination to the page (#57)
<C-o> in ignore mode will execute a single key sequence in normal modenmode which executes a number of key sequences in a specified mode and then executes an ex-command. See :help nmode for more details.o in visual mode moves the (invisible) cursor to the other end of the selection
:tabqueue allows you to open a series of tabs, opening the next one in the background every time one is viewed. See :help tabqueue for suggested usage.
:set hintshift true (which only works with non-vimperator hint modes) tries to predict which links you are pressing in rapid hint modes and allows you to repeatedly press the same key to open the next link once it has worked it out. See :help -s hintshift for more details.
Bug fixes
Miscellaneous
config.get much less often (#2353)Thanks to all of our contributors for this release: Oliver Blanthorn, Torsten Schmits, dependabot-preview[bot], glacambre and Simon Lydell.
Extra special thanks go to Simon Lydell and Torsten Schmits who were both first-time contributors.
Last, but not least - thank you to everyone who reported issues.
Bug fixes
nulls appearing in unexpected places: (#2324)New features
;h hint mode, by searching with /, or by using Firefox's "caret" mode on F7.ys and S;h by defaultapropos command which searches through help text - very handy for finding settings or commands you didn't know about (#1980):setnull ex-cmd added to delete a default setting, e.g. setnull searchurls.github to remove the github searchurleditorcmd is now more resilient to user mappings and starts with the correct column (#2237)set historyresults [n] now shows you n results in tabopen (#2159)Bug fixes
containerupdate was broken (#2294)config: we no longer save the config every time we load it (#2272)hint -qpipe now actually works (#2224)mktridactylrc now works for nested keys (#2211)repeat now works more reliably (#1538)Miscellaneous
urlutils object is now attached to the tri object and accessible through jsnamespace to userChrome in guisetlocks library which we are using to synchronise some state between the content and background scripts. We'd like to move config to using this approach but have some bugs to iron out first (#2137)Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], mozbug, Jakub OkoĆski, Saul Reynolds-Haertle, glacambre, Ingo Karkat, Caleb Maclennan, Colin Caine, Spindlyskit, josh, user753 and yuri.
Extra special thanks go to Caleb Maclennan, Ingo Karkat, josh, mozbug, Spindlyskit, user753 and yuri who were all first time contributors. I think we can afford to thank mozbug, aka mozbugbox, in particular for opening a whopping fourteen pull requests, earning a well-deserved 9th place on :credits.
Last, but not least - thank you to everyone who reported issues.
Reversions requested by Mozilla reviewers
fixamo to the restricedDomains and block_mozAddonManager settings in user.js (#1800)New features
hint -qy now merges yanked hints (#1945)set autocontainmode strict|relaxed controls whether links opened in the current tab are forced to enter the "correct" container in a new tab (#1902)autocontain -u added, allowing you to match on an entire URL (#1901)prefremove ex-mode command added to remove a setting from user.js if you have the native messenger installedBug fixes
<C-i> and <C-o> fixed and more performant (#1816)source should have fewer race conditions (#1764)[object Object] appended to them. If any of your quickmarks are currently affected, re-adding them with :quickmark [key] [url1] [url2] [url3] ... should fix them.Miscellaneous
Under the bonnet
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], arcnmx, Jakub OkoĆski, notJerl, Dylan Lloyd, Kelly Stannard and SRGOM.
Extra special thanks go to Dylan Lloyd, Kelly Stannard and SRGOM who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Reversions requested by Mozilla reviewers
csp setting is now inactivefixamo to the restricedDomains setting in user.jsNew features
Bug fixes
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], rektrex, Colin Caine, glacambre, ELLIOTTCABLE, avalonv, pvs, Chris, Daniel Schmid
Extra special thanks go to avalonv, Chris, Daniel Schmid, ELLIOTTCABLE, pvs, rektrex who have contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
*open completions. set bmarkweight to change how prominently they are listed. (#214)Bug fixes
Miscellaneous
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], Colin Caine, GiulioCentorame, Jakub OkoĆski and glacambre.
Extra special thanks go to GiulioCentorame and Jakub OkoĆski who both contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
urlparenttrailingslash which allows you to choose whether urlparent adds a trailing slash or not (#1565)Bug fixes
Miscellaneous
text functions added to :bind helpThanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], Joao Sa, Robert Boyd III, and Guillermo R. Palavecino.
Extra special thanks go to Guillermo R. Palavecino and Robert Boyd III who both contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
;v now escapes the hrefs you choose (see get exaliases.mpvsafe to see how it does it)Bug fixes
shellescape will now actually properly escape stuff on WindowsNew features
keyfeed command for feeding fake keys to Tridactyl (not the web page) addedmap but keyfeed g?g?g?g?g?g?g?g?g?g?g?g?g? now for a good timebind --mode=[newmode] ... and then mode [newmode]tabm and tabo ex-aliases (hat-tip to this blog for pointing out that they were missing)guiset now uses setpref to flip the preference which will soon be needed to read userChrome (#1572)shellescape command added for use with composite (#1485)bind --mode=hint <C-[> hint.reset) (#304)no_mouse_mode is now more sober; original mode renamed to neo_mouse_mode (#1303)hint -f [text] prefilters hints with the provided text (#1580)hint -fr [regex]blacklistkeys setting to specify which keys to prevent pages from ever stealing from Firefox (#1185)set blacklistkeys ["/","'"]bmark with no arguments will now use the current page title as the bookmark nameabout:addons (#930)preventautofocusjackhammer setting added for use with seturl for sites that steal autofocus even after set allowautofocus falseurlmodify -s adds a query to a URL (#1584)ebg13 shapgvbanyvgl nqqrq:g? by defaultviewconfig --{user,default} will show you your changes to the config or the default configmktridactylrc will make an RC file with your current settings. Use mktridactylrc! to overwrite an existing file.Bug fixes
;v saferbmark is less fussy about URLs now (#1600)autocontain should now co-exist with other addons more peacefully (#953)find mode is pretty useable now - see help find to see how to bind it (#1608)repeat should work a bit better but it's still quite broken (#1609)followpage now works on Google via a site-specifc overridetaball should now always move to the right tabset findcase smart should actually work now (hat-tip to burntsushi for pointing this out in his RC file)<Space> (#1655)Under the bonnet
get_current_url is now an ex-aliasconfig.get is now typed, meaning that it's harder for us to add undocumented settingsconfig.getURL now merges site-specific defaultsnpm to yarn as we got fed up with npm fighting with itself over package-lock.json. Hopefully this will make development a little less painful.:native{install,update} will now install the version of the native messenger that existed at the same time as your version of TridactylThanks to all of our contributors for this release: Oliver Blanthorn, Colin Caine, glacambre, Anton Vilhelm Ăsgeirsson, dependabot-preview[bot], VladimĂr Marek, Saul Reynolds-Haertle, Vince Au, Russell Cheung, WorldCodeCentral, reversebreak
Extra special thanks go to dependabot-preview[bot], reversebreak, Russell Cheung, Vince Au, VladimĂr Marek
Last, but not least - thank you to everyone who reported issues.
New features
1gt goes to the first tab.getclip function has now been exposed as an ex-command by popular demand, for use with, e.g. bind --mode=insert <C-v> composite getclip | text.insert_text.triBug fixes
gi should now work on our help pagesrepeat now waits for the execution of each command to finish before starting another oneset hintnames uniform won't give you a spurious error any moreUnder the bonnet
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, dependabot[bot], Marvin Ewald, Saul Reynolds-Haertle, Colin Caine, PHO, Evgeny Kurnevsky, and Jan Hruban.
Extra special thanks go to Evgeny Kurnevsky, Jan Hruban, Marvin Ewald, and PHO who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
:editor now listens to the exit code of your editor so, e.g. :cq in Vim should prevent the text field from being changed; it also can provide line and column information - see :help editor for more details:issue excmd opens a new issue on our GitHub page with your system information pre-filledBug fixes
DocStart autocmds in the exemplar .tridactylrc will no longer run under :viewconfigupdatecheck should actually run now as it has been added to the new-tab pageupdate.* namespacewinopen -private about:addons:saveas completions fixedUnder the bonnet
tslint and shellcheck checks to Travis CI for GitHub PRs and changed source to conform to their standardsprettier for tslint for most casesautocontain and Mozilla's "Multi Account Containers" to co-exist peacefully once we enable a permission. We don't do that until the updatecheck has been out in the wild for a month or so first - see (#708).wine-pyinstaller.sh on some systemsThanks to all of our contributors for this release: Oliver Blanthorn, glacambre, dependabot, Saul Reynolds-Haertle, and Shahzeb Imran.
Extra special thanks go to dependabot and Shahzeb Imran who both contributed for the first time. (dependabot is a bot, but that does not make his contributions any the less valued).
Last, but not least - thank you to everyone who reported issues.
New features
We now support Firefox's built-in OpenSearch search engines
Hint modes changes:
guiset now has completions
help now accepts the following flags: help -{a,b,e,s} to specify whether you are looking for an alias, a binding, an ex-command, or a setting.
You will now be warned when adding a binding that is shadowed by other bind (#1309)
x is bound to stop, you will now be warned when you bind something to xxThe new tab page now begs for donations to fund our coding-retreat (#1373)
ex.deselect_completion ex-mode command added (#1393)
winopen -popup added to open a URL in the "pop-up" style without the address bar etc showing.
Bug fixes
Completions no longer get stuck showing you the command you just typed (#1295)
findnext no longer highlights invisible elements (#1340)
Command history search works again (#1329)
nativeopen now automatically detects which profile you're using and can open URLs with spaces in (#1355)
leavegithubalone is now a documented setting
keyup events are no longer sent to the page for keys which are bound in Tridactyl (#234)
terminator will now work as a terminal for editorcmd
The native install command will now tell you if it didn't manage to install the native messenger (#1099)
help completions will now be deselected properly (#1344)
viewsource now works on the help page
Miscellaneous
Under the bonnet
D no longer has a sleep in it
Build process should be more portable now
Build should be a bit more robust, too
Removed native_background.ts - the editor is now all done in content scripts
Removed commandline_background
contributing.md has been improved with more documentation of our architecture
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Tadeas Uhlir, Nuno Santos, Anton Vilhelm Ăsgeirsson, Colin Caine, Manny Schneck, Maximilian Roos, Robert GĂŒnzler, Rodrigo, Vik Ramanujam, heshamsafi, and pinusc.
Extra special thanks go to heshamsafi, Manny Schneck, Maximilian Roos, Nuno Santos, pinusc, Robert GĂŒnzler, Rodrigo, Tadeas Uhlir, and Vik Ramanujam who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
winclose now accepts arguments and completionsBug fixes
We've explained the ramifications of adding return values to lots of ex-commands in 1.14.7 for composite on the new tab page
All URLs pointing to the repository should now point to the new repository, tridactyl/tridactyl.
New features
Find mode is back, but still doesn't support incsearch. See help find for details on how to bind it if you value muscle-memory over stability :)
rssexec added with completions to help you find RSS feeds that exist on the current page. By default, it executes yank, but this can be changed with rsscmd to interface with your favourite feed reader, e.g, set rsscmd ! echo %u >> ~/.newsbeuter/urls.
set will now let you set complex objects such as set searchurls {"google":"https://www.bing.com"} (#1289)
undo now comes with completions so you can pick an older tab or window to restore (#1286)
no_mouse_mode added to help users force themselves to use hints by preventing mouse clicks from reaching the page.
snow_mouse_mode also added to help people get into the Christmas spiritThe exceptionally well-hidden settings page now has a very well-hidden "reset your configuration button" at the very bottom of the page (#1271).
The horrendously named modeindicatorshowkeys setting now allows you to see which fragments of valid key sequences you have typed.
Bug fixes
Hints are now slightly chubbier in solidarity with people who use bad fonts (#1280)
Favicons are back on :tab completions! (#986)
nativeopen now checks for the presence of the native messenger rather than tabopen.
tridactylrc should now execute more reliably (#1197)
set now refuses to let you set objects such as searchurls to simple strings (#1288)
Completions should show slightly faster (#1259)
Minor documentation fixes.
The Tridactyl logo is now not placed on text boxes if we fail to find your editor.
Ctrl-6 is now bound to buffer # in all the modes it claims to be bound in.
guiset no longer fiddles with titlebar as this breaks quite a lot of Firefox. You might need to delete / fix your own userChrome.css manually.
Under the hood
The native messenger should now give more useful errors (#1287)
We do slightly fewer mad things with promises (#1262)
We remember to use our nice little vanity wrappers on ugly messaging more often (#1257)
Try to prevent more race conditions in the background code (#1248)
Prevent multiple commandlines from being inserted in to pages (#1245) (#1243)
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Milan Vancura, and Martin André.
Extra special thanks go to Martin André and Milan Vancura who both contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Bug fixes
updatenag now checks the right date (code I was using for testing made it into a stable release...)winopen -private is now documentedWe're aware of a few issues introduced by 1.14.4+ and/or Firefox 64. Hopefully we'll get them fixed soon. In the meantime, please report any weirdness on our GitHub page as usual.
Bug fixes
hintfiltermode simple should no longer give you a useless error every time you click something<Space> should actually work nowunbind --mode=ex <Space>.Under the bonnet
This release was rushed out because I didn't test 1.14.4 well enough, so only glacambre and bovine3dom got to contribute to it. It feels more weird than usual to thank myself for coding when I'm 50% of the contributors, especially when the release was so speedy because I wasn't paying enough attention to the previous one, so I'll just pat glacambre instead. bovine3dom tapote glacambre.
New features
<Tab> or <S-Tab>:nativeupdate to get this featureset updatenag false and set updatenagewait [days to wait before nagging]noiframeon has been turned into a normal setting for use with seturl [url] noiframe trueBug fixes
alias tab buffer no longer breaks completionshint -c [selectors] can now accept selectors with spacesa tags now have higher priority than (often spurious) elements JavaScript events attached. This makes hinting on YouTube usable :)text.*) should now work in email inputs, and others if you're lucky.Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Fabian Furger, and arcnmx.
Extra special thanks go to arcnmx who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Bug fixes
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, and scde.
Extra special thanks go to scde who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
colours halloweenclipboard xselpaste pastes from primary selection into focused input fieldeditor (#1162)viewconfig exmaps and bind --mode=extext.* commands have been added for insert mode operationsBug fixes
set gives more helpful error messages (#1166)tabnext/prev now only cycles through visible tabs (#1084)Miscellaneous
Under the bonnet
tab{first,last} are now simple aliasesThanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Anton Vilhelm Ăsgeirsson, Abraham White, Nathan Collins, Colin Caine, Keegan Carruthers-Smith, and pale3.
Extra special thanks go to Abraham White, Keegan Carruthers-Smith, Nathan Collins, and pale3 who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features
bindurl,seturl,unseturl,unbindurl, and reseturl allow you to change settings per site. See help bindurl for more details.set newtabfocus urlbarset editorcmd now has %f as a magic argument to specify the filenamehelp colourschemeim_* on the help page.saveas added: you can provide a filename to specify where the document will be saved if you have the native messenger installedstop command bound to x by default<C-6> is now bound to buffer # in ignore modeset searchurls now supports multiple %s and numbered %1, %2 etc. magic arguments for the search querytabnew alias added for tabopenstop command bound to x:help config_option now works, with completionsz* binds have been added for zooming. See the help page for more details.bmarks is now a proper excmd and allows you to open bookmarks in tabs if you give it a -t flagsetpref command allows you to write to user.js for changing settings in about:configsaveas now allows you to specify file save location if you have the native messengersource and saveasgooglelucky is now a valid search engineguiset tabs count and guiset tabs nocountreloadallbut command reloads everything but the active tabI is unbound again. Bind it back with bind I mode ignore and bind --mode=ignore I mode normalBug fixes
viewconfig now shows you default and user-specified config rather than just user-specified in some circumstancesset noiframeon fixedtabmove +1 no longer requires a leading space when typed interactivelysetclip/getclip now provide error messagesguiset should be a bit better at finding profiles nowset historyresults 0 now worksexclaim should give more helpful errors if the native messenger is not installed# in buffer # and others will now refer to the current tab if you only have a single tab openUnder the bonnet
help perfdumpeditor now returns a filepath, content tupleMiscellaneous
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Saul Reynolds-Haertle, Anton Vilhelm Ăsgeirsson, Joao Sa, notJerl, Colin Caine, WorldCodeCentral, Alex Griffin, FrankEular, Ivan Solyankin, Lorenz Leutgeb, and Shou Ya.
Extra special thanks go to Alex Griffin, FrankEular, Ivan Solyankin, Joao Sa, Lorenz Leutgeb, notJerl, and Shou Ya who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features:
Mode is now per-tab
Configuration now has a help page
Configuration completions now show their permitted values and set checks for these
You can now map keys to keys for Tridactyl modes with keymap key1 key2. The purpose of this is for our international users who switch keyboard layouts.
Bug fixes:
Thanks to all of our contributors for this release: Oliver Blanthorn, Saul Reynolds-Haertle, glacambre, Colin Caine, William G Hatch, Noah Birnel, Roman Bogorodskiy, and quinoa42.
Extra special thanks go to Noah Birnel, quinoa42, Roman Bogorodskiy, and William G Hatch who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features:
Our command line now has more completions:
Rapid hint mode improvements:
hint -q[flag] and bound to ;g[key]g; bound to "switch to tab containing last used input field and focus it", which is my pet favourite command.tab is now an alias for buffer (I meant to add this months ago)
Old features:
;O, ;W, and ;T pre-fill the command line with the hinted URL and open/tabopen/winopen.unbind --mode=... [key]Bug fixes:
;p) and we fixed it by accidentEsc by default (#921)guiset gui none now pads maximised windows to fix a bug on Windows where the top of the page is cut offBoring internal changes:
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Anton Vilhelm Ăsgeirsson, and HenrĂ© Botha.
Extra special thanks go to Henré Botha, who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
New features:
Rapid hinting bound to gF. One of our most requested features.
Add DocLoad autocmd which triggers after all HTML is downloaded (it fires on DOMContentLoaded).
All clipboard commands on Linux now support X-selection if you have the native messenger installed. Simply set yankto and putfrom to selection.
Add private window indicator to bufferall; add container icons to buffer{,all}.
Add fillcmdline_tmp, useful for temporary messages. A few commands now use this (e.g, yy).
tabmove bound to << and >> Ă la Vimium.
tabmove now wraps tabs around if you reach the beginning or end.Add mute to mute tabs. Bound to <A-m> by default.
Add <A-p> bind for pin.
Add {fixamo,guiset}_quiet for non-interactive use; normal {fixamo,guiset} now inform you that you must restart.
Add url2args ex-command to retrieve search terms from Tridactyl search engines, for use with O. help url2args for more information.
Add autocmddelete to delete an autocmd.
Add hintdelay setting (measured in milliseconds) to add a short pause before hint mode is left after choosing a link (#386) with the hintfiltermode vimperator* hint modes so that one has time to stop typing before Tridactyl returns to normal mode.
Add binds for yankmd and yanktitle to yt and ym irrespectively.
Our GitHub has a new troublehooting guide and issue template (#522).
Websites can no longer steal / from Firefox. If you are unhappy with this state of affairs, try set leavegithubalone true.
Bug fixes:
Fix race condition in state.mode synchronization (#613).
set newtab about:blank should work once again (#678).
Make tabprev synchronous: it now works better in composite commands (i.e, D is less janky).
Fix guiset hoverlink * in Firefox 61 (#763).
Make source ignore visually empty lines.
Completions will now be properly deselected upon typing (#833).
guiset now gives helpful errors if given the wrong arguments (#844).
History completion insertion with space no longer inserts an extra space (#838).
Ctrl-y actually scrolls up now
Arguments now ignored on history completions (-private, -c, -b etc.).
Native messenger:
Windows install script now complains if you do not have the requisite PowerShell version.
Windows install script should now work if you have a non-ASCII username/directory
Windows install script no longer rage-quits if Python is not found.
installnative again.Fix focus hijacking again (#768).
Fix scrolling on bugzilla.mozilla.org (#762).
Fix race condition in :sanitise (#724).
Make sure bind/unbind use the same binding format: previously, modifiers on binds were case-sensitive for some commands.
Container commands are now more case-insensitive.
Fix jumplist not being correctly restored on reloads (#680).
Update 1.13.1 release date in time for 1.13.2
Boring internal stuff
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Anton Vilhelm Ăsgeirsson, Babil Golam Sarwar, Colin Caine, Jeff King, Bzly, WorldCodeCentral, Mohammad AlSaleh, Vladimir Macko, AndrĂ© Klausnitzer, Bodo Graumann, Chris Pickard, Lucian Poston, Matt Friedman, Susexe, and jcrowgey.
Extra special thanks go to André Klausnitzer, Chris Pickard, Lucian Poston, Matt Friedman, Susexe, Vladimir Macko, and WorldCodeCentral, all of whom were first time contributors.
Last, but not least - thank you to everyone who reported issues.
New features
bufferall bound to B by default shows you tabs in all windows.container{create,close,update,delete}, viewcontainers and tabopen -c [container name] URLhelp containercreate for more informationset hintnames numeric for sequential numeric hints. Best used with set hintfiltermode vimperator-reflow.guiset navbar none removes the navbar totally. Not for the faint-of-heart: you could potentially get trapped if Tridactyl stops working.Bug fixes
nativeopen now puts tabs in the same place that tabopen wouldsantise tridactyllocal tridactylsync now works in RC files<C-i> editor will now always update the field you started in, not just the one you currently have focused.urlincrement no longer throws errors if a link cannot be found.Potentially breaking changes
composite now send return values to the following ex command. Use semi-colons if you want the old behaviour back (see bind D).DocStart autocommand now uses String.prototype.search for matching, so you can use regular expressions such as /www\.amazon\.co.*/.editor now includes the hostname of the site you are on in the temporary filename.
au BufReadPost *github.com* set syntax=pandocnative support for Windows: just do what installnative tells you to.
gvim is on your path.New autocommand events:
New commands:
:js and :jsb let you execute arbitrary javascript.:restart will restart Firefox if you have installed Tridactyl's native executable.:fixamo will make Tridactyl work on addons.mozilla.org. Requires a :restart.Hint improvements:
:hint -P.hint -; now accepts selectors.Multiple improvements for the mode indicator. It will:
There is now a jumplist:
<C-o> or :jumpprev will go to your previous location.<C-i> or :jumpnext will go to the next location in your jumplist.Themes:
shydactyl, greenmat, quake were added.Add new internal structure for themes - check out contributing.md on the repository if you want to add your own
The long awaited blacklist to automatically enter ignore mode on some websites is now available! See :h blacklistadd.
Ignore mode can now also be toggled with <CA-`>.
A colon is shown at the beginning of the command line.
:set setting will now display the setting's value.
The command line should work again on image documents.
Urlmodify doesn't add the websites you're leaving to your history anymore.
An experimental smoothscroll setting has been added. You can turn it on by using :set smoothscroll true. Be warned, this can make scrolling slower on some websites.
credits added to show off all the wonderful contributors we have.
help now displays relevant aliases and key bindings, and help [key sequence / alias] will take you to the relevant help.
hint will now open links in the current containerset tabopencontaineraware [false|true], which will make tabopen open new tabs in the current container<CA-Esc> bind to toggle ignore mode by popular demandAdd "tridactylrc" support
$XDG_CONFIG_DIR/tridactyl/tridactylrc~/.config/tridactyl/tridactylrc~/.tridactylrcsource [absolute path to file]. Bonus points if you can think of something sensible to do with source in an autocmd.sanitise tridactyllocal tridactylsync to the top of your rc file.Native messenger updated to 0.1.3
source)Readme updated
guisetBug fixes
guiset can now cope with multiple Firefox instances running simultaneously provided they are started with profiles explicitly via the command line.Deprecations
I of the new bindYou can now edit the Firefox GUI from Tridactyl with guiset. You must restart Firefox after using guiset to see the effects.
guiset gui none or guiset gui full.help guiset and following the links.You can now choose to bypass CSP on all sites with set csp clobber. If you change your mind, just unset csp, and restart your browser.
Tridactyl will no longer update while the browser is running in an attempt to fix issues where the add-on would be unresponsive after an update; instead, it will only update on browser launch.
about:addons. You'll need to restart the browser after clicking "Check for updates".set newtab news.bbc.co.uk etc. now looks much less janky
Minor new features
termite and terminator support with set editorcmd autoMinor bug fixes
whichfocusinput is now better at finding elements to focusgx0 and gx$Native messenger (for OSX/Linux only, for now)! On Linux/OSXRun :installnative to install, then:
<Ctrl-I> in a text field will open Vim, probably. Set it with set editorcmd but make sure that the command stays in the foreground till the programme is exited.:! [shell command] or :exclaim [shell command] will run the command and give you STDOUT/STDERR back in the command line./bin/sh should workcommand ! exclaim fish -c (but be aware that some shells require quotes around arguments given to -c)nativeopen will try to open a new tab or window using the native messenger. It is used in {,win,tab}open automatically when you try to open about:_ or file:_ URIs.Add hint -W [exstr] to execute exstr on hint's href
hint -W exclaim_quiet mpv works particularly well.Breaking change: change ignore mode binds to be symmetric and resolve Jupyter conflict
<S-Insert> to enter and leave it.I and <S-Esc> are unboundMore scrolling fixes
G/gg will now work on more sitesCompletion improvements
set historyresults to, e.g, 500.Mode indicator is now print friendly (#453)!
Fiddled with help theme
viewsource improved
gf by defaultBind help to F1
Changelog changelog:
Misc fixes
noiframeonnoiframeon for websites that are still broken by our iframe ("ServiceNow", for example: #279)set noiframeon [space separated URLs] to blacklist URLs:installnative once you are in.set modeindicator false:h for :helpcomposite and ex-parser more sequentialD binding: close current tab and tabprevtab in inputmodeg;hint -W [exstr] to execute exstr on hint's hreftutor for that nowset newtab [url]set newtab about:blank now works thanks to a Mozilla bug fix!^ bind to <c-6> (matches vim)<C-u>) and binds of special keys (e.g. <F1>) and both together (e.g. <SA-Escape>)tutorviewconfig command to open the current configuration in Firefox's native JSON viewer (which Tridactyl doesn't work in)clipboard yanktitle|yankmdfullscreen command (not quite #376)viewsource commandset allowautofocus false to stop pages stealing focus on load (#266, #369)^ now switches to last used tab by defaultSpace now puts the URL from the selected completion into the command line (#224)hint -wp to open hint in a private window (#317)set theme dark (#230)tabopen (#342)set {related,tab}openpos next|lasttabclose # now worksset key.subkey.subsubkey value now worksbind and getautocmd [event] [filter] [ex command]DocStartautocmd DocStart mail.google.com mode ignorecommand [alias] [ex_command]. Many aliases have been ported from Pentadactyl. (#236)]] and [[ to allow use with foreign languagesset newtab foo.bar now changes all new tab pages (#235)tabopen now opens tabs to the right of the current tabxx binding (#262)hintorder setting. to repeat last actiongi and then Tab will cycle you between all input fields on a page;k for removing elements of a webpage such as dickbarsz{i,z,o} bindssanitize excmd for deleting browsing/Tridactyl dataset newtab failing to set newtabq, qa, and quit synonymsunset failing to take effect without reloading pagehelp prefacehintchars and hintorderset searchengine bing (#60)set newtab [url] (#59)gh and gH and "homepages" setting (#96)ys now works on some older pageshint -c [selector]: add hints that match CSS selector;r;p to yank any element which contains text;# hint yank anchor modetabonly commandf/F â enter the "hint mode" to select a link to follow. F to open it in a background tab. (Note: hint characters should be typed in lowercase.)Shift + Insert or Ctrl-Alt-Escape â enter "ignore mode" to send all key presses to the web page you are on. Press Shift + Insert or Ctrl-Alt-Escape again to return to the highly productive "normal mode".H/L â go back/forward in the history.o/O â open a URL in this tab (O to pre-load current URL).t/T â open a URL in a new tab (T to pre-load current URL).gt/gT â go to the next/previous tab.d â close the current tab.<C-,> â "escape hatch": get to a place where you can use Tridactyl. Works anywhere in the browser./ â open the find search box. Use ctrl + g/G to cycle through search results.b â bring up a list of open tabs in the current window.s â if you want to search for something that looks like a domain name or URL.gi â scroll to and focus the last-used input on the page.gr â open Firefox reader mode (note: Tridactyl will not work in this mode).:bind J tabprev. Type :help bind to see help on custom binds.yy â copy the current page URL to your clipboard.[[/]] â navigate forward/backward though paginated pages.ZZ â close all tabs and windows, but it will only "save" them if your about:preferences are set to "show your tabs and windows from last time".<C-v> â send a single keystroke to the current website, bypassing bindings by entering ignore mode temporarily<C-o> â run a single normal mode binding when in ignore mode:help hint to see all the other useful hint modes (this is the f magic. :) ).:help <keybinding> to learn more about what a specific key binding does.:colours [dark|quake|...] to change Tridactyl's theme (and the colour of this page):set keyboardlayoutforce true to pretend that your keyboard layout is always QWERTY - very useful for, e.g., Cyrillic keyboardsCtrl-Comma (that's <C-,> in Tridactyl-speak) is your escape hatch.guiset (e.g. guiset gui none and then restart) if you have the native messenger installed, or you can do it yourself by changing your userChrome.:reloadall to reload all tabs to make life more bearable, or flip browser.sessionstore.restore_tabs_lazily to false in about:config.Tridactyl overrides your newtab page because it cannot insert its content script on the default about:newtab. Without the content script, our shortcuts won't work, even if you're just passing through the page. We're working with Firefox on improvements to the WebExtension APIs that will remove this restriction.
:set newtab [URL]:set newtab about:blankAlso, if you want to use a new tab page provided by another extension, make sure to install said extension after Tridactyl. Uninstalling and re-installing the other extension should work too.
Alternatively, if you don't need Tridactyl to work on the new tab page, you can install the beta build without new tab page. You can get it here. To migrate your configuration across builds, see this comment or this issue.
You have more questions? Have a look at our FAQ or search our issues.