[Pager] Don't update models when not visible
ClosedPublic

Authored by broulik on Jun 7 2016, 10:24 AM.

Details

Summary

When there is only one virtual desktop, the pager becomes invisible. It makes no sense to update the models in this case.

Test Plan

Unfortunately root.visible evaluates true initially until I open and close the panelcontroller (the applet will be shown while configuring the panel) :( I have no clue why that happens. Other than that:

  • No update when the pager is hidden
  • When opening panelcontroller immediately updates and stays live until the panelcontroller is closed again
  • Always updates when there's two or more desktops

It's pretty terrible that the pager resets the models on every change, eg. even focus changes, causing all the window Rectangles to be destroyed and re-created, contributing to lags when opening popups. Until the thing is rewritten to use the new tasks model, this at least serves the default setup (where the pager will be added but just one virtual desktop).

Diff Detail

Repository
R119 Plasma Desktop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
broulik updated this revision to Diff 4268.Jun 7 2016, 10:24 AM
broulik retitled this revision from to [Pager] Don't update models when not visible.
broulik updated this object.
broulik edited the test plan for this revision. (Show Details)
broulik added a reviewer: Plasma.
broulik set the repository for this revision to R119 Plasma Desktop.
Restricted Application added a project: Plasma. · View Herald TranscriptJun 7 2016, 10:24 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
mart accepted this revision.Jun 7 2016, 11:45 AM
mart added a reviewer: mart.
This revision is now accepted and ready to land.Jun 7 2016, 11:45 AM

What could cause this root.visible problem?

The container is invisible and removing the explicit applet.visible = true call in the Panel doesn't help either. I tried everything, yet still initially it thinks it's visible.

This revision was automatically updated to reflect the committed changes.