mirror of
https://github.com/vale981/tridactyl
synced 2025-03-04 17:11:40 -05:00
Reformat readme, contributing, changelog and src/static using prettier
This commit is contained in:
parent
a132f0922e
commit
1efeb70c5e
10 changed files with 489 additions and 491 deletions
559
CHANGELOG.md
559
CHANGELOG.md
|
@ -2,355 +2,374 @@
|
||||||
|
|
||||||
## Release 1.13.0 / Unreleased
|
## Release 1.13.0 / Unreleased
|
||||||
|
|
||||||
- `fixamo` added: you can now use Tridactyl on addons.mozilla.org. Requires a `restart`.
|
* `fixamo` added: you can now use Tridactyl on addons.mozilla.org. Requires a `restart`.
|
||||||
|
|
||||||
- `editor` now includes the hostname of the site you are on in the temporary filename
|
* `editor` now includes the hostname of the site you are on in the temporary filename
|
||||||
- this is mostly so that you can set up syntax highlighting in Vim, e.g,
|
|
||||||
- `au BufReadPost *github.com* set syntax=pandoc`
|
|
||||||
|
|
||||||
- `native` support for Windows: just do what `installnative` tells you to
|
* this is mostly so that you can set up syntax highlighting in Vim, e.g,
|
||||||
- you'll probably want to make sure `gvim` is on your path
|
* `au BufReadPost *github.com* set syntax=pandoc`
|
||||||
|
|
||||||
- **Potentially breaking changes**
|
* `native` support for Windows: just do what `installnative` tells you to
|
||||||
- pipes in `composite` now send return values to the following ex command. Use semi-colons if you want the old behaviour back (see `bind D`).
|
|
||||||
- the `DocStart` now uses `String.prototype.search` for matching, so you can use regular expressions such as `/www\.amazon\.co.*/`
|
|
||||||
|
|
||||||
- Add internal functions for editing `user.js` - we'll probably add a nice interface to this some day.
|
* you'll probably want to make sure `gvim` is on your path
|
||||||
|
|
||||||
- Add `restart` command to restart Firefox.
|
* **Potentially breaking changes**
|
||||||
|
|
||||||
- Add new themes
|
* pipes in `composite` now send return values to the following ex command. Use semi-colons if you want the old behaviour back (see `bind D`).
|
||||||
- `shydactyl` and `greenmat`, covering both ends of the design spectrum.
|
* the `DocStart` now uses `String.prototype.search` for matching, so you can use regular expressions such as `/www\.amazon\.co.*/`
|
||||||
|
|
||||||
- Make themes apply to {newtab, mode indicator, tutor}
|
* Add internal functions for editing `user.js` - we'll probably add a nice interface to this some day.
|
||||||
|
|
||||||
- Add new internal structure for themes - check out contributing.md on the repository if you want to add your own
|
* Add `restart` command to restart Firefox.
|
||||||
- Adding themes at runtime is planned but some way off.
|
|
||||||
|
* Add new themes
|
||||||
|
|
||||||
|
* `shydactyl` and `greenmat`, covering both ends of the design spectrum.
|
||||||
|
|
||||||
|
* Make themes apply to {newtab, mode indicator, tutor}
|
||||||
|
|
||||||
|
* Add new internal structure for themes - check out contributing.md on the repository if you want to add your own
|
||||||
|
* Adding themes at runtime is planned but some way off.
|
||||||
|
|
||||||
## Release 1.12.0 / 2018-05-13
|
## Release 1.12.0 / 2018-05-13
|
||||||
|
|
||||||
- Add container support
|
* Add container support
|
||||||
- `hint` will now open links in the current container
|
* `hint` will now open links in the current container
|
||||||
- there is a new setting, `set tabopencontaineraware [false|true]`, which will make `tabopen` open new tabs in the current container
|
* there is a new setting, `set tabopencontaineraware [false|true]`, which will make `tabopen` open new tabs in the current container
|
||||||
- Add extra `<CA-Esc>` bind to toggle ignore mode by popular demand
|
* Add extra `<CA-Esc>` bind to toggle ignore mode by popular demand
|
||||||
- Fix errors related to missing native messenger on Firefox launch
|
* Fix errors related to missing native messenger on Firefox launch
|
||||||
|
|
||||||
## Release 1.11.2 / 2018-05-11
|
## Release 1.11.2 / 2018-05-11
|
||||||
|
|
||||||
- Hotfix to prevent "config undefined" errors on browser start if no rc file was found
|
* Hotfix to prevent "config undefined" errors on browser start if no rc file was found
|
||||||
- It was mysteriously only reproducible sometimes...
|
* It was mysteriously only reproducible sometimes...
|
||||||
- Make newtab changelog a bit wider
|
* Make newtab changelog a bit wider
|
||||||
|
|
||||||
## Release 1.11.1 / 2018-05-11
|
## Release 1.11.1 / 2018-05-11
|
||||||
|
|
||||||
- **Add "tridactylrc" support**
|
* **Add "tridactylrc" support**
|
||||||
- Stick a bunch of commands you want to run at startup in one of:
|
|
||||||
- `$XDG_CONFIG_DIR/tridactyl/tridactylrc`
|
|
||||||
- `~/.config/tridactyl/tridactylrc`
|
|
||||||
- `~/.tridactylrc`
|
|
||||||
- [Example file available here](https://github.com/cmcaine/tridactyl/blob/master/.tridactylrc)
|
|
||||||
- You can run any file you want with `source [absolute path to file]`. Bonus points if you can think of something sensible to do with `source` in an `autocmd`.
|
|
||||||
- If you want vim-style configuration where nothing persists except that which is in the rc file, simply add `sanitise tridactyllocal tridactylsync` to the top of your rc file.
|
|
||||||
- Only whole-line comments are supported at the moment, in the VimL style where lines start with a quote mark: "
|
|
||||||
|
|
||||||
- Native messenger updated to 0.1.3
|
* Stick a bunch of commands you want to run at startup in one of:
|
||||||
- Add rc file reader
|
* `$XDG_CONFIG_DIR/tridactyl/tridactylrc`
|
||||||
- Add ability to read environment variables
|
* `~/.config/tridactyl/tridactylrc`
|
||||||
- Make read understand ~ and environment variables (used in `source`)
|
* `~/.tridactylrc`
|
||||||
|
* [Example file available here](https://github.com/cmcaine/tridactyl/blob/master/.tridactylrc)
|
||||||
|
* You can run any file you want with `source [absolute path to file]`. Bonus points if you can think of something sensible to do with `source` in an `autocmd`.
|
||||||
|
* If you want vim-style configuration where nothing persists except that which is in the rc file, simply add `sanitise tridactyllocal tridactylsync` to the top of your rc file.
|
||||||
|
* Only whole-line comments are supported at the moment, in the VimL style where lines start with a quote mark: "
|
||||||
|
|
||||||
- Readme updated
|
* Native messenger updated to 0.1.3
|
||||||
- Add statistics page and `guiset`
|
|
||||||
|
|
||||||
- Bug fixes
|
* Add rc file reader
|
||||||
- `guiset` can now cope with multiple Firefox instances running simultaneously provided they are started with profiles explicitly via the command line.
|
* Add ability to read environment variables
|
||||||
|
* Make read understand ~ and environment variables (used in `source`)
|
||||||
|
|
||||||
- Deprecations
|
* Readme updated
|
||||||
- Remove buffers,tabs as promised
|
|
||||||
- Inform people pressing `I` of the new bind
|
* Add statistics page and `guiset`
|
||||||
|
|
||||||
|
* Bug fixes
|
||||||
|
|
||||||
|
* `guiset` can now cope with multiple Firefox instances running simultaneously provided they are started with profiles explicitly via the command line.
|
||||||
|
|
||||||
|
* Deprecations
|
||||||
|
* Remove buffers,tabs as promised
|
||||||
|
* Inform people pressing `I` of the new bind
|
||||||
|
|
||||||
## Release 1.11.0 / 2018-05-09
|
## Release 1.11.0 / 2018-05-09
|
||||||
|
|
||||||
- You can now edit the Firefox GUI from Tridactyl with `guiset`. You must restart Firefox after using `guiset` to see the effects.
|
* You can now edit the Firefox GUI from Tridactyl with `guiset`. You must restart Firefox after using `guiset` to see the effects.
|
||||||
- e.g, `guiset gui none` or `guiset gui full`.
|
|
||||||
- see all the options with `help guiset` and following the links.
|
|
||||||
- **Only minimally tested. Back up your precious userChrome.css if you care about it!**
|
|
||||||
|
|
||||||
- You can now choose to bypass [CSP](https://en.wikipedia.org/wiki/Content_Security_Policy) on all sites with `set csp clobber`. If you change your mind, just `unset csp`, and restart your browser.
|
* e.g, `guiset gui none` or `guiset gui full`.
|
||||||
- This, for example, allows Tridactyl to run on pages such as https://raw.githubusercontent.com/cmcaine/tridactyl/master/CHANGELOG.md, but it could also allow other scripts to run on pages, making the Internet as dangerous as it was about 2 or 3 years ago before CSP was introduced.
|
* see all the options with `help guiset` and following the links.
|
||||||
- Once this [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1267027) in Firefox is fixed, you won't have to clobber CSP.
|
* **Only minimally tested. Back up your precious userChrome.css if you care about it!**
|
||||||
|
|
||||||
- Tridactyl will no longer update while the browser is running in an attempt to fix issues where the add-on would be unresponsive after an update; instead, it will only update on browser launch.
|
* You can now choose to bypass [CSP](https://en.wikipedia.org/wiki/Content_Security_Policy) on all sites with `set csp clobber`. If you change your mind, just `unset csp`, and restart your browser.
|
||||||
- This includes manual updates via `about:addons`. You'll need to restart the browser after clicking "Check for updates".
|
|
||||||
|
|
||||||
- `set newtab news.bbc.co.uk` etc. now looks much less janky
|
* This, for example, allows Tridactyl to run on pages such as https://raw.githubusercontent.com/cmcaine/tridactyl/master/CHANGELOG.md, but it could also allow other scripts to run on pages, making the Internet as dangerous as it was about 2 or 3 years ago before CSP was introduced.
|
||||||
|
* Once this [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1267027) in Firefox is fixed, you won't have to clobber CSP.
|
||||||
|
|
||||||
- Minor new features
|
* Tridactyl will no longer update while the browser is running in an attempt to fix issues where the add-on would be unresponsive after an update; instead, it will only update on browser launch.
|
||||||
- Add !s alias for silent exclaim
|
|
||||||
- `termite` and `terminator` support with `set editorcmd auto`
|
|
||||||
- Allow binding <Esc> (not recommended...)
|
|
||||||
- AMO explains why we need each new permission
|
|
||||||
- Native messenger documentation improved, making it clear that we haven't reimplemented IRC in the browser.
|
|
||||||
|
|
||||||
- Minor bug fixes
|
* This includes manual updates via `about:addons`. You'll need to restart the browser after clicking "Check for updates".
|
||||||
- Remove pixel gap under command bar (#442)
|
|
||||||
- Native installer no longer requires pip and supports Debian's `which`
|
* `set newtab news.bbc.co.uk` etc. now looks much less janky
|
||||||
- Help page links are more legible on rubbish screens
|
|
||||||
- Turn 'q' and 'qall' into aliases
|
* Minor new features
|
||||||
- Fix typo regarding binding of special keys on help page
|
|
||||||
- `focusinput` is now better at finding elements to focus
|
* Add !s alias for silent exclaim
|
||||||
|
* `termite` and `terminator` support with `set editorcmd auto`
|
||||||
|
* Allow binding <Esc> (not recommended...)
|
||||||
|
* AMO explains why we need each new permission
|
||||||
|
* Native messenger documentation improved, making it clear that we haven't reimplemented IRC in the browser.
|
||||||
|
|
||||||
|
* Minor bug fixes
|
||||||
|
* Remove pixel gap under command bar (#442)
|
||||||
|
* Native installer no longer requires pip and supports Debian's `which`
|
||||||
|
* Help page links are more legible on rubbish screens
|
||||||
|
* Turn 'q' and 'qall' into aliases
|
||||||
|
* Fix typo regarding binding of special keys on help page
|
||||||
|
* `focusinput` is now better at finding elements to focus
|
||||||
|
|
||||||
## Release 1.10.1 / 2018-05-04
|
## Release 1.10.1 / 2018-05-04
|
||||||
|
|
||||||
- Add tabcloseallto{right,left} bound to `gx0` and `gx$`
|
* Add tabcloseallto{right,left} bound to `gx0` and `gx$`
|
||||||
- Update tab page and other documentation to reflect new ignore mode binding
|
* Update tab page and other documentation to reflect new ignore mode binding
|
||||||
- Fix #474: you can open a handful of about:* pages without the native messenger again
|
* Fix #474: you can open a handful of about:\* pages without the native messenger again
|
||||||
- Improve feedback when native messenger is not correctly installed
|
* Improve feedback when native messenger is not correctly installed
|
||||||
|
|
||||||
## Release 1.10.0 / 2018-05-03
|
## Release 1.10.0 / 2018-05-03
|
||||||
|
|
||||||
- Native messenger (for OSX/Linux only, for now)! On Linux/OSXRun `:installnative` to install, then:
|
* Native messenger (for OSX/Linux only, for now)! On Linux/OSXRun `:installnative` to install, then:
|
||||||
- `<Ctrl-I>` in a text field will open Vim, probably. Set it with `set editorcmd` but make sure that the command stays in the foreground till the programme is exited.
|
|
||||||
- Not all text fields work yet (esp CodeMirror), so make sure you test it before writing war and peace.
|
|
||||||
- `:! [shell command]` or `:exclaim [shell command]` will run the command and give you STDOUT/STDERR back in the command line.
|
|
||||||
- You can't use composite and shell pipes together yet.
|
|
||||||
- Anything that works in `/bin/sh` should work
|
|
||||||
- If you want to use a different shell, just make your own alias:
|
|
||||||
- `command ! exclaim fish -c` (but be aware that some shells require quotes around arguments given to -c)
|
|
||||||
- Requires a new permission to use the native messenger (and to use Tridactyl at all, unfortunately)
|
|
||||||
- `nativeopen` will try to open a new tab or window using the native messenger. It is used in `{,win,tab}open` automatically when you try to open about:* or file:* URIs.
|
|
||||||
|
|
||||||
- Add `hint -W [exstr]` to execute exstr on hint's href
|
* `<Ctrl-I>` in a text field will open Vim, probably. Set it with `set editorcmd` but make sure that the command stays in the foreground till the programme is exited.
|
||||||
- `hint -W exclaim_quiet mpv` works particularly well.
|
* Not all text fields work yet (esp CodeMirror), so make sure you test it before writing war and peace.
|
||||||
|
* `:! [shell command]` or `:exclaim [shell command]` will run the command and give you STDOUT/STDERR back in the command line.
|
||||||
|
* You can't use composite and shell pipes together yet.
|
||||||
|
* Anything that works in `/bin/sh` should work
|
||||||
|
* If you want to use a different shell, just make your own alias:
|
||||||
|
* `command ! exclaim fish -c` (but be aware that some shells require quotes around arguments given to -c)
|
||||||
|
* Requires a new permission to use the native messenger (and to use Tridactyl at all, unfortunately)
|
||||||
|
* `nativeopen` will try to open a new tab or window using the native messenger. It is used in `{,win,tab}open` automatically when you try to open about:_ or file:_ URIs.
|
||||||
|
|
||||||
- **Breaking change**: change ignore mode binds to be symmetric and resolve Jupyter conflict
|
* Add `hint -W [exstr]` to execute exstr on hint's href
|
||||||
- Ignore mode is now bound to `<S-Insert>` to enter and leave it.
|
|
||||||
- Previous binds of `I` and `<S-Esc>` are unbound
|
|
||||||
|
|
||||||
- More scrolling fixes
|
* `hint -W exclaim_quiet mpv` works particularly well.
|
||||||
- `G`/`gg` will now work on more sites
|
|
||||||
|
|
||||||
- Completion improvements
|
* **Breaking change**: change ignore mode binds to be symmetric and resolve Jupyter conflict
|
||||||
- History completion performance improved
|
|
||||||
- If you find you are getting worse results than usual, increase `set historyresults` to, e.g, 500.
|
|
||||||
- Fix #446: you can now edit completions you select with space
|
|
||||||
- Completions will now pan to show you what you have selected
|
|
||||||
|
|
||||||
- Mode indicator is now print friendly (#453)!
|
* Ignore mode is now bound to `<S-Insert>` to enter and leave it.
|
||||||
|
* Previous binds of `I` and `<S-Esc>` are unbound
|
||||||
|
|
||||||
- Fiddled with `help` theme
|
* More scrolling fixes
|
||||||
- We've tried to make it look a bit more like the old Vimperator help pages and have hidden some useless or misleading bits that TypeDoc produced, such as the return values.
|
|
||||||
|
|
||||||
- `viewsource` improved
|
* `G`/`gg` will now work on more sites
|
||||||
- Now bound to `gf` by default
|
|
||||||
- Fix viewsource elem not always covering the whole page
|
|
||||||
- Remove viewsource elem on spa history changes
|
|
||||||
|
|
||||||
- Bind help to F1
|
* Completion improvements
|
||||||
|
|
||||||
- Changelog changelog:
|
* History completion performance improved
|
||||||
- Change changelog date format
|
* If you find you are getting worse results than usual, increase `set historyresults` to, e.g, 500.
|
||||||
- Changelog: use standard case: changelog.md -> CHANGELOG.md
|
* Fix #446: you can now edit completions you select with space
|
||||||
- Changelog: move to the standard location
|
* Completions will now pan to show you what you have selected
|
||||||
- Changelog: add dates
|
|
||||||
|
|
||||||
- Misc fixes
|
* Mode indicator is now print friendly (#453)!
|
||||||
- Fix :open <empty string>. Fixes #421
|
|
||||||
- Filter AltGraph keys. Fixes #430
|
|
||||||
- Explain that the hint tags are typed in lowercase even though they are displayed in uppercase
|
|
||||||
|
|
||||||
|
* Fiddled with `help` theme
|
||||||
|
|
||||||
|
* We've tried to make it look a bit more like the old Vimperator help pages and have hidden some useless or misleading bits that TypeDoc produced, such as the return values.
|
||||||
|
|
||||||
|
* `viewsource` improved
|
||||||
|
|
||||||
|
* Now bound to `gf` by default
|
||||||
|
* Fix viewsource elem not always covering the whole page
|
||||||
|
* Remove viewsource elem on spa history changes
|
||||||
|
|
||||||
|
* Bind help to F1
|
||||||
|
|
||||||
|
* Changelog changelog:
|
||||||
|
|
||||||
|
* Change changelog date format
|
||||||
|
* Changelog: use standard case: changelog.md -> CHANGELOG.md
|
||||||
|
* Changelog: move to the standard location
|
||||||
|
* Changelog: add dates
|
||||||
|
|
||||||
|
* Misc fixes
|
||||||
|
* Fix :open <empty string>. Fixes #421
|
||||||
|
* Filter AltGraph keys. Fixes #430
|
||||||
|
* Explain that the hint tags are typed in lowercase even though they are displayed in uppercase
|
||||||
|
|
||||||
## Release 1.9.8 / 2018-04-26
|
## Release 1.9.8 / 2018-04-26
|
||||||
|
|
||||||
- Make error reporting to command line less fussy
|
* Make error reporting to command line less fussy
|
||||||
- Fix error reporting loop with `noiframeon`
|
* Fix error reporting loop with `noiframeon`
|
||||||
|
|
||||||
## Release 1.9.7 / 2018-04-25
|
## Release 1.9.7 / 2018-04-25
|
||||||
|
|
||||||
- Load iframe more lazily to stop breakage on some sites
|
* Load iframe more lazily to stop breakage on some sites
|
||||||
- Add setting `noiframeon` for websites that are still broken by our iframe ("ServiceNow", for example: #279)
|
* Add setting `noiframeon` for websites that are still broken by our iframe ("ServiceNow", for example: #279)
|
||||||
- Simply `set noiframeon [space separated URLs]` to blacklist URLs
|
* Simply `set noiframeon [space separated URLs]` to blacklist URLs
|
||||||
- This will hopefully be our final release before the native messenger for OSX and Linux is merged.
|
* This will hopefully be our final release before the native messenger for OSX and Linux is merged.
|
||||||
- If you'd like to help test it out, download our latest betas from [here](https://tridactyl.cmcaine.co.uk/betas) and run `:installnative` once you are in.
|
* If you'd like to help test it out, download our latest betas from [here](https://tridactyl.cmcaine.co.uk/betas) and run `:installnative` once you are in.
|
||||||
|
|
||||||
## Release 1.9.6 / 2018-04-25
|
## Release 1.9.6 / 2018-04-25
|
||||||
|
|
||||||
- Scrolling improvements
|
* Scrolling improvements
|
||||||
- Faster (#395)
|
* Faster (#395)
|
||||||
- `G`/`gg` work on more pages (#382)
|
* `G`/`gg` work on more pages (#382)
|
||||||
- Mode indicator improvements
|
* Mode indicator improvements
|
||||||
- Can be disabled with `set modeindicator false`
|
* Can be disabled with `set modeindicator false`
|
||||||
- Text is not selectable to improve the lives of people who "Select All" a lot
|
* Text is not selectable to improve the lives of people who "Select All" a lot
|
||||||
- Internal error messages are now displayed in the command line
|
* Internal error messages are now displayed in the command line
|
||||||
- New default alias `:h` for `:help`
|
* New default alias `:h` for `:help`
|
||||||
- Bug fixes
|
* Bug fixes
|
||||||
- Fix #418: keyseq is better at realising when a key combination is invalid
|
* Fix #418: keyseq is better at realising when a key combination is invalid
|
||||||
|
|
||||||
## Release 1.9.5 / 2018-04-22
|
## Release 1.9.5 / 2018-04-22
|
||||||
|
|
||||||
- Add mode indicator
|
* Add mode indicator
|
||||||
- Fix #337: Make `composite` and ex-parser more sequential
|
* Fix #337: Make `composite` and ex-parser more sequential
|
||||||
- Add `D` binding: close current tab and `tabprev`
|
* Add `D` binding: close current tab and `tabprev`
|
||||||
- Bug fixes
|
* Bug fixes
|
||||||
- Fix `tab` in inputmode
|
* Fix `tab` in inputmode
|
||||||
- Catch CSP exception when hijacking
|
* Catch CSP exception when hijacking
|
||||||
|
|
||||||
## Release 1.9.4 / 2018-04-20
|
## Release 1.9.4 / 2018-04-20
|
||||||
|
|
||||||
- Add jumplist for inputs bound to `g;`
|
* Add jumplist for inputs bound to `g;`
|
||||||
- Editor's impartial note: this is pretty cool
|
* Editor's impartial note: this is pretty cool
|
||||||
- Add `hint -W [exstr]` to execute exstr on hint's href
|
* Add `hint -W [exstr]` to execute exstr on hint's href
|
||||||
- Update new tab page:
|
* Update new tab page:
|
||||||
- Add changelog
|
* Add changelog
|
||||||
- Remove welcome to new users as we have `tutor` for that now
|
* Remove welcome to new users as we have `tutor` for that now
|
||||||
- Fix newtab redirection on `set newtab [url]`
|
* Fix newtab redirection on `set newtab [url]`
|
||||||
- `set newtab about:blank` now works thanks to a Mozilla bug fix!
|
* `set newtab about:blank` now works thanks to a Mozilla bug fix!
|
||||||
- Warn users about native messenger update
|
* Warn users about native messenger update
|
||||||
- Bug fixes
|
* Bug fixes
|
||||||
- input-mode now correctly exits to normal mode on focus loss
|
* input-mode now correctly exits to normal mode on focus loss
|
||||||
- Stop treating "std::map" or "Error: foo" as URIs: searching for them will now work.
|
* Stop treating "std::map" or "Error: foo" as URIs: searching for them will now work.
|
||||||
|
|
||||||
## Release 1.9.3 / 2018-04-19
|
## Release 1.9.3 / 2018-04-19
|
||||||
|
|
||||||
- Fix unbind issues
|
* Fix unbind issues
|
||||||
- Add more default binds from Vimperator
|
* Add more default binds from Vimperator
|
||||||
- Change the `^` bind to `<c-6>` (matches vim)
|
* Change the `^` bind to `<c-6>` (matches vim)
|
||||||
- :bmark now supports folders
|
* :bmark now supports folders
|
||||||
|
|
||||||
## Release 1.9.2 / 2018-04-16
|
## Release 1.9.2 / 2018-04-16
|
||||||
|
|
||||||
- Fix #392 (bug with keyseq)
|
* Fix #392 (bug with keyseq)
|
||||||
|
|
||||||
## Release 1.9.1 / 2018-04-15
|
## Release 1.9.1 / 2018-04-15
|
||||||
|
|
||||||
- Fix buffer switch bind
|
* Fix buffer switch bind
|
||||||
|
|
||||||
## Release 1.9.0 / 2018-04-15
|
## Release 1.9.0 / 2018-04-15
|
||||||
|
|
||||||
- Allow binds with modifiers (e.g. `<C-u>`) and binds of special keys (e.g. `<F1>`) and both together (e.g. `<SA-Escape>`)
|
* Allow binds with modifiers (e.g. `<C-u>`) and binds of special keys (e.g. `<F1>`) and both together (e.g. `<SA-Escape>`)
|
||||||
- Normal mode now only hides keypresses that you've told it to listen to from the web page
|
* Normal mode now only hides keypresses that you've told it to listen to from the web page
|
||||||
- Improve documentation
|
* Improve documentation
|
||||||
- Update readme
|
* Update readme
|
||||||
- Improve help on excmds.ts
|
* Improve help on excmds.ts
|
||||||
- Update AMO text (includes explanation of why various permissions are demanded)
|
* Update AMO text (includes explanation of why various permissions are demanded)
|
||||||
- Add tutorial on `tutor`
|
* Add tutorial on `tutor`
|
||||||
- Shown on first install of Tridactyl
|
* Shown on first install of Tridactyl
|
||||||
- Add `viewconfig` command to open the current configuration in Firefox's native JSON viewer (which Tridactyl doesn't work in)
|
* Add `viewconfig` command to open the current configuration in Firefox's native JSON viewer (which Tridactyl doesn't work in)
|
||||||
- [Move betas to our own site](https://tridactyl.cmcaine.co.uk/betas) as addons.mozilla.org stopped supporting them (#307)
|
* [Move betas to our own site](https://tridactyl.cmcaine.co.uk/betas) as addons.mozilla.org stopped supporting them (#307)
|
||||||
- Add automatic updates for betas
|
* Add automatic updates for betas
|
||||||
- If you downloaded a beta before pre778, you will need to update manually to a later beta.
|
* If you downloaded a beta before pre778, you will need to update manually to a later beta.
|
||||||
- Small new features
|
* Small new features
|
||||||
- Fix #370: add `clipboard yanktitle|yankmd`
|
* Fix #370: add `clipboard yanktitle|yankmd`
|
||||||
- Add `fullscreen` command (not quite #376)
|
* Add `fullscreen` command (not quite #376)
|
||||||
- Add `viewsource` command
|
* Add `viewsource` command
|
||||||
- `set allowautofocus false` to stop pages stealing focus on load (#266, #369)
|
* `set allowautofocus false` to stop pages stealing focus on load (#266, #369)
|
||||||
- `^` now switches to last used tab by default
|
* `^` now switches to last used tab by default
|
||||||
- In command mode, `Space` now puts the URL from the selected completion into the command line (#224)
|
* In command mode, `Space` now puts the URL from the selected completion into the command line (#224)
|
||||||
- Add find mode, left unbound by default
|
* Add find mode, left unbound by default
|
||||||
- Not ready for widespread usage: slow and probably buggy.
|
* Not ready for widespread usage: slow and probably buggy.
|
||||||
- `hint -wp` to open hint in a private window (#317)
|
* `hint -wp` to open hint in a private window (#317)
|
||||||
- Configuration can now upgrade itself to allow us to rename settings
|
* Configuration can now upgrade itself to allow us to rename settings
|
||||||
- Add dark theme: `set theme dark` (#230)
|
* Add dark theme: `set theme dark` (#230)
|
||||||
- Tab opening settings for `tabopen` (#342)
|
* Tab opening settings for `tabopen` (#342)
|
||||||
- `set {related,tab}openpos next|last`
|
* `set {related,tab}openpos next|last`
|
||||||
- Stuff only collaborators will care about
|
* Stuff only collaborators will care about
|
||||||
- Code is now run through the prettier formatter before each commit
|
* Code is now run through the prettier formatter before each commit
|
||||||
- Moderately large bug fixes
|
* Moderately large bug fixes
|
||||||
- Fix scrolling on sites that use frames (#372, #63, #107, #273, #218)
|
* Fix scrolling on sites that use frames (#372, #63, #107, #273, #218)
|
||||||
- Fix hinting on sites with frames (#67)
|
* Fix hinting on sites with frames (#67)
|
||||||
- Hijack event listeners to put hints on more JavaScript links (#204, #163, #215)
|
* Hijack event listeners to put hints on more JavaScript links (#204, #163, #215)
|
||||||
- Small bug fixes
|
* Small bug fixes
|
||||||
- Fix #276: ]] on Hacker News
|
* Fix #276: ]] on Hacker News
|
||||||
- Support #/% index for tabs everywhere internally
|
* Support #/% index for tabs everywhere internally
|
||||||
- Fix #341: `tabclose #` now works
|
* Fix #341: `tabclose #` now works
|
||||||
- Reduce logging
|
* Reduce logging
|
||||||
- Rename some config:
|
* Rename some config:
|
||||||
- Rename vimium-gi to gimode, default to firefox, version to configversion
|
* Rename vimium-gi to gimode, default to firefox, version to configversion
|
||||||
- Fix hinting following JavaScript links because they look the same
|
* Fix hinting following JavaScript links because they look the same
|
||||||
- Introduce new bugs
|
* Introduce new bugs
|
||||||
- Show useless hints on some sites (#225)
|
* Show useless hints on some sites (#225)
|
||||||
- and more!
|
* and more!
|
||||||
|
|
||||||
## Release 1.8.2 / 2018-03-07
|
## Release 1.8.2 / 2018-03-07
|
||||||
|
|
||||||
- Improve config API
|
* Improve config API
|
||||||
- `set key.subkey.subsubkey value` now works
|
* `set key.subkey.subsubkey value` now works
|
||||||
- Add user feedback to `bind` and `get`
|
* Add user feedback to `bind` and `get`
|
||||||
- Add save link/img hint submode (;s, ;S, ;a, ;A) (#148)
|
* Add save link/img hint submode (;s, ;S, ;a, ;A) (#148)
|
||||||
- Add `autocmd [event] [filter] [ex command]`
|
* Add `autocmd [event] [filter] [ex command]`
|
||||||
- Currently, only supports the event `DocStart`
|
* Currently, only supports the event `DocStart`
|
||||||
- Most useful for entering ignore mode on certain websites: `autocmd DocStart mail.google.com mode ignore`
|
* Most useful for entering ignore mode on certain websites: `autocmd DocStart mail.google.com mode ignore`
|
||||||
- Add exmode aliases with `command [alias] [ex_command]`. Many aliases have been ported from Pentadactyl. (#236)
|
* Add exmode aliases with `command [alias] [ex_command]`. Many aliases have been ported from Pentadactyl. (#236)
|
||||||
- Add urlmodify command (#286, #298)
|
* Add urlmodify command (#286, #298)
|
||||||
- Support Emacs-style C-(a|e|k|u) in cmdline (#277)
|
* Support Emacs-style C-(a|e|k|u) in cmdline (#277)
|
||||||
- Support changing followpage pattern used in `]]` and `[[` to allow use with foreign languages
|
* Support changing followpage pattern used in `]]` and `[[` to allow use with foreign languages
|
||||||
- Add logging levels and make logging less verbose by default (#206)
|
* Add logging levels and make logging less verbose by default (#206)
|
||||||
- Support %s magic string for search providers (#253)
|
* Support %s magic string for search providers (#253)
|
||||||
- Add hintfiltermode config and new "vimperator, vimperator-reflow" hinting modes
|
* Add hintfiltermode config and new "vimperator, vimperator-reflow" hinting modes
|
||||||
- Make hintPage follow link if there's only 1 option
|
* Make hintPage follow link if there's only 1 option
|
||||||
- Fix high resource usage when typing under some circumstances (#311)
|
* Fix high resource usage when typing under some circumstances (#311)
|
||||||
- `set newtab foo.bar` now changes all new tab pages (#235)
|
* `set newtab foo.bar` now changes all new tab pages (#235)
|
||||||
- Fix hints on some sites via cleanslate.css (#220)
|
* Fix hints on some sites via cleanslate.css (#220)
|
||||||
- Fix new config system (#321)
|
* Fix new config system (#321)
|
||||||
- followpage now falls back to urlincrement
|
* followpage now falls back to urlincrement
|
||||||
- `tabopen` now opens tabs to the right of the current tab
|
* `tabopen` now opens tabs to the right of the current tab
|
||||||
- Fix floating commandline iframe on some sites (#289)
|
* Fix floating commandline iframe on some sites (#289)
|
||||||
- Enter insert mode on drop down menus (#281)
|
* Enter insert mode on drop down menus (#281)
|
||||||
- Support hinting on some dodgy old websites (#287)
|
* Support hinting on some dodgy old websites (#287)
|
||||||
- Make :reloadall only refresh current window tabs (#288)
|
* Make :reloadall only refresh current window tabs (#288)
|
||||||
- Remove `xx` binding (#262)
|
* Remove `xx` binding (#262)
|
||||||
- Fix gu in directories (#256)
|
* Fix gu in directories (#256)
|
||||||
- Fix various typos (#247, #228)
|
* Fix various typos (#247, #228)
|
||||||
- Add FAQ and other updates to readme.md (#232)
|
* Add FAQ and other updates to readme.md (#232)
|
||||||
|
|
||||||
## Release 1.7.3 / 2017-12-21
|
## Release 1.7.3 / 2017-12-21
|
||||||
|
|
||||||
- Hint tags are much better:
|
* Hint tags are much better:
|
||||||
- Hint tags are now as short as possible
|
* Hint tags are now as short as possible
|
||||||
- Remove now disused `hintorder` setting
|
* Remove now disused `hintorder` setting
|
||||||
- Add `.` to repeat last action
|
* Add `.` to repeat last action
|
||||||
- Add inputmode: `gi` and then `Tab` will cycle you between all input fields on a page
|
* Add inputmode: `gi` and then `Tab` will cycle you between all input fields on a page
|
||||||
- Add hint kill submode `;k` for removing elements of a webpage such as dickbars
|
* Add hint kill submode `;k` for removing elements of a webpage such as dickbars
|
||||||
- Add relative zoom and `z{i,z,o}` binds
|
* Add relative zoom and `z{i,z,o}` binds
|
||||||
- Add `sanitize` excmd for deleting browsing/Tridactyl data
|
* Add `sanitize` excmd for deleting browsing/Tridactyl data
|
||||||
- Search engines:
|
* Search engines:
|
||||||
- Add `searchsetkeyword [keyword] [url]`: define your own search engines (#194)
|
* Add `searchsetkeyword [keyword] [url]`: define your own search engines (#194)
|
||||||
- Add Qwant and update startpage URL (#198)
|
* Add Qwant and update startpage URL (#198)
|
||||||
- Add Google Scholar search engine
|
* Add Google Scholar search engine
|
||||||
- Fix problems where ignore mode would revert to normal mode on some websites with iframes (#176)
|
* Fix problems where ignore mode would revert to normal mode on some websites with iframes (#176)
|
||||||
- Add ^ and $ in normal mode for navigation to 0% or 100% in x-direction
|
* Add ^ and $ in normal mode for navigation to 0% or 100% in x-direction
|
||||||
- Buffer completion fixes
|
* Buffer completion fixes
|
||||||
- Use tab ID even if buffer has a trailing space (#223)
|
* Use tab ID even if buffer has a trailing space (#223)
|
||||||
- completions: passthrough # in buffercompletion
|
* completions: passthrough # in buffercompletion
|
||||||
- Support multiple URLs for quickmarks
|
* Support multiple URLs for quickmarks
|
||||||
- Blacklist default newtab url from history completions
|
* Blacklist default newtab url from history completions
|
||||||
- Fix `set newtab` failing to set newtab
|
* Fix `set newtab` failing to set newtab
|
||||||
- Add `q`, `qa`, and `quit` synonyms
|
* Add `q`, `qa`, and `quit` synonyms
|
||||||
- Fix `unset` failing to take effect without reloading page
|
* Fix `unset` failing to take effect without reloading page
|
||||||
- Minor improvements to `help` preface
|
* Minor improvements to `help` preface
|
||||||
- Add <summary> tags to standard hinting
|
* Add <summary> tags to standard hinting
|
||||||
- Log an error to browser console if no TTS voices are found
|
* Log an error to browser console if no TTS voices are found
|
||||||
|
|
||||||
## Release 1.7.0 / 2017-12-01
|
## Release 1.7.0 / 2017-12-01
|
||||||
|
|
||||||
- History completion is massively improved: much faster, more relevant results, and less janky as you type.
|
* History completion is massively improved: much faster, more relevant results, and less janky as you type.
|
||||||
- User configuration
|
* User configuration
|
||||||
- set [setting] without a value will inform you of the current value
|
* set [setting] without a value will inform you of the current value
|
||||||
- Add configuration options for hinting: `hintchars` and `hintorder`
|
* Add configuration options for hinting: `hintchars` and `hintorder`
|
||||||
- Add unset for resetting a bind to default
|
* Add unset for resetting a bind to default
|
||||||
- You can now change default search engine with e.g, `set searchengine bing` (#60)
|
* You can now change default search engine with e.g, `set searchengine bing` (#60)
|
||||||
- The default new tab page can be replaced with any URL via `set newtab [url]` (#59)
|
* The default new tab page can be replaced with any URL via `set newtab [url]` (#59)
|
||||||
- Add `gh` and `gH` and "homepages" setting (#96)
|
* Add `gh` and `gH` and "homepages" setting (#96)
|
||||||
- Shift-tab and tab now will cycle around completions correctly
|
* Shift-tab and tab now will cycle around completions correctly
|
||||||
- `ys` now works on some older pages
|
* `ys` now works on some older pages
|
||||||
- Add bmarks command for searching through bookmarks (#167)
|
* Add bmarks command for searching through bookmarks (#167)
|
||||||
- Add `hint -c [selector]`: add hints that match CSS selector
|
* Add `hint -c [selector]`: add hints that match CSS selector
|
||||||
- Add text-to-speech hint mode on `;r`
|
* Add text-to-speech hint mode on `;r`
|
||||||
- Allow `;p` to yank any element which contains text
|
* Allow `;p` to yank any element which contains text
|
||||||
- Add `;#` hint yank anchor mode
|
* Add `;#` hint yank anchor mode
|
||||||
- Improve hint CSS by adding a border and making background semi-transparent
|
* Improve hint CSS by adding a border and making background semi-transparent
|
||||||
- Add `tabonly` command
|
* Add `tabonly` command
|
||||||
- Fix hinting mysteriously not working on some pages (#168)
|
* Fix hinting mysteriously not working on some pages (#168)
|
||||||
- Fix issue where command line would invisibly cover up part of the screen (#170)
|
* Fix issue where command line would invisibly cover up part of the screen (#170)
|
||||||
- Bookmarks can now have spaces in their titles
|
* Bookmarks can now have spaces in their titles
|
||||||
- Fix some hints on sites such as pcgamer.co.uk
|
* Fix some hints on sites such as pcgamer.co.uk
|
||||||
- Long page titles will no longer appear after URLs in completions
|
* Long page titles will no longer appear after URLs in completions
|
||||||
|
|
|
@ -6,42 +6,39 @@ Tridactyl is very lucky to have a wide base of contributors, 30 at the time of w
|
||||||
|
|
||||||
### Quick tasks (~10 minutes)
|
### Quick tasks (~10 minutes)
|
||||||
|
|
||||||
- Leave a review on [addons.mozilla.org][amoreviews] (very few people do this :( )
|
* Leave a review on [addons.mozilla.org][amoreviews] (very few people do this :( )
|
||||||
- Tell your friends about us :)
|
* Tell your friends about us :)
|
||||||
- Read through [readme.md][readme], our [newtab.md][newtab] or our page on [addons.mozilla.org][amo] and see if anything looks out of date. If it does, file an issue or fork the repository (button in top right), fix it yourself (you can edit it using the pencil icon), and make a pull request.
|
* Read through [readme.md][readme], our [newtab.md][newtab] or our page on [addons.mozilla.org][amo] and see if anything looks out of date. If it does, file an issue or fork the repository (button in top right), fix it yourself (you can edit it using the pencil icon), and make a pull request.
|
||||||
|
|
||||||
### Quick tasks (~30 minutes)
|
### Quick tasks (~30 minutes)
|
||||||
|
|
||||||
- Run through `:tutor` and [tell us what you think][tutor] or make changes directly.
|
* Run through `:tutor` and [tell us what you think][tutor] or make changes directly.
|
||||||
|
|
||||||
## Programming (1 hour+)
|
## Programming (1 hour+)
|
||||||
|
|
||||||
- Take a look through the [open issues][issues] and then check with [pull requests][prs] to make sure that someone isn't already working on it. Please post in an issue to say that you're working on it.
|
* Take a look through the [open issues][issues] and then check with [pull requests][prs] to make sure that someone isn't already working on it. Please post in an issue to say that you're working on it.
|
||||||
- If you don't have much experience with JavaScript or WebExtensions, we purposefully leave some particularly simple issues open so that people can get started, and give them the tag [good first issue][easyissues]. Feel free to ask us any questions about the build process on [Matrix][Matrix].
|
* If you don't have much experience with JavaScript or WebExtensions, we purposefully leave some particularly simple issues open so that people can get started, and give them the tag [good first issue][easyissues]. Feel free to ask us any questions about the build process on [Matrix][matrix].
|
||||||
- If you have experience with JavaScript or WebExtensions, please look through the issues tagged [help wanted][helpus] as we're really stuck on them.
|
* If you have experience with JavaScript or WebExtensions, please look through the issues tagged [help wanted][helpus] as we're really stuck on them.
|
||||||
- You could work on some feature that you really want to see in Tridactyl that we haven't even thought of yet.
|
* You could work on some feature that you really want to see in Tridactyl that we haven't even thought of yet.
|
||||||
- Our build process is a bit convoluted, but [excmds.ts][excmds] is probably where you want to start. Most of the business happens there.
|
* Our build process is a bit convoluted, but [excmds.ts][excmds] is probably where you want to start. Most of the business happens there.
|
||||||
- We use TypeDoc to produce the `:help` page. Look at the other functions in [excmds.ts][excmds] to get an idea of how to use it; if your function is not supposed to called from the command line, then please add `/** @hidden */` above it to prevent it being shown on the help page.
|
* We use TypeDoc to produce the `:help` page. Look at the other functions in [excmds.ts][excmds] to get an idea of how to use it; if your function is not supposed to called from the command line, then please add `/** @hidden */` above it to prevent it being shown on the help page.
|
||||||
- Our pre-commit hook runs prettier to format your code. Please don't circumvent it.
|
* Our pre-commit hook runs prettier to format your code. Please don't circumvent it.
|
||||||
|
|
||||||
If you are making a substantial or potentially controversial change, your first port of call should be to stop by and chat to us on [Matrix][Matrix] or file an issue to discuss what you would like to change. We really don't want you to waste time on a pull request (GitHub jargon for a contribution) that has no chance of being merged; that said, we are probably happy to gate even the most controversial changes behind an option.
|
If you are making a substantial or potentially controversial change, your first port of call should be to stop by and chat to us on [Matrix][matrix] or file an issue to discuss what you would like to change. We really don't want you to waste time on a pull request (GitHub jargon for a contribution) that has no chance of being merged; that said, we are probably happy to gate even the most controversial changes behind an option.
|
||||||
|
|
||||||
# Add another theme (30 minutes+)
|
# Add another theme (30 minutes+)
|
||||||
|
|
||||||
Take a look in src/static/themes to get an idea of what to do. There is a reasonable amount of magic going on:
|
Take a look in src/static/themes to get an idea of what to do. There is a reasonable amount of magic going on:
|
||||||
|
|
||||||
- All of your styles must be prefixed with `:root.TridactylTheme[Name]`. If your theme is called `bobstheme`, the selector mentioned must be `:root.TridactylThemeBobstheme` (note the capitalisation).
|
* All of your styles must be prefixed with `:root.TridactylTheme[Name]`. If your theme is called `bobstheme`, the selector mentioned must be `:root.TridactylThemeBobstheme` (note the capitalisation).
|
||||||
- All of your CSS will be injected into all pages, so it is important that is fenced off in this manner.
|
* All of your CSS will be injected into all pages, so it is important that is fenced off in this manner.
|
||||||
- `default.css` has loads of variables that you can use to make it easier for you to style things, and for your theme to apply to new elements that did not exist when you wrote your theme. It is advised that you make as much use of these as possible.
|
* `default.css` has loads of variables that you can use to make it easier for you to style things, and for your theme to apply to new elements that did not exist when you wrote your theme. It is advised that you make as much use of these as possible.
|
||||||
|
|
||||||
|
|
||||||
# Code of conduct
|
# Code of conduct
|
||||||
|
|
||||||
[Queensberry rules](https://en.oxforddictionaries.com/definition/queensberry_rules).
|
[Queensberry rules](https://en.oxforddictionaries.com/definition/queensberry_rules).
|
||||||
|
|
||||||
|
[matrix]: https://riot.im/app/#/room/#tridactyl:matrix.org
|
||||||
|
|
||||||
[Matrix]: https://riot.im/app/#/room/#tridactyl:matrix.org
|
|
||||||
[issues]: https://github.com/cmcaine/tridactyl/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+
|
[issues]: https://github.com/cmcaine/tridactyl/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+
|
||||||
[easyissues]: https://github.com/cmcaine/tridactyl/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
|
[easyissues]: https://github.com/cmcaine/tridactyl/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
|
||||||
[helpus]: https://github.com/cmcaine/tridactyl/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
|
[helpus]: https://github.com/cmcaine/tridactyl/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
|
||||||
|
|
206
readme.md
206
readme.md
|
@ -20,122 +20,105 @@ If you're enjoying Tridactyl, or not, please leave a review on the [AMO](https:/
|
||||||
|
|
||||||
## Highlighted features
|
## Highlighted features
|
||||||
|
|
||||||
Like Vim, Tridactyl is modal, with the default mode being "normal mode". In
|
Like Vim, Tridactyl is modal, with the default mode being "normal mode". In "normal mode", many functions are available using keybindings. In "command mode" (when the command line is shown), you can execute more complex commands, known as "ex-commands". All Tridactyl functionality can be accessed by ex-commands. You can bind any ex-command to a normal-mode shortcut. We also support a `.tridactylrc` file, of which there is an example in the root of this repository.
|
||||||
"normal mode", many functions are available using keybindings. In "command
|
|
||||||
mode" (when the command line is shown), you can execute more complex commands,
|
|
||||||
known as "ex-commands". All Tridactyl functionality can be accessed by
|
|
||||||
ex-commands. You can bind any ex-command to a normal-mode shortcut. We also support a `.tridactylrc` file, of which there is an example in the root of this repository.
|
|
||||||
|
|
||||||
### Default normal-mode bindings
|
### Default normal-mode bindings
|
||||||
|
|
||||||
This is a (non-exhaustive) list of the most common normal-mode bindings. Type
|
This is a (non-exhaustive) list of the most common normal-mode bindings. Type `:help` to open the online help for more details.
|
||||||
`:help` to open the online help for more details.
|
|
||||||
|
|
||||||
- `:` — activate the command line
|
* `:` — activate the command line
|
||||||
- `Shift` + `Insert` — enter "ignore mode". Press `Shift` + `Insert` again to
|
* `Shift` + `Insert` — enter "ignore mode". Press `Shift` + `Insert` again to return to "normal mode".
|
||||||
return to "normal mode".
|
* `ZZ` — close all tabs and windows, but only "save" them if your about:preferences are set to "show your tabs and windows from last time"
|
||||||
- `ZZ` — close all tabs and windows, but only "save" them if your
|
* `.` — repeat the last command
|
||||||
about:preferences are set to "show your tabs and windows from last time"
|
|
||||||
- `.` — repeat the last command
|
|
||||||
|
|
||||||
#### Navigating with the current page
|
#### Navigating with the current page
|
||||||
|
|
||||||
- `j`/`k` — scroll down/up
|
* `j`/`k` — scroll down/up
|
||||||
- `h`/`l` — scroll left/right
|
* `h`/`l` — scroll left/right
|
||||||
- `^`/`$` — scroll to left/right margin
|
* `^`/`$` — scroll to left/right margin
|
||||||
- `gg`/`G` — scroll to start/end of page
|
* `gg`/`G` — scroll to start/end of page
|
||||||
- `f`/`F` — enter "hint mode" to select a link to follow. `F` to open in a
|
* `f`/`F` — enter "hint mode" to select a link to follow. `F` to open in a background tab (note: hint characters should be typed in lowercase)
|
||||||
background tab (note: hint characters should be typed in lowercase)
|
* `gi` — scroll to and focus the last-used input on the page
|
||||||
- `gi` — scroll to and focus the last-used input on the page
|
* `r`/`R` — reload page or hard reload page
|
||||||
- `r`/`R` — reload page or hard reload page
|
* `yy` — copy the current page URL to the clipboard
|
||||||
- `yy` — copy the current page URL to the clipboard
|
* `[[`/`]]` — navigate forward/backward though paginated pages, for example comics, multi-part articles, search result pages, etc.
|
||||||
- `[[`/`]]` — navigate forward/backward though paginated pages, for example
|
* `]c`/`[c` — increment/decrement the current URL by 1
|
||||||
comics, multi-part articles, search result pages, etc.
|
* `gu` — go to the parent of the current URL
|
||||||
- `]c`/`[c` — increment/decrement the current URL by 1
|
* `gU` — go to the root domain of the current URL
|
||||||
- `gu` — go to the parent of the current URL
|
* `gr` — open Firefox reader mode (note: Tridactyl will not work in this mode)
|
||||||
- `gU` — go to the root domain of the current URL
|
* `zi`/`zo`/`zz` — zoom in/out/reset zoom
|
||||||
- `gr` — open Firefox reader mode (note: Tridactyl will not work in this mode)
|
|
||||||
- `zi`/`zo`/`zz` — zoom in/out/reset zoom
|
|
||||||
|
|
||||||
#### Find mode
|
#### Find mode
|
||||||
|
|
||||||
Find mode is still incomplete and uses the built-in Firefox search. This will
|
Find mode is still incomplete and uses the built-in Firefox search. This will be improved eventually.
|
||||||
be improved eventually.
|
|
||||||
|
|
||||||
- `/` — open the find search box
|
* `/` — open the find search box
|
||||||
- `C-g`/`C-G` — find the next/previous instance of the last find operation
|
* `C-g`/`C-G` — find the next/previous instance of the last find operation (note: these are the standard Firefox shortcuts)
|
||||||
(note: these are the standard Firefox shortcuts)
|
|
||||||
|
|
||||||
#### Bookmarks and quickmarks
|
#### Bookmarks and quickmarks
|
||||||
|
|
||||||
- `A` — bookmark the current page
|
* `A` — bookmark the current page
|
||||||
- `a` — bookmark the current page, but allow the URL to be modified first
|
* `a` — bookmark the current page, but allow the URL to be modified first
|
||||||
- `M<key>` — bind a quickmark to the given key
|
* `M<key>` — bind a quickmark to the given key
|
||||||
- `go<key>`/`gn<key>`/`gw<key>` — open a given quickmark in current tab/new tab/new window
|
* `go<key>`/`gn<key>`/`gw<key>` — open a given quickmark in current tab/new tab/new window
|
||||||
|
|
||||||
#### Navigating to new pages:
|
#### Navigating to new pages:
|
||||||
|
|
||||||
- `o`/`O` — open a URL (or default search) in this tab (`O` to pre-load current URL)
|
* `o`/`O` — open a URL (or default search) in this tab (`O` to pre-load current URL)
|
||||||
- `t`/`T` — open a URL (or default search) in a new tab (`T` to pre-load current URL)
|
* `t`/`T` — open a URL (or default search) in a new tab (`T` to pre-load current URL)
|
||||||
- `w`/`W` — open a URL (or default search) in a new window (`W` to pre-load current URL)
|
* `w`/`W` — open a URL (or default search) in a new window (`W` to pre-load current URL)
|
||||||
- `p`/`P` — open the clipboard contents in the current/new tab
|
* `p`/`P` — open the clipboard contents in the current/new tab
|
||||||
- `s`/`S` — force a search using the default Tridactyl search engine, opening
|
* `s`/`S` — force a search using the default Tridactyl search engine, opening in the current/new tab. This is useful when searching for something that would otherwise be treated as a URL by `o` or `t`
|
||||||
in the current/new tab. This is useful when searching for something that
|
* `H`/`L` — go back/forward in the tab history
|
||||||
would otherwise be treated as a URL by `o` or `t`
|
* `gh`/`gH` — go to the home page (in a new tab)
|
||||||
- `H`/`L` — go back/forward in the tab history
|
|
||||||
- `gh`/`gH` — go to the home page (in a new tab)
|
|
||||||
|
|
||||||
#### Handling tabs
|
#### Handling tabs
|
||||||
|
|
||||||
- `d` — close the current tab
|
* `d` — close the current tab
|
||||||
- `u` — undo the last tab/window closure
|
* `u` — undo the last tab/window closure
|
||||||
- `gt`/`gT` — go to the next/previous tab
|
* `gt`/`gT` — go to the next/previous tab
|
||||||
- `g^`/`g$` — go to the first/last tab
|
* `g^`/`g$` — go to the first/last tab
|
||||||
- `b` — bring up a list of open tabs in the current window; you can type the
|
* `b` — bring up a list of open tabs in the current window; you can type the tab ID or part of the title or URL to choose a tab
|
||||||
tab ID or part of the title or URL to choose a tab
|
|
||||||
|
|
||||||
#### Extended hint mode
|
#### Extended hint mode
|
||||||
|
|
||||||
Extended hint modes allow you to perform actions on page items:
|
Extended hint modes allow you to perform actions on page items:
|
||||||
|
|
||||||
- `;i`/`;I` — open an image (in current/new tab)
|
* `;i`/`;I` — open an image (in current/new tab)
|
||||||
- `;s`/`;a` — save/save-as the linked resource
|
* `;s`/`;a` — save/save-as the linked resource
|
||||||
- `;S`/`;A` — save/save-as the selected image
|
* `;S`/`;A` — save/save-as the selected image
|
||||||
- `;p` — copy an element's text to the clipboard
|
* `;p` — copy an element's text to the clipboard
|
||||||
- `;P` — copy an element's title/alt text to the clipboard
|
* `;P` — copy an element's title/alt text to the clipboard
|
||||||
- `;y` — copy an element's link URL to the clipboard
|
* `;y` — copy an element's link URL to the clipboard
|
||||||
- `;#` — copy an element's anchor URL to the clipboard
|
* `;#` — copy an element's anchor URL to the clipboard
|
||||||
- `;r` — read the element's text with text-to-speech
|
* `;r` — read the element's text with text-to-speech
|
||||||
- `;k` — delete an element from the page
|
* `;k` — delete an element from the page
|
||||||
- `;;` — focus an element
|
* `;;` — focus an element
|
||||||
|
|
||||||
Additionally, you can bind to a custom CSS selector with `:hint -c [selector]`
|
Additionally, you can bind to a custom CSS selector with `:hint -c [selector]` which is useful for site-specific versions of the standard `f` hint mode.
|
||||||
which is useful for site-specific versions of the standard `f` hint mode.
|
|
||||||
|
|
||||||
### Binding custom commands
|
### Binding custom commands
|
||||||
|
|
||||||
You can bind your own shortcuts in normal mode with the `:bind` command.
|
You can bind your own shortcuts in normal mode with the `:bind` command. For example `:bind J tabprev` to bind `J` to switch to the previous tab. See `:help bind` for details about this command.
|
||||||
For example `:bind J tabprev` to bind `J` to switch to the previous tab.
|
|
||||||
See `:help bind` for details about this command.
|
|
||||||
|
|
||||||
## WebExtension-related issues
|
## WebExtension-related issues
|
||||||
|
|
||||||
- Navigation to any about:\* pages using `:open` requires the native messenger.
|
* Navigation to any about:\* pages using `:open` requires the native messenger.
|
||||||
- Firefox will not load Tridactyl on about:\*, some file:\* URIs, view-source:\*, or data:\*. On these pages Ctrl-L (or F6), Ctrl-Tab and Ctrl-W are your escape hatches.
|
* Firefox will not load Tridactyl on about:\*, some file:\* URIs, view-source:\*, or data:\*. On these pages Ctrl-L (or F6), Ctrl-Tab and Ctrl-W are your escape hatches.
|
||||||
- addons.mozilla.org is now supported so long as you run `fixamo` first.
|
* addons.mozilla.org is now supported so long as you run `fixamo` first.
|
||||||
- Tridactyl now supports changing the Firefox GUI if you have the native messenger installed via `guiset`. There's quite a few options available, but `guiset gui none` is probably what you want, perhaps followed up with `guiset tabs always`.
|
* Tridactyl now supports changing the Firefox GUI if you have the native messenger installed via `guiset`. There's quite a few options available, but `guiset gui none` is probably what you want, perhaps followed up with `guiset tabs always`.
|
||||||
|
|
||||||
## Frequently asked questions
|
## Frequently asked questions
|
||||||
|
|
||||||
- Why doesn't Tridactyl respect my search engine settings?
|
* Why doesn't Tridactyl respect my search engine settings?
|
||||||
|
|
||||||
It's a webextension limitation. Firefox doesn't allow reading user preferences.
|
It's a webextension limitation. Firefox doesn't allow reading user preferences.
|
||||||
|
|
||||||
- How can I change the search engine?
|
* How can I change the search engine?
|
||||||
|
|
||||||
`set searchengine duckduckgo`
|
`set searchengine duckduckgo`
|
||||||
|
|
||||||
- How can I add a search engine?
|
* How can I add a search engine?
|
||||||
|
|
||||||
`set searchurls.esa http://www.esa.int/esasearch?q=`
|
`set searchurls.esa http://www.esa.int/esasearch?q=`
|
||||||
|
|
||||||
|
@ -145,25 +128,25 @@ See `:help bind` for details about this command.
|
||||||
|
|
||||||
after which `open phrasebook [fr|de|la|es|hi|it...]` will work as expected.
|
after which `open phrasebook [fr|de|la|es|hi|it...]` will work as expected.
|
||||||
|
|
||||||
- Can I import/export settings, and does Tridactyl use an external configuration file just like Vimperator?
|
* Can I import/export settings, and does Tridactyl use an external configuration file just like Vimperator?
|
||||||
|
|
||||||
Yes, if you have `native` working, `$XDG_CONFIG_DIR/tridactyl/tridactylrc` or `~/.tridactylrc` will be read at startup via an `autocmd` and `source`. There is an [example file available on our repository](https://github.com/cmcaine/tridactyl/blob/master/.tridactylrc).
|
Yes, if you have `native` working, `$XDG_CONFIG_DIR/tridactyl/tridactylrc` or `~/.tridactylrc` will be read at startup via an `autocmd` and `source`. There is an [example file available on our repository](https://github.com/cmcaine/tridactyl/blob/master/.tridactylrc).
|
||||||
|
|
||||||
If you can't use the native messenger for some reason, there is a workaround: if you do `set storageloc local`, a JSON file will appear at `<your firefox profile>\browser-extension-data\tridactyl.vim@cmcaine.co.uk\storage.js`. You can find your profile folder by going to `about:support`. You can edit this file to your heart's content.
|
If you can't use the native messenger for some reason, there is a workaround: if you do `set storageloc local`, a JSON file will appear at `<your firefox profile>\browser-extension-data\tridactyl.vim@cmcaine.co.uk\storage.js`. You can find your profile folder by going to `about:support`. You can edit this file to your heart's content.
|
||||||
|
|
||||||
- I hate the light, can I get a dark theme/dark mode?
|
* I hate the light, can I get a dark theme/dark mode?
|
||||||
|
|
||||||
Yes: `set theme dark` or `colors dark`. Thanks to @fugerf.
|
Yes: `set theme dark` or `colors dark`. Thanks to @fugerf.
|
||||||
|
|
||||||
- How can I pretend that I'm not a 1337 h4x0r?
|
* How can I pretend that I'm not a 1337 h4x0r?
|
||||||
|
|
||||||
We cater for you, too! `set theme shydactyl`. Thanks to @atrnh.
|
We cater for you, too! `set theme shydactyl`. Thanks to @atrnh.
|
||||||
|
|
||||||
- How can I pretend that I'm a 1337 h4x0r?
|
* How can I pretend that I'm a 1337 h4x0r?
|
||||||
|
|
||||||
We cater for you, too! `set theme greenmat`. Thanks to @caputchinefrobles.
|
We cater for you, too! `set theme greenmat`. Thanks to @caputchinefrobles.
|
||||||
|
|
||||||
- How can I bind keys using the control/alt key modifiers (eg: `ctrl+^`)?
|
* How can I bind keys using the control/alt key modifiers (eg: `ctrl+^`)?
|
||||||
|
|
||||||
`:bind <C-f> scrollpage 1`. Special keys can be bound too: `:bind <F3> set theme dark` and with modifiers: `:bind <S-F3> set theme default` and with multiple modifiers: `:bind <SA-F3> composite set hintchars 1234567890 | set hintfiltermode vimperator-reflow`
|
`:bind <C-f> scrollpage 1`. Special keys can be bound too: `:bind <F3> set theme dark` and with modifiers: `:bind <S-F3> set theme default` and with multiple modifiers: `:bind <SA-F3> composite set hintchars 1234567890 | set hintfiltermode vimperator-reflow`
|
||||||
|
|
||||||
|
@ -171,55 +154,54 @@ See `:help bind` for details about this command.
|
||||||
|
|
||||||
If you want to bind <C-^> you'll find that you'll probably need to press Control+Shift+6 to trigger it. The default bind is <C-6> which does not require you to press shift.
|
If you want to bind <C-^> you'll find that you'll probably need to press Control+Shift+6 to trigger it. The default bind is <C-6> which does not require you to press shift.
|
||||||
|
|
||||||
- How can I tab complete from bookmarks?
|
* How can I tab complete from bookmarks?
|
||||||
|
|
||||||
`bmarks `. Bookmarks are not currently supported on `*open`: see [issue #214](https://github.com/cmcaine/tridactyl/issues/214).
|
`bmarks`. Bookmarks are not currently supported on `*open`: see [issue #214](https://github.com/cmcaine/tridactyl/issues/214).
|
||||||
|
|
||||||
- When I type 'f', can I type link names (like Vimperator) in order to narrow down the number of highlighted links?
|
* When I type 'f', can I type link names (like Vimperator) in order to narrow down the number of highlighted links?
|
||||||
|
|
||||||
You can, thanks to @saulrh. First `set hintfiltermode vimperator` and then `set hintchars 1234567890`.
|
You can, thanks to @saulrh. First `set hintfiltermode vimperator` and then `set hintchars 1234567890`.
|
||||||
|
|
||||||
- How to remap keybindings in both normal mode and ex mode?
|
* How to remap keybindings in both normal mode and ex mode?
|
||||||
|
|
||||||
You cannot. We only support normal mode bindings for now, with `bind [key] [excmd]`
|
You cannot. We only support normal mode bindings for now, with `bind [key] [excmd]`
|
||||||
|
|
||||||
- Where can I find a changelog for the different versions (to see what is new in the latest version)?
|
* Where can I find a changelog for the different versions (to see what is new in the latest version)?
|
||||||
|
|
||||||
[Here.](https://github.com/cmcaine/tridactyl/blob/master/CHANGELOG.md)
|
[Here.](https://github.com/cmcaine/tridactyl/blob/master/CHANGELOG.md)
|
||||||
|
|
||||||
- Why can't I use my bookmark keywords?
|
* Why can't I use my bookmark keywords?
|
||||||
|
|
||||||
Mozilla doesn't give us access to them. See [issue #73](https://github.com/cmcaine/tridactyl/issues/73).
|
Mozilla doesn't give us access to them. See [issue #73](https://github.com/cmcaine/tridactyl/issues/73).
|
||||||
|
|
||||||
- Why doesn't Tridactyl work on websites with frames?
|
* Why doesn't Tridactyl work on websites with frames?
|
||||||
|
|
||||||
It should work on some frames now. See [#122](https://github.com/cmcaine/tridactyl/issues/122).
|
It should work on some frames now. See [#122](https://github.com/cmcaine/tridactyl/issues/122).
|
||||||
|
|
||||||
- Can I change proxy via commands?
|
* Can I change proxy via commands?
|
||||||
|
|
||||||
Not yet, but this feature will eventually be implemented.
|
Not yet, but this feature will eventually be implemented.
|
||||||
|
|
||||||
- How do I disable Tridactyl on certain sites?
|
* How do I disable Tridactyl on certain sites?
|
||||||
|
|
||||||
You can't yet, see [#158](https://github.com/cmcaine/tridactyl/issues/158).
|
You can't yet, see [#158](https://github.com/cmcaine/tridactyl/issues/158).
|
||||||
|
|
||||||
- How can I list the current bindings?
|
* How can I list the current bindings?
|
||||||
|
|
||||||
`viewconfig nmaps` works OK, but Tridactyl commands won't work on the shown page for "security reasons". We'll eventually provide a better way. See [#98](https://github.com/cmcaine/tridactyl/issues/98).
|
`viewconfig nmaps` works OK, but Tridactyl commands won't work on the shown page for "security reasons". We'll eventually provide a better way. See [#98](https://github.com/cmcaine/tridactyl/issues/98).
|
||||||
|
|
||||||
- Why doesn't Tridactyl work on some pages?
|
* Why doesn't Tridactyl work on some pages?
|
||||||
|
|
||||||
One possible reason is that the site has a strict content security policy. We can rewrite these to make Tridactyl work, but we do not want to worsen the security of sensitive pages, so it is taking us a little while. See [#112](https://github.com/cmcaine/tridactyl/issues/112).
|
One possible reason is that the site has a strict content security policy. We can rewrite these to make Tridactyl work, but we do not want to worsen the security of sensitive pages, so it is taking us a little while. See [#112](https://github.com/cmcaine/tridactyl/issues/112).
|
||||||
|
|
||||||
- How can I know which mode I'm in/have a status line?
|
* How can I know which mode I'm in/have a status line?
|
||||||
|
|
||||||
Press `j` and see if you scroll down :) There's no status line yet: see [#210](https://github.com/cmcaine/tridactyl/issues/210), but we do have a "mode indicator" in the bottom right. It even goes purple when you're in a private window :).
|
Press `j` and see if you scroll down :) There's no status line yet: see [#210](https://github.com/cmcaine/tridactyl/issues/210), but we do have a "mode indicator" in the bottom right. It even goes purple when you're in a private window :).
|
||||||
|
|
||||||
- Does anyone actually use Tridactyl?
|
* Does anyone actually use Tridactyl?
|
||||||
|
|
||||||
In addition to the developers, some other people do. Mozilla keeps tabs on them [here](https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/statistics/?last=30).
|
In addition to the developers, some other people do. Mozilla keeps tabs on them [here](https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/statistics/?last=30).
|
||||||
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
### Building and installing
|
### Building and installing
|
||||||
|
@ -250,13 +232,14 @@ If you want to build a signed copy (e.g. for the non-developer release), you can
|
||||||
|
|
||||||
#### Building on Windows
|
#### Building on Windows
|
||||||
|
|
||||||
- Install [Git for Windows][win-git]
|
* Install [Git for Windows][win-git]
|
||||||
|
|
||||||
- Install [NodeJS for Windows][win-nodejs]
|
* Install [NodeJS for Windows][win-nodejs]
|
||||||
- Current 8.11.1 LTS seems to work fine
|
|
||||||
|
|
||||||
- Launch the installation steps described above from MinTTY shell
|
* Current 8.11.1 LTS seems to work fine
|
||||||
- Also known as "Git Bash"
|
|
||||||
|
* Launch the installation steps described above from MinTTY shell
|
||||||
|
* Also known as "Git Bash"
|
||||||
|
|
||||||
[win-git]: https://git-scm.com/download/win
|
[win-git]: https://git-scm.com/download/win
|
||||||
[win-nodejs]: https://nodejs.org/dist/v8.11.1/node-v8.11.1-x64.msi
|
[win-nodejs]: https://nodejs.org/dist/v8.11.1/node-v8.11.1-x64.msi
|
||||||
|
@ -268,6 +251,7 @@ npm run build & npm run run
|
||||||
```
|
```
|
||||||
|
|
||||||
<!-- This will compile and deploy your files each time you save them. -->
|
<!-- This will compile and deploy your files each time you save them. -->
|
||||||
|
|
||||||
You'll need to run `npm run build` every time you edit the files, and press "r" in the `npm run run` window to make sure that the files are properly reloaded.
|
You'll need to run `npm run build` every time you edit the files, and press "r" in the `npm run run` window to make sure that the files are properly reloaded.
|
||||||
|
|
||||||
### Committing
|
### Committing
|
||||||
|
@ -280,24 +264,24 @@ Ask in `#tridactyl` on [matrix.org][matrix-link], freenode, or [gitter][gitter-l
|
||||||
|
|
||||||
Default keybindings are currently best discovered by reading the [default config](./src/config.ts).
|
Default keybindings are currently best discovered by reading the [default config](./src/config.ts).
|
||||||
|
|
||||||
Development notes are in the doc directory, but they're mostly out of date now. Code is quite short and not *too* badly commented, though.
|
Development notes are in the doc directory, but they're mostly out of date now. Code is quite short and not _too_ badly commented, though.
|
||||||
|
|
||||||
## Principles and objectives
|
## Principles and objectives
|
||||||
|
|
||||||
Principles:
|
Principles:
|
||||||
|
|
||||||
* Keyboard > mouse
|
* Keyboard > mouse
|
||||||
* default keybinds should be Vim-like
|
* default keybinds should be Vim-like
|
||||||
* actions should be composable and repeatable
|
* actions should be composable and repeatable
|
||||||
* ex mode should expose all the browser functionality anyone might want
|
* ex mode should expose all the browser functionality anyone might want
|
||||||
* Arguable: most (all?) actions should have an ex mode version (departure from Vim?)
|
* Arguable: most (all?) actions should have an ex mode version (departure from Vim?)
|
||||||
* users can map and define their own actions and commands
|
* users can map and define their own actions and commands
|
||||||
|
|
||||||
Other objectives:
|
Other objectives:
|
||||||
|
|
||||||
* be fast - the whole point of a keyboard interface is to be more efficient, don't compromise that with slow code
|
* be fast - the whole point of a keyboard interface is to be more efficient, don't compromise that with slow code
|
||||||
* don't crash - we're the new UI and we shouldn't crash
|
* don't crash - we're the new UI and we shouldn't crash
|
||||||
* be maintainable - code should be well documented, reasoned about and tested.
|
* be maintainable - code should be well documented, reasoned about and tested.
|
||||||
|
|
||||||
## Logo acknowledgement
|
## Logo acknowledgement
|
||||||
|
|
||||||
|
|
|
@ -2,19 +2,19 @@
|
||||||
|
|
||||||
Command mode, i.e, "the console", is used for accessing less frequently used commands, such as:
|
Command mode, i.e, "the console", is used for accessing less frequently used commands, such as:
|
||||||
|
|
||||||
- `tabdetach` to detach the current tab into a new window
|
* `tabdetach` to detach the current tab into a new window
|
||||||
- `bind [key] [excommand]` to bind keys
|
* `bind [key] [excommand]` to bind keys
|
||||||
- `viewsource` to view the current page's source
|
* `viewsource` to view the current page's source
|
||||||
- `viewconfig nmaps` to view the current normal mode bindings
|
* `viewconfig nmaps` to view the current normal mode bindings
|
||||||
- `help [command]` to access help on a command
|
* `help [command]` to access help on a command
|
||||||
- `composite [command 1]; [command 2]; [command 3]...` lets you execute commands sequentially, useful for binding. If you want the results of each command to be piped to the other, use pipes `|` instead of semi-colons.
|
* `composite [command 1]; [command 2]; [command 3]...` lets you execute commands sequentially, useful for binding. If you want the results of each command to be piped to the other, use pipes `|` instead of semi-colons.
|
||||||
|
|
||||||
We support a handful of keybinds in the console:
|
We support a handful of keybinds in the console:
|
||||||
|
|
||||||
- `Ctrl-C` to exit to normal mode, or copy selected text.
|
* `Ctrl-C` to exit to normal mode, or copy selected text.
|
||||||
- `Up`/`Down` to search in command history: e.g. `:tabopen` `Up` will show you the most recent tabopen command.
|
* `Up`/`Down` to search in command history: e.g. `:tabopen` `Up` will show you the most recent tabopen command.
|
||||||
- `Tab`/`Shift-Tab` cycle completion, enter to select
|
* `Tab`/`Shift-Tab` cycle completion, enter to select
|
||||||
- `Ctrl-F` to complete the command from command history
|
* `Ctrl-F` to complete the command from command history
|
||||||
- `Space` to insert the URL of the highlighted completion into the command line
|
* `Space` to insert the URL of the highlighted completion into the command line
|
||||||
|
|
||||||
The [next page](./settings.html) will talk about the various settings available.
|
The [next page](./settings.html) will talk about the various settings available.
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# Getting help
|
# Getting help
|
||||||
|
|
||||||
You can get help about any command by typing `help [command]` in command mode. Additionally,
|
You can get help about any command by typing `help [command]` in command mode. Additionally,
|
||||||
|
|
||||||
- If you want to know what a key is bound to, you can simply type `bind [key]` and you will be told the ex command.
|
* If you want to know what a key is bound to, you can simply type `bind [key]` and you will be told the ex command.
|
||||||
- You can view all of your config on `viewconfig` (but Tridactyl can't run on this page: `Alt-LeftArrow` will get you back to your previous page).
|
* You can view all of your config on `viewconfig` (but Tridactyl can't run on this page: `Alt-LeftArrow` will get you back to your previous page).
|
||||||
- If you want to know the value of a setting, `get [setting]`, for example `get nmaps`.
|
* If you want to know the value of a setting, `get [setting]`, for example `get nmaps`.
|
||||||
|
|
||||||
Lastly, you can contact the developers via Matrix or GitHub, as mentioned on the new tab page.
|
Lastly, you can contact the developers via Matrix or GitHub, as mentioned on the new tab page.
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,11 @@ There are many different hint submodes. They all follow a similar pattern: hinti
|
||||||
|
|
||||||
Here are some of the most useful hint modes:
|
Here are some of the most useful hint modes:
|
||||||
|
|
||||||
- `:hint -b` or `F`: open link in background
|
* `:hint -b` or `F`: open link in background
|
||||||
- `:hint -y` or `;y`: copy link location to clipboard
|
* `:hint -y` or `;y`: copy link location to clipboard
|
||||||
- `:hint -p` or `;p`: copy element text (such as a paragraph) to clipboard
|
* `:hint -p` or `;p`: copy element text (such as a paragraph) to clipboard
|
||||||
- `:hint -#` or `;#`: copy anchor location. Useful for linking someone to a specific part of a page.
|
* `:hint -#` or `;#`: copy anchor location. Useful for linking someone to a specific part of a page.
|
||||||
- `:hint -k` or `;k`: kill an element. Very satisfying.
|
* `:hint -k` or `;k`: kill an element. Very satisfying.
|
||||||
|
|
||||||
If there is ever only a single hint remaining (for example, because you have wittled them down, or there is only a single link visible on the page) the hint mode will follow it automatically.
|
If there is ever only a single hint remaining (for example, because you have wittled them down, or there is only a single link visible on the page) the hint mode will follow it automatically.
|
||||||
|
|
||||||
|
|
|
@ -12,20 +12,19 @@ Many keypresses in normal mode take you into another mode. `t`, for example, put
|
||||||
|
|
||||||
## Useful normal mode keybinds
|
## Useful normal mode keybinds
|
||||||
|
|
||||||
- `b` brings up a list of your current tabs. Press `Tab`/`Shift-Tab` to cycle through them and enter to select. You can also type to filter down the tabs based on their titles and URLs
|
* `b` brings up a list of your current tabs. Press `Tab`/`Shift-Tab` to cycle through them and enter to select. You can also type to filter down the tabs based on their titles and URLs
|
||||||
- Opening web pages:
|
* Opening web pages:
|
||||||
- `w` opens URLs in new windows
|
* `w` opens URLs in new windows
|
||||||
- `o` in the current tab
|
* `o` in the current tab
|
||||||
- `t` in a new tab
|
* `t` in a new tab
|
||||||
- Using a capital letter in place of any of the previous commands opens the command with the current URL pasted into it, i.e, `W`,`O`,`T`
|
* Using a capital letter in place of any of the previous commands opens the command with the current URL pasted into it, i.e, `W`,`O`,`T`
|
||||||
- `s` lets you search easily
|
* `s` lets you search easily
|
||||||
- in general, you can search many search engines straight from these prompts by simply starting your query with the search engine, such as `bing` `duckduckgo` or `scholar`
|
* in general, you can search many search engines straight from these prompts by simply starting your query with the search engine, such as `bing` `duckduckgo` or `scholar`
|
||||||
- Navigate history with `H` and `L`
|
* Navigate history with `H` and `L`
|
||||||
- `yy` copies the current URL to your clipboard
|
* `yy` copies the current URL to your clipboard
|
||||||
- `p` opens the clipboard contents as a web page, or searches for it, in the current tab. `P` opens it in a new tab
|
* `p` opens the clipboard contents as a web page, or searches for it, in the current tab. `P` opens it in a new tab
|
||||||
- Protip: quickly search for the source of a quote by using `;p` to copy a paragraph, and `P` to search the internet for it
|
* Protip: quickly search for the source of a quote by using `;p` to copy a paragraph, and `P` to search the internet for it
|
||||||
- `zi`,`zo`,`zz` zoom in, out and return to the default zoom
|
* `zi`,`zo`,`zz` zoom in, out and return to the default zoom
|
||||||
|
|
||||||
|
|
||||||
All the keys in normal mode are bound to commands; for example, `j` is bound to `scrolline 10`. If you are ever curious as to what a key sequence does in normal mode, you can simply use `:bind [keys]` and the command line will tell you to which command they are bound.
|
All the keys in normal mode are bound to commands; for example, `j` is bound to `scrolline 10`. If you are ever curious as to what a key sequence does in normal mode, you can simply use `:bind [keys]` and the command line will tell you to which command they are bound.
|
||||||
|
|
||||||
|
|
|
@ -6,16 +6,16 @@ Currently, you can view settings on `help` next to the commands that they affect
|
||||||
|
|
||||||
Here we will briefly summarise some of the main settings:
|
Here we will briefly summarise some of the main settings:
|
||||||
|
|
||||||
- nmaps
|
* nmaps
|
||||||
- these are all of the keybinds in normal mode
|
* these are all of the keybinds in normal mode
|
||||||
- searchengine
|
* searchengine
|
||||||
- the default search engine to use. You can choose any from the searchurls setting, or add your own.
|
* the default search engine to use. You can choose any from the searchurls setting, or add your own.
|
||||||
- hintfiltermode
|
* hintfiltermode
|
||||||
- the style of hint mode to use. Set it to "vimperator" to filter links by typing in the text they display
|
* the style of hint mode to use. Set it to "vimperator" to filter links by typing in the text they display
|
||||||
- You will also want to change the hintchars setting to something that allows you to type in most text, e.g, 5432167890.
|
* You will also want to change the hintchars setting to something that allows you to type in most text, e.g, 5432167890.
|
||||||
- theme
|
* theme
|
||||||
- dark or default
|
* dark or default
|
||||||
- excmds
|
* excmds
|
||||||
- aliases for command mode: the things on the left actually run the commands on the right. The most interesting one of these is `current_url`, which is how the binds for O, W and T (`bind T`) work.
|
* aliases for command mode: the things on the left actually run the commands on the right. The most interesting one of these is `current_url`, which is how the binds for O, W and T (`bind T`) work.
|
||||||
|
|
||||||
The <a href='./help.html' rel='next'>final page</a> describes how you can get further help.
|
The <a href='./help.html' rel='next'>final page</a> describes how you can get further help.
|
||||||
|
|
|
@ -12,21 +12,21 @@ It will not cover advanced topics. For those, [`:help`](../docs/modules/_excmds_
|
||||||
|
|
||||||
The idea behind Tridactyl is to allow you to navigate the web more efficiently with just the keyboard. Tridactyl turns Firefox into a modal browser, meaning it has several different modes of operation, like Vim. It can only ever be in one mode at a time, and each of these modes could have a wildly different operation. You can think of it a bit like a Transformer, if you like. There are four main modes you will want to be familiar with:
|
The idea behind Tridactyl is to allow you to navigate the web more efficiently with just the keyboard. Tridactyl turns Firefox into a modal browser, meaning it has several different modes of operation, like Vim. It can only ever be in one mode at a time, and each of these modes could have a wildly different operation. You can think of it a bit like a Transformer, if you like. There are four main modes you will want to be familiar with:
|
||||||
|
|
||||||
- Normal mode
|
* Normal mode
|
||||||
- This mode is used for navigating around single pages and starting other modes.
|
* This mode is used for navigating around single pages and starting other modes.
|
||||||
- You are usually in this mode. You can enter normal mode from the other modes by pressing `Escape`.
|
* You are usually in this mode. You can enter normal mode from the other modes by pressing `Escape`.
|
||||||
- Hint mode
|
* Hint mode
|
||||||
- This mode highlights elements on the web page and performs actions on those elements.
|
* This mode highlights elements on the web page and performs actions on those elements.
|
||||||
- This is most often used for following links, but it has many other submodes.
|
* This is most often used for following links, but it has many other submodes.
|
||||||
- You can enter this mode with `f` and exit it with `Escape` or `Enter`.
|
* You can enter this mode with `f` and exit it with `Escape` or `Enter`.
|
||||||
- Hint characters are displayed as uppercase letters, but you should type the lowercase letter.
|
* Hint characters are displayed as uppercase letters, but you should type the lowercase letter.
|
||||||
- Command mode ("ex-mode")
|
* Command mode ("ex-mode")
|
||||||
- This mode allows you to execute more complicated commands by typing them out manually.
|
* This mode allows you to execute more complicated commands by typing them out manually.
|
||||||
- It is commonly used for binding keys and accessing help.
|
* It is commonly used for binding keys and accessing help.
|
||||||
- You can enter this mode with `:` and exit it with `Escape` or `Enter`.
|
* You can enter this mode with `:` and exit it with `Escape` or `Enter`.
|
||||||
- Ignore mode
|
* Ignore mode
|
||||||
- This mode passes all keypresses through to the web page. It is useful for websites that have their own keybinds, such as games and Gmail.
|
* This mode passes all keypresses through to the web page. It is useful for websites that have their own keybinds, such as games and Gmail.
|
||||||
- You can toggle the mode with `Shift-Insert`.
|
* You can toggle the mode with `Shift-Insert`.
|
||||||
|
|
||||||
Almost all of the modes are controlled by series of keypresses. In this tutorial, a sequence of keys such as `zz` should be entered by pressing the key `z`, letting go, and then pressing the key `z`. There is no need to hold both keys at once, if that were even possible. (`zz` resets the zoom level to the default, so it probably didn't seem to do anything). Sometimes `help` refers to a command that must be entered in command mode; it should hopefully always be clear from context which we mean.
|
Almost all of the modes are controlled by series of keypresses. In this tutorial, a sequence of keys such as `zz` should be entered by pressing the key `z`, letting go, and then pressing the key `z`. There is no need to hold both keys at once, if that were even possible. (`zz` resets the zoom level to the default, so it probably didn't seem to do anything). Sometimes `help` refers to a command that must be entered in command mode; it should hopefully always be clear from context which we mean.
|
||||||
|
|
||||||
|
|
|
@ -4,47 +4,46 @@
|
||||||
|
|
||||||
Tridactyl has to override your new tab page due to WebExtension limitations. You can learn how to change it at the bottom of the page, otherwise please read on for some tips and tricks.
|
Tridactyl has to override your new tab page due to WebExtension limitations. You can learn how to change it at the bottom of the page, otherwise please read on for some tips and tricks.
|
||||||
|
|
||||||
- You can view the main help page by typing [`:help`][help], and access the tutorial with [`:tutor`][tutor].
|
* You can view the main help page by typing [`:help`][help], and access the tutorial with [`:tutor`][tutor].
|
||||||
|
|
||||||
- You can view your current configuration with `:viewconfig`.
|
* You can view your current configuration with `:viewconfig`.
|
||||||
|
|
||||||
- You can contact the developers, other users and contributors for support or whatever on [Matrix][matrix-link], [Gitter][gitter-link], or [IRC][freenode-link].
|
* You can contact the developers, other users and contributors for support or whatever on [Matrix][matrix-link], [Gitter][gitter-link], or [IRC][freenode-link].
|
||||||
|
|
||||||
- If you're enjoying Tridactyl (or not), please leave a review on [addons.mozilla.org][amo].
|
* If you're enjoying Tridactyl (or not), please leave a review on [addons.mozilla.org][amo].
|
||||||
|
|
||||||
- **Breaking change to `composite`:** composite now tries to pass the return value from each preceding function to its ancestor. This might break some of your binds to composite, or cause them to act in unexpected ways.
|
|
||||||
- **NB:** Tridactyl can now run external programs on Linux and OSX if you decide to install an additional executable. Just run `:installnative` to get going, and then Ctrl-i `<C-i>` in a text box to open your editor.
|
|
||||||
|
|
||||||
|
* **Breaking change to `composite`:** composite now tries to pass the return value from each preceding function to its ancestor. This might break some of your binds to composite, or cause them to act in unexpected ways.
|
||||||
|
* **NB:** Tridactyl can now run external programs on Linux and OSX if you decide to install an additional executable. Just run `:installnative` to get going, and then Ctrl-i `<C-i>` in a text box to open your editor.
|
||||||
|
|
||||||
REPLACE_ME_WITH_THE_CHANGE_LOG_USING_SED
|
REPLACE_ME_WITH_THE_CHANGE_LOG_USING_SED
|
||||||
|
|
||||||
## Highlighted features:
|
## Highlighted features:
|
||||||
|
|
||||||
- `f`/`F` — enter the "hint mode" to select a link to follow. `F` to open it in a background tab. (Note: hint characters should be typed in lowercase.)
|
* `f`/`F` — enter the "hint mode" to select a link to follow. `F` to open it in a background tab. (Note: hint characters should be typed in lowercase.)
|
||||||
- `Shift` + `Insert` — enter "ignore mode" to send all key presses to the web page you are on. Press `Shift` + `Insert` again to return to the highly productive "normal mode".
|
* `Shift` + `Insert` — enter "ignore mode" to send all key presses to the web page you are on. Press `Shift` + `Insert` again to return to the highly productive "normal mode".
|
||||||
- `H`/`L` — go back/forward in the history.
|
* `H`/`L` — go back/forward in the history.
|
||||||
- `o`/`O` — open a URL in this tab (`O` to pre-load current URL).
|
* `o`/`O` — open a URL in this tab (`O` to pre-load current URL).
|
||||||
- `t`/`T` — open a URL in a new tab (`T` to pre-load current URL).
|
* `t`/`T` — open a URL in a new tab (`T` to pre-load current URL).
|
||||||
- `gt`/`gT` — go to the next/previous tab.
|
* `gt`/`gT` — go to the next/previous tab.
|
||||||
- `d` — close the current tab.
|
* `d` — close the current tab.
|
||||||
- `/` — open the find search box.
|
* `/` — open the find search box.
|
||||||
- `A` — bookmark the current page
|
* `A` — bookmark the current page
|
||||||
- `b` — bring up a list of open tabs in the current window.
|
* `b` — bring up a list of open tabs in the current window.
|
||||||
- `s` — if you want to search for something that looks like a domain name or URL.
|
* `s` — if you want to search for something that looks like a domain name or URL.
|
||||||
- `gi` — scroll to and focus the last-used input on the page.
|
* `gi` — scroll to and focus the last-used input on the page.
|
||||||
- `gr` — open Firefox reader mode (note: Tridactyl will not work in this mode).
|
* `gr` — open Firefox reader mode (note: Tridactyl will not work in this mode).
|
||||||
- Bind your own commands with, e.g., `:bind J tabprev`. Type `:help bind` to see help on custom binds.
|
* Bind your own commands with, e.g., `:bind J tabprev`. Type `:help bind` to see help on custom binds.
|
||||||
- `yy` — copy the current page URL to your clipboard.
|
* `yy` — copy the current page URL to your clipboard.
|
||||||
- `[[`/`]]` — navigate forward/backward though paginated pages.
|
* `[[`/`]]` — navigate forward/backward though paginated pages.
|
||||||
- `ZZ` — close all tabs and windows, but it will only "save" them if your about:preferences are set to "show your tabs and windows from last time".
|
* `ZZ` — close all tabs and windows, but it will only "save" them if your about:preferences are set to "show your tabs and windows from last time".
|
||||||
- [`:help hint`][help-hint] to see all the other useful hint modes (this is the `f` magic. :) ).
|
* [`:help hint`][help-hint] to see all the other useful hint modes (this is the `f` magic. :) ).
|
||||||
|
|
||||||
## Important limitations due to WebExtensions
|
## Important limitations due to WebExtensions
|
||||||
|
|
||||||
- You can only navigate to most about:*\file:* pages if you have Tridactyl's native executable installed.
|
* You can only navigate to most about:_\file:_ pages if you have Tridactyl's native executable installed.
|
||||||
- Firefox will not load Tridactyl on addons.mozilla.org, about:\*, some file:\* URIs, view-source:\*, or data:\*. On these pages Ctrl-L (or F6), Ctrl-Tab and Ctrl-W are your escape hatches.
|
* Firefox will not load Tridactyl on addons.mozilla.org, about:\*, some file:\* URIs, view-source:\*, or data:\*. On these pages Ctrl-L (or F6), Ctrl-Tab and Ctrl-W are your escape hatches.
|
||||||
- You can change the Firefox GUI with `guiset` (e.g. `guiset gui none` and then `restart`) if you have the native messenger installed, or you can do it yourself by changing your userChrome. There is an example file available on our repository [[2]].
|
* You can change the Firefox GUI with `guiset` (e.g. `guiset gui none` and then `restart`) if you have the native messenger installed, or you can do it yourself by changing your userChrome. There is an example file available on our repository [[2]].
|
||||||
- Tridactyl cannot capture key presses until web pages are loaded. You can use `:reloadall` to reload all tabs to make life more bearable, or flip `browser.sessionstore.restore_tabs_lazily` to false in `about:config`.
|
* Tridactyl cannot capture key presses until web pages are loaded. You can use `:reloadall` to reload all tabs to make life more bearable, or flip `browser.sessionstore.restore_tabs_lazily` to false in `about:config`.
|
||||||
|
|
||||||
## Why do I see this here?
|
## Why do I see this here?
|
||||||
|
|
||||||
|
@ -52,8 +51,8 @@ Tridactyl overrides your newtab page because it cannot insert its content script
|
||||||
|
|
||||||
### How can I get rid of it?
|
### How can I get rid of it?
|
||||||
|
|
||||||
- `:set newtab [URL]`
|
* `:set newtab [URL]`
|
||||||
- e.g, `:set newtab about:blank`
|
* e.g, `:set newtab about:blank`
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue