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.

Hierarchy

  • default_config

Index

Properties

allowautofocus

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

Controls whether the page can focus elements for you via js

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.

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"

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

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.)

externalclipboardcmd

externalclipboardcmd: string = "auto"

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

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: string = "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.

hintnames

hintnames: "short" | "numeric" = "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.

hintuppercase

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

Whether to display the names for hints in uppercase.

historyresults

historyresults: string = "50"

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

homepages

homepages: any[] = []

Pages opened with gH.

jumpdelay

jumpdelay: string = "3000"

Milliseconds before registering a scroll in the jumplist

modeindicator

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

Whether to display the mode indicator or not.

nativeinstallcmd

nativeinstallcmd: string = "curl -fsSl https://raw.githubusercontent.com/cmcaine/tridactyl/master/native/install.sh | bash"

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

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.

noiframeon

noiframeon: string[] = []

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.

scrollduration

scrollduration: string = "100"

How viscous you want smooth scrolling to feel.

searchengine

searchengine: string = "google"

The default search engine used by open search

smoothscroll

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

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

storageloc

storageloc: "sync" | "local" = "sync"

Which storage to use. Sync storage will synchronise your settings via your Firefox Account.

tabopencontaineraware

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

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

tabopenpos

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

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

theme

theme: string = "default"

The theme to use.

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

ttspitch

ttspitch: string = "1"

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

ttsrate

ttsrate: string = "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: string = "1"

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

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.

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.

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: object

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

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.

Type declaration

DocStart

DocStart: object

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

TabEnter

TabEnter: object

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: object

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

TriStart

TriStart: object

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

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

.*

.*: string = "source_quiet"

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 = "buffer"

bN

bN: string = "tabprev"

bd

bd: string = "tabclose"

bdelete

bdelete: string = "tabclose"

bfirst

bfirst: string = "tabfirst"

blast

blast: string = "tablast"

bn

bn: string = "tabnext_gt"

bnext

bnext: string = "tabnext_gt"

bp

bp: string = "tabprev"

bprev

bprev: string = "tabprev"

colors

colors: string = "colourscheme"

colorscheme

colorscheme: string = "colourscheme"

colours

colours: string = "colourscheme"

colourscheme

colourscheme: string = "set theme"

containerremove

containerremove: string = "containerdelete"

current_url

current_url: string = "composite get_current_url | fillcmdline_notrail "

h

h: string = "help"

man

man: string = "help"

o

o: string = "open"

openwith

openwith: string = "hint -W"

q

q: string = "tabclose"

qa

qa: string = "qall"

quit

quit: string = "tabclose"

sanitize

sanitize: string = "sanitise"

t

t: string = "tabopen"

tN

tN: string = "tabprev"

tab

tab: string = "buffer"

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"

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|«|<<"

ignoremaps

ignoremaps: object

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

They consist of key sequences mapped to ex commands.

<CA-Escape>

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

<CA-`>

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

<S-Escape>

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

<S-Insert>

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

I

I: string = "mode normal"

imaps

imaps: object

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

They consist of key sequences mapped to ex commands.

<C-6>

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

<C-[>

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

<C-^>

<C-^>: string = "buffer #"

<C-i>

<C-i>: string = "editor"

<CA-Escape>

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

<CA-`>

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

<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".

They consist of key sequences mapped to ex commands.

<C-[>

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

<C-^>

<C-^>: string = "buffer #"

<C-i>

<C-i>: string = "editor"

<CA-Escape>

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

<CA-`>

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

<Escape>

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

<S-Tab>

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

<Tab>

<Tab>: string = "focusinput -n"

logging

logging: object

Default logging levels - 2 === WARNING

NB: these cannot be set directly with set - you must use magic words such as WARNING or DEBUG.

cmdline

cmdline: number = 2

containers

containers: number = 2

controller

controller: number = 2

excmd

excmd: number = 1

hinting

hinting: number = 2

messaging

messaging: number = 2

state

state: number = 2

styling

styling: number = 2

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"

;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"

;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"

;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 exclaim_quiet mpv"

;gw

;gw: string = "hint -qw"

;gy

;gy: string = "hint -qy"

;i

;i: string = "hint -i"

;k

;k: string = "hint -k"

;o

;o: string = "hint"

;p

;p: string = "hint -p"

;r

;r: string = "hint -r"

;s

;s: string = "hint -s"

;v

;v: string = "hint -W exclaim_quiet mpv"

;w

;w: string = "hint -w"

;y

;y: string = "hint -y"

<<

<<: string = "tabmove -1"

<A-m>

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

<A-p>

<A-p>: string = "pin"

<C-6>

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

<C-[>

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

<C-^>

<C-^>: string = "buffer #"

<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-x>

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

<C-y>

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

<CA-Escape>

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

<CA-`>

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

<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"

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

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

>>

>>: string = "tabmove +1"

A

A: string = "bmark"

B

B: string = "fillcmdline bufferall"

D

D: string = "composite tabprev; sleep 100; tabclose #"

F

F: string = "hint -b"

G

G: string = "scrollto 100"

H

H: string = "back"

I

I: string = "mode ignore"

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"

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 buffer"

d

d: string = "tabclose"

f

f: string = "hint"

g$

g$: string = "tablast"

g0

g0: string = "tabfirst"

g;

g;: string = "changelistjump -1"

gF

gF: string = "hint -br"

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"

w

w: string = "fillcmdline winopen"

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 0.1 true"

zo

zo: string = "zoom -0.1 true"

zz

zz: string = "zoom 1"

searchurls

searchurls: object

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

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="

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="