This commit moves Xauthority handling over to libXau.
Advantage is that this allows use of FamilyWild, is faster, more reliable
and easier to read. However, we lose the ability to merge the new cookie into
an existing Xauthority file, so support for using a non-temporary file is
dropped. Even if merging was implemented manually, use of FamilyWild would
"infect" such a file and break it for DMs which don't write it.
Co-authored-by: Matt Jolly <Matt.Jolly@footclan.ninja>
standardLogger was missing a check like in journaldLogger, which caused that
it logged to the file in all cases.
Also log to stderr, that's what it's meant for. Check for a tty on stderr
instead of stdin to match that, to also make it work in processes without
forwarded stdin.
Some methods are added to interpret theme.conf settings as bool, int, real and
string explicitly. Previously, most basic types were returned as string and
needed manual handling in QML code.
To allow exporting those methods to QML, it was necessary to port the class
from QVariantMap over to QQmlPropertyMap. A single method had to be added
to make it API compatible with the rest of the code.
Small breaking change: This returns more members when used with Object.keys,
e.g. the added methods and QObject's objectName.
Fixes#1097
"SessionDir" config entries are now a lists with default values:
"/usr/local/share/xsessions,/usr/share/xsessions" for [X11] section and
"/usr/local/share/wayland-sessions,/usr/share/wayland-sessions" for
[Wayland] section.
Make sure we don't start a new session if we are switching.
Update the terminalId (i.e. tty) Display property as we switch from the
greeter to the actual session, as they might be on different terminals now.
If we are reusing a session, also remember to switch to that session's tty.
This way we do not switch to a random open session. It's common to have 2
at most but we better fix it properly than hope our users have a predictable
workflow.
If a session fails to load, we go into the greeter.
If the greeter fails to load, we are in trouble.
This change adds a fallback into launch the greeter in a x11-user setup
in case that happens as a failsafe.
in Qt6 (and the KDE patch collection for Qt 5) genericunixservices will
internally attempt to probe the portal tech early on in the app life
cycle. this causes the protal system to launch app and then crash
because we aren't actually providing a fully functional session. instead
opt out of this altogether