The reason why this was added is not valid anymore now that we set the QQC2 style in C++. Setting it causes crashes in QGuiApplications
that need to be worked around with an ugly hack in plasma-integration.
Differential Revision: https://phabricator.kde.org/D7998
Summary: As now it is set by our QPT
Reviewers: #plasma, gladhorn
Reviewed By: #plasma, gladhorn
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7936
Summary:
On X our font DPI is used in addition to the scaling.
i.e I want scale 2 and font DPI at 192 (96*2)
On Wayland it's the opposite. The font is scaled *with* the output
scaling. So I want it at 96 (or unset)
Using the same settings makes swithing to and from X and wayland hard,
and also makes the first Wayland run suck.
There are potentially some users who want it 110 at both, so we do still
need the option (so this isn't a perfect solution)
Can we just divide it? Not really as we don't know what scale the user
will be using and it might not just be one value.
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7830
Summary:
Scale factor is sent on the output, we don't need to have the hacky env
variables.
When the kscreen KCM is used on wayland it doesn't set the variable this
is using.
Test Plan:
Configured an X session to have high DPI with this variable.
Logged into a wayland session, ran env.
(font DPI is still a problem, if it gets set on X
it's visually doubled on my wayland session. )
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7781
Summary:
Setting the style manually is necessary as there is only a variable that
applies to both quick controls versions, so it needs to be overwritten to not
cause a warning on every application start. The current way of setting it directly
got defeated by ugly bugs in QQuickControlSettings1, which need to be worked around.
See the added comments for an explanation.
Test Plan:
Set the variables manually, now works consistently everywhere without showing warnings.
For some reason I feel much dirtier now.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7381
Summary:
It does explicitly what the comment above the export implies.
That way this warning on every use of Quick Controls 1 is gone:
WARNING: Cannot find style "org.kde.desktop" - fallback: "/usr/lib64/qt5/qml/QtQuick/Controls/Styles/Desktop"
Note that I'm not 100% sure that this does not have any
ill side effects as I don't quite understand what and where
org.kde.desktop is supposed to be.
Test Plan:
Started plasmashell and plasma-discover both with and without
the change, no difference except that the warning is now gone.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7257
Summary:
Currently X and Xwayland (unless set otherwise) defaults to a DPI of 96.
GTK on wayland (unless set otherwise) defaults to a DPI of 96.
Qt (currently) defaults to physical size/resolution. This leads to
reports that Wayland looks big.
Qt is potentially also changing to 96 for > Qt5.10.
(it's in review at the time of writing)
Now kwin has proper scaling support, legacy apps get scaled by the
compositor without font hacks, and apps that scale themselves need a
non-scaled font DPI. (i.e a 4k screen at 2x still wants a DPI of 96 not
184).
We want to change the wayland scale factor not the font.
If a user does override this setting that override will still work.
BUG: 374978
Test Plan:
don't have this setting explcitly set
dolphin --platform wayland and dolphin --platform xcb have everything
the same size. Even on a scaled display where one is scaled up by the
compositor and one is native.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7185
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:
In Plasma we install a DBus activated service to handle the case of
notifications being sent before Plasma is loaded. This file clashes with
other notification daemons and causes distro issues.
The convention is to make this file name match the DBus service name so
that we can detect conflicts, however in this case we know we have an
unavoidable conflict, but it doesn't really have an repurcisions other
than the user having an undetermined notification daemon chosen during
plasma bootup (which was the case before this patch too)
Effectively it's the same problem we have with the
org.freedesktop.FileManager1 service and Dolphin, and the same solution.
Test Plan:
Installed this
kquitapp5 plasmashell
notify-send some message. Confirmed it waited
started plasmashell. Got the message
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5968
Summary:
Set the QtQuickControls style to our own: for QtQuickControls1
it will fall back to Desktop, while it will use our own org.kde.desktop
for QtQuickControlsStyle and Kirigami
Test Plan: systemsettings redesign uses qstyle qqc style, for both qqc1 and 2
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5720
Summary:
bc1324ceeb in startkde had a change
Don't try to set $qdbus to a path to qdbus... it wasn't used
conherently, without issue don't really need it
this wasn't synced with startplasma.
BUG: 374402
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3915
Summary:
Remove outdated parts of startkde that are no longer used
Remove setion about kwin_failsafe which isn't used
Remove code related to oxygen fonts that aren't used
Remove section about darwin
Get rid of check that dbus-server exists, it autostarts
Don't try to set $qdbus to a path to qdbus... it wasn't used
conherently, so we don't really need it
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: mart, broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2894
Summary:
The current code registers the session bus *after* app->exec() this
effectively means it won't work.
This causes ksmserver to be unable to deliver the calls to start kcminit
modules at remaining init phases.
Any KCMinit module which are at X-KDE-Init-Phase=1 or 2 will now get
run. It also means kcminit_startup closes, instead of lingersing on
startup doing nothing until it times out 5 minutes later.
Test Plan: Confirmed kcminit_startup now exits properly.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2887
$qdbus is a full path to the qdbus binary, not relying on it being in
$PATH
It was completely unset in startplasma and startkde made a call to
ksplash using qdbus assuming it's in the path
Reviewed-by: David Edmundson
Summary: we can start launching ksmserver in the meantime
Test Plan: Logged in
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2910
Summary:
KCMInit is loaded early in startkde, and it blocks all other processes
from starting until it is complete.
This can be up to 1.1 seconds.
(http://imgh.us/bootchart-20160928-1316.svg)
A sizable amount of time (46% of CPU) is spent loading our QPT. This
isn't very useful given none of the kcm_init scripts have any UI and
it's not something they should have. It's only a QGuiApplication so that
they have an X connection.
Test Plan: Checked it ran without errors
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2882
Summary:
They were out of sync with the changes I did for
XCB for Qt > 5.6
Test Plan: Logged in to a wayland session. Normal sized text, normal sized scrollbars.
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2797
The check was supposed to check whether kinit would start and exit otherwise.
By adding the qdbus call inbetween, it would check for that one instead and if
no ksplash was running the exit code would be non zero aborting startup.
Differential Revision: https://phabricator.kde.org/D1888
Summary:
We want to drop workspace code from KDED as it doesn't make much sense
semantically.
This patch ignores the messages from kded, so that they can be dropped
in a future frameworks release and introduces a new signal sent from
startkde.
This puts all workspace related code in workspace.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D1859
Summary:
We use QT_SCREEN_SCALE_FACTORS as opposed to QT_SCALE_FACTOR as we need
to use one that will *NOT* scale logical DPI according to the scale.
Scaling the fonts makes sense if you don't also set a logical DPI
manually, but we need to do that for both PlasmaShell which does it's
own thing, and for KDE4/GTK2 applications.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D1849
Summary:
This change makes the force DPI combobox in fonts kcm work in a
Wayland session for QtWayland applications and KWin.
If the config value is set it's mapped into QT_WAYLAND_FORCE_DPI
environment variable.
Test Plan:
Enabled the config, restarted my session and enjoyed
properly sized Uis and fonts.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D1738
Graphics seem more likely than anything else to be broken, if the user
explicitly selects failsafe mode from the DM we should follow the same
rationale as kwin and not trust the user's drivers.
REVIEW: 126205
Shutdown scripts are done by startkde after ksmserver quits. Which never
happens because we've told systemd to shutdown.
Old systems worked because they used to communicate with the display
manager which then closed us before shutting down, this is no longer the
case.
This moves handling the shutdown scripts into ksmserver (which already
handles startup scripts) and runs them before asking logind to shutdown.
BUG: 356190
REVIEW: 126268
On Wayland ksmserver should not be responsible for the lockscreen,
but the compositor takes care of providing the lock screen. To prevent
conflicts KSMServer gets a new command line option to enable it.
The code is slightly changed to not pass a series of boolean flags to
KSMServer, but a flags type.
The startplasma script for Wayland is adjusted to start ksmserver with
the new command line option.
REVIEW: 126022
The difference to ksyncdbusenv is that d-u-a-e can update systemd's
environment, too. This is only important if a userspace (dbus-daemon) bus
is used and service files make use of SystemdService to have dbus-daemon
tell systemd to start the service.
In the kernel bus (kdbus) case, systemd's environment gets updated when
org.freedesktop.dbus.UpdateActivationEnvironment is called.
REVIEW: 125768
1) it's not broken, that comment is ancient
2) the test is bust. DBus path can also be stored as an x property.
Before this patch the situation is worse as potentially we risk
launching two dbus daemons for the same session.
BUG: 352251
REVIEW: 125637
/bin/sh stops execution upon finding a nonzero exit code,
which means that startkde will not continue if a script in
.config/plasma-workspace/env/ produces an error.
This small fix will execute a no-op in such a case,
so that errors will not affect startkde's progress,
while still being visible in .xsession-errors.
REVIEW: 125323
BUG: 352491
On my system I faced the problem that instead of my prefix installed
ksmserver, the system installed ksmserver was started by kwrapper5.
REVIEW: 125113