Same-application window switcher resizes the application windows
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.
ProcVersionSign
Uname: Linux 4.4.0-75-generic x86_64
.tmp.unity_
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: amd64
CompizPlugins: No value set for `/apps/
CompositorRunning: compiz
CompositorUnred
CompositorUnred
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=
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.
dmi.board.name: 20E2000PUK
dmi.board.vendor: LENOVO
dmi.board.version: SDK0E50510 WIN
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 20E2000PUK
dmi.product.
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:0.9.12.
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.70-
version.
version.
version.
version.
version.
version.
version.
version.
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
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 ActivationChang e, 0x7ffede2bfa30) ActivationChang e, 0x7ffede2bfa30) ActivationChang e, 0x7ffede2bfa30) ActivationChang e, 0x7ffede2bfa30)
Changed to QEvent(
Changed to QEvent(
Resized to QResizeEvent(2880, 1516) <- task switcher activated
Resized to QResizeEvent(2880, 1516) <- no idea
Changed to QEvent(
Changed to QEvent(
Resized to QResizeEvent(2880, 1572) <- exit from task switcher
Resized to QResizeEvent(2880, 1572)
(comments mine)