" vim: filetype=vim " tridactyl config " Ref: https://raw.githubusercontent.com/glacambre/.dotfiles/master/default/.config/tridactyl/tridactylrc " Ref: https://raw.githubusercontent.com/BurntSushi/dotfiles/master/.config/tridactyl/tridactylrc sanitize tridactyllocal tridactylsync alias save_rss jsb -p tri.native.run("r2e add '" + JS_ARG + "'") set rsscmd save_rss %u alias gitclone jsb -p tri.native.run("git clone --depth=1 '" + JS_ARG + "' /home/tobyv/src/" + JS_ARG.split("/").slice(-1)) alias jse js 'use strict'; function $all(q, root=document) { return Array.from(root.querySelectorAll(q)) }; function $(q, root=document) { return root.querySelector(q) }; let $ex = (s) => tri.controller.acceptExCmd(s) ; let $set = (...args) => tri.config.set(...args); alias jsep js -p 'use strict'; function $all(q, root=document) { return Array.from(root.querySelectorAll(q)) }; function $(q, root=document) { return root.querySelector(q) }; let $ex = (s) => tri.controller.acceptExCmd(s) ; let $set = (...args) => tri.config.set(...args); alias video_goby js -d@ let time = JS_ARGS.filter(Boolean); let sign = '+'; if (time[0].match(/^[-+]/)) { sign = time[0].charAt(0); time[0] = time[0].slice(1) } time = time.filter(Boolean).map(Number); const second = time.reduce((s, n) => s*60+n, 0); tri.controller.acceptExCmd(`video_with video.currentTime ${sign}= ${second}`) @ alias video_goto js -d@ let time = JS_ARGS.filter(Boolean); let sign = '+'; if (time[0].match(/^[-+]/)) { sign = time[0].charAt(0); time[0] = time[0].slice(1) } time = time.filter(Boolean).map(Number); let second = time.reduce((s, n) => s*60+n, 0); if (sign == '-') second = `video.duration - ${second}`; tri.controller.acceptExCmd(`video_with video.currentTime = ${second}`) @ alias video_with jse let video; if (document.activeElement.name == 'VIDEO') video = document.activeElement; else video = $all('video').find(v => !v.paused); if (!video) video = $('video'); video; alias video_mark_add jsep void $ex('video_with').then(video => { const mark = JS_ARG; tri.videoMark.addMark(mark, video.currentTime); $ex('video_mode') }) alias video_mark_empty js const vm = tri.videoMark; vm.historyStore = Object.values(vm.mark).sort((a,b) => a-b); alias video_mark_goby jsep void $ex('video_with').then(video => { const current = video.currentTime; const n = Number(JS_ARG); const time = tri.videoMark.goby(current, n); video.currentTime = time; $ex('video_mode'); }) alias video_mark_goto jsep void $ex('video_with').then(video => { const mark = JS_ARG; tri.videoMark.addBlur(video.currentTime); const time = tri.videoMark.mark[mark]; if (typeof time == 'number') video.currentTime = time; $ex('video_mode') }) alias video_mark_init jse if(!tri.videoMark){tri.videoMark={historyStore:[],mark:{},goby(current,n){const index=this.historyStore.findIndex(t=>{if(t>current)return true});const move=n<0?n:n-1;let time;if(~index)time=this.historyStore.at(index+move);else time=this.historyStore.at(move);if(Math.abs(time-current)>this.tollorance)return time;else return this.goby(current,n>0?n+1:n-1)},add(time){this.historyStore.push(time);this.historyStore.sort((a,b)=>a-b)},addBlur(time){const exist=this.historyStore.some(t=>Math.abs(t-time)Math.abs(t-time) {const count = Number(JS_ARG) || 1; const tic = Number(get('video_seek')); video.currentTime += tic * count }); 1; set videomaps.b jsep $ex('video_with').then(video => {const count = Number(JS_ARG) || 1; const tic = Number(get('video_seek')); video.currentTime -= tic * count }); 1; set video_seek_op 120 set videomaps.C video_with video.currentTime = Number(get('video_seek_op')) set videomaps.a video_with video.currentTime = 0 set videomaps.A video_with video.currentTime = video.duration set videomaps.gt fillcmdline video_goto set videomaps.i fillcmdline video_goto set videomaps.I fillcmdline video_goby set videomaps.m gobble 1 video_mark_add set videomaps.' gobble 1 video_mark_goto set videomaps.ge video_mark_empty set videomaps.E video_mark_goby +1 set videomaps.e video_mark_goby -1 set video_mark_tollorance 1 set videomaps.V exit_video set videomaps.z mode normal set videomaps.gf fullscreen set videomaps.q fullscreen set videomaps.🕷🕷INHERITS🕷🕷 nmaps seturl ^https://www.youtube.com/watch\?v=116OjLa1DwY video_seek_op 42 unbind unbind s unbind d unbind f bind hint bind / fillcmdline find bind ? fillcmdline find --reverse bind n findnext bind N findnext --reverse bind nohlsearch bind j scrollline 5 bind k scrollline -5 bind J tabprev bind K tabnext bind x tabclose bind gs fillcmdline open search bind zv composite js document.location.href | exclaim_quiet mpv --loop bind zz composite jsb tri.native.run('cat /home/tobyv/.config/firefox/userscripts/rustdoc-condensed.js') | js -p eval(JS_ARG.content) bind gv video_mode bindurl ^https://www.youtube.com/watch\? v video_mode autocmd DocStart mail.google.com mode ignore autocmd DocStart discordapp.com mode ignore autocmd DocStart play.rust-lang.org mode ignore autocmd DocLoad ^https://www.youtube.com/watch\? video_mode fixamo_quiet guiset_quiet hoverlink right guiset_quiet tabs count setpref accessibility.typeaheadfind.autostart false setpref accessibility.typeaheadfind.flashBar 0 setpref app.normandy.api_url "" setpref app.normandy.enabled false setpref app.normandy.first_run false setpref app.shield.optoutstudies.enabled false setpref app.update.enabled false setpref beacon.enabled false setpref beacon.enabled false setpref browser.autofocus false setpref browser.aboutHomeSnippets.updateUrl "data:," setpref browser.display.use_document_fonts 0 setpref browser.download.dir "/home/me/downloads" setpref browser.download.folderList 2 setpref browser.download.manager.addToRecentDocs false setpref browser.download.useDownloadDir false setpref browser.eme.ui.enabled false " setpref browser.feeds.handler.default "client" " setpref browser.feeds.handlers.application "/home/me/bin/add_rss_feed" setpref browser.formfill.enable false setpref browser.helperApps.deleteTempFileOnExit true setpref browser.library.activity-stream.enabled false setpref browser.messaging-system.whatsNewPanel.enabled false setpref browser.newtab.preload false setpref browser.newtab.url "about:blank" setpref browser.newtabpage.enabled false setpref browser.newtabtabpage.enabled false setpref browser.newtabtabpage.enhanced false setpref browser.onboarding.enabled false setpref browser.pagethumbnails.capturing_disabled true setpref browser.ping-centre.telemetry false setpref browser.pocket.api "" setpref browser.pocket.oAuthConsumerKey "" setpref browser.pocket.site "" setpref browser.safebrowsing.appRepURL "" setpref browser.safebrowsing.blockedURIs.enabled false setpref browser.safebrowsing.downloads.remote.enabled false setpref browser.safebrowsing.downloads.remote.url "" setpref browser.safebrowsing.gethashURL "" setpref browser.safebrowsing.malware.enabled false setpref browser.safebrowsing.malware.reportURL "" setpref browser.safebrowsing.phishing.enabled false setpref browser.safebrowsing.provider.google.gethashURL "" setpref browser.safebrowsing.provider.google.lists "" setpref browser.safebrowsing.provider.google.reportMalwareMistakeURL "" setpref browser.safebrowsing.provider.google.reportPhishMistakeURL "" setpref browser.safebrowsing.provider.google.reportURL "" setpref browser.safebrowsing.provider.google.updateURL "" setpref browser.safebrowsing.provider.google4.dataSharing.enabled false setpref browser.safebrowsing.provider.google4.dataSharingURL "" setpref browser.safebrowsing.provider.google4.reportMalwareMistakeURL "" setpref browser.safebrowsing.provider.google4.reportPhishMistakeURL "" setpref browser.safebrowsing.provider.google4.reportURL "" setpref browser.safebrowsing.provider.mozilla.gethashURL "" setpref browser.safebrowsing.provider.mozilla.updateURL "" setpref browser.safebrowsing.reportPhishURL "" setpref browser.safebrowsing.reportURL "" setpref browser.safebrowsing.updateURL "" setpref browser.search.region "US" setpref browser.search.suggest.enabled false setpref browser.send_pings false setpref browser.send_pings.require_same_host true setpref browser.sessionstore.restore_on_demand false setpref browser.shell.checkDefaultBrowser false setpref browser.startup.homepage "about:blank" setpref browser.startup.homepage_override.mstone "ignore" setpref browser.startup.page 3 setpref browser.tabs.closeWindowWithLastTab false setpref browser.tabs.remote.autostart.2 true setpref browser.uidensity 1 setpref browser.urlbar.placeholderName "" setpref browser.urlbar.trimURLs false setpref datareporting.healthreport.uploadEnabled false setpref datareporting.policy.dataSubmissionEnabled false setpref devtools.gcli.hideIntro true setpref devtools.scratchpad.enabled true setpref devtools.scratchpad.wrapText true setpref devtools.webide.autoinstallADBHelper false setpref devtools.webide.enabled false setpref extensions.formautofill.addresses.enabled false setpref extensions.formautofill.available "off" setpref extensions.formautofill.creditCards.enabled false setpref extensions.formautofill.heuristics.enabled false setpref extensions.pocket.enabled false setpref extensions.screenshots.disabled true setpref extensions.screenshots.upload-disabled true setpref extensions.webcompat-reporter.enabled false setpref extensions.webextensions.restrictedDomains "" setpref font.blacklist.underline_offset "" setpref general.warnOnAboutConfig false setpref geo.enabled false setpref geo.wifi.uri "" setpref intl.accept_languages "en-US, en" setpref intl.locale.requested "en-US" setpref intl.regional_prefs.use_os_locales false setpref javascript.use_us_english_locale true setpref layout.css.font-loading-api.enabled false setpref media.autoplay.default 1 setpref media.eme.enabled false setpref media.gmp-gmpopenh264.autoupdate false setpref media.gmp-gmpopenh264.enabled false setpref media.gmp-manager.updateEnabled false setpref media.gmp-manager.url "data:text/plain," setpref media.gmp-manager.url.override "data:text/plain," setpref media.gmp-provider.enabled false setpref media.gmp-widevinecdm.autoupdate false setpref media.gmp-widevinecdm.enabled false setpref media.gmp-widevinecdm.visible false setpref media.gmp.trial-create.enabled false " WebRTC. Might need to re-enable some day " setpref media.peerconnection.enabled false setpref network.IDN_show_punycode true setpref network.allow-experiments false setpref network.http.referer.XOriginPolicy 1 setpref network.http.referer.defaultPolicy 3 setpref network.http.referer.defaultPolicy.pbmode 2 setpref network.http.referer.spoofSource false setpref pdfjs.disabled true setpref permissions.default.geo 0 setpref plugin.default.state 0 setpref plugin.defaultXpi.state 0 setpref plugin.sessionPermissionNow.intervalInMinutes 0 setpref plugins.click_to_play true setpref privacy.firstparty.isolate true " Disabled until https://bugzilla.mozilla.org/show_bug.cgi?id=1450398 is fixed setpref privacy.resistFingerprinting false setpref privacy.resistFingerprinting.block_mozAddonManager true setpref privacy.userContext.enabled true setpref privacy.userContext.ui.enabled true setpref privacy.usercontext.about_newtab_segregation.enabled true setpref reader.parse-on-load.enabled false setpref security.dialog_enable_delay 500 setpref security.insecure_field_warning.contextual.enabled true setpref signon.autofillForms false setpref signon.rememberSignons false setpref toolkit.cosmeticAnimations.enabled false setpref toolkit.telemetry.archive.enabled false setpref toolkit.telemetry.bhrPing.enabled false setpref toolkit.telemetry.cachedClientID "" setpref toolkit.telemetry.enabled false setpref toolkit.telemetry.firstShutdownPing.enabled false setpref toolkit.telemetry.hybridContent.enabled false setpref toolkit.telemetry.newProfilePing.enabled false setpref toolkit.telemetry.server "data:," setpref toolkit.telemetry.shutdownPingSender.enabled false setpref toolkit.telemetry.unified false setpref toolkit.telemetry.updatePing.enabled false setpref ui.key.menuAccessKeyFocuses false