<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vimium/lib, branch v1.58</title>
<subtitle>The hacker's browser.</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/'/>
<entry>
<title>Merge pull request #2369 from gdh1995/zoomed-docEl-offset</title>
<updated>2017-03-04T07:59:01+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2017-03-04T07:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=ea9622a3819d376a575c8d4d0cf64e3165d5eafd'/>
<id>ea9622a3819d376a575c8d4d0cf64e3165d5eafd</id>
<content type='text'>
getViewportTopLeft: support zoomed static documentElement</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
getViewportTopLeft: support zoomed static documentElement</pre>
</div>
</content>
</entry>
<entry>
<title>Guard against undefined (out of spec) getDestinationInsertionPoints</title>
<updated>2017-02-09T18:33:30+00:00</updated>
<author>
<name>mrmr1993</name>
</author>
<published>2017-02-08T19:47:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=97586506fb861c9ca0af1e7fd4941ed0ec5b1b9b'/>
<id>97586506fb861c9ca0af1e7fd4941ed0ec5b1b9b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>take documentElement's border into consideration</title>
<updated>2017-01-03T08:44:41+00:00</updated>
<author>
<name>gdh1995</name>
</author>
<published>2016-12-22T14:28:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=a6ee639ecaf758fbe4652b5d70beaa607821ca04'/>
<id>a6ee639ecaf758fbe4652b5d70beaa607821ca04</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>getViewportTopLeft: consider the new style "contain"</title>
<updated>2017-01-03T08:44:41+00:00</updated>
<author>
<name>gdh1995</name>
</author>
<published>2016-12-22T14:24:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=c288100d9ea5c09efa14b0d4d32ee87b077b8588'/>
<id>c288100d9ea5c09efa14b0d4d32ee87b077b8588</id>
<content type='text'>
If an element's `contain` is/contains `paint`, then it will be forced
showing just as its `position` is `relative`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If an element's `contain` is/contains `paint`, then it will be forced
showing just as its `position` is `relative`.
</pre>
</div>
</content>
</entry>
<entry>
<title>getViewportTopLeft: support zoomed static documentElement</title>
<updated>2017-01-03T08:44:40+00:00</updated>
<author>
<name>gdh1995</name>
</author>
<published>2016-12-11T17:02:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=0338c08ed7a15e11363b6218da8cb495b769ecfa'/>
<id>0338c08ed7a15e11363b6218da8cb495b769ecfa</id>
<content type='text'>
if `document.documentElement` is zoomed, Vimium's hints `&lt;div&gt;` are also zoomed,
and then `scrollY` may be not equal with viewport client rect's `top`.

Example:
* make the tab zoom level is 1, `documentElement`'s `zoom` style is 2
* open a page, scroll to the top left corner
* press `f`, and all things are right
* exit LinkHints mode, scroll down for 100px, and then press `f`
* this time all hints has moved down 200px from the correct place
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
if `document.documentElement` is zoomed, Vimium's hints `&lt;div&gt;` are also zoomed,
and then `scrollY` may be not equal with viewport client rect's `top`.

Example:
* make the tab zoom level is 1, `documentElement`'s `zoom` style is 2
* open a page, scroll to the top left corner
* press `f`, and all things are right
* exit LinkHints mode, scroll down for 100px, and then press `f`
* this time all hints has moved down 200px from the correct place
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2311 from smblott-github/enterNormalMode</title>
<updated>2016-12-21T05:09:42+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-12-21T05:09:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=320f433afb53cc774b175dab0f6a1ad7a47d60f9'/>
<id>320f433afb53cc774b175dab0f6a1ad7a47d60f9</id>
<content type='text'>
New command option to enter normal mode</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New command option to enter normal mode</pre>
</div>
</content>
</entry>
<entry>
<title>Move SearchEngines to bg-utils.coffee.</title>
<updated>2016-10-23T15:50:51+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-10-23T15:50:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=24a6217f26911ba4e934f4a7bff8bcd30c227163'/>
<id>24a6217f26911ba4e934f4a7bff8bcd30c227163</id>
<content type='text'>
`SearchEngines` was previously in `utils.coffee`, which means it was
loaded in *every* content frame.  This is unnecessary, since it is only
used on the background page.  So this PR moves it there.

Also:

- Simplify some unnecessarily complex logic in `vomnibar.coffee`.
- Re-use `Utils.parseLines()` to parse the custom search engine configuation text.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`SearchEngines` was previously in `utils.coffee`, which means it was
loaded in *every* content frame.  This is unnecessary, since it is only
used on the background page.  So this PR moves it there.

Also:

- Simplify some unnecessarily complex logic in `vomnibar.coffee`.
- Re-use `Utils.parseLines()` to parse the custom search engine configuation text.
</pre>
</div>
</content>
</entry>
<entry>
<title>enterNormalMode; new command - implementation</title>
<updated>2016-10-15T11:13:25+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-10-15T11:01:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=32dc2bf3bf5c28ff44fff89d2436a76bb7bba925'/>
<id>32dc2bf3bf5c28ff44fff89d2436a76bb7bba925</id>
<content type='text'>
Here's the problem...

Many sites define their own keyboard shortcuts, for example Google Play
Music defines `gh` for "go home".

On such sites, it's natural to set up pass keys for `g` and `h`.

But that makes any Vimium key bindings which begin with `g`
inaccessible.

Here, we add a new command `enterNormalMode` which installs a new
normal-mode instance (without any pass keys).  This executes a single
normal-mode command then exits.

Example:

    map \ enterNormalMode
    map | enterNormalMode count=999999

Assuming `g` and `o` are pass keys:

- `gh` or `o` - use the page's binding
- `\gg` - scroll to top
- `2\ggo` - scroll to the top and open the Vomnibar
- `\g&lt;Escape&gt;o` - open the Vomnibar
- `\&lt;Escape&gt;o` - use the page's bindings
- `\\\\\\&lt;Escape&gt;o` - use the page's bindings (new normal-mode instances
  displace previous ones)

This required some changes to the scroller.  Previously, we only ever
had one normal-mode instance, and could arrange statically that the
scroller's key listeners were above normal-mode's key listeners in the
handler stack.  Here, we fix this by adding and removing the scroller's
listeners dynamically, so they're always at the top of the handler
stack.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Here's the problem...

Many sites define their own keyboard shortcuts, for example Google Play
Music defines `gh` for "go home".

On such sites, it's natural to set up pass keys for `g` and `h`.

But that makes any Vimium key bindings which begin with `g`
inaccessible.

Here, we add a new command `enterNormalMode` which installs a new
normal-mode instance (without any pass keys).  This executes a single
normal-mode command then exits.

Example:

    map \ enterNormalMode
    map | enterNormalMode count=999999

Assuming `g` and `o` are pass keys:

- `gh` or `o` - use the page's binding
- `\gg` - scroll to top
- `2\ggo` - scroll to the top and open the Vomnibar
- `\g&lt;Escape&gt;o` - open the Vomnibar
- `\&lt;Escape&gt;o` - use the page's bindings
- `\\\\\\&lt;Escape&gt;o` - use the page's bindings (new normal-mode instances
  displace previous ones)

This required some changes to the scroller.  Previously, we only ever
had one normal-mode instance, and could arrange statically that the
scroller's key listeners were above normal-mode's key listeners in the
handler stack.  Here, we fix this by adding and removing the scroller's
listeners dynamically, so they're always at the top of the handler
stack.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add TODO.</title>
<updated>2016-10-10T12:54:12+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-10-10T12:54:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=0346b2d971ffab26a8d37946aca1c550b316e317'/>
<id>0346b2d971ffab26a8d37946aca1c550b316e317</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename 'translate' to 'mapkey'.</title>
<updated>2016-10-10T12:28:15+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-10-10T12:27:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=c5e26d75cb8525ba34f6f54f1a1c041df66075e3'/>
<id>c5e26d75cb8525ba34f6f54f1a1c041df66075e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
