Summary:
The directory containing the main application (read through argv[0]) is
by default added to the list of paths containing libraries.
This causes various methods to iterate through all entries of the plasmashell
install location, usually /usr/bin.
By explicitly removing the path, those unnecessary lookups can be avoided,
resulting in around 100ms quicker startup on a system with 4000 entries in
/usr/bin.
Test Plan:
Ran plasmashell with and without this fix, no changes except for a slightly
quicker startup and much less strace noise.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7255
Summary:
KWindowSystem::platform() cannot be used before QApplication is
constructed.
QCoreApplication::setAttribute needs to be called before QApplication is
constructed.
We need a different method. I've used an explicit new env variable so
that some users can also opt in to use this when on X.
Test Plan:
Logged in.
Plasma panels all work. Look to be native resolution.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7200
Summary:
I've done this only when on Wayland because:
On X, our own scaling to font generally works well.
There are bugs on older Qt, especially when it comes to fractional
scaling, and we can't support per screen scales anyway.
There's advantages to disabling, and (other than small context menu
icons) few advantages in enabling
On wayland, it's different. Everything is simpler as all co-ordinates
are in the same co-ordinate system
we don't have fractional scaling on the client so don't hit most the
remaining bugs and
even if we don't use Qt scaling the compositor will try to scale us
anyway so we have no choice
CCBUG: 356446
Test Plan:
Had this for about a week on my laptop.
Haven't noticed a single problem.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7188
Summary:
This allows us to run the plasma-tests repo on your system without it
destroying all your real activities. Even though one run tests in a
nested
dbus sessions, kactivities will still load and meddle with your real
database
at the same time as the real daemon is. That gets messy and broken.
It also allows us to remove a hack in the plasma-tests script.
Test Plan:
Ran normal plasma, everything is the same.
Ran plasma-tests everything there now works properly
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D6133
Makes it possible to test how/if a plasmoid behaves correctly on the most
similar environment possible to what the user would find on a production
system.
* Loads a plasmoid on a panel and the desktop.
* Lets it test his own stuff (loading test/test.qml within the plasma
package)
* Terminates with an error if it wasn't successful
REVIEW: 127346
Make use of Qt5.5 API QQuickWindow::sceneGraphError rather than catching
the errors in a message filter.
I also merged with existing warning where contexts could be created, but
compiling shaders would not work.
BUG: 358869
REVIEW: 127254
Devive pixel ratio has some problems in plasmashell currently.
In particular:
- dialog continually expands (347951)
- Text element text is screwed (QTBUG-42606)
- Panel struts (350614)
It's also not a /huge/ deal as we do our own thing anyway, so the
experience is better to just turn off this scaling.
I've had this patch in my local code since forever.We should revert this
when all 3 are fixed.
CCBUG: 347951
REVIEW: 124463
Notifications dataengine checks the applicationDisplayName() against the
event title and if it same it allows to 'spam' aka it will not merge
similar notifications. But when we started to use KAboutData this broke
functionality. KAboutData will set only properties available in
QCoreApplication and hence applicationDisplayName will be different.
This fixes it by setting applicationDisplayName.
BUG: 345149
FIXED-IN: 5.2.2
creating the corona on the stack makes the app crash on close, because
the corona tries to delete itself when the window closes.
this also meand this code will *not* leak
BUG:340191
parser says nothing about what it does. it could be a json parser.
crash, dgb, win, etc says the wrong thing: they don't communicate
that they are options
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.