Make sure the screen is not added until the containment is defined and the
screen is shown.
Don't check if a screen is redundant to itself.
Also delay output redundancy using the timer, until the screen is taken
care for. Also delay the timer a bit further as all the screen management
takes quite some time.
I set up some of the methods as invokable, so that we can export most useful
stuff. I won't add it by default though, because it could be bad.
What it needs is:
- dbus.registerObject(QStringLiteral("/PlasmaShell"), this);
+ dbus.registerObject(QStringLiteral("/PlasmaShell"), this, QDBusConnection::ExportAllContents);
Only set the screen right before triggering show(), otherwise it can mess
up for reasons I don't know.
Also I prefer not to pass the screen in the constructor, given that we
move the DesktopView instances across screens and it gives the wrong
impression that the view is tied to the screen.
PlasmaShell should not be restored by the session manager. It will be
started by klauncher because we install an autostart file.
This also clears up the booting process to a certain extent, as
plasmashell will now not be started twice (once via session restore, and
once via autostart)
REVIEW: 119105
This reverts commit 30d2489930.
The test results we got indicate that on NVIDIA the problems with the
threaded rendering loop do not exist and at the same time the rendering
result improves a lot. As Qt still disables the threaded rendering loop
for the problematic drivers, it's better to not force the basic rendering
loop.
Rename removeDesktop -> removeScreen
Embrace removeScreen as the procedure to disable a screen.
Don't delay destruction of the panels either, the screen could have been
deleted by then.
::shiftViews seemed like a good idea, but it clearly was not. I promise I
was not on drugs when I decided to use it.
Instead, take a recursive alternative, like we did with insertScreen that
will take care about panels and views.
Don't request geometry of disabled outputs.
Set a random screen to a desktop view before destroying it, otherwise it
goes mental.
Fix assert
Improve debug output