This commit adds a .TridactylEditing class to input fields that are
being edited in an external editor. In the default theme, this
corresponds to just adding Tridactyl's logo to the input field.
It looks like it is impossible to reference Tridactyl's logo in CSS and
have it work on non-privileged pages so instead of doing that we add a
step to the build process which turns one of Tridactyl's logo into its
base64 representation and embeds it in the default.css theme file.
The help completion source provides completions for settings, excmds,
aliases and bindings, sorted in lexicographical order. It's basically a
huge copy-paste of the Settings and Excmd completion sources but should
be enough until we have a way to provide multiple completion sources for
a single excmd.
This commit adds input fields to some of the settings in the help page.
These input fields are filled with the value of the setting they
correspong to. Users can edit these values and save their modifications
by pressing <Enter>. This is an easy way to see and change settings and
hopefully enough to use as option page.
This is achieved by adding more ugly code to help.ts. Hopefully one day
we'll get rid of TypeDoc and do our own thing in React or whatever
framework we'll have choosen and things will be cleaner.
The previous code used <ul> and <li> in order to generate the list of
aliases/bindings related to an ex command. This was semantically correct
but required ugly CSS hacks in order to display them on a single line.
On top of that, this line didn't wrap when the list of bindings/commands
was longer that the page and thus required scrolling horizontally.
This commit replaces <ul> with <p> and <li> with span. It inserts a
space between each span and simplifies the css a bit, this results in
lines of bindings/aliases wrapping neatly.
The minimal userChrome file causes 8 pixels to be cut off from the top of the "content" part of the page, but only when the navbar is hidden. This change, as written, will reverse the situation: it will add 8 pixels of extraneous padding when the navbar is not hidden. Given that we spend most of our browsing time with the navbar hidden, this optimises for the common case instead of the uncommon case.
This implements excmd completion. We're using the typescript compiler
API in order to get the documentation and the type of every function of
Tridactyl and generate a file named "src/metadata.ts" which contains
this information. Since this file is dependency-less it can be imported
from every source file.
We then write a regular completion source which just uses the data
contained in metadata.ts in order to generate its completions.
Added comments and documentation notifying people that autocontainers
are experimental. Removed autocontainer section from the containers
tutor page. Autocontainers will now correctly open external links in the
default container. Removed a couple of config checks that were
unnecessary.
Renamed containerremove to containerdelete to be more in line with the
current naming scheme and added some preliminary documentation on
containers and autocontainers.
Apparently, Firefox can't give you key events for the window if <body>
is `display: none`. This is fixed by turning the page transparent
instead of not displaying it. Since the scrollbar is still visible when
the page is transparent, we also set the page's height to 0px.
All of these modifications are reversed when the page needs to be
displayed.
In firefox 61 there has been a medium change to how the status panel
(that shows the link the user hovers over) is created. Compare firefox
changeset 18bbbdc02213:
https://hg.mozilla.org/releases/mozilla-release/rev/18bbbdc02213
In particular there is no more statuspanel tag. Instead there is an hbox
with id="statuspanel".