]> git.gir.st - VimFx.git/log
VimFx.git
8 years agoPoint links in readme to master rather than develop
Simon Lydell [Mon, 9 Nov 2015 06:40:49 +0000 (07:40 +0100)]
Point links in readme to master rather than develop

8 years agoTiny code cleanup
Simon Lydell [Mon, 9 Nov 2015 06:38:14 +0000 (07:38 +0100)]
Tiny code cleanup

8 years agoAdd missing `return`s after `for` loops
Simon Lydell [Mon, 9 Nov 2015 06:33:08 +0000 (07:33 +0100)]
Add missing `return`s after `for` loops

8 years agoFix mailing list link error in readme
Simon Lydell [Sat, 7 Nov 2015 18:22:03 +0000 (19:22 +0100)]
Fix mailing list link error in readme

8 years agoAdd changelog for 0.6.0
Simon Lydell [Thu, 5 Nov 2015 07:14:13 +0000 (08:14 +0100)]
Add changelog for 0.6.0

8 years agoTiny documentation fixes
Simon Lydell [Fri, 6 Nov 2015 06:34:45 +0000 (07:34 +0100)]
Tiny documentation fixes

8 years agoMerge pull request #570 from atilacamurca/locale-pt-br
Simon Lydell [Sat, 7 Nov 2015 17:47:07 +0000 (18:47 +0100)]
Merge pull request #570 from atilacamurca/locale-pt-br

Update locale messages of pt-BR.

8 years agoUpdate locale messages of pt-BR.
Átila Camurça [Sat, 7 Nov 2015 17:42:23 +0000 (14:42 -0300)]
Update locale messages of pt-BR.

8 years agoMerge pull request #567 from mymedia2/develop
Simon Lydell [Sat, 7 Nov 2015 10:31:08 +0000 (11:31 +0100)]
Merge pull request #567 from mymedia2/develop

Update russian locale

8 years agoUpdate russian locale
Guriev Nicholas [Sat, 7 Nov 2015 09:28:32 +0000 (12:28 +0300)]
Update russian locale

8 years agoFix scrolling in pages without a doctype
Simon Lydell [Thu, 5 Nov 2015 19:06:59 +0000 (20:06 +0100)]
Fix scrolling in pages without a doctype

8 years agoMake it possible to blur scrollable elements
Simon Lydell [Wed, 4 Nov 2015 16:27:51 +0000 (17:27 +0100)]
Make it possible to blur scrollable elements

Scrollable elements _are_ focusable (both by using `<tab>` and by using VimFx's
`f` commands), but they aren't marked as such by the browser. In order to
interfere as little as possible, VimFx only blurs elements marked as focusable.
This made it impossible to blur scrollable elements, preventing you from
scrolling the entire page again. This commits now also allows scrollable
elements to blurred as a special-case.

8 years agoRemove trailing space in "it" locale
Simon Lydell [Tue, 3 Nov 2015 19:02:56 +0000 (20:02 +0100)]
Remove trailing space in "it" locale

8 years agoUpdate dependencies
Simon Lydell [Tue, 3 Nov 2015 19:01:11 +0000 (20:01 +0100)]
Update dependencies

8 years agoFix global variable leaks in frame scripts
Simon Lydell [Tue, 3 Nov 2015 18:46:49 +0000 (19:46 +0100)]
Fix global variable leaks in frame scripts

Apparently, frame scripts for the same `<browser>` but from different add-ons
share the same scope. Previously, bootstrap.coffee used to set up a few global
variables. However, those were then leaked to other add-ons in frame scripts.
Now they are explicitly set in the `scope` of each `require`d module instead.

8 years agoMake checkboxes in about:preferences markable
Simon Lydell [Mon, 2 Nov 2015 07:39:55 +0000 (08:39 +0100)]
Make checkboxes in about:preferences markable

8 years agoMerge pull request #561 from cbertoldi/develop
Simon Lydell [Sun, 1 Nov 2015 19:51:05 +0000 (20:51 +0100)]
Merge pull request #561 from cbertoldi/develop

Added italian translation.

8 years agoAdded italian translation.
Carlo Bertoldi [Sun, 1 Nov 2015 18:46:46 +0000 (19:46 +0100)]
Added italian translation.

8 years agoUpdate copyright notices
Simon Lydell [Fri, 30 Oct 2015 18:43:56 +0000 (19:43 +0100)]
Update copyright notices

8 years agoDocument custom commands that access web page content
Simon Lydell [Fri, 30 Oct 2015 18:30:54 +0000 (19:30 +0100)]
Document custom commands that access web page content

8 years agoSuggest using vimfx.js as a config file
Simon Lydell [Fri, 30 Oct 2015 17:16:49 +0000 (18:16 +0100)]
Suggest using vimfx.js as a config file

- bootstrap.js cannot handle non-ASCII characters, but a loaded sub-script can.
- It's cleaner.

8 years agoFix "tab dragged to other window" detection
Simon Lydell [Fri, 30 Oct 2015 16:42:49 +0000 (17:42 +0100)]
Fix "tab dragged to other window" detection

Previously, it detected some tabs opened in the same window as just dragged to
another window.

8 years agoFix uncaught excecption on startup
Simon Lydell [Fri, 30 Oct 2015 15:42:56 +0000 (16:42 +0100)]
Fix uncaught excecption on startup

8 years agoPlay nicer with the dev tools
Simon Lydell [Thu, 29 Oct 2015 07:52:24 +0000 (08:52 +0100)]
Play nicer with the dev tools

- Previously, events that occured in the dev tools were erraneously marked as
  frame events, which made it impossible to blur the dev tools using VimFx.
- Improved Escape key handling: Blurring the dev tools using the Escape key no
  longer toggles the split console.

8 years agoAPI loading: Better safe than sorry
Simon Lydell [Thu, 29 Oct 2015 06:24:21 +0000 (07:24 +0100)]
API loading: Better safe than sorry

8 years agoMake hints mode more robust
Simon Lydell [Wed, 28 Oct 2015 17:53:38 +0000 (18:53 +0100)]
Make hints mode more robust

- Revive `hints.removeHints()`. While looking for an element that happens to
  have the VimFx container ID and removing it perhaps is not very elegant, it is
  very robust. If the reference to the hints container is ever lost (bugs
  inevitably slip through, or if `gulp` is run while in hints mode), unremovable
  hints are left on the screen.

- Enter hints mode _immediately_ when invoking one of the `f` commands. Hints
  mode used to be entered first when the frame script had found all markable
  elements. Remember that communicating with a frame script is asynchronous, and
  that finding all markable elements may take time. In that time span, user key
  presses should be handled in hints mode, not in normal mode.

8 years agoIncrease current mode display {extensi,hacka}bility
Simon Lydell [Wed, 28 Oct 2015 07:20:46 +0000 (08:20 +0100)]
Increase current mode display {extensi,hacka}bility

This commit makes it easy to highlight the current mode using custom CSS and/or
JS, by exposing the logic used for the button.

8 years agoAdd documentation for the button
Simon Lydell [Tue, 27 Oct 2015 06:49:14 +0000 (07:49 +0100)]
Add documentation for the button

8 years agoUse the red icon for ignore mode (for the button)
Simon Lydell [Tue, 27 Oct 2015 06:25:34 +0000 (07:25 +0100)]
Use the red icon for ignore mode (for the button)

Simply mkaing it grayscale didn't stand out enough. I had a hard time seeing the
difference sometimes. Besides, it's a shame having that beautiful red version
lying around but not being used.

8 years agoOptimize the API
Simon Lydell [Mon, 26 Oct 2015 19:09:18 +0000 (20:09 +0100)]
Optimize the API

- Before, if an add-on called `vimfx.set()` around 200 times it could delay
  Firefox's startup time with almost a second. Now there's no delay at all.

- Marks internal variables in public.coffee with a leading underscore. There's
  nothing stopping people from importing them, but no they at least look
  private.

- Remove `vimfx.refresh()`. That is done automatically now, in an efficient way.

- This also makes the test's teardown more robust.

8 years agoFix typos in api.md
Simon Lydell [Mon, 26 Oct 2015 16:33:44 +0000 (17:33 +0100)]
Fix typos in api.md

8 years agoFix typo in vimfx.coffee
Simon Lydell [Mon, 26 Oct 2015 08:09:24 +0000 (09:09 +0100)]
Fix typo in vimfx.coffee

8 years agoMake tests more robust by providing teardown hook
Simon Lydell [Mon, 26 Oct 2015 07:51:05 +0000 (08:51 +0100)]
Make tests more robust by providing teardown hook

8 years agoFix broken setting of the API URL pref
Simon Lydell [Mon, 26 Oct 2015 06:37:49 +0000 (07:37 +0100)]
Fix broken setting of the API URL pref

Accidentally broken in commit 33ed14df. I hadn't noticed before, since the
correct pref still remained in my profiles. Testing in a new profile revealed
the error.

8 years agoFix crash when installing VimFx after `gulp -t`
Simon Lydell [Sun, 25 Oct 2015 18:52:58 +0000 (19:52 +0100)]
Fix crash when installing VimFx after `gulp -t`

8 years agoGet the public API the same way in tests as in docs
Simon Lydell [Sun, 25 Oct 2015 18:43:22 +0000 (19:43 +0100)]
Get the public API the same way in tests as in docs

8 years agoAdd `vimfx.getDefault()` to the public API
Simon Lydell [Sun, 25 Oct 2015 18:38:42 +0000 (19:38 +0100)]
Add `vimfx.getDefault()` to the public API

8 years agoIncrease hackability of the help dialog
Simon Lydell [Sun, 25 Oct 2015 17:44:33 +0000 (18:44 +0100)]
Increase hackability of the help dialog

Provide `data-mode`, `data-category` and `data-command` attributes, that can be
used by custom CSS to, for example, hide unwanted modes, categories and/or
commands from the dialog.

8 years agoFix handling of tabs dragged to new/other windows
Simon Lydell [Sun, 25 Oct 2015 12:06:56 +0000 (13:06 +0100)]
Fix handling of tabs dragged to new/other windows

See #57. This was originally fixed in commit 35522821, but regressed after
adding multi-process support. This fixes it again.

8 years agoMerge pull request #556 from Kambfhase/patch-1
Simon Lydell [Sat, 24 Oct 2015 19:49:51 +0000 (21:49 +0200)]
Merge pull request #556 from Kambfhase/patch-1

Improves German locale

8 years agoImproves German locale
Frank Hase [Sat, 24 Oct 2015 19:47:18 +0000 (21:47 +0200)]
Improves German locale

Fixes typos. Uses passive voice where appropriate.

8 years agoFix `<late>` + `event.stopPropagation()`
Simon Lydell [Sat, 24 Oct 2015 15:51:17 +0000 (17:51 +0200)]
Fix `<late>` + `event.stopPropagation()`

If the page calls `event.stopPropagation()`, late listenOnce:es are of course
not triggered for that event. However, the listeners still remain. This caused
them to erraneously trigger commands on the _next_ keypress. This commit adds a
flag telling the late listeners if their event was `.stopPropagation()`:ed.

8 years agoFix typo in documentation
Simon Lydell [Sat, 24 Oct 2015 14:58:59 +0000 (16:58 +0200)]
Fix typo in documentation

8 years agoEnhance detection of `<label>`s with hidden `<input>`
Simon Lydell [Sat, 24 Oct 2015 14:18:24 +0000 (16:18 +0200)]
Enhance detection of `<label>`s with hidden `<input>`

Those `<label>`s should get hint markers.

8 years agoRemove unnecessary code in utils.simulateClick
Simon Lydell [Sat, 24 Oct 2015 13:25:33 +0000 (15:25 +0200)]
Remove unnecessary code in utils.simulateClick

8 years agoImprove the public API consumption
Simon Lydell [Sat, 24 Oct 2015 12:21:41 +0000 (14:21 +0200)]
Improve the public API consumption

Re-run all `.getAPI` calls when VimFx is updated. Otherwise you need to restart
Firefox, or disable and then enable every add-on that uses the API in order for
them to take effect on the new version.

8 years agoEnhance "switch back to tab" detection
Simon Lydell [Sat, 24 Oct 2015 09:05:14 +0000 (11:05 +0200)]
Enhance "switch back to tab" detection

8 years agoFix uncaught ReferenceError sometimes when opening tabs
Simon Lydell [Fri, 23 Oct 2015 19:39:48 +0000 (21:39 +0200)]
Fix uncaught ReferenceError sometimes when opening tabs

Apparently, `setTimeout` is _sometimes_ available in frame scripts, sometimes
not. `content.setTimeout` always is available, though.

8 years agoMerge pull request #553 from akhodakivskiy/non-multi-process-event-quirks
Simon Lydell [Fri, 23 Oct 2015 19:31:21 +0000 (21:31 +0200)]
Merge pull request #553 from akhodakivskiy/non-multi-process-event-quirks

Fix non-multi-process event quirks

8 years agoRe-implement "switch back to tab" logic
Simon Lydell [Fri, 23 Oct 2015 19:12:08 +0000 (21:12 +0200)]
Re-implement "switch back to tab" logic

... in a way that works regardless of whether multi-process is enabled or not.
As a bonus, the code ended up simpler than it was before!

8 years agoFix missing event listeners when re-installing VimFx
Simon Lydell [Fri, 23 Oct 2015 18:49:03 +0000 (20:49 +0200)]
Fix missing event listeners when re-installing VimFx

8 years agoFix errors when calling many tab related commands
Simon Lydell [Fri, 23 Oct 2015 17:25:33 +0000 (19:25 +0200)]
Fix errors when calling many tab related commands

This only happens when in non-multi-process and is due to bug 1200334.

8 years agoProperly handle key events in non-multi-process
Simon Lydell [Thu, 22 Oct 2015 17:08:00 +0000 (19:08 +0200)]
Properly handle key events in non-multi-process

This commit can alternatively be lableled:

"Fix `Vim::isFrameEvent`" in in-multi-process.

Before, _no key events were considered frame events non-multi-process, because
the check didn't work there. Most notably, this caused `<escape>` to be leaked
to the page when blurring text inputs.

8 years agoAdd MULTI_PROCESS_ENABLED global
Simon Lydell [Thu, 22 Oct 2015 17:06:38 +0000 (19:06 +0200)]
Add MULTI_PROCESS_ENABLED global

8 years agoAdd `gulp sloc`
Simon Lydell [Fri, 23 Oct 2015 15:34:27 +0000 (17:34 +0200)]
Add `gulp sloc`

8 years agoAdd a question to question-and-answers.md
Simon Lydell [Fri, 23 Oct 2015 14:28:38 +0000 (16:28 +0200)]
Add a question to question-and-answers.md

8 years agoFix typo in docs
Simon Lydell [Fri, 23 Oct 2015 12:14:38 +0000 (14:14 +0200)]
Fix typo in docs

8 years agoConsistently use `event.originalTarget`
Simon Lydell [Fri, 23 Oct 2015 06:30:23 +0000 (08:30 +0200)]
Consistently use `event.originalTarget`

8 years agoMove a comment to where it belongs
Simon Lydell [Fri, 23 Oct 2015 06:18:53 +0000 (08:18 +0200)]
Move a comment to where it belongs

8 years agoFix lint error
Simon Lydell [Fri, 23 Oct 2015 05:54:29 +0000 (07:54 +0200)]
Fix lint error

8 years agoBump Firefox min version to 40
Simon Lydell [Thu, 22 Oct 2015 16:19:22 +0000 (18:19 +0200)]
Bump Firefox min version to 40

... because we use `String::includes`, which requires at least that version.

8 years agoFix autofocus prevention when coming from another window
Simon Lydell [Wed, 21 Oct 2015 17:31:39 +0000 (19:31 +0200)]
Fix autofocus prevention when coming from another window

8 years agoReplace a `console.log` in gulpfile.coffee
Simon Lydell [Wed, 21 Oct 2015 16:46:42 +0000 (18:46 +0200)]
Replace a `console.log` in gulpfile.coffee

... with `process.stdout.write`. This means that there is only one `console.log`
occurance in all .coffee files, which makes it easier to search for left-over
temporary `console.log`s.

8 years agoFix impossible-to-blur inputs issue
Simon Lydell [Wed, 21 Oct 2015 16:44:14 +0000 (18:44 +0200)]
Fix impossible-to-blur inputs issue

8 years agoMerge pull request #551 from akhodakivskiy/late-shortcuts
Simon Lydell [Wed, 21 Oct 2015 07:13:46 +0000 (09:13 +0200)]
Merge pull request #551 from akhodakivskiy/late-shortcuts

Add support for `<late>` shortcuts

8 years agoAdd support for `<late>` shortcuts
Simon Lydell [Sun, 18 Oct 2015 18:57:09 +0000 (20:57 +0200)]
Add support for `<late>` shortcuts

By including the special key `<late>` in a shortcut it is run _after_ web page
event listeners, allowing them to override the VimFx shortcut. This is useful
when binding to `<tab>` and the arrow keys.

8 years agoFix state resetting when refreshing the page
Simon Lydell [Mon, 19 Oct 2015 18:21:52 +0000 (20:21 +0200)]
Fix state resetting when refreshing the page

8 years agoMerge pull request #552 from leVirve/develop
Simon Lydell [Mon, 19 Oct 2015 11:15:17 +0000 (13:15 +0200)]
Merge pull request #552 from leVirve/develop

update zh-tw locale strings

8 years agoupdate zh-tw locale strings
Salas [Mon, 19 Oct 2015 07:44:44 +0000 (15:44 +0800)]
update zh-tw locale strings

8 years agoMerge pull request #550 from m-r-r/french-translation
Simon Lydell [Sun, 18 Oct 2015 18:28:53 +0000 (20:28 +0200)]
Merge pull request #550 from m-r-r/french-translation

Update the French translation

8 years agoUpdate the French translation
m-r-r [Sun, 18 Oct 2015 16:41:53 +0000 (18:41 +0200)]
Update the French translation

8 years agoUpdate Japanese translator in PEOPLE.md
Simon Lydell [Sun, 18 Oct 2015 14:49:42 +0000 (16:49 +0200)]
Update Japanese translator in PEOPLE.md

8 years agoMerge pull request #549 from pluser/patch-1
Simon Lydell [Sun, 18 Oct 2015 14:47:06 +0000 (16:47 +0200)]
Merge pull request #549 from pluser/patch-1

Translate to Japanese

8 years agoImprove Japanese translation
pluser [Sun, 18 Oct 2015 10:57:47 +0000 (19:57 +0900)]
Improve Japanese translation

8 years agoTranslate to Japanese
pluser [Sun, 18 Oct 2015 09:49:31 +0000 (18:49 +0900)]
Translate to Japanese

8 years agoImprove display of mode names in the help dialog
Simon Lydell [Sun, 18 Oct 2015 07:56:53 +0000 (09:56 +0200)]
Improve display of mode names in the help dialog

This is mostly for non-en-US languages which might have longer names.

8 years agoMerge pull request #548 from mozillazg/zh-CN
Simon Lydell [Sun, 18 Oct 2015 07:37:18 +0000 (09:37 +0200)]
Merge pull request #548 from mozillazg/zh-CN

Improve zh-CN locale

8 years agoImprove zh-CN local
mozillazg [Sun, 18 Oct 2015 00:40:14 +0000 (08:40 +0800)]
Improve zh-CN local

8 years agoUpdate nl locale
Floris [Sat, 17 Oct 2015 22:17:08 +0000 (00:17 +0200)]
Update nl locale

8 years agoFix documentation link in the readme
Simon Lydell [Sat, 17 Oct 2015 22:30:18 +0000 (00:30 +0200)]
Fix documentation link in the readme

It pointed to master, which will be correct when 0.6.0 is released. However,
there are already other links in the readme that point to develop, so we could
just as well make that link work for the time being as well.

8 years agoFix lint error
Simon Lydell [Sat, 17 Oct 2015 21:39:04 +0000 (23:39 +0200)]
Fix lint error

8 years agoFix blacklist re-apply issue
Simon Lydell [Sat, 17 Oct 2015 21:27:50 +0000 (23:27 +0200)]
Fix blacklist re-apply issue

1. Visit a blacklisted site.
2. Exit insert mode.
3. Switch to another tab and back again.

Before this commit, insert mode was wrongly re-entered at this point.

8 years agoFix blacklisting on already loaded tabs
Simon Lydell [Sat, 17 Oct 2015 21:17:38 +0000 (23:17 +0200)]
Fix blacklisting on already loaded tabs

8 years agoMake the `H` and `L` commands work in Firefox < 43
Simon Lydell [Sat, 17 Oct 2015 21:12:46 +0000 (23:12 +0200)]
Make the `H` and `L` commands work in Firefox < 43

... although without count support.

8 years agoFix uncaught exception on startup
Simon Lydell [Sat, 17 Oct 2015 21:07:30 +0000 (23:07 +0200)]
Fix uncaught exception on startup

8 years agoFix VimFx not responding in already loaded tabs
Simon Lydell [Sat, 17 Oct 2015 21:05:09 +0000 (23:05 +0200)]
Fix VimFx not responding in already loaded tabs

8 years agoMerge pull request #545 from comepradz/translation-id
Simon Lydell [Sat, 17 Oct 2015 20:51:26 +0000 (22:51 +0200)]
Merge pull request #545 from comepradz/translation-id

8 years agoUpdate and improve Indonesian translation
Yoppy Halilintar [Sat, 17 Oct 2015 19:00:28 +0000 (02:00 +0700)]
Update and improve Indonesian translation

8 years agoFix slightly broken `<escape>` handling
Simon Lydell [Sat, 17 Oct 2015 20:42:08 +0000 (22:42 +0200)]
Fix slightly broken `<escape>` handling

8 years agoFix shortcut triggering on slowly loadnig pages
Simon Lydell [Sat, 17 Oct 2015 18:52:53 +0000 (20:52 +0200)]
Fix shortcut triggering on slowly loadnig pages

Frame scripts cannot receive events until a DOMWindow has been created in it. If
you opened a link in a new tab, and the page loaded very slowly making it take a
long time before a DOMWindow is created, it meant that no VimFx shortcuts could
used during that time.

The solution is to handle shortcuts in the main process until a DOMWindow has
been created.

8 years agoAdd new german translator to PEOPLE.md
Simon Lydell [Sat, 17 Oct 2015 17:39:16 +0000 (19:39 +0200)]
Add new german translator to PEOPLE.md

8 years agoMerge pull request #544 from benediktg/patch-1
Simon Lydell [Sat, 17 Oct 2015 17:37:28 +0000 (19:37 +0200)]
Merge pull request #544 from benediktg/patch-1

Patch for German translations

8 years agoFix blacklisting and `vim.state` resetting
Simon Lydell [Sat, 17 Oct 2015 17:23:03 +0000 (19:23 +0200)]
Fix blacklisting and `vim.state` resetting

8 years agoadded some more German translations
Benedikt [Sat, 17 Oct 2015 17:09:36 +0000 (19:09 +0200)]
added some more German translations

Now the de-locale should be complete.

8 years agoadded some German translations
Benedikt [Sat, 17 Oct 2015 16:25:35 +0000 (18:25 +0200)]
added some German translations

8 years agoRemove `vim.isBlacklisted()` from the public API
Simon Lydell [Sat, 17 Oct 2015 13:47:34 +0000 (15:47 +0200)]
Remove `vim.isBlacklisted()` from the public API

8 years agoFix VimFx being broken in new windows
Simon Lydell [Sat, 17 Oct 2015 13:35:36 +0000 (15:35 +0200)]
Fix VimFx being broken in new windows

Apparently, the VimFx button only needs to be added once, not once per window.
Trying to add it more than once caused an exception that prevented the rest of
VimFx from being set up.

8 years agoFix lint error
Simon Lydell [Sat, 17 Oct 2015 13:13:16 +0000 (15:13 +0200)]
Fix lint error

8 years agoFix uncaught error on Firefox startup
Simon Lydell [Sat, 17 Oct 2015 12:24:33 +0000 (14:24 +0200)]
Fix uncaught error on Firefox startup

8 years agoFix uncaught exception on focus/blur
Simon Lydell [Sat, 17 Oct 2015 11:51:22 +0000 (13:51 +0200)]
Fix uncaught exception on focus/blur

`window` does not have `.ownerDocument`

Imprint / Impressum