Skip to content

Allow blur of embedded objects (e.g. flash) and add an option to enable/disable it #1211

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from

Conversation

mrmr1993
Copy link
Contributor

This is an extension of #1194, which adds the feature but toggles it with an option in the options page, and defaults it to off.

@smblott-github does this deal with your concerns?

@mrmr1993 mrmr1993 force-pushed the blur-embeds-with-options branch from 67d8a22 to babddda Compare October 29, 2014 22:04
mrmr1993 added a commit to mrmr1993/vimium that referenced this pull request Nov 23, 2014
Allow blur of embedded objects (e.g. flash) and add an option to enable/disable it

Conflicts:
	content_scripts/vimium_frontend.coffee
@smblott-github
Copy link
Collaborator

@smblott-github does this deal with your concerns?

Not really, I'm afraid. Options are bad. We should reserve new options for when we really, really have to have them.

@mrmr1993 mrmr1993 force-pushed the blur-embeds-with-options branch from babddda to 9d31bb7 Compare December 21, 2014 14:55
@mrmr1993
Copy link
Contributor Author

Rebased.

@maximbaz
Copy link

An interesting conversation you guys had, let me summarize to see if I missed something.

Both options have a corner case without a workaround:

I think both issues are valid, and we shouldn't ignore them just because we don't have a nice idea on how to fix them.

New options are evil? OK, let's brainstorm another approach! Here you are a couple from the top of my mind:

  • Show a checkbox Vimium captures ESC in the context menu only if there is an embedded object on the page
  • Create a way to completely disable vimium for the current tab (with the ability to enable it back).

If I had this issue, where would I personally search for such option first of all?

image

Whatever we chose, it should be intuitive for a person specifically looking for this option, and transparent for everyone else.

Second thing, I believe vimium should blur embeds by default, just because there is no way out once you enter insert mode. While if you are playing flash game and annoyed that vimium captures the ESC keypress, you are able to disable this.
However, such thinking is based on the fact, that we don't know many scenarios of people using embeds. Perhaps we could even make an experiment -- release a version and see how many people would complain 😄

@smblott-github, @mrmr1993 what do you think?

@mrmr1993
Copy link
Contributor Author

To my mind, the way to do things is:

  • merge [Feature request] Ability to import/export settings #1440 (so we can treat esc the same as any other binding).
  • add a way to set passkeys for complex keys (eg. <esc>, <c-a>, etc.). I suggest (optionally) using spaces to delimit passkeys , since
    • we currently can't map the spacebar at all, and
    • if we end up allowing it, we'll probably use <space> or similar rather than .
  • always handle esc for embeds (although respect passkey rules, as usual).

Then the whole use case is handled by passkeys (ie. just set <esc> as a passkey), and we have no extra UI.

@z0rch I don't think the option has enough utility to warrant having it in the popup. I agree that it should be on by default, but clearly @smblott-github disagrees.

@maximbaz
Copy link

Popup is the first place I would intuitively search for such option, that's why I thought about it. Hiding the option unless there is an embed on the page would reduce the noise.

But anyway, it would be definitely the best if I could specify <ESC> in that popup, then extra checkbox is useless.

It is also interesting to think from the complexity perspective, how difficult it is to complete all the steps you described vs move the checkbox from the options into the popup.
If it is time consuming and/or blocked due to other reasons, perhaps it is reasonable to implement a checkbox as the first version, until we get to the more correct implementation.

@maximbaz
Copy link

If this pull request is supposed to be merged after #1369, there is no need in having a new option anymore.

@mrmr1993
Copy link
Contributor Author

Even simpler; if we merge #1369, we could just un-revert the commit from #1194!

@smblott-github
Copy link
Collaborator

Your analysis is about right, @z0rch. Blur on Esc is probably the right thing to do for most users (me included), and most use cases. The problem is that the counter example, although probably uncommon, is crippling.

I'd consider reverting a277fa6 in post-1.46 and seeing whether problems arise. That's the simplest "solution".

@smblott-github
Copy link
Collaborator

If we do this, @mrmr1993, then I'd favour no option. I'm not sure it passes the new-option threshold.

@maximbaz
Copy link

@smblott-github, just for my personal understanding, what is the general purpose of post-1.46 branch? How many people are using it, how long code remains there before being merged into master?

The name post-1.46 does sound a bit weird today, since 1.49 is currently released version 😄

@smblott-github
Copy link
Collaborator

what is the general purpose of post-1.46 branch?

At the moment, I'm only putting small changes with high confidence into master. That way, we can quickly do a new release if a problem emerges. I expect post-1.46 to be merged soon.

The name comes because it was started before the 1.46 release, which quickly became 1.49. post-1.46 allows us to keep working forward without messing up master.

@mrmr1993
Copy link
Contributor Author

The name comes because it was started before the 1.46 release, which quickly became 1.49. post-1.46 allows us to keep working forward without messing up master.

Why don't we just call it dev? Then we can do all our work there, and then pull across the most stable changes into master, even as we move away from the last release.

@mrmr1993
Copy link
Contributor Author

Your analysis is about right, @z0rch. Blur on Esc is probably the right thing to do for most users (me included), and most use cases. The problem is that the counter-example, although probably uncommon, is crippling.

I've opened #1372 which enables blurring embeds and allows us to work around counter-examples using passkeys. Is that any good @smblott-github?

smblott-github added a commit that referenced this pull request Dec 22, 2014
Including embeds for .blur() etc. here is experimental.  It appears to
be the right thing to do for most common use cases.  However, it could
also cripple flash-based sites and games.  See discussion in #1211
and #1194.
@smblott-github
Copy link
Collaborator

Closing in favour or #1377.

smblott-github added a commit to smblott-github/vimium that referenced this pull request Dec 28, 2014
Including embeds for .blur() etc. here is experimental.  It appears to
be the right thing to do for most common use cases.  However, it could
also cripple flash-based sites and games.  See discussion in philc#1211
and philc#1194.
@mrmr1993 mrmr1993 deleted the blur-embeds-with-options branch November 12, 2017 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants