Has a few modes:
-t: Straight text replacement
-r: Regexp replacement
-q: Change a query's value to a new one
-Q: Delete a given query (and value if present)
-g: Graft a path onto the current URL (or a parent path of it)
These can be used direct on the command line, or bound to keybindings.
The idea is to allow commands to easily navigate around a website. For
example, navigating to a project's issues page on GitHub can be done
with a graft command, and changing an query is useful on sites like
eBay.
As a URL modification is generally site-specific, binding will be much
more useful with aucmds.
This is useful for suppressing spew, but still allowing easy debugging
when needed, without rebuilding.
To use, use excmd:
setlogginglevel <prefix> <level>
Where the level is one of:
- never: never log
- error
- warning
- info
- debug: most verbose
Output is directed to console methods "error", "warn", "log", "debug".
This adds the ability to save link targets or images. The save location
can be default, or the save as dialog can be invoked.
Somewhat sensible default filenames are provided.
Data URLs are also supported (though they need quite a bit of massaging
to get past the WebExt security limitations). Specificially, they need
to be round-tripped though a Blob, and must be saved from the background
context.
This is made possible by also allowing the second
argument to be "x" or "y". We supply "y" as the
default to retain the current, more commonly
desired behavior.
Other vim-likes map `q` and `quit` to `tabclose`, so let's
do the same to appease their muscle memory.
While we're at it, we can add `qa` as a shortcut for `qall`
(vim also supports this shorthand).
- Add `focusinput -n` and `focusinput -N`
- Press `gi` to focus input and enter inputmode
- When in inputmode, `Tab` to focus input after last focussed one, `Shift+Tab`
to focus input before last focussed one
- Reflowed text
- Added Matrix/Gitter chat badges
- Added Freenode badge and link
- Used static images for badges on help page to avoid external loads
- Inlined some links, rather than using [1] suffixes
Problem: When using home() to open the homepage, tridactyl opens the
default search engine instead.
Solution: This was due to calling open(homepages[-1]). Open recieved
`undefined` as argument, gave it to forceURI which returned the default
search engine URL. Replacing `-1` with `homepages.length-1` fixes the
issue.
Fixes issue https://github.com/cmcaine/tridactyl/issues/188
Problem: Yankshort didn't yank short urls on bugzilla.mozilla.org. This
was due to bugzilla.mozilla.org using an old, non-standard, non-html5
compliant way of advertising its short urls.
Solution: Make yankshort check if a rev="canonical" link exists if it
cannot find a rel="shortlink" url.
Fixes issue https://github.com/cmcaine/tridactyl/issues/172 .
This adds an excmd interface to the Web Speech API (TTS), which allows
users to read text out and set voice and parameters via config options.
Excmds:
- ttsread: reads out the given text or element content (CSS selected)
- ttsvoices: lists available voice names (can be used in the
'ttsvoice' option)
- ttscontrol: stops the current reading (should also pause/resume,
but that doesn't seem to work right now)
Config options:
- ttsvoice: the name of the voice to use
- ttsrate: (0.1-10)
- ttsvolume: (0-1)
- ttspitch: (0-2)
Also the ;r hint submode is added which reads the textcontent of the
element with the configured voice