Incorrect window border alignment during animations
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gala |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Here is an image gallery detailing the issue:
http://
To reproduce:
Click the button in the top right corner of any window, and/or drag the window to the left or right screen edge, and let go.
This is how I see it:
When animating window resizes, gala stretches the size of the initial window to the size of the resized window, and then flashes in the image of the resized window.
The problem with this approach:
For every edge that differs in whether or not a shadow is rendered for the initial and transitioned state, the margins do not "line up", because Gala counts the window shadows as part of the size of the initial and transitioned windows.
Possible solutions:
1. Hardcode the size and margins of the shadow for each resize transition (e.g. maximize, restore, snap left, snap right, etc...)
2. Crop the window image so that only the window, and not the shadows is animated, and render the shadows as the image is transformed, so the margins always line up between the last frame of the animation and the final state.
3. This isn't really a fix, but it would reduce the eyestrain involved in resizing windows: fade the transition from displaying the initial window state to the final window state.
IMHO, the best solution (that doesn't involve live resizing) would be a combination of 2 and 3, as that would fix the margins not aligning during the animation, and the eyestrain that results from the flashing.
description: | updated |
summary: |
- Border "snapping" on window resize animation + Incorrect window border alignment during animations |
Changed in gala: | |
status: | New → In Progress |
assignee: | nobody → Y Lin (ainq) |
Changed in gala: | |
milestone: | none → loki-beta1 |
Changed in gala: | |
importance: | Undecided → Medium |
no longer affects: | elementaryos |
Changed in gala: | |
status: | In Progress → Confirmed |
assignee: | ainq (ainq) → nobody |
tags: | added: animation |
Changed in gala: | |
status: | Fix Committed → Fix Released |
A quess from <ainq> in IRC: "Simply adding some additional padding to the values should fix it"