tridactyl/.tridactylrc

157 lines
7.2 KiB
Text
Raw Normal View History

2018-05-10 22:25:31 +01:00
" bovine3dom's dogfood
" WARNING: This file defines and runs a command called fixamo_quiet. If you
" also have a malicious addon that operates on `<all_urls>` installed this
" will allow it to steal your firefox account credentials!
"
" With those credentials, an attacker can read anything in your sync account,
" publish addons to the AMO, etc, etc.
"
" Without this command a malicious addon can steal credentials from any site
" that you visit that is not in the restrictedDomains list.
"
2019-08-25 09:40:17 -03:00
" You should comment out the fixamo lines unless you are entirely sure that
" they are what you want.
"
" The advantage of running the command is that you can use the tridactyl
" interface on addons.mozilla.org and other restricted sites.
" Provided only as an example.
" Do not install/run without reading through as you may be surprised by some
" of the settings.
2019-08-25 09:40:48 -03:00
" May require the latest beta builds.
2018-05-10 22:25:31 +01:00
" Move this to $XDG_CONFIG_DIR/tridactyl/tridactylrc (that's
" ~/.config/tridactyl/tridactylrc to mere mortals) or ~/.tridactylrc and
" install the native messenger (:installnative in Tridactyl). Run :source to
" get it in the browser, or just restart.
2019-08-25 09:40:48 -03:00
" NB: If you want "vim-like" behaviour where removing a line from
2018-05-10 22:25:31 +01:00
" here makes the setting disappear, uncomment the line below.
"sanitise tridactyllocal tridactylsync
"
" Binds
"
2020-07-08 19:24:44 +01:00
" Comment toggler for Reddit, Hacker News and Lobste.rs
bind ;c hint -Jc [class*="expand"],[class="togg"],[class="comment_folder"]
2018-05-10 22:25:31 +01:00
2018-07-17 13:10:29 +01:00
" GitHub pull request checkout command to clipboard (only works if you're a collaborator or above)
bind yp composite js document.getElementById("clone-help-step-1").textContent.replace("git checkout -b", "git checkout -B").replace("git pull ", "git fetch ") + "git reset --hard " + document.getElementById("clone-help-step-1").textContent.split(" ")[3].replace("-","/") | yank
2018-10-15 11:18:11 +01:00
" Git{Hub,Lab} git clone via SSH yank
bind yg composite js "git clone " + document.location.href.replace(/https?:\/\//,"git@").replace("/",":").replace(/$/,".git") | clipboard yank
2019-08-18 16:12:06 +01:00
" As above but execute it and open terminal in folder
bind ,g js let uri = document.location.href.replace(/https?:\/\//,"git@").replace("/",":").replace(/$/,".git"); tri.native.run("cd ~/projects; git clone " + uri + "; cd \"$(basename \"" + uri + "\" .git)\"; st")
" I like wikiwand but I don't like the way it changes URLs
bindurl wikiwand.com yy composite js document.location.href.replace("wikiwand.com/en","wikipedia.org/wiki") | clipboard yank
2018-11-04 12:04:20 +00:00
" Make gu take you back to subreddit from comments
bindurl reddit.com gu urlparent 4
" Only hint search results on Google and DDG
2019-02-03 16:53:43 +00:00
bindurl www.google.com f hint -Jc .rc > .r > a
bindurl www.google.com F hint -Jbc .rc>.r>a
bindurl ^https://duckduckgo.com f hint -Jc [class=result__a]
bindurl ^https://duckduckgo.com F hint -Jbc [class=result__a]
2019-02-03 16:53:43 +00:00
2018-11-04 12:27:48 +00:00
" Allow Ctrl-a to select all in the commandline
unbind --mode=ex <C-a>
2019-06-03 12:03:05 +01:00
" Allow Ctrl-c to copy in the commandline
2019-01-21 21:54:23 +00:00
unbind --mode=ex <C-c>
" Handy multiwindow/multitasking binds
bind gd tabdetach
2020-07-30 13:39:34 +01:00
bind gD composite tabduplicate; tabdetach
2019-01-21 21:54:23 +00:00
2019-06-03 12:03:05 +01:00
" Make yy use canonical / short links on the 5 websites that support them
bind yy clipboard yankcanon
2019-06-03 12:03:05 +01:00
2019-06-05 16:47:01 +01:00
" Stupid workaround to let hint -; be used with composite which steals semi-colons
command hint_focus hint -;
" Open right click menu on links
2019-06-05 18:08:58 +01:00
bind ;C composite hint_focus; !s xdotool key Menu
2019-06-05 16:47:01 +01:00
2019-01-29 14:08:04 +00:00
" Julia docs' built in search is bad
2020-02-14 10:22:36 +00:00
set searchurls.julia https://www.google.com/search?q=site:http://docs.julialang.org/en/v1%20
2019-01-29 14:08:04 +00:00
2018-05-10 22:25:31 +01:00
"
" Misc settings
"
" set editorcmd to suckless terminal, or use the defaults on other platforms
js tri.browserBg.runtime.getPlatformInfo().then(os=>{const editorcmd = os.os=="linux" ? "st vim" : "auto"; tri.config.set("editorcmd", editorcmd)})
" set profile dir on Windows
2018-06-08 16:26:25 +01:00
jsb browser.runtime.getPlatformInfo().then(os=>{const profiledir = os.os=="win" ? "C:\\Users\\olie\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\gwm76nmk.default" : "auto"; tri.config.set("profiledir", profiledir)})
2018-05-10 22:25:31 +01:00
" Sane hinting mode
set hintfiltermode vimperator-reflow
set hintnames numeric
2018-05-10 22:25:31 +01:00
2019-06-05 16:54:57 +01:00
" Defaults to 300ms but I'm a 'move fast and close the wrong tabs' kinda chap
set hintdelay 100
" Add helper commands that Mozillians think make Firefox irredeemably
" insecure. For details, read the comment at the top of this file.
command fixamo_quiet jsb tri.excmds.setpref("privacy.resistFingerprinting.block_mozAddonManager", "true").then(tri.excmds.setpref("extensions.webextensions.restrictedDomains", '""'))
command fixamo js tri.excmds.setpref("privacy.resistFingerprinting.block_mozAddonManager", "true").then(tri.excmds.setpref("extensions.webextensions.restrictedDomains", '""').then(tri.excmds.fillcmdline_tmp(3000, "Permissions added to user.js. Please restart Firefox to make them take affect.")))
" Make Tridactyl work on more sites at the expense of some security. For
" details, read the comment at the top of this file.
2018-07-03 19:05:20 +01:00
fixamo_quiet
2018-05-11 11:06:53 +01:00
" Equivalent to `set csp clobber` before it was removed. This weakens your
" defences against cross-site-scripting attacks and other types of
" code-injection by reducing the strictness of Content Security Policy on
" every site in a couple of ways.
"
" You may not wish to run this. Mozilla strongly feels that you shouldn't.
"
" It allows Tridactyl to function on more pages, e.g. raw GitHub pages.
"
" We remove the sandbox directive
" https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox
" which allows our iframe to run (and anyone else's) on any website.
"
" We weaken the style-src directive
" https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
" to allow us to theme our elements. This exposes you to 'cross site styling'
" attacks.
"
" Read https://wiki.mozilla.org/Security/CSP#Goals for more information.
jsb browser.webRequest.onHeadersReceived.addListener(tri.request.clobberCSP,{urls:["<all_urls>"],types:["main_frame"]},["blocking","responseHeaders"])
2018-05-11 11:06:53 +01:00
" Make quickmarks for the sane Tridactyl issue view
quickmark t https://github.com/tridactyl/tridactyl/issues?utf8=%E2%9C%93&q=sort%3Aupdated-desc+
2018-05-10 22:25:31 +01:00
" Inject Google Translate
" This (clearly) is remotely hosted code. Google will be sent the whole
" contents of the page you are on if you run `:translate`
" From https://github.com/jeremiahlee/page-translator
command translate js let googleTranslateCallback = document.createElement('script'); googleTranslateCallback.innerHTML = "function googleTranslateElementInit(){ new google.translate.TranslateElement(); }"; document.body.insertBefore(googleTranslateCallback, document.body.firstChild); let googleTranslateScript = document.createElement('script'); googleTranslateScript.charset="UTF-8"; googleTranslateScript.src = "https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&tl=&sl=&hl="; document.body.insertBefore(googleTranslateScript, document.body.firstChild);
2018-05-10 22:25:31 +01:00
"
" URL redirects
2019-08-25 09:40:48 -03:00
"
2018-05-10 22:25:31 +01:00
" New reddit is bad
autocmd DocStart ^http(s?)://www.reddit.com js tri.excmds.urlmodify("-t", "www", "old")
2018-05-10 22:25:31 +01:00
" Mosquito nets won't make themselves
autocmd DocStart ^http(s?)://www.amazon.co.uk js tri.excmds.urlmodify("-t", "www", "smile")
2018-05-10 22:25:31 +01:00
" Isolate Facebook in its own container
" set auconcreatecontainer true
" autocontain facebook\.com facebook
" For syntax highlighting see https://github.com/tridactyl/vim-tridactyl
" vim: set filetype=tridactyl