User Details
- User Since
- Nov 19 2017, 8:08 PM (330 w, 1 d)
- Availability
- Available
Nov 20 2023
Aug 16 2022
Another data point, KStandardAction has some code like this:
if (pAction && parent && parent->inherits("KActionCollection")) { QMetaObject::invokeMethod(parent, "addAction", Q_ARG(QString, pAction->objectName()), Q_ARG(QAction *, pAction)); }
May 8 2022
I don't know which of the calligra apps are still alive / have recent commits/activity.
Feb 20 2022
Feb 14 2022
This task should be tagged Plasma, it can happen at any time, not necessarily before KF6.
Feb 13 2022
Jan 26 2022
Jan 25 2022
Jan 23 2022
Finally merged https://invent.kde.org/frameworks/kdesu/-/merge_requests/14
Jan 22 2022
Gitlab CI runs unittests as root, can looking into these wait until it's not running them as root?
Jan 20 2022
Jan 13 2022
Using ::system() and setting FD_CLOEXEC on all fd's, I still get similar results.
Jan 6 2022
(I knew declaration-and-definition-rolled-into-one are not nice, but didn't know they could be this bad :-)).
Jan 5 2022
Interesting. I have Qt 6.2.2 (what's in Tumbleweed repos), I don't build Qt from source.
Jan 2 2022
Debugging with:
Jan 1 2022
It looks like alot of the usage of QNetworkConfigurationManager is about the QNCM::onlineStateChanged signal, which can be ported to using QNetworkInformation::reachabilityChanged in Qt6. https://lxr.kde.org/search?%21v=kf5-qt5&_filestring=&_string=QNetworkConfigurationManager
Thanks o/
Dec 31 2021
Dec 28 2021
Dec 26 2021
Dec 25 2021
Dec 22 2021
From building against Qt6, one implication of QTextCodec being moved to the Qt5 compat module, is that QTextStream::setCodec() is gone in Qt6, replaced by QTextStream::setEncoding(), which doesn't have the same range of encodings that are available in QTextCodec.
Dec 18 2021
Dec 16 2021
Doesn't Plasma also use the inhibition stuff? not sure if it's from Solid or somewhere else.
Dec 12 2021
I would say yes, mostly; what remains can be fixed as we go, I think (i.e. when building against Qt6 fails in a KF, we'll adjust the code in ECM to accommodate, e.g. https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/208).
Dec 9 2021
Actually KIO::ProxyScout has to be ported to something else, because QNetworkConfiguration is gone in Qt6, and there is no replacement.
Dec 8 2021
Posting here so as not to forget; QDomDocument is still used in the implementation of KIO::davSearch().
Dec 7 2021
More measly digging:
- kdesud parent pid is 1, (so probably the parent of kdesud isn't waiting for it to finish, and it gets repartented to systemd as the init pid 1); I am not an expert on this subject
- kdesu is the parent of /usr/bin/su root -c /usr/lib64/libexec/kf5/kdesu_stub -
- the previous /usr/bin/su process is the the parent of /usr/lib64/libexec/kf5/kdesu_stub
- kdesu_stub is the parent of dolphin
- /usr/lib64/libexec/kf5/kioslave5 /usr/lib64/qt5/plugins/kf5/kio/kio_file.so has parent pid 1
Nov 30 2021
In one of the KF6 meetings, it was noted that kdesu won't work in Wayland because the latter doesn't allow GUI apps to run as root at all (IIUC).
Using openbox:
ct 14634 14229 0 13:40 pts/8 00:00:00 kdesu /usr/bin/dolphin ct 14643 1 0 13:40 ? 00:00:00 /usr/lib64/libexec/kf5/kdesud root 14663 14634 0 13:41 pts/12 00:00:00 /usr/bin/su root -c /usr/lib64/libexec/kf5/kdesu_stub - root 14666 14663 0 13:41 pts/12 00:00:00 /usr/lib64/libexec/kf5/kdesu_stub
Nov 25 2021
I see; a round-about way would be to get the file name from kconfig and pass it to KPluginMetaData which would then create a QSettings object and read the entry; but that is a bit more hassle.
Instead of a function template, how viable would it be to use QSettings? for example Sonnet uses QSettings since it's in a higher tier and can't use KConfig.
Nov 23 2021
So, it looks like there is a viable alternative for OpenSuse's yast use-case; haven't tried the other apps that use kdesu.
One more data point; using pkexec (an online search revealed that others asked the same question about pkexec before https://unix.stackexchange.com/questions/203136/how-do-i-run-gui-applications-as-root-by-using-pkexec) seems to work for e.g. yast:
Nov 16 2021
Another clue:
ahmad 10822 1 0 11:43 pts/2 00:00:00 /home/ahmad/dev/kdesu/build/install-dir/lib64/libexec/kf5/kdesud
so basically, the PPID is 1, which is systemd.
I changed the code in kdesu/src/client.cpp back to using system(), see https://invent.kde.org/unmaintained/kdelibs/-/commit/e4cebe4edd98d63fabfb2eecf4ceef794d5fa5a4; (I wanted to see what fd's were shared between parent and child, to test if it still works after I change the code to use QProcess):
Nov 6 2021
Right; I tested and that seems to work, so it's a false positive (and apparently I am slightly confused about this issue).
Nov 5 2021
I think only this is left:
In file included from /home/ahmad/dev/kdeclarative/src/qmlcontrols/kquickcontrolsaddons/qiconitem.cpp:8: /home/ahmad/dev/kdeclarative/src/qmlcontrols/kquickcontrolsaddons/qiconitem.h:56:5: warning: signal smoothChanged is overloaded (with /usr/include/qt5/QtQuick/qquickitem.h:97:1) [-Wclazy-overloaded-signal] void smoothChanged(); ^ /home/ahmad/dev/kdeclarative/src/qmlcontrols/kquickcontrolsaddons/qiconitem.h:57:5: warning: signal stateChanged is overloaded (with /usr/include/qt5/QtQuick/qquickitem.h:97:1) [-Wclazy-overloaded-signal] void stateChanged(State state); ^
Oct 26 2021
Oct 13 2021
Updated based on a recent grep on the Frameworks. Either they're ported or an MR has been created.
Oct 7 2021
FWIW, state includes toolbars and dockwidgets location/orientation, that is part of an app configuration.
Oct 5 2021
@krop thanks for the info and insights; looks like Qt are making good use of CMake.
Oct 4 2021
Oct 1 2021
One way to fix this is if sddm have copies of the needed password buttons, then it should work regardless of the installed icon themes.
Sep 12 2021
I am not sure which is better, the in-app code, which is never going to cause any race conditions, or a central solution in KConfig (which is kconf_update, which has some side effects :)).
Sep 11 2021
Sep 6 2021
Aug 29 2021
Even without passing a parent to addModule(), you can still have a treeview by setting the FaceType: dialog->setFaceType(KPageDialog::Tree)
Already done by Montel (thanks).
Aug 21 2021
Aug 17 2021
Aug 15 2021
Excellent, thanks. (I had no idea how to fix it :D).
Aug 14 2021
Aug 13 2021
Aug 12 2021
Tracker issue created at https://invent.kde.org/frameworks/kio/-/issues/6
Aug 4 2021
Aug 3 2021
Jul 31 2021
Yeah, that makes sense.
Updating the list of remaining Frameworks:
- ktexteditor
- bluez-qt
- kdeclarative
- kitemmodels
- plasma-framework
Jul 30 2021
Actually they are two different tasks, this one is about actually deprecating/un-overloading the signals; the other task is about cleaning up the API docs, i.e. removing the // clazy* exclude rules... etc.
Jul 27 2021
If there are no objections I'll run this on KF repos right after the 5.85 release. (I'll ping this task before I actually start, just in case).
Jul 19 2021
Sounded like a good idea, I tested it but it didn't work; then reading QDesktopServices::openUrl() docs:
KUrlHandler::openHelp() has a fallback to open the relevant docs at docs.kde.org if KHelpCenter isn't available while that code can be moved to to OpenUrlJob, it would mean that any KDE application that doesn't require KIO would be stranded.
Jun 24 2021
Jun 10 2021
Creating a list seems to work getting things done, so.
Jun 7 2021
Two MRs merged, remains https://invent.kde.org/pim/kontact/-/merge_requests/7.
Jun 5 2021
OK, I've had KDE_FORK_SLAVES=1 exported for a couple of months now, I didn't see any issues.
Jun 3 2021
A small correction, which shows how old/ancient some of us are :), there was no KF4, back in those days it was called kdelibs/kdebase, not going to say KDE4 as that makes some people who are more ancient than myself, a bit annoyed; many of the current repos in KF lived in kdelibs, kdebase, kdeworkspace IIUC.