This commit makes idFromIndex("#") return the id of the currently active
tab instead of undefined when only one tab is open. This makes
Tridactyl's "#" behavior closer to vim's, but not 100% the same.
This closes https://github.com/tridactyl/tridactyl/issues/918 .
Gnome terminal doesn't work consistently: it doesn't block but some
distros add wrappers that will make it block when given the right
arguments. See https://github.com/tridactyl/tridactyl/issues/1035.
This partially reverts commit 698fc6a and 25af877. The completion
was causing breaking tabopen and other completions for people
with outdated native messengers.
Turning `:bmarks` into a proper excmd has several advantages: it will
show up in the `:help` pages, be available for excmd completions and
enbales adding specific arguments (such as "-t") in order to open
bookmarks in other tabs.
This time I'm directly messaging the background script in order to
trigger a tabopen rather than trying to bring tabopen to the content
script.
Closes https://github.com/tridactyl/tridactyl/issues/902.
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.
This patch improves upon the existing zoom excmd and adds some features present
in Vimperator and Pentadactyl. `zI` and `zO` are now bound to the maximum and
minimum zoom levels respectively. `zM` (read zoom more) zooms in on increments
of 50pp and `zR` (read zoom reduce) zooms out on increments of 50pp.
In addition, overshooting the zoom level while using relative adjustments is now
handled by setting the level to it's max/min zoom level.
An error is thrown if an absolute value is given that is out of bounds of the
allowed zoom range.
f51e08d introduced a bug by defining the window.tri object in the
command line. This made the window.tri check in getURL succeed and then
'loc' was assigned undefined, as "window.tri.contentLocation" isn't
actually defined. We fix this by making sure that
"window.tri.contentLocation" is actually defined.
The commandline_frame document does not have a window.tri object. This
makes the commandline throw an exception on page load. We fix this by
using 'window.tri || {}' in order to avoid to avoid issues should
'window.tri' be defined in the command line one day.
It is not useful to await in ownTabContainer as it could cause an
unnecessary context switch and will throw an error if the tab is not in
a container.
While it could seem like throwing errors in ownTabContainer is not a big
deal, it is actually quite annoying when using Firefox's "Pause on
exceptions" feature: execution is paused even if the error is caught by
the caller and there is no stack trace to help us understand what's
happening because ownTabContainer is async.
Thus, removing this await is very useful.
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.