Unity appears to enable decorations in _MOTIFY_WM_HINTS on its own

Bug #1122478 reported by Andrew Bliss on 2013-02-11
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Medium
Marco Trevisan (Treviño)
5.0
Fix Released
Medium
Christopher Townsend
6.0
Fix Released
Medium
Christopher Townsend
unity (Ubuntu)
Medium
Christopher Townsend
Nominated for Quantal by Alan Pope 🍺🐧🐱 🦄
Precise
Undecided
Unassigned

Bug Description

[Test Case]

1. Start Steam on Ubuntu
   -> Notice that the Steam window has a custom, non-Ubuntu border, window buttons and decorations
2. Maximize the Steam window
3. Minimize the Steam window
4. Un-minimize the Steam window
5. Restore the Steam window
   -> Make sure that Steam does not have Ubuntu window decorations, but looks as it looked in step 1.

[Regression Potential]

No real regression potential - in really really impossible conditions is the lack of window decorations for selected, standard windows.

Original description:

A Steam Linux user reported this problem.

He created a video which shows a sequence of minimizes and maximizes. Initially the Steam client window does not have decoration. This is expected as Steam sets _MOTIF_WM_HINTS to disable decorations and never changes them again. As the mins and maxes are performed _MOTIF_WM_HINTS gets changed and decorations are enabled. Checking xprop confirms that the window properties actually are different. As far as I can tell the Steam client is not doing this, so it seems like Unity is?

Here's the movie:
http://youtu.be/erPL_hPDHxA

Here's the original GitHub report:
https://github.com/ValveSoftware/steam-for-linux/issues/1516

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: unity 5.18.0-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-36.57-generic-pae 3.2.35
Uname: Linux 3.2.0-36-generic-pae i686
NonfreeKernelModules: nvidia
ApportVersion: 2.0.1-0ubuntu17.1
Architecture: i386
CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
Date: Sun Feb 10 14:17:57 2013
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta i386 (20120328)
MarkForUpload: True
SourcePackage: unity
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Andrew Bliss (drewb) wrote :

@bregma This is impacting valve users, could you please take a look? Thanks

Changed in unity (Ubuntu):
assignee: nobody → Stephen M. Webb (bregma)
importance: Undecided → Medium
Changed in unity (Ubuntu):
assignee: Stephen M. Webb (bregma) → Unity Maintainers (unity-maintainers-team)
status: New → Confirmed
Changed in unity:
assignee: nobody → Unity Maintainers (unity-maintainers-team)
status: New → Confirmed
importance: Undecided → Medium
Christopher Townsend (townsend) wrote :

Based on the behavior seen in the movie, I'm pretty sure this is the same issue reported in bug #1083186. I'll try to gather some more info on this bug before we duplicate it to the aforementioned bug.

Tigran Gabrielyan (tigrangab) wrote :

I'm on Ubuntu 12.10 and this happens in Chrome as well when "Use System Title Bar and Borders" is unchecked.

Changed in unity:
milestone: none → 7.0.0
status: Confirmed → Triaged
Changed in unity:
assignee: Unity Maintainers (unity-maintainers-team) → Christopher Townsend (townsend)
status: Triaged → Won't Fix
status: Won't Fix → Triaged
Christopher Townsend (townsend) wrote :

This is fixed in 13.04, but is an issue in 12.10 and 12.04.

I'm currently working on a fix for those releases will soon be linking some branches and will work on getting them SRU'd.

Changed in unity:
status: Triaged → Fix Committed
Changed in unity (Ubuntu):
status: Confirmed → Fix Released
assignee: Unity Maintainers (unity-maintainers-team) → Christopher Townsend (townsend)

Christopher:
if you look at the new code in PluginAdapter that is present in my branch linked here for trunk, it should help.
The whole code should be easily backportable with no regressions, while the usage of HasWindowDecorations/IsWindowDecorated in PanelMenuView and unityshell should be easy to switch.

Changed in unity:
assignee: Christopher Townsend (townsend) → Marco Trevisan (Treviño) (3v1n0)
Christopher Townsend (townsend) wrote :

@Marco,

Yep, I've already got a working branch for Unity/6.0:)

I just need to make sure I'm taking only what is absolutely needed in order to have the best chances of getting this SRU'd for both 12.10 and 12.04.

Christopher Townsend (townsend) wrote :

I now have a branch linked for Unity 5.0. My next steps are to get a test case in for each branch and then submit a merge proposal. Once the MP is approved, then I will nominate this for SRU in both Precise and Quantal.

Łukasz Zemczak (sil2100) wrote :

Tomorrow I will have again access to my precise machine, so I will try testing and reviewing the 5.0 branch of the fix. We'll have to find someone from unity to take a look at the 6.0 branch as well. After these are merged in, we will try pushing them as SRUs in the nearest SRU scheduled release.

Stephen M. Webb (bregma) on 2013-04-04
Changed in unity:
status: Fix Committed → Fix Released
description: updated
description: updated
description: updated

Hello Andrew, or anyone else affected,

Accepted unity into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/unity/5.20.0-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in unity (Ubuntu Precise):
status: New → Fix Committed
tags: added: verification-needed
Shuduo Sang (sangshuduo) on 2013-07-03
tags: added: verification-done
removed: verification-needed
Adam Conrad (adconrad) wrote :

Hello Andrew, or anyone else affected,

Accepted unity into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/unity/5.20.0-0ubuntu2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: removed: verification-done
tags: added: verification-needed
tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity - 5.20.0-0ubuntu2

---------------
unity (5.20.0-0ubuntu2) precise; urgency=low

  * Check to see if the window is supposed to have decorations instead
    of the window actually being decorated when Undecorate() is called.
    This fixes a regression from the previous SRU where windows opened
    maximized upon login could have extra decorations (LP: #1195730)

unity (5.20.0-0ubuntu1) precise; urgency=low

  * New upstream release.
    - ResultRendererTile: fix a crash if row.renderer<TextureContainer*>()
      is null (LP: #926658)
    - Fix unity launcher vanishes when switching to mirrored displays
      (LP: #991637)
    - Fix window decorations being drawn when they should not be.
      This fixes icaclient window "dancing" (LP: #1083186) and
      hides decoration in a test case with Steam (LP: #1122478)
    - [multimonitor] Dash - Opening dash or HUD on one screen removes panel
      shadow on the other (LP: #892718)
    - Press Alt+F1, panel’s shadow dissapear (LP: #942965)
  * Cherry-pick a manual test for decorations fix
 -- Christopher Townsend <email address hidden> Mon, 08 Jul 2013 09:37:30 -0600

Changed in unity (Ubuntu Precise):
status: Fix Committed → Fix Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related blueprints