8000 feat: allow setting window shape by nornagon · Pull Request #13789 · electron/electron · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat: allow setting window shape #13789

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

Merged
merged 2 commits into from
Jul 30, 2018
Merged

feat: allow setting window shape #13789

merged 2 commits into from
Jul 30, 2018

Conversation

nornagon
Copy link
Contributor
@nornagon nornagon commented Jul 24, 2018

This binds Widget::SetShape, an API that already exists in Chromium. It's a more reliable method of having some parts of your window be "click-through" than the current setIgnoreMouseEvents API, which messes around with the WS_EX_LAYERED window style, causing strange bugs and incompatibility with hardware acceleration.

Checklist
  • PR description included and stakeholders cc'd
  • npm test passes
  • tests are changed or added
  • relevant documentation is changed or added
  • PR title follows semantic commit guidelines

@nornagon nornagon requested review from a team and zcbenz July 24, 2018 21:59
@nornagon nornagon requested a review from a team July 24, 2018 22:19
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
@nornagon nornagon changed the title [wip] feat: allow setting window shape feat: allow setting window shape Jul 24, 2018
@@ -1262,6 +1262,11 @@ Sets the opacity of the window. On Linux does nothing.

Returns `Number` - between 0.0 (fully transparent) and 1.0 (fully opaque)

#### `win.setShape(rects)` _Windows_ _Linux_ _Experimental_

* `rects` [Rectangle[]](structures/rectangle.md) - Sets a shape on the window.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you expand this documentation a bit to explain what shapes are and why you'd want to use them?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@MarshallOfSound MarshallOfSound added the semver/minor backwards-compatible functionality label Jul 30, 2018
@nornagon nornagon merged commit 3bdff2d into master Jul 30, 2018
@nornagon nornagon deleted the window-set-shape branch July 30, 2018 20:37
@ckerr
Copy link
Member
ckerr commented Aug 8, 2018

/trop run backport-to 2-1-x

@trop
Copy link
Contributor
trop bot commented Aug 8, 2018

The backport process for this PR has been manually initiated, sending your 1's and 0's to "2-1-x" here we go! :D

ckerr pushed a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnor
8000
eMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
ckerr pushed a commit that referenced this pull request Aug 9, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
felixrieseberg pushed a commit that referenced this pull request Aug 29, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
@ckerr
Copy link
Member
ckerr commented Sep 4, 2018

/trop run backport-to 3-0-x

@trop
Copy link
Contributor
trop bot commented Sep 4, 2018

The backport process for this PR has been manually initiated,
sending your 1's and 0's to "3-0-x" here we go! :D

@trop
Copy link
Contributor
trop bot commented Sep 4, 2018

We have automatically backported this PR to "3-0-x", please check out #14445

@trop trop bot added the merged/3-0-x label Sep 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver/minor backwards-compatible functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
0