Same-application window switcher resizes the application windows

Bug #1687812 reported by Giuseppe D'Angelo
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity (Ubuntu)
New
Undecided
Unassigned

Bug Description

The scenario is this:

* Multiple windows of the same application are opened
* Some of them are fullscreen
* The user clicks the application icon in the side tray, starting the window switcher for it (so that the user can select a certain window)

This last step actually triggers a *resize* for the fullscreened windows (for no reason at all): the windows get shrunk vertically a little bit, and regain their fullscreen size when the user makes a decision.

This might look like a side issue, but it's not: a fullscreen Firefox (or any other browser) will relayout the current webpage because of that size change; complex GUI applications like Blender will start their complicated heuristics to optimize their UI controls; and so on.

For these applications, there's a huge spike in CPU when triggering the window switcher (CPU used by the applications! Not by Unity or Compiz), while such switching should be totally transparent to the applications.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: unity 7.4.0+16.04.20160906-0ubuntu1
ProcVersionSignature: Ubuntu 4.4.0-75.96-generic 4.4.59
Uname: Linux 4.4.0-75-generic x86_64
.tmp.unity_support_test.0:

ApportVersion: 2.20.1-0ubuntu2.5
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
CurrentDesktop: Unity
Date: Wed May 3 00:53:41 2017
DistUpgraded: 2016-09-29 11:49:27,678 WARNING no activity on terminal for 300 seconds (Applicazione delle modifiche)
DistroCodename: xenial
DistroVariant: ubuntu
GraphicsCard:
 Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Lenovo Broadwell-U Integrated Graphics [17aa:2225]
InstallationDate: Installed on 2015-10-15 (565 days ago)
InstallationMedia: Ubuntu 14.04.3 LTS "Trusty Tahr" - Beta amd64 (20150805)
MachineType: LENOVO 20E2000PUK
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-75-generic.efi.signed root=UUID=daffac49-1ba4-415c-9de1-a1d41e8e4c0f ro quiet splash vt.handoff=7
SourcePackage: unity
UpgradeStatus: Upgraded to xenial on 2016-09-29 (215 days ago)
dmi.bios.date: 08/20/2015
dmi.bios.vendor: LENOVO
dmi.bios.version: N11ET34W (1.10 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20E2000PUK
dmi.board.vendor: LENOVO
dmi.board.version: SDK0E50510 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrN11ET34W(1.10):bd08/20/2015:svnLENOVO:pn20E2000PUK:pvrThinkPadW550s:rvnLENOVO:rn20E2000PUK:rvrSDK0E50510WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.name: 20E2000PUK
dmi.product.version: ThinkPad W550s
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:0.9.12.2+16.04.20160823-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.70-1~ubuntu16.04.1
version.libgl1-mesa-dri: libgl1-mesa-dri 12.0.6-0ubuntu0.16.04.1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 12.0.6-0ubuntu0.16.04.1
version.xserver-xorg-core: xserver-xorg-core 2:1.18.4-0ubuntu0.2
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.10.1-1ubuntu2
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.7.0-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20160325-1ubuntu1.2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.12-1build2
xserver.bootTime: Tue May 2 01:18:35 2017
xserver.configfile: default
xserver.errors: open /dev/dri/card0: No such file or directory
xserver.logfile: /var/log/Xorg.0.log
xserver.outputs:
 product id 38562
 vendor MEI
xserver.version: 2:1.18.4-0ubuntu0.2

Revision history for this message
Giuseppe D'Angelo (dangelo) wrote :
Revision history for this message
Giuseppe D'Angelo (dangelo) wrote :

Qt-based testcase is attached.

Instructions:
* Unpack, qmake, make
* Run the application at least twice, making at least one fullscreened
* Trigger the window switcher by clicking on the Unity's sidebar

The fullscreened one will print a wrong resize event. E.g.:

Resized to QResizeEvent(2880, 1572) <- fullscreened
Changed to QEvent(ActivationChange, 0x7ffede2bfa30)
Changed to QEvent(ActivationChange, 0x7ffede2bfa30)
Resized to QResizeEvent(2880, 1516) <- task switcher activated
Resized to QResizeEvent(2880, 1516) <- no idea
Changed to QEvent(ActivationChange, 0x7ffede2bfa30)
Changed to QEvent(ActivationChange, 0x7ffede2bfa30)
Resized to QResizeEvent(2880, 1572) <- exit from task switcher
Resized to QResizeEvent(2880, 1572)

(comments mine)

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.