This is the default configuration that Tridactyl comes with.

You can change anything here using set key1.key2.key3 value or specific things any of the various helper commands such as bind or command. You can also jump to the help section of a setting using :help $settingname. Some of the settings have an input field containing their current value. You can modify these values and save them by pressing <Enter> but using :set $setting $value is a good habit to take as it doesn't force you to leave the page you're visiting to change your settings.

If the setting you are changing has a dot or period character (.) in it, it cannot be set with :set directly. You must either use a helper command for that specific setting - e.g. :seturl or :autocontain, or you must use Tridactyl's JavaScript API with :js tri.config.set("path", "to", "key", "value") to set {path: {to: {key: value}}}.

Hierarchy

  • default_config

Index

Properties

allowautofocus

allowautofocus: "true" | "false" = "true"

Controls whether the page can focus elements for you via js

NB: will break fancy editors such as CodeMirror on Jupyter. Simply use seturl to whitelist pages you need it on.

Best used in conjunction with browser.autofocus in about:config

auconcreatecontainer

auconcreatecontainer: "true" | "false" = "true"

Autocontain directives create a container if it doesn't exist already.

autocontain

autocontain: any = o({// "github.com": "microsoft",// "youtube.com": "google",})

Automatically place these sites in the named container.

Each key corresponds to a URL fragment which, if contained within the page URL, the site will be opened in a container tab instead.

autocontainmode

autocontainmode: "strict" | "relaxed" = "strict"

Strict mode will always ensure a domain is open in the correct container, replacing the current tab if necessary.

Relaxed mode is less aggressive and instead treats container domains as a default when opening a new tab.

blacklistkeys

blacklistkeys: string[] = ["/"]

Which keys to protect from pages that try to override them. Requires leavegithubalone to be set to false.

bmarkweight

bmarkweight: number = 100

When displaying bookmarks in history completions, how many page views to pretend they have.

browser

browser: string = "firefox"

The browser executable to look for in commands such as restart. Not as mad as it seems if you have multiple versions of Firefox...

configversion

configversion: string = "0.0"

Internal version number Tridactyl uses to know whether it needs to update from old versions of the configuration.

Changing this might do weird stuff.

containerindicator

containerindicator: "true" | "false" = "true"

If moodeindicator is enabled, containerindicator will color the border of the mode indicator with the container color.

csp

csp: "untouched" | "clobber" = "untouched"

Deprecated. Change this to "clobber" to ruin the "Content Security Policy" of all sites a bit and make Tridactyl run a bit better on some of them, e.g. raw.github*

cursorpos

cursorpos: "beginning" | "end" = "end"

Decides where to place the cursor when selecting non-empty input fields

customthemes

customthemes: {}

Storage for custom themes

Maps theme names to CSS. Predominantly used automatically by colourscheme to store themes read from disk, as documented by colourscheme. Setting this manually is untested but might work provided that colourscheme is then used to change the theme to the right theme name.

Type declaration

downloadsskiphistory

downloadsskiphistory: "true" | "false" = "false"

Whether downloads (e.g. via ;s hint modes) appear in your download history.

NB: will cause downloads to fail silently if Tridactyl is not allowed to run in private windows (regardless of whether you are trying to call it in a private window).

editorcmd

editorcmd: string = "auto"

Insert / input mode edit-in-$EDITOR command to run This has to be a command that stays in the foreground for the whole editing session "auto" will attempt to find a sane editor in your path. Please send your requests to have your favourite terminal moved further up the list to /dev/null. (but we are probably happy to add your terminal to the list if it isn't already there.)

Example values:

  • linux: xterm -e vim
  • windows: start cmd.exe /c \"vim\".

Also see :editor.

escapehatchsidebarhack

escapehatchsidebarhack: "true" | "false" = "true"

Whether to open and close the sidebar quickly to get focus back to the page when <C-,> is pressed.

Disable if the fact that it closes TreeStyleTabs gets on your nerves too much : )

NB: when disabled, <C-,> can't get focus back from the address bar, but it can still get it back from lots of other places (e.g. Flash-style video players)

externalclipboardcmd

externalclipboardcmd: string = "auto"

Clipboard command to try to get the selection from (e.g. xsel or xclip)

findcase

findcase: "smart" | "sensitive" | "insensitive" = "smart"

Whether find should be case-sensitive

findcontextlen

findcontextlen: number = 100

Number of characters to use as context for the matches shown in completions

findresults

findresults: number = -1

Number of results that should be shown in completions. -1 for unlimited

gimode

gimode: "nextinput" | "firefox" = "nextinput"

If nextinput, after gi brings selects the next input

If firefox, selects the next selectable element, e.g. a link

hintchars

hintchars: string = "hjklasdfgyuiopqwertnmzxcvb"

Characters to use in hint mode.

They are used preferentially from left to right.

hintdelay

hintdelay: number = 300

The delay in milliseconds in vimperator style hint modes after selecting a hint before you are returned to normal mode.

The point of this is to prevent accidental execution of normal mode binds due to people typing more than is necessary to choose a hint.

hintfiltermode

hintfiltermode: "simple" | "vimperator" | "vimperator-reflow" = "simple"

The type of hinting to use. vimperator will allow you to filter links based on their names by typing non-hint chars. It is recommended that you use this in conjuction with the hintchars setting, which you should probably set to e.g, 5432167890. ´vimperator-reflow´ additionally updates the hint labels after filtering.

hintnames

hintnames: "short" | "numeric" | "uniform" = "short"

Whether to optimise for the shortest possible names for each hint, or to use a simple numerical ordering. If set to numeric, overrides hintchars setting.

hintshift

hintshift: "true" | "false" = "false"

Controls whether hints should be shifted in quick-hints mode.

Here's what it means: let's say you have hints from a to z but are only interested in every second hint. You first press a, then c. Tridactyl will realize that you skipped over b, and so that the next hint you're going to trigger is probably e. Tridactyl will shift all hint names so that e becomes c, d becomes b, c becomes a and so on. This means that once you pressed c, you can keep on pressing c to trigger every second hint. Only makes sense with hintnames = short.

hintuppercase

hintuppercase: "true" | "false" = "true"

Whether to display the names for hints in uppercase.

historyresults

historyresults: number = 50

Number of most recent results to ask Firefox for. We display the top 20 or so most frequently visited ones.

homepages

homepages: string[] = []

Pages opened with gH. In order to set this value, use :set homepages ["example.org", "example.net", "example.com"] and so on.

incsearch

incsearch: "true" | "false" = "false"

Whether Tridactyl should jump to the first match when using :find

jumpdelay

jumpdelay: number = 3000

Milliseconds before registering a scroll in the jumplist

keytranslatemap

keytranslatemap: {}

Map for translating keys directly into other keys in normal-ish modes. For example, if you have an entry in this config option mapping п to g, then you could type пп instead of gg or пi instead of gi or ;п instead of ;g. This is primarily useful for international users who don't want to deal with rebuilding their bindings every time tridactyl ships a new default keybind. It's not as good as shipping properly internationalized sets of default bindings, but it's probably as close as we're going to get on a small open-source project like this.

Note that the current implementation does not allow you to "chain" keys, for example, "a"=>"b" and "b"=>"c" for "a"=>"c". You can, however, swap or rotate keys, so "a"=>"b" and "b"=>"a" will work the way you'd expect, as will "a"=>"b" and "b"=>"c" and "c"=>"a".

Type declaration

leavegithubalone

leavegithubalone: "true" | "false" = "false"

Whether to allow pages (not necessarily github) to override /, which is a default Firefox binding.

minincsearchlen

minincsearchlen: number = 3

How many characters should be typed before triggering incsearch/completions

modeindicator

modeindicator: "true" | "false" = "true"

Whether to display the mode indicator or not.

modeindicatorshowkeys

modeindicatorshowkeys: "true" | "false" = "false"

Show (partial) command in the mode indicator. Corresponds to 'showcmd' option of vi.

nativeinstallcmd

nativeinstallcmd: string = "curl -fsSl https://raw.githubusercontent.com/tridactyl/tridactyl/master/native/install.sh -o /tmp/trinativeinstall.sh && bash /tmp/trinativeinstall.sh %TAG"

Set this to something weird if you want to have fun every time Tridactyl tries to update its native messenger.

%TAG will be replaced with your version of Tridactyl for stable builds, or "master" for beta builds

newtab

newtab: string = ""

URL the newtab will redirect to.

All usual rules about things you can open with open apply, with the caveat that you'll get interesting results if you try to use something that needs nativeopen: so don't try about:newtab or a file:/// URI. You should instead use a data URI - https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs - or host a local webserver (e.g. Caddy).

noiframe

noiframe: "true" | "false" = "false"

Disables the commandline iframe. Dangerous setting, use seturl to set it. If you ever set this setting to "true" globally and then want to set it to false again, you can do this by opening Tridactyl's preferences page from about:addons.

noiframeon

noiframeon: string[] = []
deprecated

A list of URLs on which to not load the iframe. Use seturl [URL] noiframe true instead, as shown in noiframe.

perfcounters

perfcounters: "true" | "false" = "false"

Activate tridactyl's performance counters. These have a measurable performance impact, since every sample is a few hundred bytes and we sample tridactyl densely, but they're good when you're trying to optimize things.

perfsamples

perfsamples: string = "10000"

How many samples to store from the perf counters.

Each performance entry is two numbers (16 bytes), an entryType of either "mark" or "measure" (js strings are utf-16 ad we have two marks for each measure, so amortize to about 10 bytes per entry), and a string name that for Tridactyl object will be about 40 (utf-16) characters (80 bytes), plus object overhead roughly proportional to the string-length of the name of the constructor (in this case something like 30 bytes), for a total of what we'll call 128 bytes for ease of math.

We want to store, by default, about 1MB of performance statistics, so somewhere around 10k samples.

preventautofocusjackhammer

preventautofocusjackhammer: "true" | "false" = "false"

Uses a loop to prevent focus until you interact with a page. Only recommended for use via seturl for problematic sites as it can be a little heavy on CPU if running on all tabs. Should be used in conjuction with allowautofocus

priority

priority: number = 0

Internal field to handle site-specific config priorities. Use :seturl/:unseturl to change this value.

profiledir

profiledir: string = "auto"

Profile directory to use with native messenger with e.g, guiset.

putfrom

putfrom: "clipboard" | "selection" = "clipboard"

Which clipboard to retrieve items from. Requires the native messenger to be installed.

Permitted values: clipboard, or selection.

relatedopenpos

relatedopenpos: "related" | "next" | "last" = "related"

Where to open tabs opened with hinting - as if it had been middle clicked, to the right of the current tab, or at the end of the tabs.

rsscmd

rsscmd: string = "yank %u"

Command that should be run by the rssexec ex command. Has the following format:

  • %u: url
  • %t: title
  • %y: type (rss, atom, xml...) Warning: This is a very large footgun. %u will be inserted without any kind of escaping, hence you must obey the following rules if you care about security:
  • Do not use a composite command. If you need a composite command, create an alias.
  • Do not use js or jsb. If you need to use them, create an alias.
  • Do not insert any %u, %t or %y in shell commands run by the native messenger. Use pipes instead.

Here's an example of how to save an rss url in a file on your disk safely: alias save_rss jsb -p tri.native.run("cat >> ~/.config.newsboat/urls", JS_ARG) set rsscmd save_rss %u This is safe because the url is passed to jsb as an argument rather than being expanded inside of the string it will execute and because it is piped to the shell command rather than being expanded inside of it.

scrollduration

scrollduration: number = 100

How viscous you want smooth scrolling to feel.

searchengine

searchengine: string = ""

The default search engine used by open search. If empty string, your browser's default search engine will be used. If set to something, Tridactyl will first look at your searchurls and then at the search engines for which you have defined a keyword on about:preferences#search.

smoothscroll

smoothscroll: "true" | "false" = "false"

Whether to use Tridactyl's (bad) smooth scrolling.

tabopencontaineraware

tabopencontaineraware: "true" | "false" = "false"

If enabled, tabopen opens a new tab in the currently active tab's container.

tabopenpos

tabopenpos: "next" | "last" | "related" = "next"

Where to open tabs opened with tabopen - to the right of the current tab, or at the end of the tabs.

tabsort

tabsort: "mru" | "default" = "default"

Controls which tab order to use when opening the tab/buffer list. Either mru = sort by most recent tab or default = by tab index

theme

theme: string = "default"

The theme to use.

Permitted values: run :composite js tri.styling.THEMES | fillcmdline to find out.

ttspitch

ttspitch: number = 1

Controls text-to-speech pitch. Has to be between 0 and 2.

ttsrate

ttsrate: number = 1

Controls text-to-speech speed. Has to be a number between 0.1 and 10.

ttsvoice

ttsvoice: string = "default"

The name of the voice to use for text-to-speech. You can get the list of installed voices by running the following snippet: js alert(window.speechSynthesis.getVoices().reduce((a, b) => a + " " + b.name))

ttsvolume

ttsvolume: number = 1

Controls text-to-speech volume. Has to be a number between 0 and 1.

urlparenttrailingslash

urlparenttrailingslash: "true" | "false" = "true"

Whether a trailing slash is appended when we get the parent of a url with gu (or other means).

viewsource

viewsource: "tridactyl" | "default" = "tridactyl"

Whether :viewsource will use our own page that you can use Tridactyl binds on, or Firefox's default viewer, which you cannot use Tridactyl on.

visualenterauto

visualenterauto: "true" | "false" = "true"

Whether to enter visual mode when text is selected. Visual mode can always be entered with :mode visual.

visualexitauto

visualexitauto: "true" | "false" = "true"

Whether to return to visual mode when text is deselected.

win_nativeinstallcmd

win_nativeinstallcmd: string = `powershell -NoProfile -InputFormat None -Command "Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/cmcaine/tridactyl/master/native/win_install.ps1'))"`

Set this to something weird if you want to have fun every time Tridactyl tries to update its native messenger.

Replaces %WINTAG with "-Tag $TRI_VERSION", similarly to nativeinstallcmd.

wordpattern

wordpattern: string = "[^\s]+"

JavaScript RegExp used to recognize words in text.* functions (e.g. text.transpose_words). Should match any character belonging to a word.

yankto

yankto: "clipboard" | "selection" | "both" = "clipboard"

Which clipboard to store items in. Requires the native messenger to be installed.

Object literals

autocmds

autocmds: object

Autocommands that run when certain events happen, and other conditions are met.

Related ex command: autocmd.

DocEnd

DocEnd: {}

Commands that will be run when pages are unloaded.

Each key corresponds to a URL fragment which, if contained within the page URL, will run the corresponding command.

Type declaration

DocStart

DocStart: {}

Commands that will be run as soon as Tridactyl loads into a page.

Each key corresponds to a URL fragment which, if contained within the page URL, will run the corresponding command.

Type declaration

FullscreenChange

FullscreenChange: {}

Commands that will be run when fullscreen state changes.

Type declaration

FullscreenEnter

FullscreenEnter: {}

Commands that will be run when fullscreen state is entered.

Type declaration

FullscreenLeft

FullscreenLeft: {}

Commands that will be run when fullscreen state is left.

Type declaration

TabEnter

TabEnter: {}

Commands that will be run when you enter a tab.

Each key corresponds to a URL fragment which, if contained within the page URL, will run the corresponding command.

Type declaration

TabLeft

TabLeft: {}

Commands that will be run when you leave a tab.

Each key corresponds to a URL fragment which, if contained within the page URL, will run the corresponding command.

Type declaration

DocLoad

DocLoad: object

Commands that will be run when pages are loaded.

Each key corresponds to a URL fragment which, if contained within the page URL, will run the corresponding command.

^https://github.com/tridactyl/tridactyl/issues/new$

^https://github.com/tridactyl/tridactyl/issues/new$: string = "issue"

TriStart

TriStart: object

Commands that will be run when Tridactyl first runs each time you start your browser.

Each key corresponds to a javascript regex that matches the hostname of the computer Firefox is running on. Note that fetching the hostname could be a little slow, if you want to execute something unconditionally, use ".*" as Tridactyl special-cases this pattern to avoid hostname lookups.

.*

.*: string = "source_quiet"

browsermaps

browsermaps: object

Browser-wide binds accessible in all modes and on pages where Tridactyl "cannot run".

<C-,>

<C-,>: string = "escapehatch"

<C-6>

<C-6>: string = "tab #"

<CS-6>

<CS-6>: string = "tab #"

completions

completions: object

General completions options - NB: options are set according to our internal completion source name - see - src/completions/[name].ts in the Tridactyl source.

Bmark

Bmark: object

autoselect

autoselect: string = "true"

Rss

Rss: object

autoselect

autoselect: string = "true"

Sessions

Sessions: object

autoselect

autoselect: string = "true"

Tab

Tab: object

autoselect

autoselect: string = "true"

Whether to automatically select the closest matching completion

exaliases

exaliases: object

Aliases for the commandline.

You can make a new one with command alias ex-command.

!

!: string = "exclaim"

!js

!js: string = "fillcmdline_tmp 3000 !js is deprecated. Please use js instead"

!jsb

!jsb: string = "fillcmdline_tmp 3000 !jsb is deprecated. Please use jsb instead"

!s

!s: string = "exclaim_quiet"

alias

alias: string = "command"

au

au: string = "autocmd"

aucon

aucon: string = "autocontain"

audel

audel: string = "autocmddelete"

audelete

audelete: string = "autocmddelete"

authors

authors: string = "credits"

b

b: string = "tab"

bN

bN: string = "tabprev"

bd

bd: string = "tabclose"

bdelete

bdelete: string = "tabclose"

bfirst

bfirst: string = "tabfirst"

blacklistremove

blacklistremove: string = "autocmddelete DocStart"

blast

blast: string = "tablast"

bn

bn: string = "tabnext_gt"

bnext

bnext: string = "tabnext_gt"

bp

bp: string = "tabprev"

bprev

bprev: string = "tabprev"

buffer

buffer: string = "tab"

bufferall

bufferall: string = "taball"

clsh

clsh: string = "clearsearchhighlight"

colors

colors: string = "colourscheme"

colorscheme

colorscheme: string = "colourscheme"

colours

colours: string = "colourscheme"

containerremove

containerremove: string = "containerdelete"

current_url

current_url: string = "composite get_current_url | fillcmdline_notrail "

exto

exto: string = "extoptions"

extp

extp: string = "extpreferences"

extpreferences

extpreferences: string = "extoptions"

get_current_url

get_current_url: string = "js document.location.href"

h

h: string = "help"

installnative

installnative: string = "nativeinstall"

man

man: string = "help"

mkt

mkt: string = "mktridactylrc"

mkt!

mkt!: string = "mktridactylrc -f"

mktridactylrc!

mktridactylrc!: string = "mktridactylrc -f"

mpvsafe

mpvsafe: string = "js -p tri.excmds.shellescape(JS_ARG).then(url => tri.excmds.exclaim_quiet('mpv ' + url))"

nativeupdate

nativeupdate: string = "updatenative"

noh

noh: string = "clearsearchhighlight"

nohlsearch

nohlsearch: string = "clearsearchhighlight"

o

o: string = "open"

openwith

openwith: string = "hint -W"

prefremove

prefremove: string = "removepref"

prefset

prefset: string = "setpref"

q

q: string = "tabclose"

qa

qa: string = "qall"

quit

quit: string = "tabclose"

reibadailty

reibadailty: string = "jumble"

sanitize

sanitize: string = "sanitise"

stop

stop: string = "js window.stop()"

t

t: string = "tabopen"

tN

tN: string = "tabprev"

tabclosealltoleft

tabclosealltoleft: string = "tabcloseallto left"

tabclosealltoright

tabclosealltoright: string = "tabcloseallto right"

tabfirst

tabfirst: string = "tab 1"

tablast

tablast: string = "tab 0"

tabm

tabm: string = "tabmove"

tabnew

tabnew: string = "tabopen"

tabo

tabo: string = "tabonly"

tfirst

tfirst: string = "tabfirst"

tlast

tlast: string = "tablast"

tn

tn: string = "tabnext_gt"

tnext

tnext: string = "tabnext_gt"

tp

tp: string = "tabprev"

tprev

tprev: string = "tabprev"

tutorial

tutorial: string = "tutor"

unmute

unmute: string = "mute unmute"

w

w: string = "winopen"

zo

zo: string = "zoom"

exmaps

exmaps: object

exmaps contains all of the bindings for the command line. You can of course bind regular ex commands but also editor functions and commandline-specific functions.

<A-b>

<A-b>: string = "text.backward_word"

<A-d>

<A-d>: string = "text.kill_word"

<A-f>

<A-f>: string = "text.forward_word"

<ArrowDown>

<ArrowDown>: string = "ex.next_history"

<ArrowUp>

<ArrowUp>: string = "ex.prev_history"

<C-Enter>

<C-Enter>: string = "ex.execute_ex_on_completion"

<C-[>

<C-[>: string = "ex.hide_and_clear"

<C-a>

<C-a>: string = "text.beginning_of_line"

<C-c>

<C-c>: string = "text.kill_whole_line"

<C-e>

<C-e>: string = "text.end_of_line"

<C-f>

<C-f>: string = "ex.complete"

<C-j>

<C-j>: string = "ex.accept_line"

<C-k>

<C-k>: string = "text.kill_line"

<C-m>

<C-m>: string = "ex.accept_line"

<C-o>yy

<C-o>yy: string = "ex.execute_ex_on_completion_args clipboard yank"

<C-u>

<C-u>: string = "text.backward_kill_line"

<Enter>

<Enter>: string = "ex.accept_line"

<Escape>

<Escape>: string = "ex.hide_and_clear"

<S-Backspace>

<S-Backspace>: string = "text.backward_kill_word"

<S-Del>

<S-Del>: string = "ex.execute_ex_on_completion_args tabclose"

<S-Tab>

<S-Tab>: string = "ex.prev_completion"

<Space>

<Space>: string = "ex.insert_space_or_completion"

<Tab>

<Tab>: string = "ex.next_completion"

followpagepatterns

followpagepatterns: object

Used by ]] and [[ to look for links containing these words.

Edit these if you want to add, e.g. other language support.

next

next: string = "^(next|newer)\b|»|>>|more"

prev

prev: string = "^(prev(ious)?|older)\b|«|<<"

hintmaps

hintmaps: object

<ArrowDown>

<ArrowDown>: string = "hint.focusBottomHint"

<ArrowLeft>

<ArrowLeft>: string = "hint.focusLeftHint"

<ArrowRight>

<ArrowRight>: string = "hint.focusRightHint"

<ArrowUp>

<ArrowUp>: string = "hint.focusTopHint"

<Backspace>

<Backspace>: string = "hint.popKey"

<C-[>

<C-[>: string = "hint.reset"

<Enter>

<Enter>: string = "hint.selectFocusedHint"

<Escape>

<Escape>: string = "hint.reset"

<S-Tab>

<S-Tab>: string = "hint.focusPreviousHint"

<Space>

<Space>: string = "hint.selectFocusedHint"

<Tab>

<Tab>: string = "hint.focusNextHint"

ignoremaps

ignoremaps: object

ignoremaps contain all of the bindings for "ignore mode".

They consist of key sequences mapped to ex commands.

<AC-Escape>

<AC-Escape>: string = "mode normal"

<AC-`>

<AC-`>: string = "mode normal"

<C-o>

<C-o>: string = "nmode normal 1 mode ignore"

<S-Escape>

<S-Escape>: string = "mode normal"

<S-Insert>

<S-Insert>: string = "mode normal"

imaps

imaps: object

imaps contain all of the bindings for "insert mode".

On top of regular ex commands, you can also bind editor functions in insert mode.

They consist of key sequences mapped to ex commands.

<AC-Escape>

<AC-Escape>: string = "mode normal"

<AC-`>

<AC-`>: string = "mode normal"

<C-[>

<C-[>: string = "composite unfocus | mode normal"

<C-i>

<C-i>: string = "editor"

<Escape>

<Escape>: string = "composite unfocus | mode normal"

<S-Escape>

<S-Escape>: string = "mode ignore"

inputmaps

inputmaps: object

inputmaps contain all of the bindings for "input mode".

On top of regular ex commands, you can also bind editor functions in input mode.

They consist of key sequences mapped to ex commands.

<S-Tab>

<S-Tab>: string = "focusinput -N"

<Tab>

<Tab>: string = "focusinput -n"

🕷🕷INHERITS🕷🕷

🕷🕷INHERITS🕷🕷: string = "imaps"

Config objects with this key inherit their keys from the object specified.

Only supports "root" objects. Subconfigs (seturl) work as expected.

Here, this means that input mode is the same as insert mode except it has added binds for tab and shift-tab.

keytranslatemodes

keytranslatemodes: object

Whether to use the keytranslatemap in various maps.

exmaps

exmaps: "false" = "false"

hintmaps

hintmaps: "false" = "false"

ignoremaps

ignoremaps: "false" = "false"

imaps

imaps: "false" = "false"

inputmaps

inputmaps: "false" = "false"

nmaps

nmaps: "true" = "true"

logging

logging: object

Logging levels. Unless you're debugging Tridactyl, it's unlikely you'll ever need to change these.

cmdline

cmdline: "warning" = "warning"

containers

containers: "warning" = "warning"

controller

controller: "warning" = "warning"

excmd

excmd: "error" = "error"

hinting

hinting: "warning" = "warning"

messaging

messaging: "warning" = "warning"

native

native: "warning" = "warning"

performance

performance: "warning" = "warning"

state

state: "warning" = "warning"

styling

styling: "warning" = "warning"

modeindicatormodes

modeindicatormodes: object

Whether to display the mode indicator in various modes. Ignored if modeindicator set to false.

ex

ex: "true" = "true"

hint

hint: "true" = "true"

ignore

ignore: "true" = "true"

input

input: "true" = "true"

insert

insert: "true" = "true"

normal

normal: "true" = "true"

visual

visual: "true" = "true"

nmaps

nmaps: object

nmaps contain all of the bindings for "normal mode".

They consist of key sequences mapped to ex commands.

$

$: string = "scrollto 100 x"

.

.: string = "repeat"

:

:: string = "fillcmdline_notrail"

;#

;#: string = "hint -#"

;;

;;: string = "hint -; *"

;A

;A: string = "hint -A"

;I

;I: string = "hint -I"

;M

;M: string = "composite hint -pipe img src | jsb -p tri.excmds.tabopen('images.google.com/searchbyimage?image_url=' + JS_ARG)"

;O

;O: string = "hint -W fillcmdline_notrail open "

;P

;P: string = "hint -P"

;S

;S: string = "hint -S"

;T

;T: string = "hint -W fillcmdline_notrail tabopen "

;W

;W: string = "hint -W fillcmdline_notrail winopen "

;a

;a: string = "hint -a"

;b

;b: string = "hint -b"

;g#

;g#: string = "hint -q#"

;g;

;g;: string = "hint -q;"

;gA

;gA: string = "hint -qA"

;gF

;gF: string = "hint -qb"

;gI

;gI: string = "hint -qI"

;gP

;gP: string = "hint -qP"

;gS

;gS: string = "hint -qS"

;ga

;ga: string = "hint -qa"

;gb

;gb: string = "hint -qb"

;gf

;gf: string = "hint -q"

;gi

;gi: string = "hint -qi"

;gk

;gk: string = "hint -qk"

;gp

;gp: string = "hint -qp"

;gr

;gr: string = "hint -qr"

;gs

;gs: string = "hint -qs"

;gv

;gv: string = "hint -qW mpvsafe"

;gw

;gw: string = "hint -qw"

;gy

;gy: string = "hint -qy"

;h

;h: string = "hint -h"

;i

;i: string = "hint -i"

;k

;k: string = "hint -k"

;m

;m: string = "composite hint -pipe img src | js -p tri.excmds.open('images.google.com/searchbyimage?image_url=' + JS_ARG)"

;o

;o: string = "hint"

;p

;p: string = "hint -p"

;r

;r: string = "hint -r"

;s

;s: string = "hint -s"

;t

;t: string = "hint -W tabopen"

;v

;v: string = "hint -W mpvsafe"

;w

;w: string = "hint -w"

;y

;y: string = "hint -y"

;z

;z: string = "hint -z"

<<

<<: string = "tabmove -1"

<A-m>

<A-m>: string = "mute toggle"

<A-p>

<A-p>: string = "pin"

<AC-Escape>

<AC-Escape>: string = "mode ignore"

<AC-`>

<AC-`>: string = "mode ignore"

<AS-ArrowUp><AS-ArrowUp><AS-ArrowDown><AS-ArrowDown><AS-ArrowLeft><AS-ArrowRight><AS-ArrowLeft><AS-ArrowRight>ba

<AS-ArrowUp><AS-ArrowUp><AS-ArrowDown><AS-ArrowDown><AS-ArrowLeft><AS-ArrowRight><AS-ArrowLeft><AS-ArrowRight>ba: string = "open https://www.youtube.com/watch?v=M3iOROuTuMA"

<C-[>

<C-[>: string = "composite mode normal ; hidecmdline"

<C-a>

<C-a>: string = "urlincrement 1"

<C-b>

<C-b>: string = "scrollpage -1"

<C-d>

<C-d>: string = "scrollpage 0.5"

<C-e>

<C-e>: string = "scrollline 10"

<C-f>

<C-f>: string = "scrollpage 1"

<C-i>

<C-i>: string = "jumpnext"

<C-o>

<C-o>: string = "jumpprev"

<C-u>

<C-u>: string = "scrollpage -0.5"

<C-v>

<C-v>: string = "nmode ignore 1 mode normal"

<C-x>

<C-x>: string = "urlincrement -1"

<C-y>

<C-y>: string = "scrollline -10"

<Escape>

<Escape>: string = "composite mode normal ; hidecmdline"

<F1>

<F1>: string = "help"

<S-Escape>

<S-Escape>: string = "mode ignore"

<S-Insert>

<S-Insert>: string = "mode ignore"

>>

>>: string = "tabmove +1"

A

A: string = "bmark"

B

B: string = "fillcmdline taball"

D

D: string = "composite tabprev; tabclose #"

F

F: string = "hint -b"

G

G: string = "scrollto 100"

H

H: string = "back"

J

J: string = "tabprev"

K

K: string = "tabnext"

L

L: string = "forward"

M

M: string = "gobble 1 quickmark"

O

O: string = "current_url open"

P

P: string = "clipboard tabopen"

R

R: string = "reloadhard"

S

S: string = "fillcmdline tabopen search"

T

T: string = "current_url tabopen"

U

U: string = "undo window"

W

W: string = "current_url winopen"

ZZ

ZZ: string = "qall"

[[

[[: string = "followpage prev"

[c

[c: string = "urlincrement -1"

]]

]]: string = "followpage next"

]c

]c: string = "urlincrement 1"

^

^: string = "scrollto 0 x"

a

a: string = "current_url bmark"

b

b: string = "fillcmdline tab"

d

d: string = "tabclose"

f

f: string = "hint"

g!

g!: string = "jumble"

g$

g$: string = "tablast"

g0

g0: string = "tabfirst"

g;

g;: string = "changelistjump -1"

g?

g?: string = "rot13"

gF

gF: string = "hint -qb"

gH

gH: string = "home true"

gT

gT: string = "tabprev"

gU

gU: string = "urlroot"

g^

g^: string = "tabfirst"

gf

gf: string = "viewsource"

gg

gg: string = "scrollto 0"

gh

gh: string = "home"

gi

gi: string = "focusinput -l"

gr

gr: string = "reader"

gt

gt: string = "tabnext_gt"

gu

gu: string = "urlparent"

gx$

gx$: string = "tabclosealltoright"

gx0

gx0: string = "tabclosealltoleft"

h

h: string = "scrollpx -50"

j

j: string = "scrollline 10"

k

k: string = "scrollline -10"

l

l: string = "scrollpx 50"

o

o: string = "fillcmdline open"

p

p: string = "clipboard open"

r

r: string = "reload"

s

s: string = "fillcmdline open search"

t

t: string = "fillcmdline tabopen"

u

u: string = "undo"

v

v: string = "hint -h"

w

w: string = "fillcmdline winopen"

x

x: string = "stop"

yc

yc: string = "clipboard yankcanon"

ym

ym: string = "clipboard yankmd"

ys

ys: string = "clipboard yankshort"

yt

yt: string = "clipboard yanktitle"

yy

yy: string = "clipboard yank"

zI

zI: string = "zoom 3"

zM

zM: string = "zoom 0.5 true"

zO

zO: string = "zoom 0.3"

zR

zR: string = "zoom -0.5 true"

zi

zi: string = "zoom 0.1 true"

zm

zm: string = "zoom 0.5 true"

zo

zo: string = "zoom -0.1 true"

zr

zr: string = "zoom -0.5 true"

zz

zz: string = "zoom 1"

searchurls

searchurls: object

Definitions of search engines for use via open [keyword].

%s will be replaced with your whole query and %s1, %s2, ..., %sn will be replaced with the first, second and nth word of your query. If there are none of these patterns in your search urls, your query will simply be appended to the searchurl.

Examples:

  • When running open gi cute puppies, with a gi searchurl defined with set searchurls.gi https://www.google.com/search?q=%s&tbm=isch, tridactyl will navigate to https://www.google.com/search?q=cute puppies&tbm=isch.
  • When running tabopen translate en ja Tridactyl, with a translate searchurl defined with set searchurls.translate https://translate.google.com/#view=home&op=translate&sl=%s1&tl=%s2&text=%s3, tridactyl will navigate to https://translate.google.com/#view=home&op=translate&sl=en&tl=ja&text=Tridactyl.

setnull can be used to "delete" the default search engines. E.g. setnull searchurls.google.

amazon

amazon: string = "https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords="

amazonuk

amazonuk: string = "https://www.amazon.co.uk/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords="

bing

bing: string = "https://www.bing.com/search?q="

cnrtl

cnrtl: string = "http://www.cnrtl.fr/lexicographie/"

duckduckgo

duckduckgo: string = "https://duckduckgo.com/?q="

gentoo_wiki

gentoo_wiki: string = "https://wiki.gentoo.org/index.php?title=Special%3ASearch&profile=default&fulltext=Search&search="

github

github: string = "https://github.com/search?utf8=✓&q="

google

google: string = "https://www.google.com/search?q="

googlelucky

googlelucky: string = "https://www.google.com/search?btnI=I'm+Feeling+Lucky&q="

googleuk

googleuk: string = "https://www.google.co.uk/search?q="

mdn

mdn: string = "https://developer.mozilla.org/en-US/search?q="

osm

osm: string = "https://www.openstreetmap.org/search?query="

qwant

qwant: string = "https://www.qwant.com/?q="

scholar

scholar: string = "https://scholar.google.com/scholar?q="

searx

searx: string = "https://searx.me/?category_general=on&q="

startpage

startpage: string = "https://startpage.com/do/search?language=english&cat=web&query="

twitter

twitter: string = "https://twitter.com/search?q="

wikipedia

wikipedia: string = "https://en.wikipedia.org/wiki/Special:Search/"

yahoo

yahoo: string = "https://search.yahoo.com/search?p="

youtube

youtube: string = "https://www.youtube.com/results?search_query="

subconfigs

subconfigs: object

Internal field to handle site-specific configs. Use :seturl/:unseturl to change these values.

www.google.com

www.google.com: default_config = {followpagepatterns: {next: "Next",prev: "Previous",},} as default_config

update

update: object

Used by :updatecheck and related built-in functionality to automatically check for updates and prompt users to upgrade.

checkintervalsecs

checkintervalsecs: number = 60 * 60 * 24

Minimum interval between automatic update checks, in seconds.

lastchecktime

lastchecktime: number = 0

Time we last checked for an update, milliseconds since unix epoch.

lastnaggedversion

lastnaggedversion: string = "1.14.0"

The version we last nagged you about. We only nag you once per version.

nag

nag: boolean = true

Whether Tridactyl should check for available updates at startup.

nagwait

nagwait: number = 7

How many days to wait after an update is first available until telling people.

vmaps

vmaps: object

$

$: string = "js document.getSelection().modify("extend","forward","lineboundary")"

0

0: string = "js document.getSelection().modify("extend","backward","lineboundary")"

<C-[>

<C-[>: string = "composite js document.getSelection().empty(); mode normal ; hidecmdline"

<Escape>

<Escape>: string = "composite js document.getSelection().empty(); mode normal; hidecmdline"

=

=: string = "js let n = document.getSelection().anchorNode.parentNode; let s = window.getSelection(); let r = document.createRange(); s.removeAllRanges(); r.selectNodeContents(n); s.addRange(r)"

S

S: string = "composite js document.getSelection().toString() | fillcmdline tabopen search"

b

b: string = "js document.getSelection().modify("extend","backward","character"); document.getSelection().modify("extend","backward","word"); document.getSelection().modify("extend","forward","character")"

e

e: string = "js document.getSelection().modify("extend","forward","word")"

h

h: string = "js document.getSelection().modify("extend","backward","character")"

j

j: string = "js document.getSelection().modify("extend","forward","line")"

k

k: string = "js document.getSelection().modify("extend","backward","line")"

l

l: string = "js document.getSelection().modify("extend","forward","character")"

o

o: string = "js tri.visual.reverseSelection(document.getSelection())"

s

s: string = "composite js document.getSelection().toString() | fillcmdline open search"

w

w: string = "js document.getSelection().modify("extend","forward","word"); document.getSelection().modify("extend","forward","character")"

y

y: string = "composite js document.getSelection().toString() | clipboard yank"

🕷🕷INHERITS🕷🕷

🕷🕷INHERITS🕷🕷: string = "nmaps"